Ir para conteúdo
  • 0

Spell Complicada Cima, Baixo, Direita, Esquerda


Pergunta

Gente vou mostrar umas ss aqui de como é +ou - essa spell ok, vamos lá

Para Baixo:

baixonh.png

Para esquerda:

esquerdat.png

para cima:

cimah.png

Para direita:

direital.png

 

 

 

 

QUADRADOS VERMELHOS: Local de onde saira o effect, no caso o que eu tenho aqui são aqueles effects direcionados

QUADRADOS PRETOS: Local do dano da spell

Vlw espero que entendam, demorou pra fazer isso uheheuhe.

Link para o comentário
https://xtibia.com/forum/topic/191412-spell-complicada-cima-baixo-direita-esquerda/
Compartilhar em outros sites

Posts Recomendados

  • 0

 

[12/08/2012 21:49:53] [Error - Spell Interface]

[12/08/2012 21:49:53] data/spells/scripts/lee/Konoha Hariken.lua

[12/08/2012 21:49:53] Description:

[12/08/2012 21:49:53] (luaGetCreatureTarget) Creature not found

[12/08/2012 21:49:53] [Error - Spell Interface]

[12/08/2012 21:49:53] data/spells/scripts/lee/Konoha Hariken.lua

[12/08/2012 21:49:53] Description:

[12/08/2012 21:49:53] (luaGetThingPosition) Thing not found

[12/08/2012 21:49:53] [Error - Spell Interface]

[12/08/2012 21:49:53] data/spells/scripts/lee/Konoha Hariken.lua

[12/08/2012 21:49:53] Description:

[12/08/2012 21:49:53] data/spells/scripts/lee/Konoha Hariken.lua:2: attempt to index a boolean value

[12/08/2012 21:49:53] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/lee/Konoha Hariken.lua)

 

  • 0

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.2, 0, -1.3, 0)

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1.2, 0, -1.3, 0)

local combat3 = createCombatObject()

setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -1.2, 0, -1.3, 0)

local combat4 = createCombatObject()

setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -1.2, 0, -1.3, 0)

local combat5 = createCombatObject()

setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -1.2, 0, -1.3, 0)

local combat6 = createCombatObject()

setCombatParam(combat6, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat6, COMBAT_FORMULA_LEVELMAGIC, -1.2, 0, -1.3, 0)

 

local function onCastSpell2(parameters)

local target = getCreatureTarget(cid)

local position = {x=getPlayerPosition(target).x+1, y=getPlayerPosition(target).y+1, z=getPlayerPosition(target).z}

doSendMagicEffect(position, 39)

doCombat(parameters.cid, parameters.combat1, parameters.var)

end

 

local function onCastSpell3(parameters)

local target = getCreatureTarget(cid)

local position = {x=getPlayerPosition(target).x+1, y=getPlayerPosition(target).y+1, z=getPlayerPosition(target).z}

doSendMagicEffect(position, 72)

doCombat(parameters.cid, parameters.combat2, parameters.var)

end

 

local function onCastSpell4(parameters)

local target = getCreatureTarget(cid)

local position = {x=getPlayerPosition(target).x+1, y=getPlayerPosition(target).y+1, z=getPlayerPosition(target).z}

doSendMagicEffect(position, 72)

doCombat(parameters.cid, parameters.combat3, parameters.var)

end

 

local function onCastSpell5(parameters)

local target = getCreatureTarget(cid)

local position = {x=getPlayerPosition(target).x+1, y=getPlayerPosition(target).y+1, z=getPlayerPosition(target).z}

doSendMagicEffect(position, 72)

doCombat(parameters.cid, parameters.combat4, parameters.var)

end

 

local function onCastSpell6(parameters)

local target = getCreatureTarget(cid)

local position = {x=getPlayerPosition(target).x+1, y=getPlayerPosition(target).y+1, z=getPlayerPosition(target).z}

doSendMagicEffect(position, 72)

doCombat(parameters.cid, parameters.combat5, parameters.var)

end

 

local function onCastSpell7(parameters)

local target = getCreatureTarget(cid)

local position = {x=getPlayerPosition(target).x+2, y=getPlayerPosition(target).y, z=getPlayerPosition(target).z}

doSendMagicEffect(position, 51)

doCombat(parameters.cid, parameters.combat6, parameters.var)

end

 

function onCastSpell(cid, var)

local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5, combat6 = combat6 }

doCreatureSay(cid, "Konoha Hariken!", TALKTYPE_MONSTER)

addEvent(onCastSpell2, 0, parameters)

addEvent(onCastSpell3, 300, parameters)

addEvent(onCastSpell4, 600, parameters)

addEvent(onCastSpell5, 900, parameters)

addEvent(onCastSpell6, 1200, parameters)

addEvent(onCastSpell7, 1500, parameters)

end

 

  • 0

:(

 

[13/08/2012 20:40:54] [Error - Spell Interface]

[13/08/2012 20:40:54] In a timer event called from:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:54] Description:

[13/08/2012 20:40:54] (luaGetCreatureTarget) Creature not found

[13/08/2012 20:40:54] [Error - Spell Interface]

[13/08/2012 20:40:54] In a timer event called from:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:54] Description:

[13/08/2012 20:40:54] (luaGetThingPosition) Thing not found

[13/08/2012 20:40:54] [Error - Spell Interface]

[13/08/2012 20:40:54] In a timer event called from:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:54] Description:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:22: attempt to index a boolean value

[13/08/2012 20:40:54] stack traceback:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:22: in function <data/spells/scripts/lee/Konoha Hariken.lua:20>

[13/08/2012 20:40:54] [Error - Spell Interface]

[13/08/2012 20:40:54] In a timer event called from:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:54] Description:

[13/08/2012 20:40:54] (luaGetCreatureTarget) Creature not found

[13/08/2012 20:40:54] [Error - Spell Interface]

[13/08/2012 20:40:54] In a timer event called from:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:54] Description:

[13/08/2012 20:40:54] (luaGetThingPosition) Thing not found

[13/08/2012 20:40:54] [Error - Spell Interface]

[13/08/2012 20:40:54] In a timer event called from:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:54] Description:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:29: attempt to index a boolean value

[13/08/2012 20:40:54] stack traceback:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:29: in function <data/spells/scripts/lee/Konoha Hariken.lua:27>

[13/08/2012 20:40:54] [Error - Spell Interface]

[13/08/2012 20:40:54] In a timer event called from:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:54] Description:

[13/08/2012 20:40:54] (luaGetCreatureTarget) Creature not found

[13/08/2012 20:40:54] [Error - Spell Interface]

[13/08/2012 20:40:54] In a timer event called from:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:54] Description:

[13/08/2012 20:40:54] (luaGetThingPosition) Thing not found

[13/08/2012 20:40:54] [Error - Spell Interface]

[13/08/2012 20:40:54] In a timer event called from:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:54] Description:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:36: attempt to index a boolean value

[13/08/2012 20:40:54] stack traceback:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:36: in function <data/spells/scripts/lee/Konoha Hariken.lua:34>

[13/08/2012 20:40:54] [Error - Spell Interface]

[13/08/2012 20:40:54] In a timer event called from:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:54] Description:

[13/08/2012 20:40:54] (luaGetCreatureTarget) Creature not found

[13/08/2012 20:40:54] [Error - Spell Interface]

[13/08/2012 20:40:54] In a timer event called from:

[13/08/2012 20:40:54] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:55] Description:

[13/08/2012 20:40:55] (luaGetThingPosition) Thing not found

[13/08/2012 20:40:55] [Error - Spell Interface]

[13/08/2012 20:40:55] In a timer event called from:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:55] Description:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:43: attempt to index a boolean value

[13/08/2012 20:40:55] stack traceback:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:43: in function <data/spells/scripts/lee/Konoha Hariken.lua:41>

[13/08/2012 20:40:55] [Error - Spell Interface]

[13/08/2012 20:40:55] In a timer event called from:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:55] Description:

[13/08/2012 20:40:55] (luaGetCreatureTarget) Creature not found

[13/08/2012 20:40:55] [Error - Spell Interface]

[13/08/2012 20:40:55] In a timer event called from:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:55] Description:

[13/08/2012 20:40:55] (luaGetThingPosition) Thing not found

[13/08/2012 20:40:55] [Error - Spell Interface]

[13/08/2012 20:40:55] In a timer event called from:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:55] Description:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:50: attempt to index a boolean value

[13/08/2012 20:40:55] stack traceback:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:50: in function <data/spells/scripts/lee/Konoha Hariken.lua:48>

[13/08/2012 20:40:55] [Error - Spell Interface]

[13/08/2012 20:40:55] In a timer event called from:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:55] Description:

[13/08/2012 20:40:55] (luaGetCreatureTarget) Creature not found

[13/08/2012 20:40:55] [Error - Spell Interface]

[13/08/2012 20:40:55] In a timer event called from:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:55] Description:

[13/08/2012 20:40:55] (luaGetThingPosition) Thing not found

[13/08/2012 20:40:55] [Error - Spell Interface]

[13/08/2012 20:40:55] In a timer event called from:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:onCastSpell

[13/08/2012 20:40:55] Description:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:57: attempt to index a boolean value

[13/08/2012 20:40:55] stack traceback:

[13/08/2012 20:40:55] data/spells/scripts/lee/Konoha Hariken.lua:57: in function <data/spells/scripts/lee/Konoha Hariken.lua:55>

 

 

  • 0

Aqui a Tag:

 

</instant>

<instant name="Konoha Hariken!" words="Konoha Hariken" lvl="200" mana="4000" prem="0" range="1" needtarget="1" blockwalls="1" exhaustion="4000" needlearn="0" event="script" value="lee/Konoha Hariken.lua">

 

<vocation id="31"/>

<vocation id="32"/>

<vocation id="33"/>

<vocation id="34"/>

<vocation id="35"/>

<vocation id="36"/>

<vocation id="37"/>

<vocation id="38"/>

<vocation id="39"/>

<vocation id="40"/>

 

 

 

sim precisa, mais o range de é de 1 colado no alvo.

  • 0

Arrumei sua spell, só que coloquei positions de mais, chegou a dar uma gastura aqui, mas já que foi o único modo que eu achei de arrumar, né, vamos lá.

 

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.2, 0, -1.3, 0)

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1.2, 0, -1.3, 0)

local combat3 = createCombatObject()

setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -1.2, 0, -1.3, 0)

 

local function onCastSpell2(parameters)

doCombat(parameters.cid, parameters.combat1, parameters.var)

end

 

local function onCastSpell3(parameters)

doCombat(parameters.cid, parameters.combat2, parameters.var)

end

 

local function onCastSpell4(parameters)

doCombat(parameters.cid, parameters.combat3, parameters.var)

end

 

function onCastSpell(cid, var)

local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3 }

doCreatureSay(cid, "Konoha Hariken!", TALKTYPE_MONSTER)

local target = getCreatureTarget(cid)

local position = {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z}

local position2 = {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z}

local position3 = {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z}

local position4 = {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z}

local position5 = {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z}

local position6 = {x=getCreaturePosition(target).x+2, y=getCreaturePosition(target).y, z=getCreaturePosition(target).z}

addEvent(doSendMagicEffect, 0, position, 39)

addEvent(doSendMagicEffect, 300, position2, 72)

addEvent(doSendMagicEffect, 600, position3, 72)

addEvent(doSendMagicEffect, 900, position4, 72)

addEvent(doSendMagicEffect, 1200, position5, 72)

addEvent(doSendMagicEffect, 1500, position6, 51)

addEvent(onCastSpell2, 0, parameters)

addEvent(onCastSpell3, 300, parameters)

addEvent(onCastSpell3, 600, parameters)

addEvent(onCastSpell3, 900, parameters)

addEvent(onCastSpell3, 1200, parameters)

addEvent(onCastSpell4, 1500, parameters)

end

 

  • 0

Mano tu és de outro Praneta uheuhe funfou de boa aqui, agora ve essa skill ai é de trap com dano saca, so que tipo o item que ela cria no caso uma pedra não some.

 

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 75)

setCombatParam(combat1, COMBAT_PARAM_CREATEITEM, 2718)

local combat2 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 140)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.0, 0, -5.5, 0)

 

local arr1 = {

{0, 0, 0, 0, 0, 0, 0},

{0, 0, 1, 1, 1, 0, 0},

{0, 0, 1, 1, 1, 0, 0},

{0, 0, 1, 1, 1, 0, 0},

{0, 0, 1, 1, 1, 0, 0},

{0, 0, 0, 1, 0, 0, 0},

{0, 0, 0, 2, 0, 0, 0}

}

local arr2 = {

{0, 0, 0, 0, 0, 0, 0},

{0, 0, 1, 1, 1, 0, 0},

{0, 0, 1, 1, 1, 0, 0},

{0, 0, 1, 1, 1, 0, 0},

{0, 0, 1, 1, 1, 0, 0},

{0, 0, 0, 1, 0, 0, 0},

{0, 0, 0, 2, 0, 0, 0}

}

 

local area1 = createCombatArea(arr1)

local area2 = createCombatArea(arr2)

 

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

 

local function onCastSpell1(parameters)

doCombat(parameters.cid, parameters.combat1, parameters.var)

end

local function onCastSpell2(parameters)

doCombat(parameters.cid, parameters.combat2, parameters.var)

end

function onCastSpell(cid, var)

local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2 }

addEvent(onCastSpell1, 100, parameters)

addEvent(onCastSpell1, 100, parameters)

end

 

 

  • 0

Procure o ID do item em items.xml e adicione essas linhas nele:

 

<attribute key="decayTo" value="0"/>
<attribute key="duration" value="20"/>

 

Exemplo de como ficaria:

 

 

<item id="1498" article="a" name="magic wall">

<attribute key="type" value="magicfield"/>

<attribute key="decayTo" value="0"/>

<attribute key="duration" value="20"/>

</item>

 

  • 0

Maninho add um local position aqui pra o effect 132

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, 132)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)

function onCastSpell(cid, var)

doSendMagicEffect(getThingPosition(cid), 78)

return doCombat(cid, combat, var)

end

 

  • 0

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)

 

function onCastSpell(cid, var)

local target = getCreatureTarget(cid)

local position = {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z}

doSendMagicEffect(position, 132)

doSendMagicEffect(getThingPosition(cid), 78)

return doCombat(cid, combat, var)

end

 

 

Tá aqui. Só vou te pedir uma coisinha. Quando pedir um script com position, especifique se o efeito é no player ou no target, por favor.

  • 0

Aeee funfou perfeitamente vlw, malz or não ter dito se era no player ou no traget proxima vez eu digo.

 

Mais mano da um look nessa spell que add effect na Vocation

 

efeitos = {

[62] = 75,

[63] = 75,

[72] = 75,

[73] = 75,

[74] = 75,

[75] = 75,

[76] = 75,

[77] = 75,

[78] = 13,

[79] = 75,

[80] = 75,

[81] = 13

}

function onLogin(cid)

for voc, efec in pairs(efeitos) do

if voc == getPlayerVocation(cid) then

doEffect(cid)

break

end

end

return TRUE

end

function doEffect(cid)

local delay = 1

if isCreature(cid) == TRUE then

doSendMagicEffect(getCreaturePosition(cid), efeitos[getPlayerVocation(cid)])

addEvent(doEffect, delay*500, cid)

end

return TRUE

end

 

 

 

Vamos ao pobrema, tipo saca a vocation 81 nela sai o effect 136 certo? ja na vocation 80 sai o effect 75(que no caso é o branco ou seja fica normal sem nenhum effect.

só que quando vou ver la no serve, a vocation 80 tambem fica com o effect 13, o que pode ser?

  • 0

Bom, na falta de ideias melhores, fiz uma coisa meio boba aqui. Vê se resolve.

 

 

efeitos = {

[62] = 75,

[63] = 75,

[72] = 75,

[73] = 75,

[74] = 75,

[75] = 75,

[76] = 75,

[77] = 75,

[79] = 75,

[80] = 75,

[78] = 13,

[81] = 13

}

 

function onLogin(cid)

for voc, efec in pairs(efeitos) do

if voc == getPlayerVocation(cid) then

doEffect(cid)

break

end

end

return TRUE

end

function doEffect(cid)

local delay = 1

if isCreature(cid) == TRUE then

doSendMagicEffect(getCreaturePosition(cid), efeitos[getPlayerVocation(cid)])

addEvent(doEffect, delay*500, cid)

end

return TRUE

end

 

  • 0

LuckOake, para que um for com pairs percorrendo toda uma tabela, se você pode simplesmente acessar diretamente o index que você quer? Veja abaixo:

 


local efeitos = {
   [62] = 75,
   [63] = 75,
   [72] = 75,
   [73] = 75,
   [74] = 75,
   [75] = 75,
   [76] = 75,
   [77] = 75,
   [79] = 75,
   [80] = 75,
   [78] = 13,
   [81] = 13
}

function castEffect(cid, effect)
   if isCreature(cid) then
       doSendMagicEffect(getThingPosition(cid), effect)
       addEvent(castEffect, 1 * 1000, cid, effect)
   end
end

function onLogin(cid)
   if not efeitos[getPlayerVocation(cid)] then
       return true
   end

   castEffect(cid, efeitos[getPlayerVocation(cid)])
   return true
end

×
×
  • Criar Novo...