Version 2.1.0

This commit is contained in:
ineed bots 2022-05-08 17:46:25 -06:00
parent 9c20cf621b
commit a64a0cc810
15 changed files with 9340 additions and 5631 deletions

View File

@ -5,7 +5,7 @@ Bot Warfare is a GSC mod for the [CoD4x project](https://github.com/callofduty4x
It aims to add playable AI to the multiplayer games of CoD4.
You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfare/downloads/cod4x-bot-warfare-latest) and the CoD4x.me post [here](https://cod4x.me/index.php?/forums/topic/3116-release-bot-warfare/).
You can find the ModDB release post [here](https://www.moddb.com/mods/bot-warfare/downloads/cod4x-bot-warfare-latest) and the CoD4x forum post [here](https://cod4x.ovh/index.php?/forums/topic/3116-release-bot-warfare/).
## <span style="color:red">Important to public dedicated servers</span>
The ```bots_main_firstIsHost``` DVAR is enabled by default!
@ -57,15 +57,15 @@ Make sure to disable this DVAR by adding ```set bots_main_firstIsHost 0``` in yo
- ... And pretty much everything you expect a Combat Training bot to have
## Installation
Using CoD4x's extended functionality requires to use their Dedicated server, as explained [here](https://cod4x.me/index.php?/forums/topic/2047-add-cod4x-server-gsc-functions-to-the-client/).
Using CoD4x's extended functionality requires to use their Dedicated server, as explained [here](https://cod4x.ovh/index.php?/forums/topic/2047-add-cod4x-server-gsc-functions-to-the-client/).
You can easily setup a local LAN dedicated server for you to join and play on. Have a look at [Setting up a CoD4x server]().
0. Make sure that [CoD4x server + client](https://cod4x.me/) is installed, updated and working properly.
0. Make sure that [CoD4x server + client](https://cod4x.ovh/) is installed, updated and working properly.
- Download the [latest release](https://github.com/ineedbots/cod4x_bot_warfare/releases) of Bot Warfare.
1. Locate your CoD4x server install folder.
2. Move the files/folders found in 'Add to root of CoD4x server' from the Bot Warfare release archive you downloaded to the root of your CoD4x server folder.
- The folder/file structure should follow as '.CoD4x server folder\main_shared\maps\mp\bots\_bot.gsc'.
- The folder/file structure should follow as `.CoD4x server folder\main_shared\maps\mp\bots\_bot.gsc`.
3. The mod is now installed, now start your server, change the DVARs and start a map.
4. Now start your CoD4x client and connect to your server ('connect 127.0.0.1' in the console most likely) and play!
@ -88,6 +88,7 @@ You can easily setup a local LAN dedicated server for you to join and play on. H
| bots_main_menu | Enable the in-game menu for hosts. | true |
| bots_main_debug | Enable the in-game waypoint editor. | false |
| bots_main_kickBotsAtEnd | Kick the bots at the end of a match. | false |
| bots_main_chat | The rate bots will chat at, set to 0 to disable. | 1.0 |
| bots_manage_add | Amount of bots to add to the game, once bots are added, resets back to `0`. | 0 |
| bots_manage_fill | Amount of players/bots (look at `bots_manage_fill_mode`) to maintain in the match. | 0 |
| bots_manage_fill_mode | `bots_manage_fill` players/bots counting method.<ul><li>`0` - counts both players and bots.</li><li>`1` - only counts bots.</li></ul> | 0 |
@ -121,6 +122,17 @@ You can easily setup a local LAN dedicated server for you to join and play on. H
## Changelog
- v2.1.0
- Bot chatter system, bots_main_chat
- Greatly reduce script variable usage
- Improved bots mantling and stuck
- Fix some runtime errors
- Bots sprint more
- Improved bots sight on enemies
- Bots do random actions while waiting at an objective
- Improved bots from getting stuck
- Better bot difficulty management, bots_skill_min and bots_skill_max
- v2.0.1
- Reduced bots crouching
- Increased bots sprinting

@ -1 +1 @@
Subproject commit 65a344f95388f6d0f0704f3c4517283670bb2818
Subproject commit c734ac790d590225e613fa3c2b10f411c29885aa

View File

@ -8,7 +8,7 @@
*/
init()
{
level.bw_VERSION = "2.0.1";
level.bw_VERSION = "2.1.0";
if ( getDvar( "bots_main" ) == "" )
setDvar( "bots_main", true );

File diff suppressed because it is too large Load Diff

View File

@ -10,35 +10,35 @@
/*
Will attempt to retreive waypoints from the internet
*/
getRemoteWaypoints(mapname)
getRemoteWaypoints( mapname )
{
url = "https://raw.githubusercontent.com/ineedbots/cod4x_waypoints/master/" + mapname + "_wp.csv";
filename = "waypoints/" + mapname + "_wp.csv";
printToConsole("Attempting to get remote waypoints from " + url);
res = getLinesFromUrl(url, filename);
printToConsole( "Attempting to get remote waypoints from " + url );
res = getLinesFromUrl( url, filename );
if (!res.lines.size)
if ( !res.lines.size )
return;
waypointCount = int(res.lines[0]);
waypointCount = int( res.lines[0] );
waypoints = [];
printToConsole("Loading remote waypoints...");
printToConsole( "Loading remote waypoints..." );
for (i = 1; i <= waypointCount; i++)
for ( i = 1; i <= waypointCount; i++ )
{
tokens = tokenizeLine(res.lines[i], ",");
waypoint = parseTokensIntoWaypoint(tokens);
tokens = tokenizeLine( res.lines[i], "," );
waypoints[i-1] = waypoint;
waypoint = parseTokensIntoWaypoint( tokens );
waypoints[i - 1] = waypoint;
}
if (waypoints.size)
if ( waypoints.size )
{
level.waypoints = waypoints;
printToConsole("Loaded " + waypoints.size + " waypoints from remote.");
printToConsole( "Loaded " + waypoints.size + " waypoints from remote." );
}
}
@ -49,20 +49,20 @@ doVersionCheck()
{
remoteVersion = getRemoteVersion();
if (!isDefined(remoteVersion))
if ( !isDefined( remoteVersion ) )
{
printToConsole("Error getting remote version of Bot Warfare.");
printToConsole( "Error getting remote version of Bot Warfare." );
return false;
}
if (level.bw_VERSION != remoteVersion)
if ( level.bw_VERSION != remoteVersion )
{
printToConsole("There is a new version of Bot Warfare!");
printToConsole("You are on version " + level.bw_VERSION + " but " + remoteVersion + " is available!");
printToConsole( "There is a new version of Bot Warfare!" );
printToConsole( "You are on version " + level.bw_VERSION + " but " + remoteVersion + " is available!" );
return false;
}
printToConsole("You are on the latest version of Bot Warfare!");
printToConsole( "You are on the latest version of Bot Warfare!" );
return true;
}
@ -77,16 +77,16 @@ getRemoteVersion()
data = undefined;
#endif
if (!isDefined(data))
if ( !isDefined( data ) )
return undefined;
return strtok(data, "\n")[0];
return strtok( data, "\n" )[0];
}
/*
Returns an array of each line from the response of the http url request
*/
getLinesFromUrl(url, filename)
getLinesFromUrl( url, filename )
{
result = spawnStruct();
result.lines = [];
@ -97,25 +97,26 @@ getLinesFromUrl(url, filename)
data = undefined;
#endif
if (!isDefined(data))
if ( !isDefined( data ) )
return result;
fd = FS_FOpen(filename, "write");
fd = FS_FOpen( filename, "write" );
line = "";
for (i=0;i<data.size;i++)
for ( i = 0; i < data.size; i++ )
{
c = data[i];
if (c == "\n")
if ( c == "\n" )
{
result.lines[result.lines.size] = line;
if (fd > 0)
if ( fd > 0 )
{
if (!FS_WriteLine(fd, line))
if ( !FS_WriteLine( fd, line ) )
{
FS_FClose(fd);
FS_FClose( fd );
fd = 0;
}
}
@ -126,10 +127,11 @@ getLinesFromUrl(url, filename)
line += c;
}
result.lines[result.lines.size] = line;
if (fd > 0)
FS_FClose(fd);
if ( fd > 0 )
FS_FClose( fd );
return result;
}

View File

@ -1,4 +1,4 @@
# CoD4x Bot Warfare
# CoD4x Bot Warfare v2.1.0
Bot Warfare is a GSC mod for the CoD4x project.
It aims to add playable AI to the multiplayer games of CoD4.
@ -12,7 +12,7 @@ Make sure to disable this DVAR by adding 'set bots_main_firstIsHost 0' in your s
## Installation
0. Make sure that CoD4x server + client is installed, updated and working properly.
- Go to https://cod4x.me/ and download the Windows Server zip file. Move the contents of 'cod4x-windows-server' into your CoD4 game folder.
- Go to https://cod4x.ovh/ and download the Windows Server zip file. Move the contents of 'cod4x-windows-server' into your CoD4 game folder.
1. Locate your CoD4x server install folder.
2. Move the files/folders found in 'Add to root of CoD4x server' from the Bot Warfare release archive you downloaded to the root of your CoD4x server folder.
- The folder/file structure should follow as '.CoD4x server folder\main_shared\maps\mp\bots\_bot.gsc'.
@ -30,6 +30,17 @@ Make sure to disable this DVAR by adding 'set bots_main_firstIsHost 0' in your s
- Pressing the menu button again closes menus.
## Changelog
- v2.1.0
- Bot chatter system, bots_main_chat
- Greatly reduce script variable usage
- Improved bots mantling and stuck
- Fix some runtime errors
- Bots sprint more
- Improved bots sight on enemies
- Bots do random actions while waiting at an objective
- Improved bots from getting stuck
- Better bot difficulty management, bots_skill_min and bots_skill_max
- v2.0.1
- Reduced bots crouching
- Increased bots sprinting

BIN
out/ss.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 MiB