FlamesAdmin 261 Postado Fevereiro 17, 2014 Share Postado Fevereiro 17, 2014 (editado) Bah noite moçada. Venho pedir + 2 moves para meu servidor, Revenge e Protection. Segue a imagem do Revenge: (PS: nao repare kkk. Tavo no TG msm hahahaha, aproveitar que ta liberado.) Efeitos: Efeito Inicial = 92 Segundo Efeito = 93 Terceiro Efeito = 99 Quarto Efeito = 94 Ultimo Efeito = 93 Área da spell = splash Move Protection. Efeito = 117 Esse move, ele da uns % a mais de defesa para quem estiver perto (player e no poke) com tempo para acabar. O efeito ficará no poke que soltou a spell e em quem ta por perto. (Se for possivel fazer isso) Claro que nao irá dar essa proteçao em quem estiver no time adversario no pvp e duelo. Rep+, qualquer duvida sobre eles, só perguntar. Editado Fevereiro 17, 2014 por FlamesAdmin Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Fevereiro 17, 2014 Share Postado Fevereiro 17, 2014 (editado) Fiz as duas spells bem rápido aqui, então qualquer erro, só postar. Revenge: PS: Como não foi informado o intervalo de tempo entre os ataques, coloquei 500 milésimos. elseif spell == "Revenge" then local effs = {92, 93, 99, 94, 93} for i = 1, #effs do addEvent(function() if not isCreature(cid) then return true end doAreaCombatHealth(cid, FIGHTINGDAMAGE, getThingPosWithDebug(cid), splash, -min, -max, 0) doSendMagicEffect(getThingPos(cid), effs[i]) end, i * 500) end Protection: elseif spell == "Protection" then 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 local spec = getSpectators(getThingPos(cid), 5, 5, false) for i = 1, #spec do if isSummon(cid) then local owner = getCreatureMaster(cid) if isSummon(spec[i]) or isPlayer(spec[i]) then if getPlayerStorageValue(owner, duel_sto_1) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), duel_sto_2) >= 1 then table.remove(spec, i) end elseif getPlayerStorageValue(owner, duel_sto_2) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), duel_sto_1) >= 1 then table.remove(spec, i) end elseif getPlayerStorageValue(owner, pvp_sto_2) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), pvp_sto_1) >= 1 then table.remove(spec, i) end elseif getPlayerStorageValue(owner, pvp_sto_1) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), pvp_sto_2) >= 1 then table.remove(spec, i) end end elseif isMonster(spec[i]) then table.remove(spec, i) end end end for i = 1, #spec do ret.id = spec[i] ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end Depois, em newStatusSyst.lua, procure por semelhantes à esta seguinte condição, e adicione: elseif buff == "Protection" then doRaiseStatus(cid, 0, 2, 0, a) --Estará buffando a mesma quantia de def que o Harden. Altere no valor "2". Editado Fevereiro 17, 2014 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
FlamesAdmin 261 Postado Fevereiro 17, 2014 Autor Share Postado Fevereiro 17, 2014 (editado) Esqeci de avisar, no Protection, precisa de uma área para ter essa proteçao. Se nao fica zuado o player la na casa do inácio pegando Protection. #Erro: Protection [16/02/2014 22:20:33] [Error - CreatureScript Interface][16/02/2014 22:20:33] data/creaturescripts/scripts/exp2.0.lua[16/02/2014 22:20:33] Description:[16/02/2014 22:20:33] data/creaturescripts/scripts/exp2.0.lua:735: attempt to call global 'isSummon' (a nil value)[16/02/2014 22:20:33] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/exp2.0.lua)[16/02/2014 22:20:33] data/lib/pokemon moves.lua:329: 'end' expected (to close 'function' at line 71) near 'elseif'[16/02/2014 22:20:33] [Error - LuaScriptInterface::loadFile] data/lib/pokemon moves.lua:329: 'end' expected (to close 'function' at line 71) near 'elseif'[16/02/2014 22:20:33] [Warning - LuaScriptInterface::initState] Cannot load data/lib/ --- EDIT-- Eu te expliquei errado esse Revenge, nao tem nada dessa área do splash nao, o dano dele, pega em quem tiver em volta, dei uma olhada no Powder Snow, que o ZerefShirou fez pra mim: Powder Snow elseif spell == "Powder Snow" thensnowP = getThingPosWithDebug(cid) local ret = {} ret.id = 0 ret.cd = 10 ret.check = 0 ret.eff = 43 ret.spell = spell ret.cond = "Slow" doMoveInArea2(cid, 0, check, ICEDAMAGE, min, max, spell, ret) doSendMagicEffect({x = snowP.x + 1, y = snowP.y, z = snowP.z}, 206) Editado Fevereiro 17, 2014 por FlamesAdmin Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Fevereiro 17, 2014 Share Postado Fevereiro 17, 2014 Corrigi o erro do Protection, foi falta de atenção mesmo. Sobre a área do Revenge, a área splash pega exatamente em volta. Link para o comentário Compartilhar em outros sites More sharing options...
FlamesAdmin 261 Postado Fevereiro 17, 2014 Autor Share Postado Fevereiro 17, 2014 (editado) Ok. Vou tirar uma print do Revenge aki pra mostrar pra ti. -Edit: Revenge. Print de como está: Eu queria que soltasse somente 1 efeito no Poke, e quem estivesse por perto tomaria dano. Exemplo do Powder Snow, print: Protection. Agora o erro dele, acontece qnd solta a spell: [17/02/2014 15:30:32] [Error - TalkAction Interface][17/02/2014 15:30:32] data/talkactions/scripts/move1.lua:onSay[17/02/2014 15:30:32] Description:[17/02/2014 15:30:32] data/lib/some functions.lua:414: attempt to perform arithmetic on local 'B' (a nil value)[17/02/2014 15:30:32] stack traceback:[17/02/2014 15:30:32] data/lib/some functions.lua:414: in function 'doRaiseStatus'[17/02/2014 15:30:32] data/lib/newStatusSyst.lua:658: in function 'doBuff2'[17/02/2014 15:30:32] data/lib/newStatusSyst.lua:699: in function 'doCondition2'[17/02/2014 15:30:32] data/lib/pokemon moves.lua:325: in function 'docastspell'[17/02/2014 15:30:32] data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20> Editado Fevereiro 17, 2014 por FlamesAdmin Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Fevereiro 17, 2014 Share Postado Fevereiro 17, 2014 (editado) Corrigido o "erro" do Revenge. Sobre o Protection, quando possível, darei uma olhada. #EDIT: Em some functions.lua, procure por: function doRaiseStatus(cid, off, def, agi, time) if not isCreature(cid) then return true end Troque por: function doRaiseStatus(cid, off, def, agi, time) if not isCreature(cid) then return true elseif not pokes[getCreatureName(cid)] then return true end Editado Fevereiro 17, 2014 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
FlamesAdmin 261 Postado Fevereiro 17, 2014 Autor Share Postado Fevereiro 17, 2014 (editado) Sem problemas, vou testar o Protection aki. Funcionaram perfeitamente, unica coisa que ficou meio tosco, é q qnd solta o Protection, dai qnd puxa o poke pra ball (quem soltou a spell) o Protection continua no Player. Editado Fevereiro 17, 2014 por FlamesAdmin Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Fevereiro 18, 2014 Share Postado Fevereiro 18, 2014 Ué, mas não é assim que o Protection funciona? ._. Link para o comentário Compartilhar em outros sites More sharing options...
FlamesAdmin 261 Postado Fevereiro 18, 2014 Autor Share Postado Fevereiro 18, 2014 Bah, deixa assim msm haha, pode mover. Obg. Link para o comentário Compartilhar em outros sites More sharing options...
Drk Shadow 48 Postado Fevereiro 18, 2014 Share Postado Fevereiro 18, 2014 @Zipter98 Aqui ainda continua dando o erro... [17/02/2014 22:08:35] [Error - TalkAction Interface] [17/02/2014 22:08:35] data/talkactions/scripts/move1.lua:onSay [17/02/2014 22:08:35] Description: [17/02/2014 22:08:35] data/lib/some functions.lua:444: attempt to perform arithmetic on local 'B' (a nil value) [17/02/2014 22:08:35] stack traceback: [17/02/2014 22:08:35] data/lib/some functions.lua:444: in function 'doRaiseStatus' [17/02/2014 22:08:35] data/lib/newStatusSyst.lua:682: in function 'doBuff2' [17/02/2014 22:08:35] data/lib/newStatusSyst.lua:695: in function 'doCondition2' [17/02/2014 22:08:35] data/lib/pokemon moves.lua:619: in function 'docastspell' [17/02/2014 22:08:35] data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20> Link para o comentário Compartilhar em outros sites More sharing options...
zipter98 1101 Postado Fevereiro 18, 2014 Share Postado Fevereiro 18, 2014 (editado) Também esqueci de mencionar isso: Em some functions.lua, procurem por: function doReduceStatus(cid, off, def, agi) if not isCreature(cid) then return true end E troquem por: function doReduceStatus(cid, off, def, agi) if not isCreature(cid) then return true elseif not pokes[getCreatureName(cid)] then return true end Editado Fevereiro 18, 2014 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
FlamesAdmin 261 Postado Fevereiro 18, 2014 Autor Share Postado Fevereiro 18, 2014 Vlw. Link para o comentário Compartilhar em outros sites More sharing options...
Drk Shadow 48 Postado Fevereiro 18, 2014 Share Postado Fevereiro 18, 2014 @Zipter Aqui continua dando erro :s... [17/02/2014 23:19:59] [Error - TalkAction Interface] [17/02/2014 23:19:59] data/talkactions/scripts/move1.lua:onSay [17/02/2014 23:19:59] Description: [17/02/2014 23:19:59] data/lib/some functions.lua:448: attempt to perform arithmetic on local 'B' (a nil value) [17/02/2014 23:19:59] stack traceback: [17/02/2014 23:19:59] data/lib/some functions.lua:448: in function 'doRaiseStatus' [17/02/2014 23:19:59] data/lib/newStatusSyst.lua:682: in function 'doBuff2' [17/02/2014 23:19:59] data/lib/newStatusSyst.lua:695: in function 'doCondition2' [17/02/2014 23:20:00] data/lib/pokemon moves.lua:619: in function 'docastspell' [17/02/2014 23:20:00] data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20> [17/02/2014 23:20:01] [Error - TalkAction Interface] [17/02/2014 23:20:01] data/talkactions/scripts/move1.lua:onSay [17/02/2014 23:20:01] Description: [17/02/2014 23:20:01] data/lib/some functions.lua:448: attempt to perform arithmetic on local 'B' (a nil value) [17/02/2014 23:20:01] stack traceback: [17/02/2014 23:20:01] data/lib/some functions.lua:448: in function 'doRaiseStatus' [17/02/2014 23:20:01] data/lib/newStatusSyst.lua:682: in function 'doBuff2' [17/02/2014 23:20:01] data/lib/newStatusSyst.lua:695: in function 'doCondition2' [17/02/2014 23:20:01] data/lib/pokemon moves.lua:619: in function 'docastspell' [17/02/2014 23:20:01] data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20> [17/02/2014 23:20:03] [Error - TalkAction Interface] [17/02/2014 23:20:03] data/talkactions/scripts/move1.lua:onSay [17/02/2014 23:20:03] Description: [17/02/2014 23:20:03] data/lib/pokemon moves.lua:608: attempt to call field 'remove' (a nil value) [17/02/2014 23:20:03] stack traceback: [17/02/2014 23:20:03] data/lib/pokemon moves.lua:608: in function 'docastspell' [17/02/2014 23:20:03] data/talkactions/scripts/move1.lua:173: in function <data/talkactions/scripts/move1.lua:20> Link para o comentário Compartilhar em outros sites More sharing options...
FlamesAdmin 261 Postado Fevereiro 18, 2014 Autor Share Postado Fevereiro 18, 2014 Ta usando o novo código da spell q ele postou ? Link para o comentário Compartilhar em outros sites More sharing options...
Drk Shadow 48 Postado Fevereiro 18, 2014 Share Postado Fevereiro 18, 2014 Essa: ? elseif spell == "Protection" then 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 local spec = getSpectators(getThingPos(cid), 5, 5, false) for i = 1, #spec do if isSummon(cid) then local owner = getCreatureMaster(cid) if isSummon(spec[i]) or isPlayer(spec[i]) then if getPlayerStorageValue(owner, duel_sto_1) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), duel_sto_2) >= 1 then table.remove(spec, i) end elseif getPlayerStorageValue(owner, duel_sto_2) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), duel_sto_1) >= 1 then table.remove(spec, i) end elseif getPlayerStorageValue(owner, pvp_sto_2) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), pvp_sto_1) >= 1 then table.remove(spec, i) end elseif getPlayerStorageValue(owner, pvp_sto_1) >= 1 then if getPlayerStorageValue(getCreatureMaster(spec[i]), pvp_sto_2) >= 1 then table.remove(spec, i) end end elseif isMonster(spec[i]) then table.remove(spec, i) end end end for i = 1, #spec do ret.id = spec[i] ret.cd = duration ret.eff = eff ret.check = 0 ret.buff = spell ret.first = true doCondition2(ret) end Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados