Ir para conteúdo
  • 0

Bug Em Um Move Event.


othereality

Pergunta

Eu tenho o seguinte script:

 

function onEquip(cid, item, slot)
local int = getPlayerStorageValue(cid, 23224)
setPlayerStorageValue(cid, 23224, int + 2)
return true -- +2 de int +10 de HP (porque o return true exeta o script 2x)
end

function onDeEquip(cid, item, slot)
local int = getPlayerStorageValue(cid, 23224)
setPlayerStorageValue(cid, 23224, int - 4)
return true
end

ps: quando desequipa o item tira 4 ao envés de 2 porque ele executa duas vezes quando coloca, mas esse não é o problema.

 

O problema é que quando eu to com o item equipado sempre que eu relogo eu ganho +1 do storage(pra cada item equipado).

Eu to querendo evitar que os player fiquem relogando varias vezes e ganhem milhões de vezes o storage.

Mas eu não consegui resolver o problema :/

Se alguém souber me ajudar agradeço!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

function onEquip(cid, item, slot)

   if os.time() - getPlayerLastLogin(cid) < 1 then return end

local int = getPlayerStorageValue(cid, 23224)
setPlayerStorageValue(cid, 23224, int + 2)
return true -- +2 de int +10 de HP (porque o return true exeta o script 2x)
end

function onDeEquip(cid, item, slot)
local int = getPlayerStorageValue(cid, 23224)
setPlayerStorageValue(cid, 23224, int - 4)
return true
end

 

Dessa forma quando o player fizer login a script não será executada, não testado

se quiser posso fazer com que o deEquip seja executado apenas uma vez também

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...