Postado Março 13, 2015 10 anos Boa noite! Gostaria de saber como fazer para que o player sai automaticamente da area premmy assim que sua premmy acabar!
Postado Março 13, 2015 10 anos Em "Data/Creaturescripts/Scripts" copie e cole um arquivo .lua e renomeie para premmytp.lua, apague tudo e cole isso: function onLogin(cid) local pos = {x = 160, y = 54, z = 7} storage = 25339 if getPlayerPremiumDays(cid) <= 0 and getPlayerStorageValue(cid, storage) == 3 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are a free account.") return true end if getPlayerPremiumDays(cid) >= 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are a premium account and have "..getPlayerPremiumDays(cid).." premium days.") return true end if getPlayerStorageValue(cid, storage) == 2 then doTeleportThing(cid, pos) doPlayerSendTextMessage(cid, 25, "Seus dias de premium acabaram.") setPlayerStorageValue(cid, storage, 3) end return true end Em "Data/creaturescripts" abra o arquivo creaturescripts.xml e adicione a TAG: <event type="login" name="PremmyTP" event="script" value="premmytp.lua"/> Agora em "Data/creaturescripts/scripts" abra o script login.lua e adicione isso: if getPlayerPremiumDays(cid) >= 1 then setPlayerStorageValue(cid, 25339, 1) elseif getPlayerPremiumDays(cid) <= 0 and getPlayerStorageValue(cid, 25339) == 1 then setPlayerStorageValue(cid, 25339, 2) end Testei aqui em TFS 0.4 e ta perfeito, se der algum problema me avisa! Editado Março 13, 2015 10 anos por Wakon (veja o histórico de edições) ➥ Regras | Seções OTServ | Seções BOT
Postado Março 13, 2015 10 anos Autor Estou fazendo login mas o player nao esta saindo, eu preciso por a id que permite somente premmy em todos os pissos da area para funcionar?
Postado Março 13, 2015 10 anos Não, esse script ta programado para, se o player já foi premium e logou depois sem premium ele é teleportado para o templo avisando que sua premium acabou, então a storage dele muda para 3, quando ele relogar ele é apenas 1 free account e já não é mais necessario mais mandar a mensagem e teleportar ele para o templo, agora se ele virar premium de novo, fica no mesmo local. É por que assim, se o jogador nunca foi premium, ele nunca entrou na area premium, então não é preciso checar se ele está la. Agora se acabar o premium dele, não importa o lugar que ele esteja, será teleportado para o templo, a não ser que ele renove antes de logar! Faz assim pra testar, coloca premium em 1 personagem e reloga ele, ai você remove o premium dele e reloga novamente, vai ver que ele foi mandado para o templo e irá receber 1 mensagem, ai depois reloga novamente com o personagem ainda free, a mensagem não irá aparecer novamente e ele vai ficar no local que deslogou. Editado Março 13, 2015 10 anos por Wakon (veja o histórico de edições) ➥ Regras | Seções OTServ | Seções BOT
Postado Março 13, 2015 10 anos Autor Achei o bug wakon! Tipo o script esta perfeito esta tudo certo, porem tem um bug! Se o player acaba a premmy e ele sai da conta e poe a senha denovo o player volta para o templo....mas se a premmy do player acaba e ele faz relogin sem sair da conta ai buga.....tipo fazendo relogin usando o comando CTRL+G ao entrar o player continua no mesmo lugar e a mensagem aparece para ele que acabou a premmy....mas ai depois se o player sair totalmente da acc e logar de novo....ele continua no mesmo lugar ! Precisa de uma script que inclua o relogin do player tbm para sair esse bug! Voce consegue fazer isso?
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.