PDA

View Full Version : function send player from allies to axis randomly



xulikav
15th September 2016, 00:03
im looking for function that sends one player randomly from allies to axis

xulikav
15th September 2016, 03:03
i finish it XD


for(;;)
{
wait 1;
if (calcNumOnTeam("axis") == 0 && calcNumOnTeam("allies") >=2)
{
players=getentarray("player","classname");
players[1] moveplayer("axis");
}
}


calcNumOnTeam(team)
{
arrayteam = [];
players = getentarray("player", "classname");

for(i = 0; i < players.size; i++)
{
if(isDefined(players[i].pers["team"]) && players[i].pers["team"] == team)
arrayteam[arrayteam.size] = players[i];
}

return arrayteam.size;
}



moveplayer(team)
{
self.pers["team"] = team;
self.sessionteam = self.pers["team"];
self.pers["weapon"] = undefined;
self.pers["savedmodel"] = undefined;
self setClientCvar("ui_allow_weaponchange", "1");
if (self.sessionstate!="dead") self suicide();
self notify("joined_team");
self notify("end_respawn");
spawnplayer();
}

IzNoGoD
15th September 2016, 05:29
That's not random.

Same amount of "random" as this:
https://imgs.xkcd.com/comics/random_number.png

serthy
15th September 2016, 09:39
for(;;)
{
wait 1;
if (calcNumOnTeam("axis") == 0 && calcNumOnTeam("allies") >=2)
{
players=getentarray("player","classname");
players[1] moveplayer("axis");
}
}
[/PHP]

player = players[ randomInt( players.size ) ]; might be something you want

xulikav
15th September 2016, 09:46
best solution =)


players[randomint(players.size)] moveplayer("axis");

IzNoGoD
15th September 2016, 13:13
Nope, that moves a random player to axis. This player could be a spectator also.

This is better:



while(true)
{
wait 1;
players = getPlayers();
if(players["allies"].size >= 2 && players["axis"].size == 0)
players["allies"][randomint(players["allies"].size)] moveplayer("axis");
}

getPlayers()
{
ret = [];
ret["spectator"] = [];
ret["allies"] = [];
ret["axis"] = [];
players = getent("player", "classname");
for(i = 0; i < players.size; i++)
ret[player.pers["team"]][ret[player.pers["team"]].size] = player;
return ret;
}

xulikav
16th September 2016, 15:11
thank you izobizo :rolleyes: :o

xulikav
16th September 2016, 15:22
uninitialised variable 'player': (file 'maps/mp/gametypes/_hns.gsc', line 850)

ret[player.pers["team"]][ret[player.pers["team"]].size] = player;

*

IzNoGoD
16th September 2016, 15:54
replace all occurences of player with players

xulikav
16th September 2016, 23:32
its buggy i made it but everything fucked up my clock in the game i start getting killcam and the function i didnt even test it if it works or not but since its buggy