Postado Julho 18, 2014 10 anos Eu fiz uma magia pelo Spellcreator que é assim: http://i.imgur.com/RmpTJ3e.gif O problema é que ela ta indo sempre para baixo, não importa a direção que eu olhe. Eu queria que ela fizesse esse efeito na direção que eu tivesse olhando. OBS: Já mudei a XML de várias formas mas também não ajustou. No momento tá assim: <instant name="Flames Wave" words="flames wave" lvl="1" maglv="1" mana="25" exhaustion="1000" groups="1" groupexhaustions="1000" prem="0" needlearn="0" casterTargetOrDirection="1" selftarget="1" blockwalls="0" aggressive="1" event="script" value="attack/hells core.lua"> <vocation id="1"/> <vocation id="5"/> </instant> Já tentei com Direction 1 também. Script: -- =============== COMBAT VARS =============== -- Areas/Combat for 1800ms local combat18_Brush = createCombatObject() setCombatParam(combat18_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat18_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat18_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat18_Brush,createCombatArea({{3}})) setCombatFormula(combat18_Brush, COMBAT_FORMULA_LEVELMAGIC, 2, -5, 0, 0) local con___combat18_Brush = createConditionObject(0+CONDITION_FIRE) addDamageCondition(con___combat18_Brush, 3, 1000, -15) setCombatCondition(combat18_Brush, con___combat18_Brush) -- Areas/Combat for 1500ms local combat15_Brush = createCombatObject() setCombatParam(combat15_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat15_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat15_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat15_Brush,createCombatArea({{1, 1, 1}, {0, 2, 0}})) setCombatFormula(combat15_Brush, COMBAT_FORMULA_LEVELMAGIC, 2, -5, 0, 0) local con___combat15_Brush = createConditionObject(0+CONDITION_FIRE) addDamageCondition(con___combat15_Brush, 3, 1000, -15) setCombatCondition(combat15_Brush, con___combat15_Brush) -- Areas/Combat for 1200ms local combat12_Brush = createCombatObject() setCombatParam(combat12_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat12_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat12_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat12_Brush,createCombatArea({{1, 1, 1, 1, 1}, {0, 0, 0, 0, 0}, {0, 0, 2, 0, 0}})) setCombatFormula(combat12_Brush, COMBAT_FORMULA_LEVELMAGIC, 2, -5, 0, 0) local con___combat12_Brush = createConditionObject(0+CONDITION_FIRE) addDamageCondition(con___combat12_Brush, 3, 1000, -15) setCombatCondition(combat12_Brush, con___combat12_Brush) -- Areas/Combat for 900ms local combat9_Brush = createCombatObject() setCombatParam(combat9_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat9_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat9_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat9_Brush,createCombatArea({{1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 2, 0, 0, 0}})) setCombatFormula(combat9_Brush, COMBAT_FORMULA_LEVELMAGIC, 2, -5, 0, 0) local con___combat9_Brush = createConditionObject(0+CONDITION_FIRE) addDamageCondition(con___combat9_Brush, 3, 1000, -15) setCombatCondition(combat9_Brush, con___combat9_Brush) -- Areas/Combat for 600ms local combat6_Brush = createCombatObject() setCombatParam(combat6_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat6_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat6_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat6_Brush,createCombatArea({{1, 1, 1, 1, 1}, {0, 0, 0, 0, 0}, {0, 0, 2, 0, 0}})) setCombatFormula(combat6_Brush, COMBAT_FORMULA_LEVELMAGIC, 2, -5, 0, 0) local con___combat6_Brush = createConditionObject(0+CONDITION_FIRE) addDamageCondition(con___combat6_Brush, 3, 1000, -15) setCombatCondition(combat6_Brush, con___combat6_Brush) -- Areas/Combat for 300ms local combat3_Brush = createCombatObject() setCombatParam(combat3_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat3_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat3_Brush,createCombatArea({{1, 1, 1}, {0, 2, 0}})) setCombatFormula(combat3_Brush, COMBAT_FORMULA_LEVELMAGIC, 2, -5, 0, 0) local con___combat3_Brush = createConditionObject(0+CONDITION_FIRE) addDamageCondition(con___combat3_Brush, 3, 1000, -15) setCombatCondition(combat3_Brush, con___combat3_Brush) -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat0_Brush, COMBAT_PARAM_BLOCKARMOR, true) setCombatArea(combat0_Brush,createCombatArea({{3}})) setCombatFormula(combat0_Brush, COMBAT_FORMULA_LEVELMAGIC, 2, -5, 0, 0) local con___combat0_Brush = createConditionObject(0+CONDITION_FIRE) addDamageCondition(con___combat0_Brush, 3, 1000, -15) setCombatCondition(combat0_Brush, con___combat0_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) local startPos = getCreaturePosition(cid) local startDir = getCreatureLookDirection(cid) addEvent(RunPart,1800,combat18_Brush,cid,var) addEvent(RunPart,1500,combat15_Brush,cid,var) addEvent(RunPart,1200,combat12_Brush,cid,var) addEvent(RunPart,900,combat9_Brush,cid,var) addEvent(RunPart,600,combat6_Brush,cid,var) addEvent(RunPart,300,combat3_Brush,cid,var) RunPart(combat0_Brush,cid,var) return true end
Postado Julho 18, 2014 10 anos Simples, vai em data/spells/spells.lua , substitua sua tag antiga por essa. <instant name="Flames Wave" words="Flames Wave" lvl="1" mana="25" direction="1" exhaustion="2000" needlearn="0" event="script" value="attack/hells core.lua"> Espero ter ajudado. Editado Julho 18, 2014 10 anos por Estronda (veja o histórico de edições)
Postado Julho 18, 2014 10 anos Autor Obrigado, mas eu queria que a spell voltasse até chegar na posição atual do caster (por isso tava tentando com selftarget) Existiria como? OBS: Na forma atual que ela só vai para baixo ela estava voltando até a posição do caster. Editado Julho 18, 2014 10 anos por gldarkk (veja o histórico de edições)
Postado Julho 18, 2014 10 anos Só colocar isso direction="1" na sua tag junto com selftarget="1" #edit, não vi que ja tinha escrito que tentou com direction =x
Postado Julho 18, 2014 10 anos Autor Pois é. Deve existir algum tipo de conflito entre selftarget e direction.
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.