mirror of
https://github.com/Resxt/Plutonium-IW5-Scripts.git
synced 2025-04-18 20:22:53 +00:00
Create manage_bots_fill
This commit is contained in:
parent
0fea8f023d
commit
c920a76681
@ -57,6 +57,13 @@ This checks for bots kills and deaths every 30 seconds. If they didn't do any ki
|
||||
Obviously a better way to do this would be checking for their positions or removing bad spawns on the map or creating waypoints for the map.
|
||||
This is just a quick temporary solution that works for me.
|
||||
|
||||
## manage_bots_fill.gsc
|
||||
|
||||
Simple script that changes the Bot Warfare `bots_manage_fill` dvar dynamically to avoid using resource for an empty server.
|
||||
Whenever a player connects or disconnects the script checks the amount of human players and the value of `bots_manage_fill` and sets it accordingly.
|
||||
If the first player joins, it sets the dvar to the value you configured for that specific server (set in `InitServersDvar()` with the server port).
|
||||
If the last player leaves it sets back the dvar to 0 so that no bots will be playing, saving some resources on that server.
|
||||
|
||||
## remove_heavy_weapon_slow.gsc
|
||||
|
||||
Set back your speed scale to default whenever you have an heavy weapon equipped.
|
||||
|
79
small_scripts/manage_bots_fill.gsc
Normal file
79
small_scripts/manage_bots_fill.gsc
Normal file
@ -0,0 +1,79 @@
|
||||
#include maps\mp\bots\_bot_utility;
|
||||
|
||||
Init()
|
||||
{
|
||||
InitManageBotsFill();
|
||||
}
|
||||
|
||||
InitManageBotsFill()
|
||||
{
|
||||
InitServersDvar();
|
||||
|
||||
SetDvar("bots_manage_fill_kick", 1);
|
||||
|
||||
level thread OnPlayerConnect();
|
||||
}
|
||||
|
||||
OnPlayerConnect()
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
level waittill("connected", player);
|
||||
|
||||
if (!player IsBot())
|
||||
{
|
||||
TryUpdateBotsManageFill();
|
||||
|
||||
player thread OnPlayerDisconnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
OnPlayerDisconnect()
|
||||
{
|
||||
self waittill("disconnect");
|
||||
|
||||
TryUpdateBotsManageFill();
|
||||
}
|
||||
|
||||
InitServersDvar()
|
||||
{
|
||||
level.manage_bots_fill = [];
|
||||
|
||||
level.manage_bots_fill["27017"] = "12";
|
||||
}
|
||||
|
||||
TryUpdateBotsManageFill()
|
||||
{
|
||||
wait 1;
|
||||
|
||||
if (HasHumanPlayers())
|
||||
{
|
||||
if (GetDvar("bots_manage_fill") != level.manage_bots_fill[GetDvar("net_port")])
|
||||
{
|
||||
SetDvar("bots_manage_fill", level.manage_bots_fill[GetDvar("net_port")]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SetDvar("bots_manage_fill", 0);
|
||||
}
|
||||
}
|
||||
|
||||
IsBot()
|
||||
{
|
||||
return IsDefined(self.pers["isBot"]) && self.pers["isBot"];
|
||||
}
|
||||
|
||||
HasHumanPlayers()
|
||||
{
|
||||
foreach (player in level.players)
|
||||
{
|
||||
if (!player IsBot())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user