Ir para conteúdo

Featured Replies

Postado

Eu fiz uma magia pelo Spellcreator que é assim: http://i.imgur.com/RmpTJ3e.gif
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

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 por Estronda (veja o histórico de edições)

Postado
  • 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 por gldarkk (veja o histórico de edições)

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo