Postado Fevereiro 28, 2018 7 anos Boa tarde a todos, Estou precisando muito de uma ajuda com um script que estou criando pro meu servidor. Vou explicar por partes, começando pelo problema que me motivou a criar esse script. Meu servidor é um baiak, que se encontra com o seguinte problema, o town id dele começa no 2 e não no 1. Consegui mexer e ajustar toda criação de personagens para que seja realizada no town id 2, porem sempre que eu derrubo e ligo o servidor novamente, ele realiza uma série de optimizing no banco de dados, dentre elas o update de todos os players para o town id 1. Com isso quando um player morre, ele não consegue mais logar, pois da o erro de temple position wrong. Tentei arrumar no rme, porem sem sucesso, então resolvi partir para um script basico, que sempre que o player logar, ele faz um select no banco, ve se o town id dele é 2, e caso não seja ele da um update para 2, porem estou com problema nesse script. Na teoria tudo lindo, na pratica não funcionou, o script não faz nada. Eu coloquei ele no creature scripts, adicionei ele no login.lua como um evento de login e tal, porem não funciona, ele não da update. Vou deixar abaixo o script para que voces possam ver e me ajudar. Desde já, muito obrigado! function onLogin(cid) local townid = db.executeQuery("SELECT `town_id` FROM `baiak2`.`players` WHERE `players`.`id` = ".. getAccountIdByName(getPlayerName(cid)) ..";") if townid == 2 then doPlayerSendTextMessage(cid, 22, "Bom Jogo!") else db.executeQuery("UPDATE `baiak2`.`players` SET `town_id` = '2' WHERE `players`.`id` = ".. getAccountIdByName(getPlayerName(cid)) ..";") end return true end Editado Março 1, 2018 7 anos por douglera21 (veja o histórico de edições)
Postado Março 1, 2018 7 anos Pelo o que eu entendi não irá funcionar mesmo , se o player tiver com a town = 1 ele não vai conseguir logar no jogo ... a script só é executada quando ele loga.
Postado Março 1, 2018 7 anos Autor Não não, o problema é o seguinte, eu ja dei update para 2 em todos, eles conseguem logar normal, só que, quando eu desligo o servidor e ligo novamente, o proprio theforgottenserver da update em todos para town 1, porem ele ainda consegue logar pois não perde a posx, posy e posz. O problema só acontece quando ele morre, ou seja se eu conseguir ajeitar esse script, quando subir o servidor, ele vai mudar todos pra 1, ai quando eles logarem, vai mudar pra 2 e depois se morrer não vai ter problema, entendeu?
Postado Março 1, 2018 7 anos @douglera21 Não seria mais fácil utilizar as próprias functions da TFS ? function onLogin(cid) if getPlayerTown(cid) == 1 then doPlayerSetTown(cid, 2) return true end return true end
Postado Março 1, 2018 7 anos Autor Então @Sttorm por isso pedi ajuda, eu não sou muito bom com scripts não. Testei aqui e funcionou certinho, muitooooo obrigado!!
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.