Ir para conteúdo
  • 0

Spell Complicada Cima, Baixo, Direita, Esquerda


IsaqueTeixeira

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
Compartilhar em outros sites

Posts Recomendados

  • 0

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)

setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)

setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

 

function onGetFormulaValues(cid, level, maglevel)

min = (level * 0.28 + maglevel * 1.48) * 1.4

max = (level * 0.34 + maglevel * 2.34) * 1.4

return min, max

end

 

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

function onCastSpell(cid, var)

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

doSendMagicEffect(position, 73)

return doCombat(cid, combat, var)

end

 

 

Tó. Testei e funcionou. O erro da spell é que a formula tava rancando vida, e não curando.

Link para o comentário
Compartilhar em outros sites

  • 0

 

function onCastSpell(cid, var)

local max_sqm = 3 -- maximo de sqm que vai empurrar o player

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

pos.stackpos = 253

if (isPlayer(getThingFromPos(pos).uid)) then

doTeleportThing(getThingFromPos(pos).uid, getClosestFreeTile(getThingFromPos(pos).uid, (getPosByDir(getCreaturePosition(cid), getCreatureLookDirection(cid), max_sqm))))

doSendMagicEffect(pos,10)

end

return FALSE

end

 

Tó (vinheta do Luck uheheue)

Ai mano essa spell ai é de empurrar apenas, porem ela não empurra nada.

PS: não da erro no distro.

Link para o comentário
Compartilhar em outros sites

  • 0

Tag

 

<instant name="Fuuton Pusshu!" words="fuuton pusshu" lvl="100" mana="8000" prem="0" casterTargetOrDirection="1" range="1" blockwalls="1" exhaustion="2000" needlearn="0" event="script" value="temari/Fuuton Pusshu.lua">

</instant>

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

@Juan500

Meu serve não é o legend, eu mudei pra um 8.54 normal so que com meu cliente, ai fiquei com um server livre de bugs

 

@LuckOake

Ainda assim não pegou não sei por que, também não da nenhum erro, eu quero que ela empurre 10 sqm's mais sem tirar dano.

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, 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] = numero,

[1] = numero,

[2] = numero,

[3] = numero

}

pos = x[getCreatureLookDirection(cid)]

eff = y[getCreatureLookDirection(cid)]

doSendMagicEffect(pos, eff)

doCombat(cid, combat1, var)

end

 

 

That's it. Só ajustar as positions aqui:

 

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}
}

 

E o número dos efeitos aqui:

 

local y = {
[0] = numero,
[1] = numero,
[2] = numero,
[3] = numero
}

 

Onde os 0, 1, 2 e 3, como já dito, são os Look Dir.

 

nao entendi essa parte....

 

[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}

 

to precisando dessa spell tbm soque como edita a poscição por ae?

Link para o comentário
Compartilhar em outros sites

  • 0

[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}

 

isso é pra arrumar a posição do effect

o X coloca o effect pra esquerda ou direita

o Y coloca pra cima ou para baixo

 

Tipo meu effect está la em cima pra colocar em baixo você coloca y+1 a cada 1 que você colocar o effect vai 1 sqm abaixo, se colocar -1 ele ira pra cima.

Link para o comentário
Compartilhar em outros sites

  • 0

tipo assim a spell quue eu quero e quase igual a tua

 

quero:

 

esquerdat.png

 

 

que pegue o efeito apenas no sqm da frente soque quero q o hit va mais distante q nem na image

 

soque cada lado tem q ter 1 efeito sera q vc n consegue configura pra mim?

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, -5.0, 0, -5.5, 0)

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.0, 0, -5.5, 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},

}

arr2 = {

{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)

local area2 = createCombatArea(arr2)

setCombatArea(combat2, area2)

function onCastSpell(cid, var)

local p = getCreaturePosition(cid)

local x = {

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

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

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

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

}

local y = {

[0] = 98,

[1] = 96,

[2] = 99,

[3] = 97,

}

pos = x[getCreatureLookDirection(cid)]

eff = y[getCreatureLookDirection(cid)]

doSendMagicEffect(pos, eff)

doCombat(cid, combat1, var)

doCombat(cid, combat2, var)

doCreatureSay(cid, "Katon Gokakyu no Jutsu", TALKTYPE_MONSTER)

end

 

 

arr2 = {

{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},

Aqui é a area onde o dano vai pegar

 

[0] = 98, effect para Cima

[1] = 96, effect para Esquerda

[2] = 99, effect para Baixo

[3] = 97, effect para Direita

Link para o comentário
Compartilhar em outros sites

  • 0

Desse jeito ai só vai sair um efeito, porém dependendo do lado em que o player vire ira modificar o mesmo.

 

Para ir mais distante faça o seguinte:

 

arr1 = {

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

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

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

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

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

{0, 0, 0, 1, 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},

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

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

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

}

 

Você põe 1 para ativar o efeito e o hit e 0 para anular.

 

Porém ele fez algumas alterações:

 

Entenda um pouco de script:

 

eff = y[getCreatureLookDirection(cid)]

 

Ele igualou "eff" a y[getCreatureLookDirection(cid)]

 

Depois ele disse que y =

 

local y = {

[0] = 4,

[1] = 5,

[2] = 6,

[3] = 7,

}

 

Depois ele disse oque cada numero representa:

 

local x = {

[0] = {x=p.x, y=p.y-1, z=p.z}, --- Olhar para o norte

[1] = {x=p.x+1, y=p.y, z=p.z}, --- Olhar para o leste

[2] = {x=p.x, y=p.y+1, z=p.z}, --- Olhar para o sul

[3] = {x=p.x-1, y=p.y, z=p.z} --- Olhar para a esquerda

}

 

Ou seja o numero representa o efeito mediante onde o player estiver olhando.

 

Então você edita aqui:

 

local y = {

[0] = 4, --- Quando olhar ao norte

[1] = 5, --- Quando olhar ao leste

[2] = 6, --- Quando olhar ao sul

[3] = 7, --- Quando olhar á esqueda

}

 

-Verde = Numero do efeito mediante a posição em que o player olha.

 

E aqui você edita a areá:

 

{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},

}

 

Areá azul vai sair na direção em que o player está olhando.

Areá laranja vai sair nas costas para onde o player está olhando.

 

 

{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},

}

 

Areá em roxo vai sair a esquerda de onde o player está olhando.

Areá em verde vai sair na direita de onde o player está olhando.

 

1 Para ativar efeito e hit, 0 para desativar.

 

2 = Centralização do player.

 

3 para ativar efeito e hit embaixo do player e determina sua posição.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...