OT
dúvida

Bug Em Um Move Event.

Por othereality, 26 de out. de 2012 em Scripts

script
4
760
otherealityO
26 de outubro de 2012 às 21:14

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!

brun123B
26 de outubro de 2012 às 23:23

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

otherealityO
27 de outubro de 2012 às 00:09

Não deu certo, continua executando quando loga.

Se vc conseguir fazer ele executar uma vez só me ajuda tb..

vlw pelo ajuda.

otherealityO
29 de outubro de 2012 às 23:49

@UP

não sei se pode dar 'up', porque to a um tempinho sem entrar mto no xtibia :S

(colégio ta foda)

 

Então se não poder desculpem.