Ir para conteúdo

Featured Replies

  • Respostas 12
  • Visualizações 477
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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

  • Que estranho cara, aqui eu testei sem sair nenhuma vez da conta toda, apenas relogando o char por CTRL+G e ele teleporta normalmente o player. Por onde você está alterando os dias da premium?

  • Então cara, será que tu adicionou certinho o script? Pois estou fazendo da mesma maneira que você e ta 100% sem precisar relogar da account :S

Postado

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 por Wakon (veja o histórico de edições)

Postado

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 por Wakon (veja o histórico de edições)

Postado
  • 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.

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.7k

Informação Importante

Confirmação de Termo