This Function frequently causes plugin crash .. Can any1 suggest optimization/correction/solution?
PHP Code:
public Random() {
set_pcvar_num(cvar_mp_freezetime, 9999)
new players[32], pnum, tempid;
get_players(players, pnum, "ch");
new specialCount
for( new i; i<pnum; i++ ) {
tempid = players[i];
client_cmd(tempid, "kill")
if ( cs_get_user_team(tempid) != CS_TEAM_UNASSIGNED )
{
specialCount++
cs_set_user_team(tempid, CS_TEAM_SPECTATOR)
}
}
if (specialCount < 2) {
if (g_CustomGame) {
client_print(0, print_chat, "%s %L", PREFIX, LANG_PLAYER, "LESS_PLAYERS_CUSTOM")
new taskId = scanForTaskID()
set_task(3.0, "RandomTeams", taskId)
}
else {
client_print(0, print_chat, "%s %L", PREFIX, LANG_PLAYER, "LESS_PLAYERS")
new taskId = scanForTaskID()
set_task(5.0, "EndMatch", taskId)
}
return;
}
new z = random(pnum)
while (cs_get_user_team(players[z]) == CS_TEAM_UNASSIGNED)
z = random(pnum)
cs_set_user_team(players[z], CS_TEAM_T)
gCptT = players[z]
new q = random(pnum)
while ( (q == z) || cs_get_user_team(players[q]) == CS_TEAM_UNASSIGNED )
q = random(pnum)
cs_set_user_team(players[q], CS_TEAM_CT)
gCptCT = players[q]
client_print(0, print_chat, "%s %L", PREFIX, LANG_PLAYER, "RANDOM_CHOSEN")
client_print(0, print_chat, "%s %L", PREFIX, LANG_PLAYER, "TERROR_FIRST")
g_bCpt = true
moveT()
return;
}