DE

Queimando arvores

Por Deadpool, 11 de jun. de 2017 em Actions e Talkactions

6
1.6k
DeadpoolD
11 de junho de 2017 às 17:14

Sistemazinho que eu achei em um servidor 860 antigo, eu ia fazer um RPG mas né ._.

Enfim, esse sistema permite colocar fogo nas arvores, e as arvores ao redor vão queimando, até acabar a ultima mwhaha, testei e funciona mwha

 

Spoiler
--[[
#######################
# Script by dalvorsn  #
# Don't remove credits#
#######################
]]
local burningTrees = {
   -- [TreeId] = BurningTreeId,
   -- Examples
   [7024] = 2717, -- pine
   [2701] = 2719, -- sycamore
   [2704] = 2722  -- red maple
}
local delay = 1000 -- delay em ms entre as chamas




local var__ = 0
local function var()
   var__ = var__ + 1
   return var__
end


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


   if( burningTrees[itemEx.itemid] )then
       burnTree(getThingPosition(itemEx.uid), delay, itemEx.itemid)
   end
   var__ = 0
   return true
end


function getItemsAroundById(ItemIds, pos, rangex, rangey)
   local uids = {}
   for itemId in pairs(ItemIds) do
       for x = -rangex, rangex do
           for y = -rangey, rangey do
               local posi = {x = pos.x + x, y = pos.y + y, z = pos.z}
               local item = getTileItemById(posi, itemId)
               if item.uid > 0 and not (x == 0 and y == 0) and getItemAttribute(item.uid, "burned") ~= 1 then
                   table.insert(uids, {itemid = itemId, pos = posi})
               end
           end
       end
   end
   return uids
end


local function _doTransformItem(itemid, pos, toid)
   local _uid = getTileItemById(pos, itemid).uid
   doTransformItem(_uid, toid)
   return _uid
end




function burnTree(itemPos, delayFire, itemid)


   local smallFire, mediumFire, bigFire = 1489, 1488, 1492


   if var__ == 0 then
       doSendMagicEffect(itemPos, 36)
   end
   doItemSetAttribute(getTileItemById(itemPos, itemid).uid, "burned", 1)


   addEvent(doCreateItem, var() * delayFire, smallFire, itemPos)
   addEvent(_doTransformItem, var() * delayFire, smallFire, itemPos, mediumFire)
   addEvent(_doTransformItem, var() * delayFire, mediumFire, itemPos, bigFire)
   addEvent(_doTransformItem, var() * delayFire, itemid, itemPos, burningTrees[itemid])


   aroundTrees = getItemsAroundById(burningTrees, itemPos, 1,1)
   for _, tree in pairs(aroundTrees) do
       burnTree(tree.pos, delayFire, tree.itemid)
   end


   return true
end

 

adicionar arvores:

local burningTrees = {
   -- [TreeId] = BurningTreeId,
   -- [id da arvore] = idquevaiaparecerquandotiverqueimado,
   -- Examples
   [7024] = 2717, -- pine
   [2701] = 2719, -- sycamore
   [2704] = 2722  -- red maple
}

o item da actions.xml que você vai usar pra tocar fogo na floresta, precisa ter a opção "use with"

qualquer coisa comentem, que eu ajudo quando tiver tempo

 

créditos: @dalvorsn 

 

 

demonstração:

 

https://gifs.com/gif/queimando-floresta-tibia-g5zYR9

Editado Junho 11 por Deadpool

DarkWoreD
11 de junho de 2017 às 17:30

Obrigado por Compartilhar o Xtibia Agradece.

CaronteC
11 de junho de 2017 às 17:37
13 minutos atrás, Deadpool disse:

 

Sistemazinho que eu achei em um servidor 860 antigo, eu ia fazer um RPG mas né ._.

Enfim, esse sistema permite colocar fogo nas arvores, e as arvores ao redor vão queimando, até acabar a ultima mwhaha, testei e funciona mwha

 

 

Tente colocar gifs ou algo assim, atrai mais gente aos scripts, acho que fiz um script parecido com esse, só que era Timber, em vez de queimar ia cortando as árvores, como na primeira quest do antigo global, aquela quest era pika.

DeadpoolD
11 de junho de 2017 às 17:47
Agora, Caronte disse:

 

Tente colocar gifs ou algo assim, atrai mais gente aos scripts, acho que fiz um script parecido com esse, só que era Timber, em vez de queimar ia cortando as árvores, como na primeira quest do antigo global, aquela quest era pika.

achei um video do daslvorn e transformei em gif, e coloquei ai kkk vê ai, ficou legalzin, vlw ^^

7 minutos atrás, DarkWore disse:

Obrigado por Compartilhar o Xtibia Agradece.

Haha, vlw

MarshmelloM
12 de junho de 2017 às 07:06

Q Dahora man bem legal

dalvorsnD
14 de junho de 2017 às 10:42

Nem lembrava mais desse haha bacana xD