OT
dúvida

Problemas Com "return True"!

Por othereality, 11 de out. de 2012 em Scripts

script
5
810
otherealityO
11 de outubro de 2012 às 16:03

Galera Deem uma olhada nesse script:

 

function onEquip(cid, item, slot)
local vit = getPlayerStorageValue(cid, 23221)
local hp = getCreatureMaxHealth(cid)
setCreatureMaxHealth(cid, hp + 10)
setPlayerStorageValue(cid, 23221, vit + 1)
return 1
end

Ao equipar o item, ele adiciona ao player +1 do storage 23221, e +10 de vida máxima.

 

O problema é o seguinte: ele ta adicionando +20 de HP e +2 do storage.

Eu tentei tirar o "return true", mas ai eu não consigo equipar o item, quando tento fala que não pode, e adiciona +1 do storage e +10 de HP, mas o item não equipa então não serve! '-'

Agradeço quem tentar ajudar (:

caoticC
11 de outubro de 2012 às 16:20

O unico jeito de ele executar o script e retornar equipando o item seria tal:

 

 
function onEquip(cid, item, slot)
local vit = getPlayerStorageValue(cid, 23221)
local hp = getCreatureMaxHealth(cid)
setCreatureMaxHealth(cid, hp + 10)
setPlayerStorageValue(cid, 23221, vit + 1)
return true
end

otherealityO
11 de outubro de 2012 às 16:37

pois é :/

mas assim ele ta executando 2x, ta dando 20HP e +2 no storage 23221, tem idéia de como arrumar isso?

eu podia simplesmente por a metade, mas não posso adicionar meio storage '-'

VodkartV
11 de outubro de 2012 às 17:08

acho que poderia ser usado uma storage para não duplicar o evento

 

function onEquip(cid, item, slot)
if (getPlayerStorageValue(cid, 78975) == -1) then
setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+10)
setPlayerStorageValue(cid, 23221, (getPlayerStorageValue(cid, 23221)+1))
setPlayerStorageValue(cid, 78975, 1) 
end
return true
end
function onDeEquip(cid, item, slot)
setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)-10)
setPlayerStorageValue(cid, 78975, -1) 
return true
end

otherealityO
11 de outubro de 2012 às 17:11

Vlw VodKart!

Resolvido.