Ir para conteúdo

[Spell] Ice Penitence


Skymagnum

Posts Recomendados

Olá, trago minha primeira spell

 

Ice Penitence!

 

vá em /data/spells/scripts/attack crie um arquivo e renomeie para IcePen.lua e adicione isso dentro

 

 

function onCastSpell(cid, var)
local pos1 = {x = getPlayerPosition(getCreatureTarget(cid)).x - 2, y = getPlayerPosition(getCreatureTarget(cid)).y , z = getPlayerPosition(getCreatureTarget(cid)).z}
local pos2 = {x = getPlayerPosition(getCreatureTarget(cid)).x + 2, y = getPlayerPosition(getCreatureTarget(cid)).y , z = getPlayerPosition(getCreatureTarget(cid)).z}
local pos3 = {x = getPlayerPosition(cid).x + 2, y = getPlayerPosition(cid).y , z = getPlayerPosition(cid).z}
local pos4 = {x = getPlayerPosition(cid).x + -2, y = getPlayerPosition(cid).y , z = getPlayerPosition(cid).z}
local min, max = 100, 300 -- dano minimo, maximo!
addEvent(doSendDistanceShoot, 1000, pos1, getPlayerPosition(getCreatureTarget(cid)), 28, cid)
addEvent(doSendDistanceShoot, 1000, pos2, getPlayerPosition(getCreatureTarget(cid)), 28, cid)
doSendDistanceShoot(getPlayerPosition(cid), pos3, 28)
doSendDistanceShoot(getPlayerPosition(cid), pos4, 28)
addEvent(doTargetCombatHealth, 1000, cid, getCreatureTarget(cid), 512, - min, - max, 43)
return true
end

 

 

spells.xml

</instant>
<instant name="Ice Desorder" words="ice penitence" lvl="150" mana="400" prem="1" range="5" needtarget="1" blockwalls="1" needweapon="1" exhaustion="1800" needlearn="0" event="script" value="attack/IcePen.lua">
<vocation id="2"/>
<vocation id="6"/>

 

Explicando

 

em local min, max = 100, 300

 

ali é o dano minimo e dano maximo o resto presumo que vocês já sabem

 

 

 

 

 

 

 

 

 

~~ Créditos ~~

 

Eu ou Skyforever(Por quase tudo) -- mesma pessoa

 

 

Vodkart( me ajudou nessa linha)

addEvent(doTargetCombatHealth, 1000, cid, getCreatureTarget(cid), 512, - min, - max, 43)

 

 

 

 

 

 

 

Imagens

 

 

imagie.png

 

 

iamage.png

Link para o comentário
Compartilhar em outros sites

Legal a spell, só precisa de um pequeno ajuste, pois se o alvo do player morrer depois que a spell foi usada, mas antes dos addEvent ocorrerem, vai aparecer 3 mensagens de erros no console dizendo "Creature not found".

 

Isso vai acontecer se o player parar de atacar o monstro também, já que a função utilizada é getCreatureTarget.

 

Uma outra coisa estranha que poderia acontecer seria se o player usasse a magia em um monstro e rapidamente trocasse de alvo, o dano ia pro novo alvo do player enquanto os efeitos seriam lançados no alvo antigo...

 

Coisas bobas, bem simples de arrumar

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...