Ir para conteúdo

Featured Replies

Postado

Boa tarde pessoal!

 

Galera, estou aqui para poder tirar uma dúvida em relação a um script de premium days. Bom, este script eu consegui aqui no fórum, e ele faz com que quando vc cria uma conta pela primeira vez, ele faz com que vc ganhe 7 dias de premium grátis, o mesmo só se aplica na criação da conta, ou seja, se vc criar 10 chars, a conta continuará com apenas 7 dias.

 

O script funciona perfeitamente, ele adiciona os 7 dias tranquilamente, entretanto, quando vc fecha o servidor e abre novamente, ele adiciona novamente mais 7 dias de premium na conta, este procedimento realmente só acontece quando reinicia o otserv. Gostaria de uma ajuda para poder resolver isso, ja tentei procurar aqui no fórum como poder resolver mas não obtive respostas.

 

Script:

 

1. Crie um arquivo com o nome de "gainpremium.lua" (sem aspas) em: data/creaturescripts/scripts
Ponha:

 

-- [( Created by Matheus for TibiaKing.com )] --

function onLogin(cid) local days = 3 -- Dias de premium que o player irá ganhar.

if getGlobalStorageValue(getPlayerAccountId(cid)) <= 0 then

doPlayerAddPremiumDays(cid, days)

setGlobalStorageValue(getPlayerAccountId(cid), 1)

end

return TRUE

end

 

2. Em, data/creaturescripts abra o arquivo creaturescripts.xml.


Adicione a tag:

<event type="login" name="gainpremium" event="script" value="gainpremium.lua"/>

 

3. Em, data/creaturescripts/scripts abra o arquivo login.lua.


Adicione esta linha antes do ultimo return true:

registerCreatureEvent(cid, "gainpremium")

 

Agradeço desde já!

 

  • Respostas 7
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Bom a questão é que ao você fecha o servidor, ele está fechando sem da um save antes, nem mesmo você deve ter deslogado o char para salvar, o servidor fecha, e quando abre, ele volta com as alterações do ultimo save, então se o server não salvou nesse meio tempo, ele vai voltar como estava antes!

 

Abre o server, use o script, relogue seu char para salvar ele, ou dê um save, e então fecha e abre o servidor novamente! 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Postado
  • Autor

Vou dar uma verificada e então postarei aqui o resultado, obrigado pela resposta amigo!

 

EDIT:

 

Doutor, desculpa a demorar para responder, porém, fiz oq vc pediu mas continua a persistir o erro. Como se pode ver a conta estava com 14 dias e agora está com 21 depois quer reiniciei o OT, agregou mais 7 dias.

PACC.bmp

Editado por Murioku
Responder ao comentário acima. (veja o histórico de edições)

Postado

tenta usar esse:

 

function onLogin(cid)
local storage = getPlayerAccountId(cid)+550
local days = 7
if getGlobalStorageValue(storage) < 1 then
setGlobalStorageValue(storage, 1)
doPlayerAddPremiumDays(cid, days)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu "..days.." dias de VIP, bom jogo!")
end
return true
end

 

download.jpg

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