JO

Chuva De Meteoros

Por Jovial, 02 de nov. de 2007 em Globalevents e Spells

script
21
8.2k
JovialJ
02 de novembro de 2007 às 22:22

Olá para todos;

 

Essa magia faz cair meteoros aleatoriamente em uma determinada area em volta do player, se cair na terra ira pegar fogo e se cair na agua ira afundar.

 

OBS: Ela provavelmente só funciona no Forgotten Server, ou outro server que possui as mesmas funções.

 

Vamos ao script:

--Spell by Jovial
local water = {490, 491, 492, 493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625}

local combat = createCombatObject()

local meteor = createCombatObject()
setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(meteor, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -4.6, -200, -4.2, -200)
setCombatParam(meteor, COMBAT_PARAM_CREATEITEM, 1492)

local stun = createConditionObject(CONDITION_PARALYZE)
setConditionParam(stun, CONDITION_PARAM_TICKS, 5000)
setConditionFormula(stun, -0.8, 0, -0.9, 0)
setCombatCondition(meteor, stun)


local meteor_water = createCombatObject()
setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, CONST_ME_LOSEENERGY)
setCombatFormula(meteor_water, COMBAT_FORMULA_LEVELMAGIC, -4.6, -200, -4.2, -200)

combat_arr = {
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1},
{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}
}

local combat_area = createCombatArea(combat_arr)
setCombatArea(combat, combat_area)

local function meteorCast(p)
doCombat(p.cid, p.combat, positionToVariant(p.pos))
end

local function stunEffect(cid)
doSendMagicEffect(getThingPos(cid), CONST_ME_STUN)
end

function onTargetTile(cid, pos)
if (math.random(0, 1) == 1) then
	local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0})
	if (isInArray(water, ground.itemid) == TRUE) then
		local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}
		doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE)
		addEvent(meteorCast, 200, {cid = cid, pos = pos, combat = meteor_water})
	else
		local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z}
		doSendDistanceShoot(newpos, pos, CONST_ANI_FIRE)
		addEvent(meteorCast, 200, {cid = cid,pos = pos, combat = meteor})
	end
end
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

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

SSs:

http://img517.imageshack.us/img517/5780/meteor1cn3.jpg

http://img517.imageshack.us/img517/2100/meteor2vz4.jpg

 

Espero que gostem...

cya;

Jovial

Editado Novembro 3 por Jovial

NostradamusN
02 de novembro de 2007 às 22:27

Muito bom sistema, e assemelha-se ao da BlackOnix, apesar de ser muito melhor o da BlackOnix. :p

42912264
02 de novembro de 2007 às 22:54

Aew.

Parabens.

Otima Spell.

 

 

 

Cya

cunhadosC
04 de novembro de 2007 às 12:26

Opa tudo bem jovial??

To tentando por sua aspell nu meu ot e da um erro que n acha o comando doSendDistanceShoot algu assim na linha 57 existe algum geito deu arrumar isso para ela funcionar no meu ot?

NottinghsterN
04 de novembro de 2007 às 12:42

@Jovial

 

Script nota 10, testei aqui em casa e funcionou perfeitamente sem erros no TheForgottenServer 0.2.6 [Golden Warrior], parabéns!!!

 

OBS: BlackOnix é melhor, eu ja vi!!!

tibiaa4eT
04 de novembro de 2007 às 13:10

Eu achei a ideia de realismo ate melhor q fazer o script =D

 

 

Muito boa essa spell

ThthtT
04 de novembro de 2007 às 17:08

ae

mt legal a magia, mas o meu n esta funcionando.

esta dando um problema na linha 57 do script

se vc puder me ajudar eu agradeço

JovialJ
04 de novembro de 2007 às 23:48

Este erro na linah 57 é na função doSendDistanceShoot que , creio eu, só tem no forgotten server

Editado Novembro 4 por Jovial

CayanC
04 de novembro de 2007 às 23:55

Para se livrar do problema com a linha 54~57 apenas adicionem um simples "--" na frente dos seguintes comandos: "doSendDistanceShoot"

cunhadosC
05 de novembro de 2007 às 12:45

cayan vou testar isso que vc flo quando chegar em casa de funcionar eu edito vlwss

elder720E
05 de novembro de 2007 às 12:57

Muito bom Jovial, eu Havia visto este seu Script no ######.

 

 

Meus parabéns e continue trazendo novidades ao XTibia

 

 

 

 

 

Grato

3 meses depois...
leandrocoreL
04 de fevereiro de 2008 às 11:06

aki ta dá um problema na linha 57 do script

ser poder ajuda

:smile_positivo:

11 meses depois...
raalgustoR
24 de janeiro de 2009 às 17:43
Muito bom sistema, e assemelha-se ao da BlackOnix, apesar de ser muito melhor o da BlackOnix. :p

 

Concordo Com Voce Super Massa :surprised:

Continue assim kara :smile_positivo:

:party:

gatokeeG
25 de janeiro de 2009 às 13:29

cara melhor magia ki ja vi no mundo muinto loka ela vlw ae jovial vc eo caraa muinto loka a magia :smile_positivo: :smile_positivo: :smile_positivo: :smile_positivo: :smile_positivo: :smile_positivo: :smile_positivo: :smile_positivo: :smile_positivo: :smile_positivo: :smile_positivo:

1 mês depois...
10 de fevereiro de 2009 às 18:29

É mais ou menos né cara...

O hit acerta la na Pu** que o P**** não vejo UAU Que spell!

 

 

Sem Mais,

Dark Knight!