Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local leaguegame = { ["events"] = {} }
- local teams = {
- [1] = {},
- [2] = {}
- }
- local teamnames = {
- [1] = "good",
- [2] = "evil"
- }
- local maploaded = 0
- local players = {}
- local running = false
- local playercount = 0
- local function addplayer(cn, team)
- players[cn] = true
- teams[team][cn] = cn
- server.unspec(cn)
- server.changeteam(cn, teamnames[team])
- end
- local stopped = true
- function leaguegame.reset ()
- teams = { [1] = {}, [2] = {} }
- running = false
- playercount = 0
- maploaded = 0
- server.reassignteams = true
- ended= false
- end
- local function onmapchange()
- if stopped then leaguegame.unload(); return end
- server.pausegame(true)
- stopped = true
- local countdown = 15
- server.interval(1000, function()
- countdown = countdown - 1
- server.msg(tostring("\f6>>>\f1[ LEAGUEGAME ]\f7The map will start in "..orange(countdown).." seconds"))
- if countdown == 0 then
- server.pausegame(false)
- return -1
- end
- end)
- end
- function leaguegame.unload()
- stopped = true
- for i,event in ipairs(leaguegame.events) do
- server.cancel_handler(event)
- end
- leaguegame.events = {}
- server.reassignteams = true
- leaguegame.reset()
- end
- function leaguegame.init(arg)
- for player in server.gplayers() do
- player:spec()
- end
- local addteam = 1
- for _, i in ipairs(arg) do
- if i == "|" then
- addteam = 2
- else
- if not server.valid_cn(i) then i = server.name_to_cn_list_matches(cn,i) end
- if not server.valid_cn(i) then leaguegame.unload(); stopped = true end
- addplayer(i, addteam)
- playercount = playercount + 1
- end
- end
- server.reassignteams = false
- stopped = false
- leaguegame.events.mapchange = server.event_handler("mapchange", onmapchange)
- leaguegame.events.intermission = server.event_handler("intermission", leaguegame.unload)
- end
- return function(cn, map, mode, ...)
- if map == "stop" or mode == "stop" or mode == 0 or map == o then
- leaguegame.unload()
- else
- server.msg("\f6>>>\f1LEAGUEGAME\f7 Map: "..blue(map).." Mode: "..blue(mode))
- leaguegame.init(arg)
- server.changemap(map, mode)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement