MA

Fireworks Rocket! Criatividade Ao Extremo...

Por MarcolinoGOD, 31 de dez. de 2008 em Actions e Talkactions

tibia
script
otserv
27
5.7k
MarcolinoGODM
31 de dezembro de 2008 às 16:38

Encontrei essa action na net e achei muito interessante e espero que gostem.

 

Primeiramente os créditos vão para slawkens!

 

Como isto funciona?

Simples, você colocar um firework Fireworks_Rocket.gif (Id: 6576) sobre um fire field, e automaticamente começa a contagem,

e depois de 5 segundos "BOOM"...

 

Vamos trabalhar?!

 

actions/scripts/fireworks.lua

function onUse(cid, item, fromPosition, itemEx, toPosition)

if fromPosition.x ~= CONTAINER_POSITION then

fireWorkRocketBoom(fromPosition)

else

doSendMagicEffect(fromPosition, CONST_ME_HITBYFIRE)

doSendMagicEffect(fromPosition, CONST_ME_EXPLOSIONAREA)

doCreatureSay(cid, "Ouch! Rather place it on the ground next time.", TALKTYPE_ORANGE_1)

doCreatureAddHealth(cid, -10)

end

doRemoveItem(cid, item.uid, 1)

return TRUE

end

 

Adicione a seguinte tag em actions/actions.xml

<action itemid="6576" script="fireworks.lua" />

 

Agora vamos para as movements:

movements/script/fireworksrocket.lua

--by slaw

--Config

local timeToBoom = 5

local fireFields = {1487, 1488, 1489, 1492, 1493, 1494}

 

function fireWorkTimer(seconds, pos, itemid)

local tmp = getTileItemById(pos, itemid)

if tmp.uid == FALSE then

return FALSE

end

 

if seconds == 0 then

fireWorkRocketBoom(pos)

doRemoveItemFromPos(pos, itemid)

return TRUE

end

 

doSendAnimatedText(pos, seconds, 150)

 

seconds = seconds - 1

addEvent(fireWorkTimer, 1000, seconds, pos, itemid)

end

 

function onAddItem(moveitem, tileitem, pos)

pos.stackpos = STACKPOS_TOP_FIELD

if isInArray(fireFields, getThingFromPos(pos).itemid) == TRUE then

fireWorkTimer(timeToBoom, pos, moveitem.itemid)

end

 

return TRUE

end

 

Agora em movements.xml adicione a tag:

<!-- FIREROCKET by slawkens -->

<movevent event="AddItem" itemid="6576" script="fireworksrocket.lua" />

 

Agora uma das partes mais importantes! Abra seu global.lua ou function.lua e adicione isto! (Tome muito cuidado ao editar esse arquivo e aconcelho vocês a fazer uma copia do mesmo antes de edita-lo!!!)

function fireWorkRocketBoom(fromPosition)

local tmpPos = {}

local i = 4

while(i >= 1) do

 

tmpPos = {x=fromPosition.x - i, y=fromPosition.y - i, z=fromPosition.z, stackpos=0}

if isSightClear(fromPosition, tmpPos, FALSE) == TRUE then

if(hasProperty(getThingFromPos(tmpPos).uid, CONST_PROP_BLOCKINGANDNOTMOVEABLE) ~= TRUE) then

doSendDistanceShoot(fromPosition, tmpPos, 3)

addEvent(doSendMagicEffect, 350, tmpPos, math.random(CONST_ME_FIREWORK_YELLOW, CONST_ME_FIREWORK_BLUE))

break

end

end

i = i - 1

end

end

Pronto agora só você entrar em seu ot e comemorar o ano novo em grande estilo!

 

Atenção; para um funcionamento correto você precisa ter a função "doRemoveItemFromPos" e caso você não tenha abra seu global.lua

ou function.lua e adicione o seguinte:

function doRemoveItemFromPos(position, itemid, count)

local tmp = count or 1

local item = getTileItemById(position, itemid)

if item.uid ~= FALSE then

return doRemoveItem(item.uid, tmp)

end

 

return FALSE

end

 

 

Feliz ano novo e não esqueçam de comentar!

Editado Janeiro 2 por Albert José

lucasatakL
31 de dezembro de 2008 às 16:48

~~Vo Ve Aki Se Funciona kkk,Boa Albert Feliz Ano Novo Pra Vc Tbm~~

 

Brigado.

BillyBolaB
31 de dezembro de 2008 às 17:42

Um foda, no global vc nem precisa coloca no fire fied e so se da use que esplode ja comprei minha bp e vo usa. meia noite.

Editado Janeiro 1 por BillyBola

MarcolinoGODM
31 de dezembro de 2008 às 18:55
Um foda, no global vc nem precisa coloca no fire fied e so sa use que esplode ja comprei minha bp e vo usa. meia noite.

 

Acredito que todos saibam disso meu caro amigo! Essa é uma versão alternativa, ou seja, usa quem quer!

E eu gostei dela porque é mais "real" :blush:

 

Obrigado por comentar.

Feliz ano novo!!!

tibiaa4eT
01 de janeiro de 2009 às 06:46

Uia dahora

 

xD

 

Até tive ideias maleficas com isso

 

 

Só que o cara podia diminuir o script o0

funnieskF
01 de janeiro de 2009 às 19:55

Muito bom cara, testado e aprovado!!

leonardomoseL
01 de janeiro de 2009 às 20:11

Que dahora testado e aprovado²

dwhfmsD
01 de janeiro de 2009 às 20:12

muito ROX parabnes e Feliz Ano Novo pra vc Também

hawksH
02 de janeiro de 2009 às 00:16

No meu ot n deu

wedneyyuriW
02 de janeiro de 2009 às 07:53

Explica qual a sua versão...

 

Muito bom trabalho, curti bastante ^^"

hawksH
02 de janeiro de 2009 às 09:56

meu ot e 8.31 n deu certo

TonynhT
02 de janeiro de 2009 às 11:14

Antes.. nos ot's antigos.. 7.8 a 8.0 nao era assim xD

 

era uma magia chamada fireworks..

 

voce dizia a cor antes da magia assim..

 

yellowfireworks

 

ai sai fogos amarelos xD..

 

ate hoje preservo aquela magia.. como vi este topico.. estarei postando esta magia no XTIBIA

 

xD

 

Mais aprovadissima!!

[ISSO QUE E TECNOLOGIA] auHUAEHUHUhuee

yzsY
02 de janeiro de 2009 às 11:31
o.O q rox vo testar
amourA
02 de janeiro de 2009 às 16:37
o.O bem style ;D
dunkinhooD
02 de janeiro de 2009 às 17:05

Bota umas Screen pra gente ve!