mirror of
https://github.com/ineedbots/t5_bot_warfare.git
synced 2025-05-13 07:34:49 +00:00
Greatly reduce var usage
This commit is contained in:
parent
556dac9171
commit
9cf2770ef5
File diff suppressed because it is too large
Load Diff
@ -354,19 +354,92 @@ bot_set_difficulty( difficulty )
|
|||||||
/*
|
/*
|
||||||
A server thread for monitoring all bot's teams for custom server settings.
|
A server thread for monitoring all bot's teams for custom server settings.
|
||||||
*/
|
*/
|
||||||
teamBots()
|
teamBots_loop()
|
||||||
{
|
{
|
||||||
for(;;)
|
teamAmount = getDvarInt("bots_team_amount");
|
||||||
|
toTeam = getDvar("bots_team");
|
||||||
|
|
||||||
|
alliesbots = 0;
|
||||||
|
alliesplayers = 0;
|
||||||
|
axisbots = 0;
|
||||||
|
axisplayers = 0;
|
||||||
|
|
||||||
|
playercount = level.players.size;
|
||||||
|
for(i = 0; i < playercount; i++)
|
||||||
{
|
{
|
||||||
wait 1.5;
|
player = level.players[i];
|
||||||
teamAmount = getDvarInt("bots_team_amount");
|
|
||||||
toTeam = getDvar("bots_team");
|
|
||||||
|
|
||||||
alliesbots = 0;
|
if(!isDefined(player.pers["team"]))
|
||||||
alliesplayers = 0;
|
continue;
|
||||||
axisbots = 0;
|
|
||||||
axisplayers = 0;
|
|
||||||
|
|
||||||
|
if(player is_bot())
|
||||||
|
{
|
||||||
|
if(player.pers["team"] == "allies")
|
||||||
|
alliesbots++;
|
||||||
|
else if(player.pers["team"] == "axis")
|
||||||
|
axisbots++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(player.pers["team"] == "allies")
|
||||||
|
alliesplayers++;
|
||||||
|
else if(player.pers["team"] == "axis")
|
||||||
|
axisplayers++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
allies = alliesbots;
|
||||||
|
axis = axisbots;
|
||||||
|
|
||||||
|
if(!getDvarInt("bots_team_mode"))
|
||||||
|
{
|
||||||
|
allies += alliesplayers;
|
||||||
|
axis += axisplayers;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(toTeam != "custom")
|
||||||
|
{
|
||||||
|
if(getDvarInt("bots_team_force"))
|
||||||
|
{
|
||||||
|
if(toTeam == "autoassign")
|
||||||
|
{
|
||||||
|
if(abs(axis - allies) > 1)
|
||||||
|
{
|
||||||
|
toTeam = "axis";
|
||||||
|
if(axis > allies)
|
||||||
|
toTeam = "allies";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(toTeam != "autoassign")
|
||||||
|
{
|
||||||
|
playercount = level.players.size;
|
||||||
|
for(i = 0; i < playercount; i++)
|
||||||
|
{
|
||||||
|
player = level.players[i];
|
||||||
|
|
||||||
|
if(!isDefined(player.pers["team"]))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if(!player is_bot())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if(player.pers["team"] == toTeam)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (toTeam == "allies")
|
||||||
|
player thread [[level.allies]]();
|
||||||
|
else if (toTeam == "axis")
|
||||||
|
player thread [[level.axis]]();
|
||||||
|
else
|
||||||
|
player thread [[level.spectator]]();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
playercount = level.players.size;
|
playercount = level.players.size;
|
||||||
for(i = 0; i < playercount; i++)
|
for(i = 0; i < playercount; i++)
|
||||||
{
|
{
|
||||||
@ -375,108 +448,152 @@ teamBots()
|
|||||||
if(!isDefined(player.pers["team"]))
|
if(!isDefined(player.pers["team"]))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if(player is_bot())
|
if(!player is_bot())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if(player.pers["team"] == "axis")
|
||||||
{
|
{
|
||||||
if(player.pers["team"] == "allies")
|
if(axis > teamAmount)
|
||||||
alliesbots++;
|
{
|
||||||
else if(player.pers["team"] == "axis")
|
player thread [[level.allies]]();
|
||||||
axisbots++;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(player.pers["team"] == "allies")
|
if(axis < teamAmount)
|
||||||
alliesplayers++;
|
|
||||||
else if(player.pers["team"] == "axis")
|
|
||||||
axisplayers++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
allies = alliesbots;
|
|
||||||
axis = axisbots;
|
|
||||||
|
|
||||||
if(!getDvarInt("bots_team_mode"))
|
|
||||||
{
|
|
||||||
allies += alliesplayers;
|
|
||||||
axis += axisplayers;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(toTeam != "custom")
|
|
||||||
{
|
|
||||||
if(getDvarInt("bots_team_force"))
|
|
||||||
{
|
|
||||||
if(toTeam == "autoassign")
|
|
||||||
{
|
{
|
||||||
if(abs(axis - allies) > 1)
|
player thread [[level.axis]]();
|
||||||
{
|
break;
|
||||||
toTeam = "axis";
|
|
||||||
if(axis > allies)
|
|
||||||
toTeam = "allies";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
else if(player.pers["team"] != "allies")
|
||||||
if(toTeam != "autoassign")
|
|
||||||
{
|
{
|
||||||
playercount = level.players.size;
|
player thread [[level.allies]]();
|
||||||
for(i = 0; i < playercount; i++)
|
break;
|
||||||
{
|
|
||||||
player = level.players[i];
|
|
||||||
|
|
||||||
if(!isDefined(player.pers["team"]))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if(!player is_bot())
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if(player.pers["team"] == toTeam)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (toTeam == "allies")
|
|
||||||
player thread [[level.allies]]();
|
|
||||||
else if (toTeam == "axis")
|
|
||||||
player thread [[level.axis]]();
|
|
||||||
else
|
|
||||||
player thread [[level.spectator]]();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
A server thread for monitoring all bot's teams for custom server settings.
|
||||||
|
*/
|
||||||
|
teamBots()
|
||||||
|
{
|
||||||
|
for(;;)
|
||||||
|
{
|
||||||
|
wait 1.5;
|
||||||
|
teamBots_loop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Loop
|
||||||
|
*/
|
||||||
|
addBots_loop()
|
||||||
|
{
|
||||||
|
botsToAdd = GetDvarInt("bots_manage_add");
|
||||||
|
|
||||||
|
if(botsToAdd > 0)
|
||||||
|
{
|
||||||
|
SetDvar("bots_manage_add", 0);
|
||||||
|
|
||||||
|
if(botsToAdd > 64)
|
||||||
|
botsToAdd = 64;
|
||||||
|
|
||||||
|
for(; botsToAdd > 0; botsToAdd--)
|
||||||
|
{
|
||||||
|
level add_bot();
|
||||||
|
wait 0.25;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fillMode = getDVarInt("bots_manage_fill_mode");
|
||||||
|
|
||||||
|
if(fillMode == 2 || fillMode == 3)
|
||||||
|
setDvar("bots_manage_fill", getGoodMapAmount());
|
||||||
|
|
||||||
|
fillAmount = getDvarInt("bots_manage_fill");
|
||||||
|
|
||||||
|
players = 0;
|
||||||
|
bots = 0;
|
||||||
|
spec = 0;
|
||||||
|
|
||||||
|
playercount = level.players.size;
|
||||||
|
for(i = 0; i < playercount; i++)
|
||||||
|
{
|
||||||
|
player = level.players[i];
|
||||||
|
|
||||||
|
if (player isdemoclient())
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if(player is_bot())
|
||||||
|
bots++;
|
||||||
|
else if(!isDefined(player.pers["team"]) || (player.pers["team"] != "axis" && player.pers["team"] != "allies"))
|
||||||
|
spec++;
|
||||||
else
|
else
|
||||||
|
players++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(fillMode == 4)
|
||||||
|
{
|
||||||
|
axisplayers = 0;
|
||||||
|
alliesplayers = 0;
|
||||||
|
|
||||||
|
playercount = level.players.size;
|
||||||
|
for(i = 0; i < playercount; i++)
|
||||||
{
|
{
|
||||||
playercount = level.players.size;
|
player = level.players[i];
|
||||||
for(i = 0; i < playercount; i++)
|
|
||||||
{
|
if(player is_bot())
|
||||||
player = level.players[i];
|
continue;
|
||||||
|
|
||||||
if(!isDefined(player.pers["team"]))
|
if(!isDefined(player.pers["team"]))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if(!player is_bot())
|
if(player.pers["team"] == "axis")
|
||||||
continue;
|
axisplayers++;
|
||||||
|
else if(player.pers["team"] == "allies")
|
||||||
if(player.pers["team"] == "axis")
|
alliesplayers++;
|
||||||
{
|
|
||||||
if(axis > teamAmount)
|
|
||||||
{
|
|
||||||
player thread [[level.allies]]();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(axis < teamAmount)
|
|
||||||
{
|
|
||||||
player thread [[level.axis]]();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
else if(player.pers["team"] != "allies")
|
|
||||||
{
|
|
||||||
player thread [[level.allies]]();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
result = fillAmount - abs(axisplayers - alliesplayers) + bots;
|
||||||
|
|
||||||
|
if (players == 0)
|
||||||
|
{
|
||||||
|
if(bots < fillAmount)
|
||||||
|
result = fillAmount-1;
|
||||||
|
else if (bots > fillAmount)
|
||||||
|
result = fillAmount+1;
|
||||||
|
else
|
||||||
|
result = fillAmount;
|
||||||
|
}
|
||||||
|
|
||||||
|
bots = result;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!randomInt(999))
|
||||||
|
{
|
||||||
|
setDvar("testclients_doreload", true);
|
||||||
|
wait 0.1;
|
||||||
|
setDvar("testclients_doreload", false);
|
||||||
|
doExtraCheck();
|
||||||
|
}
|
||||||
|
|
||||||
|
amount = bots;
|
||||||
|
if(fillMode == 0 || fillMode == 2)
|
||||||
|
amount += players;
|
||||||
|
if(getDVarInt("bots_manage_fill_spec"))
|
||||||
|
amount += spec;
|
||||||
|
|
||||||
|
if(amount < fillAmount)
|
||||||
|
setDvar("bots_manage_add", 1);
|
||||||
|
else if(amount > fillAmount && getDvarInt("bots_manage_fill_kick"))
|
||||||
|
{
|
||||||
|
tempBot = PickRandom(getBotArray());
|
||||||
|
if (isDefined(tempBot))
|
||||||
|
kick( tempBot getEntityNumber(), "EXE_PLAYERKICKED" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -520,108 +637,7 @@ addBots()
|
|||||||
{
|
{
|
||||||
wait 1.5;
|
wait 1.5;
|
||||||
|
|
||||||
botsToAdd = GetDvarInt("bots_manage_add");
|
addBots_loop();
|
||||||
|
|
||||||
if(botsToAdd > 0)
|
|
||||||
{
|
|
||||||
SetDvar("bots_manage_add", 0);
|
|
||||||
|
|
||||||
if(botsToAdd > 64)
|
|
||||||
botsToAdd = 64;
|
|
||||||
|
|
||||||
for(; botsToAdd > 0; botsToAdd--)
|
|
||||||
{
|
|
||||||
level add_bot();
|
|
||||||
wait 0.25;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fillMode = getDVarInt("bots_manage_fill_mode");
|
|
||||||
|
|
||||||
if(fillMode == 2 || fillMode == 3)
|
|
||||||
setDvar("bots_manage_fill", getGoodMapAmount());
|
|
||||||
|
|
||||||
fillAmount = getDvarInt("bots_manage_fill");
|
|
||||||
|
|
||||||
players = 0;
|
|
||||||
bots = 0;
|
|
||||||
spec = 0;
|
|
||||||
|
|
||||||
playercount = level.players.size;
|
|
||||||
for(i = 0; i < playercount; i++)
|
|
||||||
{
|
|
||||||
player = level.players[i];
|
|
||||||
|
|
||||||
if (player isdemoclient())
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if(player is_bot())
|
|
||||||
bots++;
|
|
||||||
else if(!isDefined(player.pers["team"]) || (player.pers["team"] != "axis" && player.pers["team"] != "allies"))
|
|
||||||
spec++;
|
|
||||||
else
|
|
||||||
players++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(fillMode == 4)
|
|
||||||
{
|
|
||||||
axisplayers = 0;
|
|
||||||
alliesplayers = 0;
|
|
||||||
|
|
||||||
playercount = level.players.size;
|
|
||||||
for(i = 0; i < playercount; i++)
|
|
||||||
{
|
|
||||||
player = level.players[i];
|
|
||||||
|
|
||||||
if(player is_bot())
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if(!isDefined(player.pers["team"]))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if(player.pers["team"] == "axis")
|
|
||||||
axisplayers++;
|
|
||||||
else if(player.pers["team"] == "allies")
|
|
||||||
alliesplayers++;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = fillAmount - abs(axisplayers - alliesplayers) + bots;
|
|
||||||
|
|
||||||
if (players == 0)
|
|
||||||
{
|
|
||||||
if(bots < fillAmount)
|
|
||||||
result = fillAmount-1;
|
|
||||||
else if (bots > fillAmount)
|
|
||||||
result = fillAmount+1;
|
|
||||||
else
|
|
||||||
result = fillAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
bots = result;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!randomInt(999))
|
|
||||||
{
|
|
||||||
setDvar("testclients_doreload", true);
|
|
||||||
wait 0.1;
|
|
||||||
setDvar("testclients_doreload", false);
|
|
||||||
doExtraCheck();
|
|
||||||
}
|
|
||||||
|
|
||||||
amount = bots;
|
|
||||||
if(fillMode == 0 || fillMode == 2)
|
|
||||||
amount += players;
|
|
||||||
if(getDVarInt("bots_manage_fill_spec"))
|
|
||||||
amount += spec;
|
|
||||||
|
|
||||||
if(amount < fillAmount)
|
|
||||||
setDvar("bots_manage_add", 1);
|
|
||||||
else if(amount > fillAmount && getDvarInt("bots_manage_fill_kick"))
|
|
||||||
{
|
|
||||||
tempBot = PickRandom(getBotArray());
|
|
||||||
if (isDefined(tempBot))
|
|
||||||
kick( tempBot getEntityNumber(), "EXE_PLAYERKICKED" );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -849,6 +865,26 @@ doFiringThread()
|
|||||||
self.bot_firing = false;
|
self.bot_firing = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Watches the planes
|
||||||
|
*/
|
||||||
|
bot_watch_planes_loop()
|
||||||
|
{
|
||||||
|
ents = GetEntArray("script_model", "classname");
|
||||||
|
for(i = 0; i < ents.size; i++)
|
||||||
|
{
|
||||||
|
ent = ents[i];
|
||||||
|
|
||||||
|
if(isDefined(ent.bot_plane))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if(ent.model != level.spyplanemodel)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
thread watch_plane(ent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Watches the planes
|
Watches the planes
|
||||||
*/
|
*/
|
||||||
@ -858,19 +894,7 @@ bot_watch_planes()
|
|||||||
{
|
{
|
||||||
level waittill("uav_update");
|
level waittill("uav_update");
|
||||||
|
|
||||||
ents = GetEntArray("script_model", "classname");
|
bot_watch_planes_loop();
|
||||||
for(i = 0; i < ents.size; i++)
|
|
||||||
{
|
|
||||||
ent = ents[i];
|
|
||||||
|
|
||||||
if(isDefined(ent.bot_plane))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if(ent.model != level.spyplanemodel)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
thread watch_plane(ent);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user