Creio que está duvida é de muitos, eu uso otserv de base o Pda by bolz v3.
Primeiramente ja achei um topico com esse erro mas nao foi tirado a duvida desse bug ainda.
Apos usar revive da o seguinte mas o revive funciona mas o erro persiste e as vezes o server cai por isso.
Erro*
[01/11/2013 16:40:44] [Error - Action Interface]
[01/11/2013 16:40:44] data/actions/scripts/revive.lua:onUse
[01/11/2013 16:40:44] Description:
[01/11/2013 16:40:44] data/actions/scripts/revive.lua:32: attempt to call global 'onPokeHealthChange' (a nil value)
[01/11/2013 16:40:44] stack traceback:
[01/11/2013 16:40:44] data/actions/scripts/revive.lua:32: in function <data/actions/scripts/revive.lua:1>
Script do meu revive.lua*
function onUse(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, 990) >= 1 then
doPlayerSendCancel(cid, "You can't use revive during gym battles.")
return true
end
if getPlayerStorageValue(cid, 52481) >= 1 then
return doPlayerSendCancel(cid, "You can't do that while a duel.") --alterado v1.6
end
--
if item2.itemid <= 0 or not isPokeball(item2.itemid) then
doPlayerSendCancel(cid, "Please, use revive only on pokeballs.")
return true
end
for a, b in pairs (pokeballs) do
if item2.itemid == b.on or item2.itemid == b.off then --edited deixei igual ao do PXG
doTransformItem(item2.uid, b.on)
doSetItemAttribute(item2.uid, "hp", 1)
for c = 1, 15 do
local str = "move"..c
setCD(item2.uid, str, 0)
end
setCD(item2.uid, "control", 0)
setCD(item2.uid, "blink", 0) --alterado v1.6
doSendMagicEffect(getThingPos(cid), 13)
doRemoveItem(item.uid, 1)
doCureBallStatus(item2.uid, "all")
cleanBuffs2(item2.uid) --alterado v1.5
if useOTClient then
onPokeHealthChange(cid) --alterei aki
end
return true
end
end
return true
end
Agora a duvida da medicine, a medicine está adicionada certinho mas ela nao cura os status negativo do pokemon apenas faz o efeito que usou mas nao cura os status. ai segue o script da medicine.lua
function onUse(cid, item, frompos, item2, topos) --alterado v1.8 \/ ajeitado!
if not isSummon(item2.uid) then return doPlayerSendCancel(cid, "This potion can only be used on pokémons.") end
if getCreatureMaster(item2.uid) ~= cid then return doPlayerSendCancel(cid, "You can only use it in your own pokemon.") end
if getPlayerStorageValue(cid, 52481) >= 1 then return doPlayerSendCancel(cid, "You can't do that while a duel.") end
local pokeball = getPlayerSlotItem(cid, 8)
doCureBallStatus(pokeball.uid, "all")
doCureStatus(item2.uid, "all", false)
if (getCreatureCondition(item2.uid, CONDITION_PARALYZE) == true) then
doRemoveCondition(item2.uid, CONDITION_PARALYZE)
end
if getCreatureSpeed(item2.uid) < getSpeed(item2.uid) then
doRegainSpeed(item2.uid)
end
doSendMagicEffect(getThingPos(item2.uid), 14)
doRemoveItem(item.uid, 1)
return true
end