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

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)

function onGetFormulaValues(cid, level, maglevel)

min = -level/5 - maglevel*1.8-10

max = -level/5 - maglevel*2.7-20

 

return min, max

end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

arr = {

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

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

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

{0, 0, 3, 0, 0}

}

 

local area = createCombatArea(arr, AREADIAGONAL_WAVE4)

setCombatArea(combat, area)

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

 

 

Vê se funciona. Se não der, avisa.

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

  • 0

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)

function onGetFormulaValues(cid, level, maglevel)

min = -level/5 - maglevel*1.8-10

max = -level/5 - maglevel*2.7-20

 

return min, max

end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

arr = {

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

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

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

{0, 0, 3, 0, 0}

}

 

local area = createCombatArea(arr, AREADIAGONAL_WAVE4)

setCombatArea(combat, area)

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

Creditos by LuckOake

 

------------------------------

 

Editando:

 

Numero 1 = efeito

Numero 0 = sem efeito

Numero 3 = efeito embaixo do player

Numero 2 (pode ser substituído pelo 3) = sem efeito no player (determina o centro da magia, onde o player se localiza)

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

  • 0

Aqui ó, consegui.

 

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)

function onGetFormulaValues(cid, level, maglevel)

min = -level/5 - maglevel*1.8-10

max = -level/5 - maglevel*2.7-20

 

return min, max

end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)

function onGetFormulaValues(cid, level, maglevel)

min = -level/5 - maglevel*1.8-10

max = -level/5 - maglevel*2.7-20

 

return min, max

end

setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

arr = {

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

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

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

{0, 0, 3, 0, 0}

}

 

arr2 = {

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

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

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

{0, 0, 3, 0, 0}

}

 

local area = createCombatArea(arr)

setCombatArea(combat, area)

 

local area2 = createCombatArea(arr2)

setCombatArea(combat2, area2)

 

function onCastSpell(cid, var)

doCombat(cid, combat, var)

doCombat(cid, combat2, var)

return true

end

 

Link para o comentário
Compartilhar em outros sites

  • 0
local MagicEffect = 10 -- TROQUE O MAGIC EFFECT
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
function onGetFormulaValues(cid, level, maglevel)
 min = -level/5 - maglevel*1.8-10
 max = -level/5 - maglevel*2.7-20
return min, max
end
setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
local eskylo = {
{1,1,1},
{1,1,1},
{0,3,0},
}
local area = createCombatArea(eskylo, AREADIAGONAL_WAVE4)
setCombatArea(combat, area)
function getNextPos(p, d)
local t = {{x=p.x,y=p.y-1,z=p.z},{x=p.x+1,y=p.y,z=p.z},{x=p.x,y=p.y+1,z=p.z},{x=p.x-1,y=p.y,z=p.z}}
return t[d+1]
end
function onCastSpell(cid, var)
doSendMagicEffect(getNextPos(getCreaturePosition(cid), getCreatureLookDirection(cid)), MagicEffect)
return doCombat(cid, combat, var)
end

Link para o comentário
Compartilhar em outros sites

  • 0

arrumei a spell que eu quero:

local combat1 = createCombatObject()

setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat1, COMBAT_PARAM_EFFECT, 43)

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

local combat2 = createCombatObject()

setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat2, COMBAT_PARAM_EFFECT, 43)

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

local combat3 = createCombatObject()

setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat3, COMBAT_PARAM_EFFECT, 43)

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

local combat4 = createCombatObject()

setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat4, COMBAT_PARAM_EFFECT, 43)

setCombatFormula(combat4, 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},

}

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

}

arr3 = {

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

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

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

}

arr4 = {

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

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

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

local area2 = createCombatArea(arr2)

local area3 = createCombatArea(arr3)

local area4 = createCombatArea(arr4)

setCombatArea(combat1, area1)

setCombatArea(combat2, area2)

setCombatArea(combat3, area3)

setCombatArea(combat4, area4)

 

function onCastSpell(cid, var)

local dir = getPlayerLookDir(cid)

if dir == NORTH then

doCombat(cid, combat2, var)

elseif dir == SOUTH then

doCombat(cid, combat1, var)

elseif dir == EAST then

doCombat(cid, combat4, var)

elseif dir == WEST then

doCombat(cid, combat3, var)

 

end

 

 

SÓ que tipo quero adicionar isso a ela, por que os effects estão meio que fora do lugar certo.

 

 

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

 

 

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}

}

pos = x[getCreatureLookDirection(cid)]

doSendMagicEffect(pos, numero)

doCombat(cid, combat1, var)

end

 

 

Só alterar 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 aqui:

 

doSendMagicEffect(pos, numero) --> Mude o número.

 

0, 1, 2 e 3 são o Look Dir.

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

  • 0

Testando jaja edito.

 

EDIT

 

@LuckOake

 

Então tipo não tem como colocar nesse scrip que você me passou, alguma coisa pra escolhe o effect pra cada lado, por que ai ia ficar certinho como eu queria.

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

×
×
  • Criar Novo...