Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.97 KB | None | 0 0
  1. local leaguegame = { ["events"] = {} }
  2. local teams = {
  3. [1] = {},
  4. [2] = {}
  5. }
  6. local teamnames = {
  7. [1] = "good",
  8. [2] = "evil"
  9. }
  10. local maploaded = 0
  11. local players = {}
  12. local running = false
  13. local playercount = 0
  14. local function addplayer(cn, team)
  15. players[cn] = true
  16. teams[team][cn] = cn
  17. server.unspec(cn)
  18. server.changeteam(cn, teamnames[team])
  19. end
  20. local stopped = true
  21.  
  22.  
  23. function leaguegame.reset ()
  24. teams = { [1] = {}, [2] = {} }
  25. running = false
  26. playercount = 0
  27. maploaded = 0
  28. server.reassignteams = true
  29. ended= false
  30. end
  31.  
  32. local function onmapchange()
  33. if stopped then leaguegame.unload(); return end
  34. server.pausegame(true)
  35. stopped = true
  36. local countdown = 15
  37. server.interval(1000, function()
  38. countdown = countdown - 1
  39. server.msg(tostring("\f6>>>\f1[ LEAGUEGAME ]\f7The map will start in "..orange(countdown).." seconds"))
  40. if countdown == 0 then
  41. server.pausegame(false)
  42. return -1
  43. end
  44. end)
  45.  
  46.  
  47. end
  48. function leaguegame.unload()
  49. stopped = true
  50. for i,event in ipairs(leaguegame.events) do
  51. server.cancel_handler(event)
  52. end
  53. leaguegame.events = {}
  54. server.reassignteams = true
  55. leaguegame.reset()
  56. end
  57. function leaguegame.init(arg)
  58. for player in server.gplayers() do
  59. player:spec()
  60. end
  61. local addteam = 1
  62. for _, i in ipairs(arg) do
  63. if i == "|" then
  64. addteam = 2
  65. else
  66. if not server.valid_cn(i) then i = server.name_to_cn_list_matches(cn,i) end
  67. if not server.valid_cn(i) then leaguegame.unload(); stopped = true end
  68. addplayer(i, addteam)
  69. playercount = playercount + 1
  70. end
  71.  
  72. end
  73. server.reassignteams = false
  74. stopped = false
  75. leaguegame.events.mapchange = server.event_handler("mapchange", onmapchange)
  76. leaguegame.events.intermission = server.event_handler("intermission", leaguegame.unload)
  77.  
  78. end
  79.  
  80. return function(cn, map, mode, ...)
  81. if map == "stop" or mode == "stop" or mode == 0 or map == o then
  82. leaguegame.unload()
  83. else
  84. server.msg("\f6>>>\f1LEAGUEGAME\f7 Map: "..blue(map).." Mode: "..blue(mode))
  85. leaguegame.init(arg)
  86. server.changemap(map, mode)
  87. end
  88. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement