Ir para conteúdo
  • 0

[PEDIDO]Script de Spell


Skailord

Pergunta

Ola galera do xtibia, venho pedir a vocês uma script de uma spell que cada vez q vc vira pra um lado ela vira tambem, se não entenderam eu explico mais.Quem me ajudar dou rep por 2 semanas.

 

imagem mais ou menos como é:post-362028-0-48619400-1356718354_thumb.jpg

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0
local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -2.9, 0, -2.9, 0)

 

arr1 = {

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

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

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

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

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

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

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

}

 

local area1 = createCombatArea(arr1)

setCombatArea(combat1, area1)

 

function onCastSpell(cid, var)

local p = getCreaturePosition(cid)

local x = {

[0] = {x=p.x, y=p.y-1, z=p.z},

[1] = {x=p.x+1, y=p.y, z=p.z},

[2] = {x=p.x, y=p.y+1, z=p.z},

[3] = {x=p.x-1, y=p.y, z=p.z}

}

local y = {

[0] = x,

[1] = x,

[2] = x,

[3] = x

}

pos = x[getCreatureLookDirection(cid)]

eff = y[getCreatureLookDirection(cid)]

doSendMagicEffect(pos, eff)

doCombat(cid, combat1, var)

end

 

nesse local fica os efeitos, é só você configurar da forma que quer

substitua o "X" pelo numero do efeito mas só o do local a baixo, depois não mecha em mais nada

local y = {

[0] = x,

[1] = x,

[2] = x,

[3] = x

}

 

se ajudei REP+

Editado por craigmabbit
Link para o comentário
Compartilhar em outros sites

  • 0
local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -2.9, 0, -2.9, 0)

 

arr1 = {

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

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

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

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

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

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

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

}

 

local area1 = createCombatArea(arr1)

setCombatArea(combat1, area1)

 

function onCastSpell(cid, var)

local p = getCreaturePosition(cid)

local x = {

[0] = {x=p.x, y=p.y-1, z=p.z},

[1] = {x=p.x+1, y=p.y, z=p.z},

[2] = {x=p.x, y=p.y+1, z=p.z},

[3] = {x=p.x-1, y=p.y, z=p.z}

}

local y = {

[0] = x,

[1] = x,

[2] = x,

[3] = x

}

pos = x[getCreatureLookDirection(cid)]

eff = y[getCreatureLookDirection(cid)]

doSendMagicEffect(pos, eff)

doCombat(cid, combat1, var)

end

ta ai rs, lembrando que vc tem que por os effects na ordem né cara se não vai sair errado mesmo

Link para o comentário
Compartilhar em outros sites

  • 0

O cara a spel ta descentralizada nesse centido:
arr1 = {

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

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

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

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

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

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

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

}

3: player

1:onde o efeito sai

fogão.bmp

Editado por Skailord
Link para o comentário
Compartilhar em outros sites

  • 0

nossa cara não é possivel que vc não sabe arrumar uma linha, bom manda a sua tag que ta dessa spell no spell.xml

ou veja se tem direction="1" , se não tiver; adicione e pfvr, tenha uma noção basica né

Editado por craigmabbit
Link para o comentário
Compartilhar em outros sites

  • 0

Eu já fiz isso mas não da certo

 

A tag é essa: <instant name="Katon Dragon!" words="katon dragon no jutsu" lvl="85" mana="720" prem="0" direction="1" range="3" blockwalls="1" exhaustion="1500" needlearn="0" event="script" value="sasuke/katond.lua">

Link para o comentário
Compartilhar em outros sites

  • 0

aqui funcionou direitinho o problema é com seu effect, tenta arrumar area tipo

 

arr1 = {

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

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

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

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

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

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

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

}

 

deixa assim

Link para o comentário
Compartilhar em outros sites

  • 0

O mais correto a fazer, é no caso, criar uma magia de efeito invisível e mandar o efeito, corrigindo sua posição, por exemplo, neste gokakyu no jutsu que fiz com base em um cliente de Narutibia.

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 255)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, 0, -1, 0)

local area = createCombatArea({
   {1, 1, 1},
   {1, 1, 1},
   {1, 1, 1},
   {0, 2, 0}
})
setCombatArea(combat, area)

function onCastSpell(cid, var)
   local effects = {
       [0] = 98, 
       [1] = 96, 
       [2] = 99, 
       [3] = 97
   }

   local position = getPosByDir(getCreaturePosition(cid), getCreatureLookDirection(cid), 1)

   position.x = position.x + (position.x == getThingPosition(cid).x and 2 or (position.x > getThingPosition(cid).x and 3 or 0))
   position.y = position.y + (position.y == getThingPosition(cid).y and 1 or (position.y > getThingPosition(cid).y and 3 or 0))

   doSendMagicEffect(position, effects[getCreatureLookDirection(cid)])
   return doCombat(cid, combat, var)
end

 

Abraços

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...