Ir para conteúdo

andretoprox

Campones
  • Total de itens

    53
  • Registro em

  • Última visita

Tudo que andretoprox postou

  1. 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 end Agora vá em data/globalevents/globalevents.xml e adicione essa TAG: <globalevent name="rain" interval="100" event="script" value="rain.lua"/> 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 end Agora vá em data/globalevents/lib/globalevents.lua e adicione essa TAG: dofile(getDataDir() .."globalevents/lib/Rain.lua") 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.
  2. data\monster\Canines crie um xml com nome Cachorro Inofencivo <?xml version="1.0" encoding="UTF-8"?> <monster name="Cachorro Inofencivo" nameDescription="a Cachorro Inofencivo" race="blood" experience="Escolha" speed="Escolha" manacost="255"> <health now="Escolha" max="Escolha"/> <look type="32" corpse="5971"/> <targetchange interval="2000" chance="0"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="1"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="1"/> <flag convinceable="1"/> <flag pushable="1"/> <flag canpushitems="0"/> <flag canpushcreatures="0"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="8"/> </flags> <attacks> <attack name="melee" interval="200" skill="19" attack="1000"/> </attacks> <defenses armor="1" defense="4"/> <elements> <element earthPercent="10"/> <element holyPercent="10"/> <element icePercent="-5"/> <elemetn deathPercent="-5"/> </elements> <loot> <item id="2666" countmax="3" chance="90000"/><!-- meat --> </loot> </monster> Modifique as partes escritas "ESCOLHA" data\monster\monsters.xml <monster name="Cachorro Inofencivo" file="Canines/cachorroinofencivo.xml"/>
  3. Blz vou já passando o script Crie um arquivo chamado grana.lua Dentro dele coloque: -- By Andretoprox function onUse(cid, item, frompos, item2, topos) if item.uid == 7519 then queststatus = getPlayerStorageValue(cid,7519) if queststatus == -1 then doPlayerSendTextMessage(cid,22,"VOCE GANHO 1KK!!.") doPlayerAddItem(cid,2160,100) end else return 1 end return 1 end Depois entra em seu actions.xml (data/actions/actions.xml) e adiciona a seguinte linha <action uniqueid="7519" script="grana.lua" /> Logo após isso, voce escolhe 2 coisas pra fazer cair grana: 1 - UID pelo GOD 2 - Pelo MAP EDITOR 1 - UID Pelo GOD: Fique de frente com um item "unmoavable" (Aqueles items que não podem mover com o mouse, exemplo: Árvore, Parede, Piso e etc) e digite /attr uniqueid 7519 E pronto. 2 - Pelo Map Editor (Eu uso o remeres 8.60) Basta clicar com o botao direito do mouse e mudar o UNIQUE ID Só Simples, não? Depois é só dar use. Falow
  4. hehe galera, será que voces nao entenderam? Olha, ta escrito OnUse na primeira linha. Isso quer dizer que vc tem que colocar no actions.xml Tag: data\actions\actions.xml <action itemid="ID DE UM ITEM" script="nome do arquivo.lua"/> Na segunda parte verde coloca o nome do arquivo lua E na outra parte colorida também, coloque um ID de um item, exemplo 11205 Falow
  5. Boa a ideia de colocar os 2 numa só linha hehe... @TOPIC Achei legal, vou testar! @EDIT Funfando legal sem erro algum! Aqui é Forgotten Server 8.60 falow e Obrigado! REP+ PRA TI!
  6. Galera, primeiro PRIMEIRO PRIMEIRO PRIMEIRO, quero que voces leiam: Este rain system (http://www.xtibia.com/forum/topic/134952-rain-system-com-ss/) não ta funfando no meu OT. Alguem passa um parecido ou talz? Eu uso o new slayer yurots 8.60 não sei mais oq informar... flw.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...