public Event_Set_Teams() { // No players, don't bother server_cmd("amx_pausecfg enable ptb.amxx"); static iPlayersnum iPlayersnum = fnGetPlaying() if (iPlayersnum < 1) return; // Split players evenly static iTerrors, iMaxTerrors, id, team[33] iMaxTerrors = iPlayersnum/2 iTerrors = 0 // First, set everyone to CT for (id = 1; id <= g_maxplayers; id++) { // Skip if not connected if (!g_isconnected[id]) continue; team[id] = cs_get_user_team(id) // Skip if not playing if (team[id] == CS_TEAM_SPECTATOR || team[id] == CS_TEAM_UNASSIGNED) continue; // Set team remove_task(id+TASK_TEAM) cs_set_user_team(id, CS_TEAM_CT) team[id] = CS_TEAM_CT } // Then randomly set half of the players to Terrorists while (iTerrors < iMaxTerrors) { // Keep looping through all players if (++id > g_maxplayers) id = 1 // Skip if not connected if (!g_isconnected[id]) continue; // Skip if not playing or already a Terrorist if (team[id] != CS_TEAM_CT) continue; // Random chance if (random_num(0, 1)) { cs_set_user_team(id, CS_TEAM_T) team[id] = CS_TEAM_T iTerrors++ } } } fnGetPlaying() { static iPlaying, id, team iPlaying = 0 for (id = 1; id <= g_maxplayers; id++) { if (g_isconnected[id]) { team = cs_get_user_team(id) if ((team != CS_TEAM_SPECTATOR) && (team != CS_TEAM_UNASSIGNED)) iPlaying++ } } return PLUGIN_CONTINUE; }
Użytkownik KariiO edytował ten post 07.05.2011 14:16