lgan 1 Postado Fevereiro 18, 2014 Share Postado Fevereiro 18, 2014 (editado) protection aki n esta funcionando corretamente. quando não estou em battle, ele funciona, porém se há algum pokemon me atacando ele não funciona e da esse erro no console: [18/02/2014 08:21:03] [Error - TalkAction Interface] [18/02/2014 08:21:03] data/talkactions/scripts/move1.lua:onSay [18/02/2014 08:21:03] Description: [18/02/2014 08:21:03] data/lib/pokemon moves.lua:4621: attempt to call field '?' (a nil value) [18/02/2014 08:21:03] stack traceback: [18/02/2014 08:21:03] data/lib/pokemon moves.lua:4621: in function 'docastspell' [18/02/2014 08:21:03] data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20> E outra coisa, uso pda sem lvl 1.9 , as storages a serem colocadas no script são essas? local duel_sto_1 = 52482 --Storage de duel. local duel_sto_2 = 52483 --Storage de duel. local pvp_sto_1 = 25695 --Storage de PvP. local pvp_sto_2 = 25696 --Storage de PvP. Editado Fevereiro 18, 2014 por lgan Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Fevereiro 18, 2014 Share Postado Fevereiro 18, 2014 (editado) Seria interessente se você enviasse o quê se encontra na linha 4621 de pokemon moves.lua. Sobre as storages, não sei. Talvez sim. Vou revisar o código do Protection aqui. Qualquer coisa, reescrevo-o. #EDIT: Código reescrito. Aqui, pelo menos, está funcionando perfeitamente. elseif spell == "Protection" then local area = heal --Área do Protection. local pos = getPosfromArea(cid, area) local n = 0 local duel_sto_1 = xxx --Storage de duel. local duel_sto_2 = xxx --Storage de duel. local pvp_sto_1 = xxx --Storage de PvP. local pvp_sto_2 = xxx --Storage de PvP. local duration = 8 --Duração do buff. local eff = 117 local ret = {} local function isMonster(cid) if isCreature(cid) then if not isPlayer(cid) and not isSummon(cid) and not ehNPC(cid) then return true else return false end end return nil end if isSummon(cid) then ret.id = cid ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) local owner = getCreatureMaster(cid) ret.id = owner doCondition2(ret) elseif isMonster(cid) then ret.id = cid ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end while n < #pos do n = n + 1 local posis = {x = pos[n].x, y = pos[n].y, z = pos[n].z, stackpos = 253} local thing = getThingFromPosWithProtect(posis) if isCreature(thing) then if isSummon(cid) then local owner = getCreatureMaster(cid) if isSummon(thing) then if getPlayerStorageValue(owner, duel_sto_1) >= 1 then if getPlayerStorageValue(getCreatureMaster(thing), duel_sto_2) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, duel_sto_2) >= 1 then if getPlayerStorageValue(getCreatureMaster(thing), duel_sto_1) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, pvp_sto_2) >= 1 then if getPlayerStorageValue(getCreatureMaster(thing), pvp_sto_1) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, pvp_sto_1) >= 1 then if getPlayerStorageValue(getCreatureMaster(thing), pvp_sto_2) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end end elseif isPlayer(thing) then if getPlayerStorageValue(owner, duel_sto_1) >= 1 then if getPlayerStorageValue(thing, duel_sto_2) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, duel_sto_2) >= 1 then if getPlayerStorageValue(thing, duel_sto_1) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, pvp_sto_2) >= 1 then if getPlayerStorageValue(thing, pvp_sto_1) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end elseif getPlayerStorageValue(owner, pvp_sto_1) >= 1 then if getPlayerStorageValue(thing, pvp_sto_2) < 1 then ret.id = thing ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end end end end end end Editado Fevereiro 18, 2014 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
Drk Shadow 48 Postado Fevereiro 19, 2014 Share Postado Fevereiro 19, 2014 Bom, agora funcionou sem erros, porem o buff está indo só na blisey :x Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados