Ir para conteúdo

Featured Replies

Postado
  • Autor
  • Solução
  Em 12/01/2015 em 02:03, xWhiteWolf disse:

 

eu tava tentando forçar isso daqui:

function onThink(cid, interval)
if getPlayerStorageValue(cid, config.register) == 1 then
     if getPlayerStorageValue(cid, config.storage) <= os.time() then
         doCreatureSay(cid, "Your extra experience rate has finished! It is now normaly experience rate.", TALKTYPE_ORANGE_1, true, cid)
         setPlayerStorageValue(cid, config.storage, 0)
         setPlayerStorageValue(cid, config.register, 0)
         local oldexp = getPlayerStorageValue(cid, config.expstorage)
         doPlayerSetExperienceRate(cid, oldexp)
         unregisterCreatureEvent(cid, "ExpStage")
     end
end
return true
end

o config.register tem que estar com valor 1 e o config.storage tem que estar menor que o tempo atual (por isso o 0) e aí ele vai voltar a exp pra antiga que tava salva no storage config.expstorage:

local oldexp = getPlayerStorageValue(cid, config.expstorage)
doPlayerSetExperienceRate(cid, oldexp)

Esse foi show, realmente apareceu a msg que nao queria aparecer "Your extra experience rate has finished! It is now normaly experience rate."

Porém, a exp continuou dobrada! Parece que ele mudou, mas mudou pra 2x ainda

Wolf e Snow, muito obrigado pela ajuda! Nao consegui resolver! Vou refazer todos os chars. Realmente nao da pra saber o que está acontecendo! Eu tenho certeza que não fiz nada errado, o problema deve ser outro.

+REP

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

Top Posters In This Topic

Most Popular Posts

  • Poe os storage como o wolf falou, e vai em creaturescript/scripts/login.lua Antes do return true end coloca isso:   if getPlayerStorageValue(cid, 1000) => 0 or getPlayerStorageValue(cid, 1100

  • eu tava tentando forçar isso daqui: function onThink(cid, interval) if getPlayerStorageValue(cid, config.register) == 1 then if getPlayerStorageValue(cid, config.storage) <= os.time() then

Postado

então vc vai ter que pegar o valor normal da exp pela db usando esse storage config.expstorage, procura os valores e pega o menor que tiver que seja maior que 0 e executa um doPlayerSetExperienceRate(cid, VALOR AQUI) pra todos os players online.. isso dá pra fazer pelo creaturescripts\scripts\login.luga só adicionando essa linha doPlayerSetExperienceRate(cid, VALOR AQUI) antes do ultimo return true. Depois que todos os players logarem e estiverem com a exp normalizada vc fecha o servidor, remove a linha do login.lua e adiciona o sistema novamente.

Postado
  • Autor
  Em 12/01/2015 em 02:32, xWhiteWolf disse:

então vc vai ter que pegar o valor normal da exp pela db usando esse storage config.expstorage, procura os valores e pega o menor que tiver que seja maior que 0 e executa um doPlayerSetExperienceRate(cid, VALOR AQUI) pra todos os players online.. isso dá pra fazer pelo creaturescripts\scripts\login.luga só adicionando essa linha doPlayerSetExperienceRate(cid, VALOR AQUI) antes do ultimo return true. Depois que todos os players logarem e estiverem com a exp normalizada vc fecha o servidor, remove a linha do login.lua e adiciona o sistema novamente.

A parte do Login.lua entendi, a parte do config.exptorage me perdi. Eu conheço muito pouco de Prog, pode me ajudar mais detalhadamente?

Escuta white, o problema não é esse. Acabei de achar um player sem esses storages e que ta com o BUG de XP. Quanto eu subistituo o arquivo .s3db o problema acaba, só que as contas resetam. :/

Editado por Hugoo222222 (veja o histórico de edições)

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