FI
spell

Exori Bong - Sugar Vida do Target

Por Fir3z, 01 de jun. de 2013 em Globalevents e Spells

bong
sugar
vida
script
12
3.3k
Fir3zF
01 de junho de 2013 às 02:10

Bom, eu tinha criado um sv, mas tive que parar por não ter retorno... criei vários scripts, magias, mapas, etc... pra não ficar tudo parado vou disponibilizar algumas coisas feitas por mim :D

 

Demorei pra fazer esse script, ele podia estar bem mais simples (mas não sei como fazer isso, assim funciona... então XD)

 

Criador: Fir3z

Servidor Testado: TFS 0.4 - 8.60

Oque faz: Essa magia simplesmente rouba a vida do target e te da a mesma vida, tinha feito isso para um knight, então os efeitos estão para knights... é só trocar caso queira (:

 

Imagemzinha básica da magia funcionando :D

magiat.jpg

 

Exori Bong.lua:

function onCastSpell(cid, var)
local playerpos = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local trapos = getCreaturePosition(target)
local level = getPlayerLevel(cid)
local numero1 = (level*1.5) -- Dano Mínimo
local numero2 = (level*2.5) -- Dano Máximo
for i = numero1, numero2 do
levelz = (math.random(numero2))
end

doCreatureAddHealth(target, -levelz)
doSendAnimatedText(trapos, levelz, 180)
doCreatureAddHealth(cid, levelz)
doCreatureAddMana(cid, -300) -- Quanto Vai Gastar de Mana
doSendMagicEffect(trapos, 9)
doSendMagicEffect(playerpos, 12)
doSendDistanceShoot(trapos, playerpos, 40)
return TRUE
end
spells.xml:

 <instant name="Exori Bong" words="exori bong" lvl="80" mana="300" prem="1" range="3" needtarget="1" blockwalls="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="attack/exori bong.lua">
<vocation id="4"/>
<vocation id="8"/>
</instant>
Espero que gostem da mágia :D

Editado Agosto 19 por Fir3z

ThaynaT
07 de junho de 2013 às 16:44

a spell ta bugada, a exaustão não funciona, da pra dar a magia quantas vezes quiser..

lukas13onL
12 de junho de 2013 às 16:42

<instant name="Exori Bong" words="exori bong" lvl="65" mana="580" prem="0" exhaustion="2000" needtarget="1" range = "4" needlearn="0" script="attack/exori bong.lua">

 

function onCastSpell(cid, var)
local exaustion = getSpellEx(2000,Ex)
local playerpos = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local trapos = getCreaturePosition(target)
local level = getPlayerLevel(cid)
local numero1 = (level*1.5) -- Dano Mínimo
local numero2 = (level*2.5) -- Dano Máximo
for i = numero1, numero2 do
levelz = (math.random(numero2))
end

doExaustionSpell(Ex, 2000)
doCreatureAddHealth(target, -levelz)
doSendAnimatedText(trapos, levelz, 180)
doCreatureAddHealth(cid, levelz)
doCreatureAddMana(cid, -300) -- Quanto Vai Gastar de Mana
doSendMagicEffect(trapos, 9)
doSendMagicEffect(playerpos, 12)
doSendDistanceShoot(trapos, playerpos, 40)
end

Editado Junho 12 por HarpiaLOOK

KimblyK
15 de junho de 2013 às 16:38

@ skynet2 ~

 

É como você disse ta sem exausted...

 

@ HarpiaLOOK ~

 

Tá dando uns erro desse jeito que você mando ai...

[Error - Spell Interface]
data/spells/script/attack/exori bong.lua:onCastSpell
Description:
data/spells/script/attack/exori bong.lua:2: attempt to call global 'getSpellEx' <a nil value>
stack traceback:
data/spells/script/attack/exori bong.lua:2: in function <data/spells/script/attack/exori bong.lua:1>

surfnamentS
16 de junho de 2013 às 19:04

Alguem pode me ajudar aqui? http://www.xtibia.com/forum/topic/216273-duvida-promotion-vip/

1 mês depois...
NextWorldN
02 de julho de 2013 às 23:38

Para colocar exhast, so precisa colocar uma coisa no final:

 

 

function onCastSpell(cid, var)
local playerpos = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local trapos = getCreaturePosition(target)
local level = getPlayerLevel(cid)
local numero1 = (level*1.5) -- Dano Mínimo
local numero2 = (level*2.5) -- Dano Máximo
for i = numero1, numero2 do
levelz = (math.random(numero2))
end

doCreatureAddHealth(target, -levelz)
doSendAnimatedText(trapos, levelz, 180)
doCreatureAddHealth(cid, levelz)
doCreatureAddMana(cid, -300) -- Quanto Vai Gastar de Mana
doSendMagicEffect(trapos, 9)
doSendMagicEffect(playerpos, 12)
doSendDistanceShoot(trapos, playerpos, 40)

return true
end

 

 

 

Na hora de colocar a tag, só precisa mudar o exhastion que quizer:

<instant name="Exori Bong" words="exori bong" lvl="80" mana="300" prem="1" range="3" needtarget="1" blockwalls="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="attack/exori bong.lua">
<vocation id="4"/>
<vocation id="8"/>
</instant>

 

KimblyK
05 de julho de 2013 às 01:47

@ NextWorld ~

 

No post tem essa tag que você mencionou:

<instant name="Exori Bong" words="exori bong" lvl="80" mana="300" prem="1" range="3" needtarget="1" blockwalls="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="attack/exori bong.lua">
<vocation id="4"/>
<vocation id="8"/>
</instant>

 

E você pode notar que ela está do mesmo jeito que você postou

 

exhaustion="2000"

 

E sim continua sem exausted mesmo configurando essa parte...

NextWorldN
05 de julho de 2013 às 14:36

Foi mal eu não sabia... Mas eu fiz isso aqui, e deu certo '-'.

Editado Julho 5 por NextWorld

3 semanas depois...
folferF
26 de julho de 2013 às 03:42

Meu tambem ta bugando ...

1 mês depois...
Fir3zF
19 de agosto de 2013 às 04:27

Era só fazer oque o NextWorld disse, colocar um "return TRUE" antes do end e a magia iria funcionar 100%...

Já arrumei pra quem quiser testar =]

Session StartS
26 de agosto de 2013 às 01:57

Exausted 5 segundos

function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 333311) < os.time () then
setPlayerStorageValue(cid, 333311, os.time () + 5)  -- 5 = 5 segundos
local playerpos = getCreaturePosition(cid)
local target = getCreatureTarget(cid)
local trapos = getCreaturePosition(target)
local level = getPlayerLevel(cid)
local numero1 = (level*1.5) -- Dano Mínimo
local numero2 = (level*2.5) -- Dano Máximo
for i = numero1, numero2 do
levelz = (math.random(numero2))
end

doCreatureAddHealth(target, -levelz)
doSendAnimatedText(trapos, levelz, 180)
doCreatureAddHealth(cid, levelz)
doCreatureAddMana(cid, -300) -- Quanto Vai Gastar de Mana
doSendMagicEffect(trapos, 9)
doSendMagicEffect(playerpos, 12)
doSendDistanceShoot(trapos, playerpos, 40)
else
doPlayerSendCancel(cid, "aguarde "..getPlayerStorageValue(cid, 333311) - os.time ().." segundos para usar ")
return false
end
return true
end
2 anos depois...
teakwondoT
17 de novembro de 2015 às 14:48

Tem como fazer com a formula de dano do exori ? por exemplo