Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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á:

Att,

Skyligh

Entrada Como Membro 14 / 08 / 2012

Entrada Como Suporte 05 / 12 / 2012

Saída Como Suporte 06 / 01 / 2013

sem_ta28.png

Contato : [email protected] / [email protected]

Link para o post
Compartilhar em outros sites

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'

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo