onEvent("NewPlayer", function(player) spec_mode[player] = nil in_room[player] = true player_count = player_count + 1 if levels then tfm.exec.respawnPlayer(player) if victory[player] then victory_count = victory_count + 1 end if players_level[player] then local level = levels[ players_level[player] ] if level then tfm.exec.movePlayer(player, level.x, level.y) end else generatePlayer(player, os.time()) end tfm.exec.setPlayerScore(player, players_level[player], false) end end) onEvent("PlayerLeft", function(player) players_file[player] = nil in_room[player] = nil if spec_mode[player] then return end player_count = player_count - 1 if victory[player] then victory_count = victory_count - 1 elseif player_count == victory_count and not less_time then tfm.exec.setGameTime(20) less_time = true end end) onEvent("PlayerDied", function(player) if not room.playerList[player] then return end if bans[room.playerList[player].id] then return end if (not levels) or (not players_level[player]) then return end local level = levels[ players_level[player] ] if not spec_mode[player] then tfm.exec.respawnPlayer(player) tfm.exec.movePlayer(player, level.x, level.y) end end)