Ir para conteúdo
  • 0

Uma Script magia


TiagoQueiroz

Pergunta

Bom dia,

 

Gostaria de uma Script de magia, estilo Exori hur.

 

Mais que o nome fosse Star Flame Hur, no qual o dano inicial dela seria 550

 

teria 5 turnos de dano ainda com 150.

 

Obs: o delay desta magia seria de 02 minutos.

Obs: O dano dela seria por Distance

 

Versão: 9.83

 

desde já agradeço

 

Atenciosamente.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Bom, utilizei o Spell Creator para fazer este, vá em data/spells/scripts, crie um arquivo chamado flame_hur.lua e adicione dentro:

 

 


local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{1, 3, 1},
{1, 1, 1},
{1, 1, 1}}))
function getDmg_Brush(cid, level, maglevel)
return (550)*-1,(2500)*-1
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat0_Brush = {CONST_ANI_REDSTAR,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,0,0}

-- Areas/Combat for 200ms
local combat2_Brush = createCombatObject()
setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat2_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat2_Brush,createCombatArea({{1, 0, 0, 0, 1},
{0, 1, 3, 1, 0},
{0, 1, 1, 1, 0},
{0, 1, 1, 1, 0},
{1, 0, 0, 0, 1}}))
function getDmg_Brush(cid, level, maglevel)
return (550)*-1,(2500)*-1
end
setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat2_Brush = {CONST_ANI_REDSTAR,-2,2,2,2,2,-2,-2,-2,1,-1,0,-1,-1,-1,-1,0,0,0,1,0,1,1,0,1,-1,1}

-- Areas/Combat for 400ms
local combat4_Brush = createCombatObject()
setCombatParam(combat4_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat4_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatParam(combat4_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat4_Brush,createCombatArea({{0, 0, 1, 0, 0},
{0, 1, 3, 1, 0},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
{0, 0, 1, 0, 0}}))
function getDmg_Brush(cid, level, maglevel)
return (550)*-1,(2500)*-1
end
setCombatCallback(combat4_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat4_Brush = {CONST_ANI_REDSTAR,0,2,0,-2,-2,0,2,0,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,0,0,1,0,1,-1}

-- Areas/Combat for 700ms
local combat7_Brush = createCombatObject()
setCombatParam(combat7_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat7_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatParam(combat7_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat7_Brush,createCombatArea({{1, 3, 1},
{1, 1, 1},
{1, 1, 1}}))
function getDmg_Brush(cid, level, maglevel)
return (550)*-1,(2500)*-1
end
setCombatCallback(combat7_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat7_Brush = {CONST_ANI_REDSTAR,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,0,0}

-- Areas/Combat for 1000ms
local combat10_Brush = createCombatObject()
setCombatParam(combat10_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(combat10_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_BURSTARROW)
setCombatParam(combat10_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat10_Brush,createCombatArea({{0, 0, 1, 0, 0},
{0, 1, 3, 1, 0},
{1, 1, 1, 1, 1},
{0, 1, 1, 1, 0},
{0, 0, 1, 0, 0}}))
function getDmg_Brush(cid, level, maglevel)
return (550)*-1,(2500)*-1
end
setCombatCallback(combat10_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")
local dfcombat10_Brush = {CONST_ANI_REDSTAR,0,2,0,1,0,0,0,-1,0,-2,-1,-1,-1,0,-2,0,-1,1,1,1,1,0,1,-1,2,0}

-- =============== CORE FUNCTIONS ===============
local function RunPart(c,cid,var,dirList,dirEmitPos,startDir) -- Part
if (isCreature(cid)) then
doCombat(cid, c, var)
if (dirList ~= nil) then -- Emit distance effects
local i = 2;
while (i < #dirList) do
if (startDir == 0) then -- N
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
elseif (startDir == 2) then -- S
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i],y=dirEmitPos.y+dirList[i+1],z=dirEmitPos.z},dirList[1])
elseif (startDir == 1) then -- E
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i+1],y=dirEmitPos.y+dirList[i],z=dirEmitPos.z},dirList[1])
else -- W / Something weird happened
doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i+1],y=dirEmitPos.y-dirList[i],z=dirEmitPos.z},dirList[1])
end
i = i + 2
end
end
end
end

function onCastSpell(cid, var)
local startPos = getCreaturePosition(cid)
local startDir = getCreatureLookDirection(cid)
RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos,startDir)
addEvent(RunPart,200,combat2_Brush,cid,var,dfcombat2_Brush,startPos,startDir)
addEvent(RunPart,400,combat4_Brush,cid,var,dfcombat4_Brush,startPos,startDir)
addEvent(RunPart,700,combat7_Brush,cid,var,dfcombat7_Brush,startPos,startDir)
addEvent(RunPart,1000,combat10_Brush,cid,var,dfcombat10_Brush,startPos,startDir)
return true
end

 

 

Em spells.xml adicione essa tag:

 

<instant name="Flame Striker" words="start flame hur" lvl="50" maglv="3" mana="215" exhaustion="120000" prem="1" needlearn="0" casterTargetOrDirection="1" blockwalls="0" aggressive="1" event="script" value="flame_hur.lua">
<vocation id="3"/>
<vocation id="4"/>
<vocation id="7"/>
<vocation id="8"/>
</instant>

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

  • 0

Quando um usuário te ajudar, ou você gostar de algum comentário/tópico. No post dele, clique no botão verde do lado direito >

Mas não é obrigatório, apenas se quiser, o REP+ é teu :)

 

Caso encontre alguém exigindo REP+, reporte imediatamente á Moderação, obrigado.

Tópico movido!

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

×
×
  • Criar Novo...