SK
spell

Exori Grab Vis

Por Skulls, 14 de fev. de 2016 em Globalevents e Spells

grab
puxão
31
6.6k
SkullsS
14 de fevereiro de 2016 às 23:20

Fala galera, tudo bem?

 

Venho trazer pra vocês uma nova magia que fiz. Ela é basicamente um puxão que da um pouco de dano.

 

Gif

 

 

giphy.gif

 

 

 

Em spells.xml coloque essa tag:

    <instant name="Energy Grab" words="exori grab vis" needtarget="1" lvl="40" mana="20" prem="1" range="5" blockwalls="1" exhaustion="2000" groups="1,2000" icon="122" needlearn="0" event="script" value="attack/energy grab.lua">
        <vocation id="3"/>
        <vocation id="7"/>
    </instant>

Em scripts/attack crie um arquivo chamado energy grab.lua e coloque o conteúdo abaixo:

local grab_time = 350


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)


function onTargetCreature(cid, target)
    addEvent(executeGrab, grab_time, cid, target)
end


setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")


function executeGrab(cid, target, param)
d = param or -1
    if not isPlayer(cid) then return false end
    if not isCreature(target) then return false end


    local cpos, ppos = getCreaturePosition(target), getCreaturePosition(cid)
    local dir = getDirectionTo2(cpos, ppos)


    if d == -1 then doSendDistanceShoot(cpos, ppos, CONST_ANI_ENERGYBALL) end
    if getDistanceBetween(cpos, ppos) > 1 then doMoveCreature(target, dir) end


    if (d > 1 or d == -1) then
        addEvent(executeGrab, 30, cid, target, getDistanceBetween(cpos, ppos))
    end
    return true
end


function performCombat(cid, combat, var)
return doCombat(cid, combat, var)
end


function onCastSpell(cid, var)
    return doCombat(cid, combat, setSpellTarget(cid, var))
end
Para funcionar corretamente, isso é puxando quem estiver na frente da magia e nao o target inicial é necessário que você utilize o sistema disponibilizado por mim neste tópico: http://www.xtibia.com/forum/topic/239458-spells-checando-interferencias-na-trajetoria/
Caso contrário, troque a linha return doCombat(cid, combat, setSpellTarget(cid, var)) por return doCombat(cid, combat, var).
Bom, é isso. Espero que gostem.
Abraços,

Editado Fevereiro 17 por Skulls

Night WolfN
15 de fevereiro de 2016 às 01:30

ficou parecidíssimo com o puxão do Blitzcrank de league of legends, curti.

SkullsS
15 de fevereiro de 2016 às 08:47

ficou parecidíssimo com o puxão do Blitzcrank de league of legends, curti.

Eu achei lindo tbm, uma das magias que eu mais gostei de fazer/ do resultado. Valeu!

SamueLGuedesS
15 de fevereiro de 2016 às 10:26

Tirando a parte que odeio blitzcrank, ficou muito parecido, gostei. parabéns pelo script.

15 de fevereiro de 2016 às 10:45

Ficou legal, e seria bem legal pra knights haha!

JustinnoTibiannoJ
15 de fevereiro de 2016 às 11:28

Ótimo script cara :plink:

Será que da pra colocar a spell em algum monstro?

CaronteC
15 de fevereiro de 2016 às 11:41

Ótimo script cara :plink:

Será que da pra colocar a spell em algum monstro?

Com uma modificação no script dá sim, mas ele fez para acontecer exclusivamente com player puxando criatura

..

 

Ficou legal, e seria bem legal pra knights haha!

Concordo...

 

 

Parabéns skulls, ficou muito bom.

Night WolfN
15 de fevereiro de 2016 às 15:12

tem um jogo q eu jogava que os "knights" tinham uma spell que lançavava uma corrente e puxava o cara pra perto. Ficaria meio apelão pro tibia mas se botar um cooldown acho q é uma boa. Fica meio estilo Scorpion do MK no "GET OVER HERE"

CaronteC
15 de fevereiro de 2016 às 15:19

 

 

tem um jogo q eu jogava que os "knights" tinham uma spell que lançavava uma corrente e puxava o cara pra perto. Ficaria meio apelão pro tibia mas se botar um cooldown acho q é uma boa. Fica meio estilo Scorpion do MK no "GET OVER HERE"

 

Diablo III os barbarians fazem isso...

SkullsS
17 de fevereiro de 2016 às 02:05

Tirando a parte que odeio blitzcrank, ficou muito parecido, gostei. parabéns pelo script.

Hahaha eu amo ele, destruo jogando de blitão! :p

Obrigado!!

 

Ficou legal, e seria bem legal pra knights haha!

Sim, poderia ser adaptado para um ot normal visando auxiliar vocações corpo a corpo, mas com bom senso para não ficar OP.

Valeu!

 

Ótimo script cara :plink:

Será que da pra colocar a spell em algum monstro?

 

Como bem respondeu o Caronte dá sim, basta adaptar.

Valeu ai!

 

Com uma modificação no script dá sim, mas ele fez para acontecer exclusivamente com player puxando criatura

..

 

 

Concordo...

 

 

Parabéns skulls, ficou muito bom.

Muito obrigado, você e wolf sempre me ajudando / apoiando! xD

 

tem um jogo q eu jogava que os "knights" tinham uma spell que lançavava uma corrente e puxava o cara pra perto. Ficaria meio apelão pro tibia mas se botar um cooldown acho q é uma boa. Fica meio estilo Scorpion do MK no "GET OVER HERE"

Para não ficar op só com um cd gigante, dano baixo ou sem dano e não targeteable (ela ser direcional, podendo ser desviado).

Atualizado mais uma vez o grab, agora finalizado com efeito em todas as direções:

 

giphy.gif

Editado Fevereiro 17 por Skulls

Dmy RecaidaD
18 de fevereiro de 2016 às 03:09

Eu odeio o blitz, mas adorei seu script *-*

SkullsS
18 de fevereiro de 2016 às 16:20

Eu odeio o blitz, mas adorei seu script *-*

Pq esse odio generalizado com o blitz?! Eu adoro jogar com ele rs

Valeu!

Night WolfN
18 de fevereiro de 2016 às 16:24

^os bronze não gosta pq não sabe escapar, os prata gosta porque os outros não sabem escapar.

SkullsS
18 de fevereiro de 2016 às 16:33

^os bronze não gosta pq não sabe escapar, os prata gosta porque os outros não sabem escapar.

É bem isso mesmo, prazer prata 1 uauhhuaehuae

AdministradorA
19 de fevereiro de 2016 às 16:24

Ótima atualização, blitz é um chatinho >.<