Postado Fevereiro 6, 2018 7 anos Queria saber de vocês como que eu resolvo este problema, se eu usar a spell sem target ela funciona perfeitamente, mas se eu tiver com target ela buga, verifiquem as fotos: Sem Target: a magia sai na minha frente na direção que estou olhando. Com Target: o effect da magia sai do monstro Spell: XML: Spoiler <instant name="Air Suffocation" words="Air Suffocation" lvl="42" maglv="1" mana="45" exhaustion="3000" prem="0" needlearn="0" casterTargetOrDirection="1" blockwalls="0" aggressive="1" event="script" value="Air/air suffocation.lua"> <vocation id="5"/> <vocation id="6"/> </instant> Script: Spoiler -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 400ms local combat4_Brush = createCombatObject() setCombatParam(combat4_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat4_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat4_Brush,createCombatArea({{1}, {0}, {0}, {0}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat4_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 300ms local combat3_Brush = createCombatObject() setCombatParam(combat3_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat3_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat3_Brush,createCombatArea({{1}, {0}, {0}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat3_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 200ms local combat2_Brush = createCombatObject() setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat2_Brush,createCombatArea({{1}, {0}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 100ms local combat1_Brush = createCombatObject() setCombatParam(combat1_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat1_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat1_Brush,createCombatArea({{1}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat1_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{3}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos,startDir) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do if (startDir == 0) then -- N doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 2) then -- S doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i],y=dirEmitPos.y+dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 1) then -- E doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i+1],y=dirEmitPos.y+dirList[i],z=dirEmitPos.z},dirList[1]) else -- W / Something weird happened doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i+1],y=dirEmitPos.y-dirList[i],z=dirEmitPos.z},dirList[1]) end i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) local startDir = getCreatureLookDirection(cid) addEvent(RunPart,400,combat4_Brush,cid,var) addEvent(RunPart,300,combat3_Brush,cid,var) addEvent(RunPart,200,combat2_Brush,cid,var) addEvent(RunPart,100,combat1_Brush,cid,var) RunPart(combat0_Brush,cid,var) return true end
Postado Fevereiro 6, 2018 7 anos Spoiler -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 400ms local combat4_Brush = createCombatObject() setCombatParam(combat4_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat4_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat4_Brush,createCombatArea({{1}, {0}, {0}, {0}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat4_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 300ms local combat3_Brush = createCombatObject() setCombatParam(combat3_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat3_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat3_Brush,createCombatArea({{1}, {0}, {0}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat3_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 200ms local combat2_Brush = createCombatObject() setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat2_Brush,createCombatArea({{1}, {0}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 100ms local combat1_Brush = createCombatObject() setCombatParam(combat1_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat1_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat1_Brush,createCombatArea({{1}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat1_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{3}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos,startDir) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do if (startDir == 0) then -- N doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 2) then -- S doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList,y=dirEmitPos.y+dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 1) then -- E doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i+1],y=dirEmitPos.y+dirList,z=dirEmitPos.z},dirList[1]) else -- W / Something weird happened doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i+1],y=dirEmitPos.y-dirList,z=dirEmitPos.z},dirList[1]) end i = i + 2 end end end end function onCastSpell(cid, var) pos = getCreaturePosition(cid) function effectFollow(uid,jump,pos) if jump <= 0 then return true end posx = getPosByDir(pos,getDirectionTo(pos,getCreaturePosition(getCreatureTarget(cid)))) doAreaCombatHealth(cid, 1, posx, 0, -7000, -8400, 79) addEvent(effectFollow, 500, uid, jump-1, pos) end effectFollow(getCreatureTarget(cid),15,pos) end local startPos = getCreaturePosition(cid) local startDir = getCreatureLookDirection(cid) addEvent(RunPart,400,combat4_Brush,cid,var) addEvent(RunPart,300,combat3_Brush,cid,var) addEvent(RunPart,200,combat2_Brush,cid,var) addEvent(RunPart,100,combat1_Brush,cid,var) RunPart(combat0_Brush,cid,var) return true end
Postado Fevereiro 6, 2018 7 anos Autor 2 minutos atrás, Luan Zero disse: Ocultar conteúdo -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 400ms local combat4_Brush = createCombatObject() setCombatParam(combat4_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat4_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat4_Brush,createCombatArea({{1}, {0}, {0}, {0}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat4_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 300ms local combat3_Brush = createCombatObject() setCombatParam(combat3_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat3_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat3_Brush,createCombatArea({{1}, {0}, {0}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat3_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 200ms local combat2_Brush = createCombatObject() setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat2_Brush,createCombatArea({{1}, {0}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 100ms local combat1_Brush = createCombatObject() setCombatParam(combat1_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat1_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat1_Brush,createCombatArea({{1}, {2}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat1_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_ICETORNADO) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{3}})) function getDmg_Brush(cid, level, maglevel) return (220)*-1,(300)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos,startDir) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do if (startDir == 0) then -- N doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 2) then -- S doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList,y=dirEmitPos.y+dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 1) then -- E doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i+1],y=dirEmitPos.y+dirList,z=dirEmitPos.z},dirList[1]) else -- W / Something weird happened doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i+1],y=dirEmitPos.y-dirList,z=dirEmitPos.z},dirList[1]) end i = i + 2 end end endend function onCastSpell(cid, var) pos = getCreaturePosition(cid) function effectFollow(uid,jump,pos) if jump <= 0 then return true end posx = getPosByDir(pos,getDirectionTo(pos,getCreaturePosition(getCreatureTarget(cid)))) doAreaCombatHealth(cid, 1, posx, 0, -7000, -8400, 79) addEvent(effectFollow, 500, uid, jump-1, pos) end effectFollow(getCreatureTarget(cid),15,pos)end local startPos = getCreaturePosition(cid) local startDir = getCreatureLookDirection(cid) addEvent(RunPart,400,combat4_Brush,cid,var) addEvent(RunPart,300,combat3_Brush,cid,var) addEvent(RunPart,200,combat2_Brush,cid,var) addEvent(RunPart,100,combat1_Brush,cid,var) RunPart(combat0_Brush,cid,var) return trueend
Postado Fevereiro 6, 2018 7 anos <instant name="Air Suffocation" words="Air Suffocation" lvl="42" maglv="1" mana="45" exhaustion="3000" prem="0" needlearn="0" direction="1" blockwalls="0" aggressive="1" event="script" value="Air/air suffocation.lua"> <vocation id="5"/> <vocation id="6"/> </instant> Você estava usando a opção casterTargetOrDirection no spells.xml ou seja - Conjurar no Target ou na direção, agora que coloquei só direction vai corrigir o problema. Te ajudei ?? Que tal fazer uma contribuição ?
Postado Fevereiro 7, 2018 7 anos Autor 18 horas atrás, DboExplorer disse: <instant name="Air Suffocation" words="Air Suffocation" lvl="42" maglv="1" mana="45" exhaustion="3000" prem="0" needlearn="0" direction="1" blockwalls="0" aggressive="1" event="script" value="Air/air suffocation.lua"> <vocation id="5"/> <vocation id="6"/> </instant> Você estava usando a opção casterTargetOrDirection no spells.xml ou seja - Conjurar no Target ou na direção, agora que coloquei só direction vai corrigir o problema. muito obrigado! +REP 18 horas atrás, DboExplorer disse: <instant name="Air Suffocation" words="Air Suffocation" lvl="42" maglv="1" mana="45" exhaustion="3000" prem="0" needlearn="0" direction="1" blockwalls="0" aggressive="1" event="script" value="Air/air suffocation.lua"> <vocation id="5"/> <vocation id="6"/> </instant> Você estava usando a opção casterTargetOrDirection no spells.xml ou seja - Conjurar no Target ou na direção, agora que coloquei só direction vai corrigir o problema. Desculpe, ainda ficou com um problema quando eu uso a spell e começo a andar o efect vai pra outra direção
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.