Ir para conteúdo
  • 0

Arrumar Um Sistema De Recovery Key Por Talk


LuckOake

Pergunta

Versão: 8.6

Infos: Olá, galera. Hoje eu tava tentando desenvolver um sistema de Recovery Key por talk, por causa que no meu server infelizmente está bugado via Account Manager. Entããão fiz um mini sisteminha que não faz exatamente o que eu quis, mas é um bom começo. É assim: Você fala !recovery generate, e o sistema gera uma RK para você. Então, quando você perder sua conta, você digitaria !recovery recover,key. Maaaas meu sistema só tá fazendo isso para o próprio player, ou seja, você gera uma RK no seu char e só pode recuperar a senha se estiver logado nele, mas como você está logado, bem provavelmente você já sabe sua senha. Eu gostaria que o sistema recuperasse sua senha à partir do comando que já expliquei, !recovery recover,key, só que em outro character. Exemplo: Meu char se chama Ray Oake e quero recuperar a senha da conta do char Luck Oake, então uso o comando !recovery recover,123456789. Ou seja, você deve especificar sua RK da conta que você gostaria de recuperar. Outra coisa, o sistema só gera RK com números, e eu gostaria que ela também gerasse com letras, exemplo 124asv34kkao93. Bom, acho que já escrevi de mais, vamos ao script.

 

 

function onSay(cid, words, param)

local t = string.explode(param, ",")

if param == "generate" then

if getAccountRecoveryKey(cid) > 0 then

doPlayerSendCancel(cid, "Desculpe, você já tem uma RK.")

return true

end

local rk = math.random(100000000, 999999999)

db.executeQuery("UPDATE `accounts` SET `key` = "..rk.." WHERE `id` = "..getPlayerAccountId(cid))

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "RK: "..rk.."")

end

 

if t[1] == "recover" then

if(not t[2]) then

doPlayerSendCancel(cid, "Parâmetros incorretos. Exemplo: !recovery recover,123456789.")

return true

end

if t[2] == getAccountRecoveryKey(cid) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Account Name: "..getPlayerAccount(cid).."")

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Password: "..getPlayerPassword(cid).."")

else

doPlayerSendCancel(cid, "Desculpe, RK errada.")

end

end

 

if param == "get" then

if getPlayerAccess(cid) <= 2 then

return false

end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Key: "..getAccountRecoveryKey(cid).."")

end

return true

end

 

Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Rapaz, você leu o que eu escrevi?

Hoje eu tava tentando desenvolver um sistema de Recovery Key por talk, por causa que no meu server infelizmente está bugado via Account Manager
Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...