Desculpe reviver...
Funcional!
Por andretoprox, 13 de nov. de 2011 em Globalevents e Spells
Desculpe reviver...
Funcional!
info
Grupo: Campones
Registrado: 13/07/11
Posts: 11
Reputação: 0
Char no Tibia: Kina da War

como faso pra coloca pra quando chove cai itens
info
Grupo: Cavaleiro
Registrado: 30/06/08
Posts: 173
Reputação: +31
Char no Tibia: Lady Stars Walker

Falto uma SS para pessoal ter ideia de como é o sistema...
info
Grupo: Campones
Registrado: 31/01/12
Posts: 72
Reputação: +6
Char no Tibia: Theuzik

sim falto ss's
info
Grupo: Visconde
Registrado: 23/02/08
Posts: 273
Reputação: +101
Char no Tibia: Foxx Rookslayer


Créditos ao Kaotar pela print. Se puder, adicione ao tópico principal, link:
info
Grupo: Campones
Registrado: 31/01/12
Posts: 72
Reputação: +6
Char no Tibia: Theuzik

ui bolado mesmo ;D
info
Grupo: Administrador
Registrado: 08/07/05
Posts: 5.8k
Reputação: +1.4k
Gênero: Outro

Desculpe reviver, muito foda!
Alguém sabe se o script come muito processamento? Já testaram?
PS: adicionei a foto lá em cima.
info
Grupo: Herói
Registrado: 12/03/11
Posts: 1.9k
Reputação: +284
Gênero: Masculino
Char no Tibia: Nokte

não muito Gustavo, depende também da maneira que você utiliza, eu Por exemplo criei um OTserv de naruto e usei esse script somente na Aldeia da Chuva, coloquei o sistema para chover a cada 75 Minutus e tá de boa ![]()
info
Grupo: Lorde
Registrado: 17/01/09
Posts: 2.1k
Reputação: +395
Char no Tibia: Adra Sata

esse script é show pra treinar orientado a objetos ;D
info
Grupo: Campones
Registrado: 29/10/11
Posts: 53
Reputação: +3
Char no Tibia: Razzor Master

esse script é show pra treinar orientado a objetos ;D
E tipo assim, das poças de água, dá pra fazer virar golds e.e
tem como fazer o script ser executado por comando?
tipo vai la e digita /rain e começa ?
obg e REP+ pelo serviço =D
info
Grupo: Cavaleiro
Registrado: 21/11/11
Posts: 160
Reputação: +14

onde edito as coordenas da onde vai choveer?
e funfa em tfs 4,0?
info
Grupo: Campones
Registrado: 27/07/12
Posts: 11
Reputação: 0

onde edito a duracion dela chuvia, ja coloque e funca bom pelo sempre fica chovendo..
info
Grupo: Campones
Registrado: 29/10/11
Posts: 53
Reputação: +3
Char no Tibia: Razzor Master
Tópico original: http://www.xtibia.co...-system-com-ss/
Autor: Kaotar
Editado por: andretoprox
O motivo é que, não funciona em 8.60, eu já testei e talz...
Eu consegui editar e arrumar certinho. Chega de conversa...
é claro que copiei, sim, mas eu estou passando um diferente, e não igual!
Rain System
Nome do Sistema: Rain System
Nome do Autor: Kaotar
Créditos: 99% Kaotar (Por Fazer o Script) / 1% Zakk (Por trazer e conteudo ao XTIBIA e Organizar o Tópico)
Entre em data/globalevents/script/, crie um arquivo com nome rain.lua, cole o código abaixo, salve e feche:
local rain = Rain:new() function onThink(interval, lastExecution) local minX = 0 local minY = 0 local maxX = 183 local maxY = 65 local frompos = {x=math.random(minX, maxX), y=math.random(minY, maxY), z=7} local topos = {x=math.random(frompos.x, maxX), y=math.random(frompos.y, maxY), z=7} local effects = { snow = { disteffect = CONST_ANI_SNOWBALL, effect = CONST_ME_ICETORNADO }, rain = { disteffect = CONST_ANI_ICE, effect = CONST_ME_LOSEENERGY } } rain:start({fromPos = frompos, toPos = topos}, effects.snow, 300) rain.createItem = {chance = math.random(0,1), item = {itemid = 2016, type = 1}} rain:start({fromPos = frompos, toPos = topos}, effects.rain) return TRUE endAgora vá em data/globalevents/globalevents.xml e adicione essa TAG:
Depois, vá em data/globalevents/lib/, crie um arquivo com nome Rain.lua, cole o código abaixo, salve e feche:
-- Features: -- chance = OBJECT.chance = INT -- createItem = OBJECT.createItem = {chance = INT, item = {itemid = INT, type = INT}} Rain = {ignoreIds = {4526}} function Rain:new() local obj = {} setmetatable(obj, self) self.__index = self return obj end function Rain:getPositionInArea(fromPos, toPos) self.positions = {} for Y = fromPos.y, toPos.y do for X = fromPos.x, toPos.x do if (getTileThingByPos({x=X, y=Y, z=7, stackpos=0}).itemid ~= 0) then if not (string.match(string.lower(getItemNameById(getTileThingByPos({x=X, y=Y, z=7, stackpos=0}).itemid)), "water")) then table.insert(self.positions, {x=X, y=Y, z=Z}) end end end end return true end function Rain:doRain(position, disteffect, effect) if (self.duraction ~= self.executed) then local chance = self.chance or 100 if (math.random(0, 1000) <= chance) then for Z = 0, 7 do if (getTileThingByPos(({x = position.x, y = position.y, z = Z})).itemid ~= 0) then doSendDistanceShoot({x = position.x - 7, y = position.y - 5, z = Z}, {x = position.x, y = position.y, z = Z}, disteffect) doSendMagicEffect({x = position.x, y = position.y, z = Z}, effect) if (self.createItem) then if (math.random(0, 1000) <= self.createItem.chance) then if (isInArray(self.ignoreIds, getTileThingByPos({x=X, y=Y, z=Z, stackpos=0}).itemid) == FALSE) then local item = doCreateItem(self.createItem.item.itemid, self.createItem.item.type, {x=position.x, y=position.y, z=Z}) doDecayItem(item) end end end break end end end return true else return false end end function Rain:start(positions, effects, duraction, delay, var) self:getPositionInArea(positions.fromPos, positions.toPos) if not (self.positions[1]) then return false end self.delay = delay self.var = var or self self.effects = effects self.duraction = duraction self.executed = 0 addEvent(doCallback, self.delay, {var=self.var}) return true end function doCallback(p) for _, v in pairs(p.var.positions) do if not (p.var:doRain(v, p.var.effects.disteffect, p.var.effects.effect)) then return true end end addEvent(doCallback, p.var.delay, {var=p.var}) p.var.executed = p.var.executed+1 endAgora vá em data/globalevents/lib/globalevents.lua e adicione essa TAG:
Para aqueles que sabem mexer em script é possível fazer chover meteoros mudando os efeitos e varias outras coisas a sua imaginação.
Para mudar de quanto enquanto tempo a chuva ira acontecer devera mudar a tag do globalevents.xml na parte de interval.
SE ESTIVER DANDO LAG, AUMENTE O INTERVAL NO GLOBALEVENTS.XML. Recomendo aumentar de 60 em 60
60 = 1Minuto
QUALQUER OUTRA DÚVIDA, VEJA SE TEM NO TOPICO QUE POSTEI LÁ EMCIMA
VOCê DEVE EDITAR O MINX, MINY, MAXX E MAXY.
Por exemplo: tem 16 sqm na minha area.
Exemplo: O primeiro da diagonal <+/\ vai ser 20x 20y. Então voce edita e coloca no minx e miny
O ultimo quadrado V+> vai ser o maxx e maxy; por exemplo vai ser 36x 36y
Considerações finais: Não é aconselhável usar a snow do jeito que está configurado, pois está bem feio, também há um erro que sempre que ocorre uma nova chuva se uma antiga esta acontecendo, a velha para, e a novo começa. É fácil arrumar, porém eu só não arrumei pois isso pode acarretar novos bugs.
Editado Março 21 por Gustavo