Advertisement
fox1759

raids.lua

Apr 1st, 2015
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.25 KB | None | 0 0
  1. local raids = {
  2.  
  3.     ["Monday"] = {
  4.  
  5.             ["21:34"] = {  
  6.  
  7.                 name= "Demon", -- Nome do monstro a ser sumonado
  8.                 pos = {toPos= {x= 649, y= 1021, z= 7}, fromPos= {x= 654, y=1027, z= 7}}, --Vai ser sumonado de toPos e até fromPos
  9.                 quantidade = 5, -- Quantidade a ser sumonada
  10.                 time = 2, -- Se no tempo determinado em time= x, os monstros não forem mortos eles são removidos automaticamente
  11.                 },
  12.  
  13.             ["22:45"] = {
  14.  
  15.                 name= "Hydra", -- Nome do monstro a ser sumonado
  16.                 pos = {toPos= {x= 649, y= 1021, z= 7}, fromPos= {x= 654, y=1027, z= 7}}, --Vai ser sumonado de toPos e até fromPos
  17.                 quantidade = 5, -- Quantidade a ser sumonada
  18.                 time = 2, -- Se no tempo determinado em time= x, os monstros não forem mortos eles são removidos automaticamente
  19.                 }
  20.             },
  21.  
  22.     ["Tuesday"] = {
  23.  
  24.             ["11:10"] = {
  25.  
  26.                 name= "Troll", -- Nome do monstro a ser sumonado
  27.                 pos = {toPos= {x= 649, y= 1021, z= 7}, fromPos= {x= 654, y=1027, z= 7}}, --Vai ser sumonado de toPos e até fromPos
  28.                 quantidade = 5, -- Quantidade a ser sumonada
  29.                 time = 2, -- Se no tempo determinado em time= x, os monstros não forem mortos eles são removidos automaticamente             
  30.                 },
  31.  
  32.             },
  33. }
  34.  
  35. function doRemoveMonster(toPos, fromPos)
  36.    
  37.     for x = toPos.x, fromPos.x do
  38.         for y = toPos.y , fromPos.y do
  39.         local creature = getTopCreature({x=x, y= y, z= fromPos.z}).uid;
  40.             if creature ~= 0 and isMonster(creature) then
  41.                 doRemoveCreature(creature)
  42.             end
  43.         end
  44.     end
  45.  
  46.     return true
  47. end
  48.  
  49. function onThink(interval, lastExecution)
  50.  
  51.     local hours = tostring(os.date("%X")):sub(1, 5);
  52.     local days = raids[os.date("%A")][hours];
  53.     local raids_storage = 99997;
  54.  
  55.     if days then
  56.         if getGlobalStorageValue(raids_storage) <= os.time() then
  57.             doBroadcastMessage("The invasion of " .. days.name .. " started")
  58.             pos = {x= math.random(days.pos.toPos.x, days.pos.fromPos.x), y= math.random(days.pos.toPos.y, days.pos.fromPos.y), z= days.pos.fromPos.z};
  59.             monster = 0;
  60.             repeat
  61.                 doSummonCreature(days.name, pos)
  62.                 monster = monster + 1;
  63.             until monster == days.quantidade;
  64.            
  65.             addEvent(function()
  66.                 doRemoveMonster(days.pos.toPos, days.pos.fromPos)
  67.             end, days.time*1000*60)
  68.             setGlobalStorageValue(raids_storage, os.time()+60)
  69.         end
  70.     end
  71.  
  72.     return true
  73. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement