Ir para conteúdo

Featured Replies

Postado

Evil Spirit

Olá, venho trazer esta spell Evil Spirit, que fiz baseada na magia do MuOnline.



-- SPELL EVIL SPIRIT BY: XOTSERVX --


local min, max = 100, 200 -- dano


function isWalkable(pos, creature, proj, pz)-- by Nord

if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end

if getTopCreature(pos).uid > 0 and creature then return false end

if getTileInfo(pos).protection and pz then return false, true end

local n = not proj and 3 or 2

for i = 0, 255 do

pos.stackpos = i

local tile = getTileThingByPos(pos)

if tile.itemid ~= 0 and not isCreature(tile.uid) then

if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then

return false

end

end

end

return true

end


function getPosDirs(p, dir)

return dir == 1 and {x=p.x-1, y=p.y, z=p.z} or dir == 2 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 3 and {x=p.x, y=p.y+1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x+1, y=p.y, z=p.z} or dir == 6 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 7 and {x=p.x, y=p.y-1, z=p.z} or dir == 8 and {x=p.x-1, y=p.y-1, z=p.z}

end


function posIgual(pos1, pos2)

return pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z and true or false

end


effect = 62

distance = 31

damage = COMBAT_DEATHDAMAGE


evilspirit = {

walk = function (cid, min, max, pos, rounds, ultimapos)

if rounds == 0 then return true end

if not isCreature(cid) then return true end

posdisp = {}

for _, dir in pairs({1, 5, 7, 3}) do

if isWalkable(getPosDirs(pos, dir)) and not posIgual(getPosDirs(pos, dir), getThingPos(cid)) and not posIgual(getPosDirs(pos, dir), ultimapos) then

table.insert(posdisp, getPosDirs(pos, dir))

end

end

if #posdisp < 1 then return true end

posesc = posdisp[math.random(1, #posdisp)]

ultimapos = pos

doSendDistanceShoot(pos, posesc, distance)

doAreaCombatHealth(cid, damage, posesc, 0, -min, -max, effect)

addEvent(evilspirit.walk, 140, cid, -min, -max, posesc, rounds - 1, ultimapos)

end

}


function onUse(cid,item,item2,frompos,pos,topos)

evilspirit.walk(cid, 10, 20, getThingPos(cid), 40, {x=1, y=1, z=1})

for i = 1, 13 do

addEvent(evilspirit.walk, i * math.random(300, 500), cid, min, max, getThingPos(cid), 40, {x=1, y=1, z=1})

end

return true

end

créditos

Xotserv

As configurações está no script, vcs montam a tag agora. Ai vai um video paraver como tá:

Postado

Por coincidência eu estava vendo esta postagem agora há poucos minutos, tentei adicionar o Script, porém, estava dando msg de erro no Launcher, sobre onCastSpell not found.

Uma coisa assim...

Da pra postar aí a tag que temos que adicionar ao Script e se é Spells mesmo e tals?

Att,

Adriano Swatt'

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo