INeedGames

[Release] Bot Warfare

Recommended Posts

Welcome!

I have developed bot mods for call of duty for quite sometime now. Most notably for MW2. Unfortunately there were no real 'slick' way of controlling the bots, so we had to resort to 'hackish' ways of achieving even the simple task of moving a bot.

But CoD4x supplies scripters with the ability to control the bots in a more natural way. Allowing us to create a much better experience for bots.

You'll find that these bots function very similar to the bots you'll find in Black Ops series.

SERVER DVARS:

Quote

bots_manage_add - an integer amount of bots to add to the game, resets to 0 once the bots have been added.
    for example: 'bots_manage_add 10' will add 10 bots to the game.

bots_manage_fill - an integer amount of players/bots (depends on bots_manage_fill_mode) to retain on the server, it will automatically add bots to fill player space.
    for example: 'bots_manage_fill 10' will have the server retain 10 players in the server, if there are less than 10, it will add bots until that value is reached.

bots_manage_fill_mode - a value to indicate if the server should consider only bots or players and bots when filling player space.
    0 will consider both players and bots.
    1 will only consider bots.

bots_manage_fill_kick - a boolean value (0 or 1), whether or not if the server should kick bots if the amount of players/bots (depends on bots_manage_fill_mode) exceeds the value of bots_manage_fill.

bots_manage_fill_spec - a boolean value (0 or 1), whether or not if the server should consider players who are on the spectator team when filling player space.


bots_team - a string, the value indicates what team the bots should join:
    'autoassign' will have bots balance the teams
    'allies' will have the bots join the allies team
    'axis' will have the bots join the axis team
    'custom' will have bots_team_amount bots on the axis team, the rest will be on the allies team
    
bots_team_amount - an integer amount of bots to have on the axis team if bots_team is set to 'custom', the rest of the bots will be placed on the allies team.
    for example: there are 5 bots on the server and 'bots_team_amount 3', then 3 bots will be placed on the axis team, the other 2 will be placed on the allies team.

bots_team_force - a boolean value (0 or 1), whether or not if the server should enforce periodically the bot's team instead of just a single team when the bot is added to the game.
    for example: 'bots_team_force 1' and 'bots_team autoassign' and the teams become to far unbalanced, then the server will change a bot's team to make it balanced again.

bots_team_mode - a value to indicate if the server should consider only bots or players and bots when counting players on the teams.
    0 will consider both players and bots.
    1 will only consider bots.


bots_skill - value to indicate how difficult the bots should be.
    0 will be mixed difficultly
    1 will be the most easy
    2-6 will be in between most easy and most hard
    7 will be the most hard.
    8 will be custom.

bots_skill_axis_hard - an integer amount of hard bots on the axis team.
bots_skill_axis_med - an integer amount of medium bots on the axis team.
bots_skill_allies_hard - an integer amount of hard bots on the allies team.
bots_skill_allies_med - an integer amount of medium bots on the allies team, if bots_skill is 8 (custom). The remaining bots on the team will become easy bots.
    for example: having 5 bots on the allies team, 'bots_skill_allies_hard 2' and 'bots_skill_allies_med 2' will have 2 hard bots, 2 medium bots, and 1 easy bot on the allies team.


bots_loadout_reasonable - a boolean value (0 or 1), whether or not if the bots should filter out bad create a class selections (like no silenced miniuzi with overkill perk, etc)

bots_loadout_allow_op - a boolean value (0 or 1), whether or not if the bots are allowed to use jug, marty and laststand.

 

You can find the latest version over at ModDB:

https://www.moddb.com/mods/bot-warfare/downloads/cod4x-bot-warfare-latest

bots.zip

  • Like 1
  • Thanks 5

Share this post


Link to post
Share on other sites

Oh wow dude, you don't realise how much this will help people with testing of stuff :D Thanks for the release, I will be sure to test it out sometime soon 

  • Like 1

Share this post


Link to post
Share on other sites
9 hours ago, Koaja said:

Oh wow dude, you don't realise how much this will help people with testing of stuff :D Thanks for the release, I will be sure to test it out sometime soon 

me too

  • Like 1

Share this post


Link to post
Share on other sites

awesome, thanks for the release

  • Like 1

Share this post


Link to post
Share on other sites
On 1/2/2019 at 10:51 PM, INeedGames said:

Welcome!

I have developed bot mods for call of duty for quite sometime now. Most notably for MW2. Unfortunately there were no real 'slick' way of controlling the bots, so we had to resort to 'hackish' ways of achieving even the simple task of moving a bot.

But CoD4x supplies scripters with the ability to control the bots in a more natural way. Allowing us to create a much better experience for bots.

You'll find that these bots function very similar to the bots you'll find in Black Ops series.

SERVER DVARS:

 

You can find the latest version over at ModDB:

https://www.moddb.com/mods/bot-warfare/downloads/cod4x-bot-warfare-latest

bots.zip

briliant work man

if possible renamed bots?

Share this post


Link to post
Share on other sites
2 hours ago, TRAGEDY said:

Do we need to set the vars

manually?

I just put em in config like this:
 

set bots_team "autoassign" // autoassign; allies; axis; custom
// set bots_team_amount "4" // Кол-во axis при 'custom'
set bots_team_mode "0" // 0 = учитывать всех, 1 = ботов
set bots_manage_fill_mode "0" // 0 = учитывать всех, 1 = ботов
set bots_manage_fill "8"
set bots_manage_fill_kick "1"
set bots_manage_fill_spec "0"
set bots_team_force "0" // Боты иногда меняют команду
set bots_skill "0" // 0 = mix, 1 - 7, 8 = custom
set bots_loadout_allow_op "1"
set bots_loadout_reasonable "1"

So with that there always will be 8 players on server, but if someone joins(non-spec) one of the bots will leave
P.S Difficulty is in MIX mode

Share this post


Link to post
Share on other sites

I just installed your bot system and I have to say it works great.

Share this post


Link to post
Share on other sites
Posted (edited)

Thanks bro, does it work with mods or should we manually add it.

And does it work with new experience by @leiizko

Thanks In advance

Gd luck and thanks for your bot script hope more updates will come so keep up the gd work👍👊

 

Edited by TRAGEDY

Share this post


Link to post
Share on other sites
6 hours ago, TRAGEDY said:

And does it work with new experience by @leiizko

It works fine with NE just put it in _callbacksetup.gsx right in CodeCallback_StartGameType()

level thread maps\mp\bots\_bot::init();

And dont forget to put other BotWarfare folders in /main_share
P.S Bots wont use hardpoints in case if you enable shop system but its not so bad
 

Share this post


Link to post
Share on other sites

I have a question on using bots on mods, I see you have a  _custom_map.gsc file which looks like it mainly for mp_nuketown waypoints and works great with that map. The question is how to you add other custom maps to work with your bots? do you have to add a wayboints gsc for each map?

Share this post


Link to post
Share on other sites
2 hours ago, wkuzma said:

I have a question on using bots on mods, I see you have a  _custom_map.gsc file which looks like it mainly for mp_nuketown waypoints and works great with that map. The question is how to you add other custom maps to work with your bots? do you have to add a wayboints gsc for each map?

Hi, I'm new here and don't use CoD4x yet (I'm just kind of checking it out so far) but my experience with CoD4 is that yes, unfortunately, you must install a new waypoint file that is specific to any added map that you want to play. While I've been lucky enough to find about 75 waypoints by scrounging the internet for a month, there are HUNDREDS of maps for CoD4 and I would love to play them with bots, but there doesn't seem to be any kind of repository or gathering place to find and trade them with other users. The closest I found was the Pezbot forum page on MODDB which is only accessible to administrators with no explanation given.

I would very much love for someone to help both of us find more waypoints.

Share this post


Link to post
Share on other sites

hi, tell me how to disable the rank of bots. There are no ranks on the server and there are errors when starting the bots.

Share this post


Link to post
Share on other sites
Posted (edited)

error on my server

******* script runtime error *******
cannot cast undefined to bool: (file 'maps/mp/bots/_bot_internal.gsc', line 693)
  if(beforeTargetID != newTargetID)
                             *
started from:
(file 'maps/mp/bots/_bot_internal.gsc', line 462)
  wait 0.05;
  *

 

Edited by wkuzma

Share this post


Link to post
Share on other sites
Posted (edited)

this morning besides the above error it showed another error


******* script runtime error *******
cannot cast undefined to bool: (file 'maps/mp/bots/_bot_internal.gsc', line 737)
  while(self.bot.target.didlook)
                        *
started from:
(file 'maps/mp/bots/_bot_internal.gsc', line 738)
   wait 0.05;
   *
************************************

the server does not crash during the errors  but I would like to know why its happening if possible

 

Edited by wkuzma

Share this post


Link to post
Share on other sites

we reguarly get the following error with their bot warfare gsc.

throwing script exception: undefined is not an array, string, or vector

^1******* script runtime error *******
undefined is not an array, string, or vector: (file 'maps/mp/bots/_bot_script.gsc', line 261)
switch(self.pers["bots"]["skill"]["base"])
*
^1called from:
(file 'maps/mp/bots/_bot_script.gsc', line 30)
self thread difficulty();
*
^1called from:
(file 'maps/mp/bots/_bot.gsc', line 259)
self thread maps\mp\bots\_bot_script::connected();
*
^1called from:
(file 'maps/mp/bots/_bot.gsc', line 225)
player thread connected();
*
^1started from:
(file 'maps/mp/bots/_bot.gsc', line 219)
level waittill("connected", player);
*
^1************************************

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.