Advertisement
Guest User

Untitled

a guest
May 24th, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.79 KB | None | 0 0
  1. GATES_config = {
  2. --// Apenas mexa aqui, CONFIGS -- // ]]
  3. warning_times = 2, -- Tempo até iniciar o evento, exemplo: (19:50 > 20:00 = 10);
  4. event_duration = 60000, -- Duração do evento (Padrão 1 hora.);
  5. event_closewin = 80000, -- Duração do evento (Padrão 1 hora.);
  6. removegates_effect = 3, -- Effect ao remover os portões;
  7. creategates_effect = 5, -- Effect ao criar os portões;
  8. time_winnersopen = 2 * 1000, -- Tempo para abrir o portão dos vencedores;
  9. time_winnersclose = 2 * 1000, -- Tempo pra fechar o portão dos perdedores;
  10. gates_itemid = 1544, -- ItemID dos portões;
  11. gates_itemidstone = 1544, -- ItemID da pedra do trono;
  12. dates_start = {"Sunday-07:00", "Tuesday-10:50", "Monday-10:50", "Wednesday-10:50", "Thursday-10:50", "Friday-10:50", "Saturday-23:50"}, -- Datas do evento;
  13. open_eventgates = { -- // Abaixo as posições dos portões do evento;
  14. {x = 9744, y = 10135, z = 4, stackpos = 1},
  15. {x = 9745, y = 10135, z = 4, stackpos = 1},
  16. {x = 9746, y = 10135, z = 4, stackpos = 1},
  17. {x = 9747, y = 10135, z = 4, stackpos = 1},
  18. {x = 9748, y = 10135, z = 4, stackpos = 1},
  19. {x = 9749, y = 10135, z = 4, stackpos = 1},
  20. {x = 9750, y = 10135, z = 4, stackpos = 1},
  21. {x = 9751, y = 10135, z = 4, stackpos = 1},
  22. {x = 9752, y = 10135, z = 4, stackpos = 1},
  23. {x = 9753, y = 10135, z = 4, stackpos = 1},
  24. {x = 9754, y = 10135, z = 4, stackpos = 1},
  25. {x = 9847, y = 10022, z = 4, stackpos = 1},
  26. },
  27. open_eventstone = { -- // Abaixo as posições dos portões que abre qdo o evento termina;
  28. {x = 9847, y = 10021, z = 4, stackpos = 1},
  29. },
  30. open_winnersgates = { -- Abaixo as posições dos portões dos vencedores;
  31. {x = 9919, y = 10013, z = 4, stackpos = 1},
  32. },
  33. --// Não mexa daqui para baixo em NADA! -- // ]]
  34. times_storage = 191491,
  35. started_storage = 191492,
  36. tile_storage = 191493,
  37. }
  38.  
  39. function gatesClose()
  40. for table, gates in ipairs(GATES_config.open_eventgates) do
  41. doSendMagicEffect(gates, GATES_config.creategates_effect)
  42. doCreateItem(GATES_config.gates_itemid, 1, gates)
  43. end
  44. for cid, player in ipairs(getGateWinners()) do
  45. doSendMagicEffect(getThingPos(player), 13)
  46. doTeleportThing(player, GATES_config.position_winners, true)
  47. end
  48. addEvent(gatesWinnersOpen, GATES_config.time_winnersopen)
  49. addEvent(gatesWinnersClose, GATES_config.time_winnersclose)
  50. addEvent(setGlobalStorageValue, 5 * 1000, GATES_config.started_storage, -1)
  51. addEvent(setGlobalStorageValue, 5 * 1000, GATES_config.times_storage, -1)
  52. doBroadcastMessage("[Desert Exp]: Os portões do desert foram trancados!", 21)
  53. return true
  54. end
  55.  
  56. function gatesWinnersOpen()
  57. for table, gates in ipairs(GATES_config.open_winnersgates) do
  58. doSendMagicEffect(gates, GATES_config.removegates_effect)
  59. doRemoveItem(getTileItemById(gates, GATES_config.gates_itemid).uid)
  60. end
  61. return true
  62. end
  63.  
  64. function gatesWinnersClose()
  65. for table, gates in ipairs(GATES_config.open_winnersgates) do
  66. doSendMagicEffect(gates, GATES_config.creategates_effect)
  67. doCreateItem(GATES_config.gates_itemid, 1, gates)
  68. end
  69. return true
  70. end
  71.  
  72. function getGateWinners()
  73. local winners = {}
  74. for cid, player in ipairs(getPlayersOnline()) do
  75. if isPlayer(player) then
  76. if (getPlayerStorageValue(player, GATES_config.tile_storage) ~= -1) then
  77. table.insert(winners, player)
  78. end
  79. end
  80. end
  81. return winners
  82. end
  83.  
  84. function gatesStartWin()
  85. for table, gates in ipairs(GATES_config.open_eventstone) do
  86. doSendMagicEffect(gates, GATES_config.removegates_effect)
  87. doRemoveItem(getTileItemById(gates, GATES_config.gates_itemid).uid)
  88. end
  89. return true
  90. end
  91. function gatesStart()
  92. if (getGlobalStorageValue(GATES_config.started_storage) ~= -1) then
  93. if (getGlobalStorageValue(GATES_config.times_storage) == GATES_config.warning_times) then
  94. for table, gates in ipairs(GATES_config.open_eventgates) do
  95. doSendMagicEffect(gates, GATES_config.removegates_effect)
  96. doRemoveItem(getTileItemById(gates, GATES_config.gates_itemid).uid)
  97. end
  98. doBroadcastMessage("[Desert Exp]: Os portões foram abertos!", 21)
  99. addEvent(gatesClose, GATES_config.event_duration)
  100. addEvent(gatesStartWin, GATES_config.event_duration)
  101. end
  102. end
  103. return true
  104. end
  105.  
  106. function warningStart()
  107. if (getGlobalStorageValue(GATES_config.times_storage) == GATES_config.warning_times) then
  108. gatesStart()
  109. return true
  110. end
  111. doBroadcastMessage("[Desert Exp]: Os portões serão abertos em "..(GATES_config.warning_times - getGlobalStorageValue(GATES_config.times_storage)).." minuto(s)!", 21)
  112. setGlobalStorageValue(GATES_config.times_storage, (getGlobalStorageValue(GATES_config.times_storage) + 1))
  113. return addEvent(warningStart, 1 * 30 * 1000)
  114. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement