Ir para conteúdo

Featured Replies

  • Respostas 48
  • Visualizações 5.4k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Vixi, ai...   kkkkkk, mas posso fazer uma atualização futuramente pra adicionar alguma pergunta de segurança como meio para recuperar a senha.

  • É uma boa ideia utilizar uma pergunta de segurança. Mas acho que não há necessidade, ai vocês estão querendo ser bahiano de mais kkkkk A senha é armazenada no banco de dados, no valor da storage,

  • Faça essas alterações nos arquivos pra funcionar com o ID do piso ao invés de com ActionID.   No arquivo lib_depotlocker.lua remova a variável depotTile da seção de action ids e adicione jun

Postado
  • Autor
9 horas atrás, diarmaint disse:

@WooX Muito bacana a ideia, mas tenho interesse em outra coisa, o nome do seu group ta vermelho, to procurando isso já tem um tempo e não acho, existem algum tutorial ou foi vc que implementou esse sistema? se sim poderia disponibilizar?

Não sou eu no vídeo, é o @Yan Liima. Acredito que seja alguma injeção de DLL no client, tenta mandar uma mensagem pra ele.

Em 17/07/2020 em 21:22, WooX disse:

Créditos

@Yan Liima pela idealização do sistema e vídeo de demonstração.

 

 

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

  • 3 months later...
Postado
Em 17/07/2020 em 21:22, WooX disse:

Depot Locker System

8pY4YYM.png

Escrevi esse sistema no ano passado a pedido de um amigo e finalmente deixei a preguiça de lado pra postar ele aqui. Aviso de antemão que o sistema é funcional apenas para OTX2 e TFS 0.4, para utilizar a função doShowTextDialog da maneira como está no sistema no TFS 0.4 e inferiores é necessário uma alteração na source, link abaixo.

 

O que faz?

 Este sistema consiste em adicionar um layer extra de segurança para o jogador, permitido criar uma senha para acesso do depot. Isso possibilita o jogador passar sua senha a amigos em que não confia totalmente e a estar precavido até certo ponto no caso de hacking.

Vídeo

  Mostrar conteúdo oculto

 

 

 

Instalação

Este sistema utiliza de funções contidas na lib do link abaixo, então antes de mais nada é necessário adicionar esta lib no servidor.

  Ocultar conteúdo

 

 

Depois de instalado a lib, basta baixar os arquivos anexados no tópico, adicionar em seus respectivos locais e registrar as tags XML contidas nos mesmos. Após isso é necessário adicionar o action id configurado no piso dos depots em que o sistema deve funcionar. Toda configuração do sistema se encontra dentro do arquivo lib_depotlocker.lua, segue explicação da seção de configuração.


	config = {
		useBoard = false,
		passMinLength = 4,
		passMaxLength = 12,
		askPassOnlyOneTimePerLogin = true,
		boardIDs = {1811, 1818}, -- West/East and North/South
		depotIDs = {2589, 2590, 2591, 2592}, -- South, West, North and East
		typeYourPassMsg = "Digite sua senha: ",
		rightPassMsg = "Senha correta, depot liberado.",
		wrongPassMsg = "Senha incorreta, tente novamente.",
		wrongTries = {
			limitTries = true,
			triesBeforeBlock = 5,
			blockTime = 15 * 60, -- 15 Minutos
			triesLeftMsg = "Senha incorreta, você ainda tem %s tentativa.",
			blockMsg = "Depot bloqueado, tente novamente em %s."
		},
	}
  • useBoard: pode ser definido como true ou false, se definido como verdadeiro irá criar um quadro ao lado do depot para o player poder digitar a senha, da mesma forma que é mostrada no vídeo, (eu recomendo deixar esta opção ativada somente se utilizar paredes como separador entre um depot e outro).
  • passMinLength/passMaxLength: definem o valor minimo e máximo de caracteres que uma senha pode ter.
  • askPassOnlyOneTimePerLogin: pode ser definido como true ou false, se definido como verdadeiro irá pedir a senha novamente apenas se o jogador sair e entrar novamente.
  • boardIDs: aqui é preenchido os IDs dos quadros em que o player deve digitar a senha, um ID para vertical e outro para a horizontal.
  • depotIDs: aqui é preenchido os IDs dos depots na respectiva ordem, sul, oeste, norte e leste.
  • typeYourPassMsgesta é a mensagem que irá aparecer na caixa de texto orientando o jogador a digitar a senha.
  • rightPassMsgesta é a mensagem que irá aparecer quando o jogador digitar a senha correta.
  • wrongPassMsgesta é a mensagem que irá aparecer quando o jogador digitar a senha incorreta.
  • limitTriespode ser definido como true ou false, se definido como verdadeiro irá bloquear as tentativas do jogador caso ele digite a senha incorreta um determinado numero de vezes.
  • triesBeforeBlockquantidade de tentativas incorretas para realizar o bloqueio.
  • blockTime: Tempo de bloqueio (valor é definido em segundos).
  • triesLeftMsg: esta é a mensagem que será enviada para o jogador com a quantidade de tentativas que ele ainda possui.
  • blockMsgesta é a mensagem que será enviada para o jogador caso todas suas tentativas falhem e ele seja bloqueado.

 

 

Lembrando que o action id configurado em depotTile deve ser o mesmo registrado no script de movement e deve ser adicionado no piso do depot.

8YqDAWO.png

 

Créditos

@Yan Liima pela idealização do sistema e vídeo de demonstração.

@Baiakeiro por testar a versão final do sistema.

locker_action.lua 503 B · 12 downloads locker_creature.lua 1 kB · 12 downloads locker_movement.lua 1 kB · 11 downloads npc.lua 4 kB · 12 downloads npc.xml 534 B · 10 downloads

[19:57:51.038] [Error - MoveEvents Interface]
[19:57:51.044] data/movements/scripts/locker_movement.lua:onStepIn
[19:57:51.047] Description:
[19:57:51.050] data/movements/scripts/locker_movement.lua:6: attempt to call global 'doSetItemActionId' (a nil value)
[19:57:51.056] stack traceback:
[19:57:51.059]  data/movements/scripts/locker_movement.lua:6: in function <data/movements/scripts/locker_movement.lua:1>

[19:58:18.351] [Error - MoveEvents Interface]
[19:58:18.356] data/movements/scripts/locker_movement.lua:onStepOut
[19:58:18.360] Description:
[19:58:18.363] data/movements/scripts/locker_movement.lua:17: attempt to call field 'getBoard' (a nil value)
[19:58:18.365] stack traceback:
[19:58:18.370]  data/movements/scripts/locker_movement.lua:17: in function <data/movements/scripts/locker_movement.lua:15>

 

consegue me ajudar ?

Postado
  • Autor
Em 30/11/2020 em 19:59, Mayk on BaiakME disse:

[19:57:51.038] [Error - MoveEvents Interface]
[19:57:51.044] data/movements/scripts/locker_movement.lua:onStepIn
[19:57:51.047] Description:
[19:57:51.050] data/movements/scripts/locker_movement.lua:6: attempt to call global 'doSetItemActionId' (a nil value)
[19:57:51.056] stack traceback:
[19:57:51.059]  data/movements/scripts/locker_movement.lua:6: in function <data/movements/scripts/locker_movement.lua:1>

[19:58:18.351] [Error - MoveEvents Interface]
[19:58:18.356] data/movements/scripts/locker_movement.lua:onStepOut
[19:58:18.360] Description:
[19:58:18.363] data/movements/scripts/locker_movement.lua:17: attempt to call field 'getBoard' (a nil value)
[19:58:18.365] stack traceback:
[19:58:18.370]  data/movements/scripts/locker_movement.lua:17: in function <data/movements/scripts/locker_movement.lua:15>

 

consegue me ajudar ?

Verifica se na sua lib 100-shortcut.lua existe a seguinte função, se não tiver adicione.

function doItemSetActionId(uid, aid)
	return doItemSetAttribute(uid, "aid", aid)
end

 

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo