Ir para conteúdo
  • 0

Usando Effect "CONST_ANI_REDSTAR" como Magia de ataque


Teigor

Pergunta

Boa noite galera,

 

gostaria que alguem me ajuda-se a fazer uma magia utilizando o efeito "CONST_ANI_REDSTAR" como uma spell de ataque.

Eu tentei fazer desse jeito, porem quando testo a magia entra o efeito " CONST_ME_SOUND_GREEN" ouch.png

 

 

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ANI_REDSTAR)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, -150, -1.6, -150)

 

arr = {

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

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

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

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

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

{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},

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

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

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

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

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

}

 

local area = createCombatArea(arr)

setCombatArea(combat, area)

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

 

toda ajuda e muito util!!!

grato mdr.gif

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Testa ai:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 18)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, -150, -1.6, -150)

arr = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

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

  • 0

Agora vai :)

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 18)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, -150, -1.6, -150)

arr = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

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

  • 0

Bem, eu coloquei o que vc feze nao pegou... porem eu peguei e fiz isso:

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_REDSTAR)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, -150, -1.6, -150)

 

arr = {

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

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

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

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

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

{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},

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

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

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

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

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

}

 

local area = createCombatArea(arr)

setCombatArea(combat, area)

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

 

e olha so o que ele faz agora: sai apenas de uma unica direção

post-368191-0-24543000-1367726200_thumb.jpg

Link para o comentário
Compartilhar em outros sites

  • 0
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_REDSTAR)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -2.0, -150, -1.6, -150)

arr = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

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

  • 0

Cara,Ve Se É Isso Que Você Quer.

 

 

 

local combat = createCombatObject()
local combat2 = createCombatObject()
local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 18)
local combat2 = createCombatObject()
setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -7.3, -200, -7.5, -200)
local stun = createConditionObject(CONDITION_PARALYZE)
setConditionParam(stun, CONDITION_PARAM_TICKS, 1000)
setConditionFormula(stun, -0.0, 0, -0.0, 0)
setCombatCondition(combat1, stun)
local meteor_water = createCombatObject()
setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(meteor_water, COMBAT_FORMULA_LEVELMAGIC, -9.3, -200, -9.5, -200)
arr = {
{0, 0, 0, 0, 1, 0, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 2, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 0, 1, 0, 0, 0, 0}
}
local combat_area = createCombatArea(arr)
setCombatArea(combat, combat_area)
local function meteorCast(p)
doCombat(p.cid, p.combat, positionToVariant(p.pos))
end
local function stunEffect(cid)
doSendMagicEffect(getThingPos(cid), 49)
end
function onTargetTile(cid, pos)
if (math.random(0, 0) == 0) then
local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 1})
if (isInArray(water, ground.itemid) == TRUE) then
local newpos = {x = pos.x - 9, y = pos.y - 8, z = pos.z}
addEvent(meteorCast, 100, {cid = cid, pos = pos, combat = meteor_water})
else
local newpos = {x = pos.x - 9, y = pos.y - 8, z = pos.z}
addEvent(meteorCast, 100, {cid = cid,pos = pos, combat = combat2})
end
end
end
function onTargetTile2(cid, pos)
if (math.random(0, 1) == 1) then
local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 1})
if (isInArray(water, ground.itemid) == TRUE) then
local newpos = {x = pos.x - 9, y = pos.y - 8, z = pos.z}
addEvent(meteorCast, 100, {cid = cid, pos = pos, combat = meteor_water})
else
local newpos = {x = pos.x + 9, y = pos.y - 8, z = pos.z}
addEvent(meteorCast, 100, {cid = cid,pos = pos, combat = combat1})
end
end
end
setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")
setCombatCallback(combat2, CALLBACK_PARAM_TARGETTILE, "onTargetTile2")
function onCastSpell(cid, var)
return doCombat(cid, combat, var)
end

 

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

  • 0

Aqui Amigo :

 

 

 

w = {

[1] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[2] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[3] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[4] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[5] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[6] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[7] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE}

}

 

function onUseWeapon(cid, var)

min, max = 300, 300 -- dano minimo e maximo que o player vai rita

target = getCreatureTarget(cid)

if target ~= 0 then

wx = w[math.random(1, #w)]

doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh)

addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, wx.ef)

end

return true

end

 

 

 

Qualquer Coisa Tamos Aqui

 

Ajudei? Rep+

 

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Aqui Amigo :

 

 

 

w = {

[1] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[2] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[3] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[4] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[5] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[6] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE},

[7] = {ef = 18, sh = 18, dmg = COMBAT_PHYSICALDAMAGE}

}

 

function onUseWeapon(cid, var)

min, max = 300, 300 -- dano minimo e maximo que o player vai rita

target = getCreatureTarget(cid)

if target ~= 0 then

wx = w[math.random(1, #w)]

doSendDistanceShoot(getThingPos(cid), getThingPos(target), wx.sh)

addEvent(doAreaCombatHealth, 100, cid, wx.dmg, getThingPos(target), 0, -min, -max, wx.ef)

end

return true

end

 

 

 

Qualquer Coisa Tamos Aqui

 

Ajudei? Rep+

 

Abraços!

 

O cara pediu spell e voce posta script de weapon.

WTF?

Link para o comentário
Compartilhar em outros sites

  • 0

Muito boa essa script Romarinho, era disso que eu estava precisando :D mais agora me esclarece 3 duvidas

 

*a Magia pode atingir um alcance maior?

*eu queria que essa magia deixase os alvos em estado de paralisia durante 3 segundos,consumise 70% da mana e com um cooldown de 20 segundos,o que pode ser feito?

*eu vi que quando essa magia e lançadas os alvos que ficam na frente e dos lados sao atingidos, e as vezes mesmo estando de frente falha

olhe os prints

post-368191-0-01143100-1367891149_thumb.jpg

 

e possivel ver no primeiro print que os alvos sao atingidos porem o da frente nao leva um dano

 

post-368191-0-45514200-1367891451_thumb.jpg

 

no segundo print da pra ver que quando dou as costas pro demon, ele para de levar os danos e o outro começa a levar danos

 

O que eu posso fazer galera

toda ajuda e bem vinda :)

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...