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


Dodatki SourceMod



Temat jest zamknięty








