Nie mam możliwości testowania tego, ale też nie wiem czy to zadziała.
Chciałbym aby losowało raz na jakiś czas rundę z multi infekcją graczy.
Czy coś takiego zadziała?
public task_initround()
{
static zombiecount, newzombie
zombiecount = 0
newzombie = 0
static players[32], num, i, id
get_players(players, num, "a")
for(i = 0; i < num; i++) if(g_preinfect[players[i]]){
newzombie = players[i]
zombiecount++
}
if(zombiecount > 1)
newzombie = 0
else if(zombiecount < 1)
newzombie = players[_random(num)]
switch(random_num(1,2))
{
case 1..80:
{
for(i = 0; i < num; i++)
{
id = players[i]
if(id == newzombie || g_preinfect[id])
infect_user(id, 0)
else
{
fm_set_user_team(id, CS_TEAM_CT, 0)
add_delay(id, "update_team")
}
}
}
case 81..100:
{
static players[32], num, zombies, i, id
get_players(players, num, "a")
if(num > 1)
{
for(i = 0; i < num; i++)
g_preinfect[players[i]] = false
zombies = clamp(floatround(num * get_pcvar_float(cvar_zombiemulti)), 1, 31)
i = 0
while(i < zombies)
{
id = players[_random(num)]
if(!g_preinfect[id])
{
g_preinfect[id] = true
i++
infect_user(id, 0)
}
}
}
}
}
set_task(0.51, "task_startround", TASKID_STARTROUND)
}
Jest to biohazard.