RU

[GlobalEvent] [8.0+] Sky Fury

Por Runando, 29 de jul. de 2009 em Globalevents e Spells

script
16
4.5k
RunandoR
29 de julho de 2009 às 00:52

Nome: Sky Fury

 

.

 

Versão: Testado em TFS 8.40, mas funciona em qualquer 8.00+

 

.

 

Tipo do script: Spell

 

.

 

Servidor Testado: The Forgotten Server 8.40 Beta 3

 

.

 

Autor: Belianmort

 

.

 

Explicação: A magia simula o efeito de: quando você esta mirando o alvo em alguma creatura, você joga uma flecha de fogo pra cima, fazendo com que caia 10 meteoros no alvo e na creature que estiver do lado.

 

.

 

Comentario: Bom, eu estava praticamente sem nada pra fazer, e resolvir criar uma magia que tenha danos balanceado com o level e Magic Level, tentando deixa-la menor que 15 linhas de script. O resultado foi essa magia de Paladin que pode parecer pequena, mas é muito bonita in-game, alem de que dependendo do level, pode tirar bons danos (Não aconselhavel para XP MUITO ALTAS, porque os danos podem alcançar numeros absurdos). Para instalar é simples, abra a pasta data do servidor, entre na pasta scripts localizada na pasta spells.Crie um arquivo .lua (ou Copie um ja existente, e apague tudo dentro). Renomeie o arquivo lara Sky Fury.lua, e coloque isto dentro:

 

 

 

local area = createCombatArea(AREA_SQUARE1X1)

function onCastSpell(cid, var) 

local target = getCreatureTarget(cid)

doSendDistanceShoot(getCreaturePosition(cid),{x = getCreaturePosition(cid).x - math.random(4,6), y = getCreaturePosition(cid).y - 5, z = getCreaturePosition(cid).z},CONST_ANI_FLAMMINGARROW)

for x = 1, 10 do

  addEvent(furyAttackTarget,200*x+500,cid,target,{x = getCreaturePosition(target).x + math.random(-1,1), y = getCreaturePosition(target).y + math.random(-1,1), z = getCreaturePosition(target).z})

end

end

function furyAttackTarget(cid,target,pos)

if isCreature(cid) == TRUE and isCreature(target) == TRUE then

 doSendDistanceShoot({x = getCreaturePosition(target).x - math.random(4,6), y = getCreaturePosition(target).y - 5, z = getCreaturePosition(target).z},pos,CONST_ANI_FIRE)

 doAreaCombatHealth(cid,COMBAT_FIREDAMAGE,pos,area,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/5)+50,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/5)-50,CONST_ME_HITBYFIRE)

end

end

Agora na pasta spells, abra o spells.xml e coloque isto:

 

 

 

<instant name="Sky Fury" words="exevo flam tempest" lvl="50" manapercent="70" prem="0" range="5" nedtarget="1" blockwalls="1" exhaustion="2000" needlearn="0" script="Sky Fury.lua"><vocation name="Paladin"/><vocation name="Royal Paladin"/></instant>

 

Pronto, a magia ja esta instalada no servidor. basta abrir (ou dar reload, caso ele ja esteja aberto), e aproveitar a magia. Desculpem a falta de screen shoots.... Comentem

 

29 de julho de 2009 às 13:19

NUUUU VEIO! parabeeens! magia ta rox mesmo!

vc tem futuro aqui!

continue fazendo magias assim!!

 

APROVADO

gust70G
29 de julho de 2009 às 14:29

MUITO ROXXXXXXXXX! CARA TA MASSA SE VC PUDESSE FAZE UMA DE GELO PA MIN SERIA LEGAL OU INTÃO ME INSINACE VLW

 

 

OBS: ROOOOOOOOOOOOOOOOOOOOOXXXXXXXXXXXXXXXXXX

29 de julho de 2009 às 15:08
MUITO ROXXXXXXXXX! CARA TA MASSA SE VC PUDESSE FAZE UMA DE GELO PA MIN SERIA LEGAL OU INTÃO ME INSINACE VLW

 

 

OBS: ROOOOOOOOOOOOOOOOOOOOOXXXXXXXXXXXXXXXXXX

 

Voce pediu o de ice neh....eu fiz toma aew:

 

local area = createCombatArea(AREA_SQUARE1X1)

 

function onCastSpell(cid, var)

 

local target = getCreatureTarget(cid)

 

doSendDistanceShoot(getCreaturePosition(cid),{x = getCreaturePosition(cid).x - math.random(4,6), y = getCreaturePosition(cid).y - 5, z = getCreaturePosition(cid).z},CONST_ME_FIREATTACK)

 

for x = 1, 10 do

 

addEvent(furyAttackTarget,200*x+500,cid,target,{x = getCreaturePosition(target).x + math.random(-1,1), y = getCreaturePosition(target).y + math.random(-1,1), z = getCreaturePosition(target).z})

 

end

 

end

 

function furyAttackTarget(cid,target,pos)

 

if isCreature(cid) == TRUE and isCreature(target) == TRUE then

 

doSendDistanceShoot({x = getCreaturePosition(target).x - math.random(4,6), y = getCreaturePosition(target).y - 5, z = getCreaturePosition(target).z},pos,CONST_ANTI_ICEATTACK)

 

doAreaCombatHealth(cid,COMBAT_ICEDAMAGE,pos,area,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/5)+50,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/5)-50,CONST_ME_ICEATTACK)

 

end

 

end

 

ai copia o sky fury no spells.xml e faz um otro mas muda para ice fury!

 

flws!

panda12miloP
31 de julho de 2009 às 14:56

Tem um problema aqui ;S, não gasta mana, nem causa exhausted, eu to usando Gangrel 8.5

1 mês depois...
Last SeekerL
29 de agosto de 2009 às 13:46
Renomeie o arquivo lara Sky Fury.lua,

Editado Agosto 29 por Last Seeker

FoghatF
29 de agosto de 2009 às 13:49

Muito boa , Parabéns !

 

 

 

 

 

 

 

Abraços,

Foghat

YstiflerY
03 de setembro de 2009 às 04:20

não fuciona em 8.50 ;P

1 mês depois...
EskiloteE
18 de outubro de 2009 às 13:14
não fuciona em 8.50 ;P

 

funciona, so que nao gasta mana, nem tem exausted.. gostaria de saber porque....

 

Muitas magias aqui do forum estão assim.. =[

1 mês depois...
Thony402T
07 de novembro de 2009 às 16:48

Para tirar funfar em 8.5 e ter exhauted vc vai no arquivo lua da spell e vai no end la no final então vc vai escrever Return TRUE no meio dos "end" que fica na spells tipo assim

 

local area = createCombatArea(AREA_SQUARE1X1)

 

function onCastSpell(cid, var)

 

local target = getCreatureTarget(cid)

 

doSendDistanceShoot(getCreaturePosition(cid),{x = getCreaturePosition(cid).x - math.random(4,6), y = getCreaturePosition(cid).y - 5, z = getCreaturePosition(cid).z},CONST_ME_FIREATTACK)

 

for x = 1, 10 do

 

addEvent(furyAttackTarget,200*x+500,cid,target,{x = getCreaturePosition(target).x + math.random(-1,1), y = getCreaturePosition(target).y + math.random(-1,1), z = getCreaturePosition(target).z})

 

end

return true

 

end

 

function furyAttackTarget(cid,target,pos)

 

if isCreature(cid) == TRUE and isCreature(target) == TRUE then

 

doSendDistanceShoot({x = getCreaturePosition(target).x - math.random(4,6), y = getCreaturePosition(target).y - 5, z = getCreaturePosition(target).z},pos,CONST_ANTI_ICEATTACK)

 

doAreaCombatHealth(cid,COMBAT_ICEDAMAGE,pos,area,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/1)+150,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/1)-150,CONST_ME_ICEATTACK)

end

return true

end

 

isso vale para todas as magias que estam bugadas no 8.5, só colocar e pronto bug arrumado

Editado Novembro 7 por thony402

aldroydA
11 de novembro de 2009 às 15:36

Como assim? Num consegui nao!

 

--

 

Num funfo a de gelo.

 

Alguem faz uma ae?

Editado Novembro 11 por aldroyd

2 semanas depois...
CugiC
20 de novembro de 2009 às 07:18

aqui tambem esta com problema estou usando o thyrania 8.52

 

quando eu uso a magia só vejo a spell subindo pro canto superior da esquerda e não cai o meteoro,não gasta mana

 

ajuda por favor

1 mês depois...
StriusxDS
18 de dezembro de 2009 às 09:57

Prontoo arrumei o que tava fazenu n gasta mana nem da exausted, eu colokei um return true no nos 2 primeiros end e return doCombat(cid, combat, var) no final, antes de um enter: olha como fiko(obs esse aki ta como danu de holy)

 

local area = createCombatArea(AREA_SQUARE1X1)

 

function onCastSpell(cid, var)

 

local target = getCreatureTarget(cid)

 

doSendDistanceShoot(getCreaturePosition(cid),{x = getCreaturePosition(cid).x - math.random(4,6), y = getCreaturePosition(cid).y - 5, z = getCreaturePosition(cid).z},CONST_ANI_SMALLHOLY)

 

for x = 1, 10 do

 

addEvent(furyAttackTarget,200*x+500,cid,target,{x = getCreaturePosition(target).x + math.random(-1,1), y = getCreaturePosition(target).y + math.random(-1,1), z = getCreaturePosition(target).z})

 

end

return true

end

 

function furyAttackTarget(cid,target,pos)

 

if isCreature(cid) == TRUE and isCreature(target) == TRUE then

 

doSendDistanceShoot({x = getCreaturePosition(target).x - math.random(4,6), y = getCreaturePosition(target).y - 5, z = getCreaturePosition(target).z},pos,CONST_ANI_HOLY)

 

doAreaCombatHealth(cid,COMBAT_HOLYDAMAGE,pos,area,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/20)+50,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/5)-50,CONST_ME_HOLYDAMAGE)

 

end

return doCombat(cid, combat, var)

end

 

prontimm :party:

 

Mtuu boa a spell kra.. é, concerteza vc tem futuro =D

 

quando eu uso a magia só vejo a spell subindo pro canto superior da esquerda e não cai o meteoro,não gasta mana

bem.. vc ta com o bixo selecionado? é igual a magias como ecori mort(foi o melhor q axei pra compara) vc tem que ta atakanu o bixo pra ele i nele =D

 

vo tenta faze uma de holy aki, pra paly eu axo q fikaria loko =D

meus parabens kra =D

 

é.. consegui aki so mudei os danos e efeitos pq n entendo nada de spells.. intaum vai =D

 

local area = createCombatArea(AREA_SQUARE1X1)

function onCastSpell(cid, var)

local target = getCreatureTarget(cid)

doSendDistanceShoot(getCreaturePosition(cid),{x = getCreaturePosition(cid).x - math.random(4,6), y = getCreaturePosition(cid).y - 5, z = getCreaturePosition(cid).z},CONST_ANI_SMALLHOLY)

for x = 1, 10 do

   addEvent(furyAttackTarget,200*x+500,cid,target,{x = getCreaturePosition(target).x + math.random(-1,1), y = getCreaturePosition(target).y + math.random(-1,1), z = getCreaturePosition(target).z})

end

end

function furyAttackTarget(cid,target,pos)

if isCreature(cid) == TRUE and isCreature(target) == TRUE then

  doSendDistanceShoot({x = getCreaturePosition(target).x - math.random(4,6), y = getCreaturePosition(target).y - 5, z = getCreaturePosition(target).z},pos,CONST_ANI_HOLY)

  doAreaCombatHealth(cid,COMBAT_HOLYDAMAGE,pos,area,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/5)+50,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/5)-50,CONST_ME_HOLYDAMAGE)

end

end

 

Bem.. axo q n precisa de creditos... mas vamu la ne =P

 

100% pro Belianmort

 

So botei com holy pq axo q combina com paly xD vlw aew kra^^

Editado Dezembro 19 por StriusxD

2 meses depois...
tuycb96T
20 de fevereiro de 2010 às 20:07

Ou, ajudem eu na de gelo:

 

local area = createCombatArea(AREA_SQUARE1X1)

 

function onCastSpell(cid, var)

 

local target = getCreatureTarget(cid)

 

doSendDistanceShoot(getCreaturePosition(cid),{x = getCreaturePosition(cid).x - math.random(4,6), y = getCreaturePosition(cid).y - 5, z = getCreaturePosition(cid).z},CONST_ANI_SHIVERARROW)

 

for x = 1, 10 do

 

addEvent(furyAttackTarget,200*x+500,cid,target,{x = getCreaturePosition(target).x + math.random(-1,1), y = getCreaturePosition(target).y + math.random(-1,1), z = getCreaturePosition(target).z})

 

end

 

return true

 

end

 

function furyAttackTarget(cid,target,pos)

 

if isCreature(cid) == TRUE and isCreature(target) == TRUE then

 

doSendDistanceShoot({x = getCreaturePosition(target).x - math.random(4,6), y = getCreaturePosition(target).y - 5, z = getCreaturePosition(target).z},pos,CONST_ANI_SHIVERARROW)

 

doAreaCombatHealth(cid,COMBAT_ICEDAMAGE,pos,area,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/5)+50,(-(getPlayerLevel(cid)*getPlayerMagLevel(cid))/5)-50,CONST_ME_ICEATTACK)

 

end

 

return doCombat(cid, combat, var)

 

end

 

Só que em vez de atacar os campos como gelo, fica um berserk... mas hita gelo! Me ajudem?

 

OBS: esse script já ta desbugado (gasta mana e causa exhaustion) e eu regulei pra subir uma flecha de gelo que vi em outro script, mas não consegui fazer os campos como gelo.

 

Tuy CB

1 mês depois...
VampirescoV
09 de março de 2010 às 09:03

A spells é bem bonita! Mas como eles diseram...

 

8.50 >> Não gasta mana nem exhauted :/

 

tentei de varios jeitos, nem rola faser funfar os baguio!

 

Alguem me ajuda? Pega a Spells no tuto la encima ^^

 

Faça um que " GASTE MANA é exhauted " pelo amor de deus!

 

Preciso muito, agradeço a quem me ajudo ABRAÇOSSS!

 

Alguem sabe faser magias que só players vip tem acesso? quero colocar magias VIP!

 

Viw >>>> LOADING <<<<<

 

Esperando a ajuda na espell a cima /\ /\ /\

 

>>>> LOADING <<<<<

 

>>>> LOADING <<<<<

 

>>>> LOADING <<<<<

 

>>>> LOADING <<<<<

 

>>>> LOADING <<<<<

 

>>>> LOADING <<<<<