Ir para conteúdo

Chuva De Labirinto Que Varia Sqm


leoe

Posts Recomendados

Olá

a magia que irei postar eh uma chuva que quando acertada ao chão cria walls,basicamente eh para trapar o player,mas varia os lugar que cairam as walls

entao vai em data/spells/script copie um arquivo e cole(renomeie o nome q quiser)

 

local water = {490, 491, 492, 493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625}

 

local combat = createCombatObject()

 

local meteor = createCombatObject()

setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(meteor, COMBAT_PARAM_EFFECT, 52)

setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -90, -90, -90, -90)

setCombatParam(meteor, COMBAT_PARAM_CREATEITEM, 1497)

 

local stun = createConditionObject(CONDITION_PARALYZE)

setConditionParam(stun, CONDITION_PARAM_TICKS, 5000)

setConditionFormula(stun, -0.8, 0, -0.9, 0)

setCombatCondition(meteor, stun)

 

local meteor_water = createCombatObject()

setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, 52)

setCombatFormula(meteor_water, COMBAT_FORMULA_LEVELMAGIC, -70, -70, -70, -70)

 

combat_arr = {

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

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

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

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

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

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

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

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

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

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

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

}

 

local combat_area = createCombatArea(combat_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), CONST_ME_STUN)

end

 

function onTargetTile(cid, pos)

if (math.random(0, 1) == 1) then

local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})

if (isInArray(water, ground.itemid) == TRUE) then

local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_SHIVERARROW)

addEvent(meteorCast, 200, {cid = cid, pos = pos, combat = meteor_water})

else

local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}

doSendDistanceShoot(newpos, pos, CONST_ANI_SHIVERARROW)

addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})

end

end

end

 

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

 

function onCastSpell(cid, var)

return doCombat(cid, combat, var)

end

 

 

Depois vá em spells.xml e cole essa tag

 

<instant name="Labirinto" words="labirinto" lvl="95000" mana="800" prem="1" aggressive="1" selftarget="1" exhaustion="1000" needlearn="0" script="attack/NOME QUE VOCE COLOCOU.lua">

<vocation id="1"/>

<vocation id="2"/>

<vocation id="3"/>

<vocation id="4"/>

</instant>

 

Bom é issu,qualquer duvida ou erro,poste aki

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

×
×
  • Criar Novo...