Ir para conteúdo
  • 0

Duvida Spells


nickissonlobo

Pergunta

Quero Uma Spell que eu saia um efeito só, e que eu possa escolher onde esse efeito vai sair

Ela será de area que vai sair o efeito em quem solta, mas quero que o efeito vá para a direita

Porque se não fica estranho a spell, segue uma print abaixo :

 

post-338139-0-83483800-1347803752_thumb.png

 

tem um script que chega ela para o lado que eu quiser, mais ele leva junto o dano da magia.

 

rep++ para quem ajudar ;d

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Na spell, retire a linha com isso:

 

setCombatParam(combat, COMBAT_PARAM_EFFECT

 

E abaixo de onCastSpell, coloque:

local eff = 66 -- ID do efeito
local position = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
doSendMagicEffect(position, eff)

 

E ai vai só editando aqui conforme for necessário o ajuste:

 

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

 

Repare que está getCreaturePosition(cid).x+1, o que significa que o efeito sairá 1 sqm pra direita do player, corrigindo a falha.

 

Aproveitando, tópico movido.

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

  • 0

Tó:

 

 

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 * 2 + maglevel * 3) * 0.5 - 30
max = (level * 2 + maglevel * 3) * 0.6

if min < 25 then
min = 25
end

return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
local eff = 12 -- Efeito
local position = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
doSendMagicEffect(position, eff)
return doCombat(cid, combat, var)
end

 

 

Peguei de exemplo a spell exura.

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

  • 0

Com target é só fazer assim:

 

local eff = 12 -- Efeito
local target = getCreatureTarget(cid)
local position = {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y, z=getCreaturePosition(target).z}
doSendMagicEffect(position, eff)

 

Se você quiser vários efeitos, só fazer igual tá ai em cima ajustando de acordo com sua vontade.

Link para o comentário
Compartilhar em outros sites

  • 0

ou usar tabela tb ^^

 

local target = getCreatureTarget(cid)
local effs = {
{11, {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y, z=getCreaturePosition(target).z} },
{21, {x=getCreaturePosition(target).x, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z} },
{31, {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y, z=getCreaturePosition(target).z} },
{41, {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z} },
}

for i = 1, #effs do
doSendMagicEffect(effs[i][2], effs[i][1])
end

 

no caso 11 21 31 41 sao os effeitos e o resto as posiçoes aonde eles vao sair...

Link para o comentário
Compartilhar em outros sites

  • 0

se for usar tabela..

local target = getCreatureTarget(cid)
local effs = {
{11, {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y, z=getCreaturePosition(target).z} },
{21, {x=getCreaturePosition(target).x, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z} },
{31, {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y, z=getCreaturePosition(target).z} },
{41, {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y+1, z=getCreaturePosition(target).z} },
}
local tempo = 200 --200 milesimos

for i = 1, #effs do
addEvent(doSendMagicEffect, i*tempo, effs[i][2], effs[i][1])
end

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

  • 0
local eff = 12 -- Efeito
local target = getCreatureTarget(cid)
local position = {x=getCreaturePosition(target).x+1, y=getCreaturePosition(target).y, z=getCreaturePosition(target).z}
addEvent(doSendMagicEffect, 200, position, eff)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...