- Introduction
- Installation
- Settings and commands
- Usage
- Waypoints - Basic
- Waypoints - Common errors
- Waypoints - Useful keys binding

- Credits
- Version History
- Links

- Settings in podbot.cfg file

- Podbot control console commands

- Botaim2 console/config settings

- Weapon/equipment restrictions settings

- Waypoint console commands

- Auxiliary console commands

Settings and commands

- Settings in podbot.cfg file

  pb_minbotskill (value) - Sets the minimum Skill if Bots are created without specifying the Skill. Correct values are 1-100. Default is 1.

  pb_maxbotskill (value) - Sets the maximum Skill if Bots are created without specifying the Skill. Must be bigger than minbotskill (or at least equal) of course ! Correct values are minbotskill-100. Default is 100.

  pb_minbots (value) - configure the minimum number of bots that will run on the server. Default is 0.

  pb_maxbots (value) - configure the maximum number of bots that will run on the server. Default is 0.

  If You don't specify min/max_bots (You will comment them out in Your podbot.cfg) then the function auto/add kick bot (described a bit below) will not work. If You specify them - then they will support a minimum and maximum number of bots running on the server. Bots will be added to the server until the total number of players (bots and humans) reaches the max_bots value. Each time a new player joins the server, a bot will be kicked from the server unless there are only min_bots number of bots currently on the server. After players disconnect from the server, bots will be automatically added back to the server until the total number of players reaches max_bots again. You should make max_bots be AT LEAST one less than the maxplayers value (otherwise no one will be able to join your server). Some more explanation to this function You can find here. That function also doesn't work in the case if pb_bot_quota_match is defined as grater than 0 (in that case number of bots follows the number of humans multiplied by pb_bot_quota_match (of course in the range between pb_minbots/pb_maxbots). More info read below.

  pb_bot_quota_match (value) - configure the number of bots that will match humans on the server (number_of_bots = number_of_humans * pb_bot_quota_match). In this case number of bots will be limited by pb_minbots and pb_maxbots settings. For that function pb_maxbots keeps the max limit of bots on the server (not max number of bots + humans like it's for auto add/kick bot function). The work of the function matching humans is stopped by usage some of these functions - pb fillserver or pb removebots (in both cases pb_bot_quota_match will be set to 0). If pb_bot_quota_match is grater than 0 You cannot also use the function pb add or pb remove (because of the reason the amount of bots must match humans...). Default is 0 (bots don't match humans).

  pb_bot_join_team (string) - forces joining the bots to specyfied team (T or CT) to overwrite the setting of the command pb add or pb fillserver. Useful if You want to keep always bots in one team against humans in the other. Possible value of argument - "T", "CT", ANY". Default is "ANY" (bots aren't forced to join any specyfic team.

  pb_skin (value) - forces the bots to use the specyfied skin and to overwrite the skin setting of the command pb add or pb fillserver. Useful if You want to have always bots in one team with the same skin. Argument values: 1,2,3,4 - they are forced skins, 0,5 - default - no forcing

  pb_ffa (1|0) - swiches to on the Free For All mode (bots will kill also their teamnates). Default is 0 (off)

  pb_chat (1|0) - Turns on/off Botchatting. Bots chat if they killed someone, if the Bomb was planted or if they are dead and bored. Default is on (1).

  NOTE:

  botchat.txt file must be in addons/podbot directory even if Botchat is turned off !

  pb_radio (1|0) - Turns on/off radio usage. It affects also bots reaction to the radio command the human-players may issue. Default is on (1).

  pb_latencybot [0|1] - Lets You show one the scoreboard the string [BOT] instead nothing. (valid only for the bots they are created - it doesn't affect those in-game ones). Default is off (0).

  pb_jasonmode (1|0) - Turns on/off Jason Mode ! Meaning Bots don't buy weapons and only use the knife for combat ! Greets to Auxois ! Use this for much fun with e.a. cs_estate or cs_office . Default is off (0).

  pb_wptfolder (folder) - Sets the default Folder for loading/saving Waypoint Files. This folder HAS to be inside the POD-Bot Directory ! Don't put it into quotation marks and don't use spaces or a trailing backslash ! Default folder - wptdefault

  pb_detailnames (0|1|2|3) - Turns on/off the Skilldisplay behind names and the personality ( [POD], [P*D], [P0D] ) before the name. 0 - no skill sufix and no personality prefix displayed; 1 - the skill as sufix and the personality prefix added to the bot's name; 2 - only the personality prefix is added to the name; 3 - only the skill sufix is added to the new created bot. Default is prefix and sufix diplayed near the name of the bot added (1).

  pb_numfollowuser (number) - Sets the maximum number of Bots in the team to follow the same user (when Radio Command "Follow Me" is used). Default is 3.

  pb_maxweaponpickup (number) - Sets the maximum number of weapons Bots are allowed to pickup during a round. If You don't want to limit bots with pickuping weapons (for example while playing CSDM or fy_ maps) You can use "-1" value. Default is 10.

  pb_shootthruwalls (1|0) - This cvar specifies if Bots are allowed to shoot through Walls if they saw an enemy or if they heard someone on the other Side of a Wall. Default is on (1).

  pb_usespeech (1|0) - Turns on/off usage of HL Engine Speech Synthesis at the game start. Default is on (1).

  pb_spray (1|0) - Set this to off to disallow Bot Logo Spraying. Default is on (1).

  pb_mapstartbotdelay (value) - Delay (in seconds) of bots joining after new map start to prevent kick some human-players at map change. Default is 5.

  pb_maxcamptime (value) - It says how many maximum seconds the bot may stay camping in one place before going somewhere else. Default is 30 (s)

  pb_autokill (1|0) - Turns on/off auto killing bots if all human players are dead already. Default is off (0).

  pb_autokilldelay (value) - Delay (in seconds) autokilling bots if autokill is enabled. Default is 45.

  NOTE:
  These 3 settings below seriously affects the Bots Perception.
  They specify the rate (in seconds) of updating some of the Bot Checks like: some sound, some possibility of pickup any item or usage grenade by bots. If you've got a slow computer you could try changing these to higher values to get some performance back.If you've got a fast computer you might try lowering them to get better even better playing results.
  pb_timer_sound (value) - Default is 1.0 (in seconds).
  pb_timer_pickup (value) - Default is 0.3 (in seconds).
  pb_timer_grenade (value) - Default is 0.5 (in seconds).

  pb_welcomemsgs (1|0) - Lets You to disable some welcome messages, if You would like for example the people don't know there are some bots on the server. Default is on (1).

  pb_dangerfactor (value) - The setting here specifies the danger factor with which the bots will weighten any waypoint where they have been killed in the past, in order to avoid it later. The higher the value, the more the bot will care about these waypoints and pick other routes instead. Progression is logarithmic. Warning: higher values require more CPU. Default is 2000.

  pb add [skill [personality [team [model [name]]]]]

  Adds a Bot with parameters - skill You can write from 1 to 100; if You will write 101 it will mean random skill from minbotskili to maxbotskill specified above.
  Personality - 1 to 3 or 5 and these value mean:

  - 1 - Normal [POD]
  - 2 - Aggresive [P*D]
  - 3 - Defensive [P0D]
  - 5 - Random personality from these 3 above
  Team 1 is for Terrorists, 2 for Counter Terrorists and 5 to use auto-assign. This setting might be overwritten by forcing bots to join always one team if pb_bot_join_team is equal to "T" or "CT".
  Model (class) is 1-4 or 5 (5 means random from 1 to 4).
  Name is of course the name for this Bot.
  Every command needs to be precedented by "pb" prefix (without quotes).
  If You want to use space in the name of Your bot You have to use quotes (for example: pb add 100 2 1 4 "James Bond").
  You may not specify some argument without these before (for example - You may not specify bot's name without its skill nor personality nor team nor model - like this:
  pb add Roger
  this is an invalid call of the function adding bot and then some bot with all random parameters (including also the name) will be added to the game.
  You don't need of course specify all parameters - but if You need to specify some of them exactly - all other You have to specify as random. In our example to add some bot with the name Roger You have to write the line:
  pb add 101 5 5 5 Roger
  and this call of add function is correctly.
  If You want to add some bot to the game with skill 100 to T team, the line should be like this:
  pb add 100 5 1
  In this case the parameters AFTER the latest one You need to specify - aren't important (You don't need write anything more). The model will be selected automatically and the name will be choosen from botnames.txt file.

  Some other examples:

  pb add -->skill gets based on mix\max, all else random
  pb add 50 -->skill is 50 all else random
  pb add 100 1 2 1 "Mr Kabby" -->all have been set

  pb fillserver [skill [personality [team [model]]]]

  Meaning of the parameters is like for add command. This command let You fill the server by bots until reaching by podbots+human_players(or other bots):
  a) the max_bots value if it is specyfied (different than 0)
  b) max_players if pb_maxbots is not specyfied (or is equal to 0)
  If You want fill Your server by bots with random skill (between pb_minbotskill and pb_maxbotskill), but as "aggresssive" (and You don't care about their models or team), write this line:
  pb fillserver 101 2
  If You want for example fill the server by bots with skill 100, random personality , random team and random model - write this line:
  pb fillserver 100
  If You wish to fill the server by bots, but all bots to one team only - then write this:
  a)example for T team and skill 90, all else random:
  pb fillserver 90 5 1
  b)example for CT team and skill and personalities randomly, model 3:
  pb fillserver 101 5 2 3
  The rules are the same for parameters like for add command (except 'name' parameter - for fillserver this parameter doesn't exist).

  NOTE:

  If You want fill server by bots to only one team don't forget set-up game variables mp_autoteambalance and mp_limitteams to 0.
  VERY IMPORTANT

  Since version 3 of podbot the access to podbotmenu is available also on a dedicated server!!!

  pb_passwordkey (string) - passwordkey - need set as setinfo to get access to the main podbot menu. Default is "_pbadminpw"

  pb_password (string) - sets the password to let admin control bots on the server throw podbotmenu.
  To get access to podbotmenu You need to write in Your podbot.cfg (on the server) line like this:
  pb_password "your_password"
  and also write in autoexec.cfg the setinfo line (at Your client PC in cstrike directory) as:
  setinfo "_pbadminpw" "your_password"
  In the above example You may need to write Your-own passwordkey instead default _pbadminpw - if You changed the default setting for it as pb_passwordkey.
  The string was called as "your_password" it's just Your password You need to write in these both places - in podbot.cfg (near pb_password) and in autoexec.cfg (as setinfo line).

  pb_aim_type (value) - sets the aim type of bots. Available aim type:
  1 = inhuman turns
  2 = constant angle velocity
  3 = botaim1
  4 = botaim2
  Default is 4 (Pierre-Marie Baty's botaim2 enabled).

- Podbot control console commands

  You can change all parameters described above from console - if You wish to do this.

  Except these commands described above there are also some other available commands You can write in console.

  pb menu - this command brings up for You the menu to control bots. You can bind it (like it's done in default podbot.cfg file existing in package for podbot V3).
  bind "=" "pb menu"

  pb help - this command lists all available bot console commands. In the future we want to write more precisly help for every command separately.

  pb killbots - this command kill all pod bots in the game. Useful for testing if bots got stuck somewhere becasue of bad waypointing and You want simply finish the round.

  pb remove (#bot_id | bot_name) - this command lets kick the selected bot from the game. bot_id parameter is this what You can see when You write status in console (the same like for standard kick command). bot_name - it's second method to specify which one bot has to be kicked (it's like kick by the name).

  NOTE:

  If Your bot has a space in its name (for example - James Bond) You need to use quotes to successfully usage of the remove command. Example:
  pb remove "[P*D]James Bond (100)"
  Look at this example with attention - if detailnames is on - You have to write also this personality prefix and skill sufix - all must be in quotes - because all of this it's the bot's name in this example.

  pb removebots - this command kick bots from Your server until reaching min_bots. If min_bots is 0 then all bots will be kicked out by this command.

  pb weaponmode (value) - correct value are 1 to 7. This command lets You select the weapon will be used by bots only (they will not buy another type). 1 - Knife only (JasonMode!)
  2 - Pistols
  3 - Shotguns
  4 - Machine Guns
  5 - Rifles
  6 - Sniper Weapons
  7 - All Weapons (Standard)

  pb_version - (yes, with undescore line) this command returns the version number (as a string) of the POD's build

- Botaim2 console/config settings

  pb_aim_spring_stiffness_x (value) - VERTICAL (up/down) spring stiffness of the aiming system. This value affects the quickness of the crosshair movement, as well as the frequency of the resulting oscillations.(default: 13.0)

  pb_aim_spring_stiffness_y (value) - HORIZONTAL (left/right) spring stiffness of the aiming system. This value affects the quickness of the crosshair movement, as well as the frequency of the resulting oscillations. (default: 13.0)

  pb_aim_damper_coefficient_x (value) - VERTICAL (up/down) damping coefficient of the aiming system. This value also affects the quickness of the crosshair movement, and the amplitude of the resulting oscillations.(default: 0.22)

  pb_aim_damper_coefficient_y (value) - HORIZONTAL (left/right) damping coefficient of the aiming system. This value also affects the quickness of the crosshair movement, and the amplitude of the resulting oscillations.(default: 0.22)

  pb_aim_deviation_y (value) - VERTICAL (up/down) error margin of the aiming system. This value affects how far (in game length units) the bot will allow its crosshair to derivate from the ideal direction when not targeting any player in particular. (default: 2.0)

  pb_aim_deviation_y (value) - HORIZONTAL (left/right) error margin of the aiming system. This value affects how far (in game length units) the bot will allow its crosshair to derivate from the ideal direction when not targeting any player in particular. (default: 1.0)

  pb_aim_influence_x_on_y (value) - Perpendicular influence of the vertical axis on a HORIZONTAL movement. This value affects how much (in fraction of 1) the bot will be disturbed when moving its crosshair on an axis by the inherent movement on the other axis. (default: 0.25)

  pb_aim_influence_y_on_x (value) - Perpendicular influence of the horizontal axis on a VERTICAL movement. This value affects how much (in fraction of 1) the bot will be disturbed when moving its crosshair on an axis by the inherent movement on the other axis. (default: 0.17)

  pb_aim_offset_delay (value) - Maximal value in seconds after which the aiming system will re-evaluate its ideal direction. This affects how often a bot will attempt to correct an imprecise crosshair placement by moving the crosshair inside the error margin bounds defined by the botaim_deviation CVARs. (default: 1.2)

  pb_aim_notarget_slowdown_ratio (value) - Fraction of the full speed the aiming system will adopt as speed when aiming at nothing in particular. This affects how slow the bot will move its crosshair when targeting nobody, relatively to its full speed capacity. (default: 0.5)

  pb_aim_target_anticipation_ratio (value) - Fraction of the estimated target's velocity the aiming system will rely on when aiming at a moving target. This affects how well the bot will be able to track moving targets on the fly, and whether it will have a tendancy to aim ahead of it or behind it. (default: 2.2)

- Weapon/equipment restrictions settings Note:

  This feature is absolutely new and it has been requested long time ago at BU forum by the people using AMX/AMXX/ClanMod weapon restriction. The people got frustrated when admin restricted for the players for example awp usgae, but bots still could buy it. Since this version it's possible to follow weapon/equipment restrictions done by those fun mods. There is a need to rewrite a bit restmenu.sma in AMX/AMXX to get cvar/cvars interface - to follow it in some another sma plugin to give the correct info to podbot mm binary. There is also a possibility to control manually weapons availability/restriction. The interface lets You use 2 strings bitwise as "00100..." - 0 means the weapon is available, 1 means the weapon is restricted. There are 2 cvars (as strings) defined for restrictions in podbot mm:

  pb_restrweapons (default "00000000000000000000000000")
  and
  pb_restrequipammo (default "000000000")
  The most left bit is numbered as 0, the next one is 1 etc.
  The meaning of bits of pb_restrweapons cvar:
  Pistols restriction
  0 - KNIFE
  1 - USP
  2 - GLOCK18
  3 - DEAGLE
  4 - P228
  5 - ELITE
  6 - FIVESEVEN
  Shotgun restrictions
  7 - M3
  8 - XM1014
  SMG restrictions
  9 - MP5NAVY
  10 - TMP
  11 - P90
  12 - MAC10
  13 - UMP45
  Rifles restrictions
  14 - AK47
  15 - SG552
  16 - M4A1
  17 - GALIL
  18 - FAMAS
  19 - AUG
  20 - SCOUT
  21 - AWP
  22 - G3SG1
  23 - SG550
  Machine Gun restriction
  24 - M249
  Shield restriction
  25 - SHIELD
  Exmple restrictions for shield, awp and XM1014:
  pb_restrweapons "00000000100000000000010001"
  The meaning of bits of pb_restrequipammo cvar:
  0 - vest
  1 - vest and helmet
  2 - flashbang
  3 - he grenade
  4 - smoke grenade
  5 - defuser
  6 - night vision googles
  7 - primary ammo
  8 - secondary ammo
  Exmple restrictions for flashbang, primary and secondary ammo:
  pb_restrequipammo "001000011"
- Waypoint console commands Note:

  These commands below are valid only on listenserver.

  pb wp teleport (value) - Teleports You to the waypoint number You write here as a value.

  pb wp teleport camp - As above, but instead value You write "camp" - it teleports You to the next waypoint number with the camp flag. It's usefull to fix old pwf files with different format for camp waypoints.

  pb wp teleport use - As above, but instead value You write "use" - it teleports You to the next waypoint number with the USE_BUTTON flag. It's usefull to fix old pwf files with sometimes useless USE_BUTTON flag, which may cause some strange bots behavior - they may need to "use" something which is unaccessible, but they will fail.

  pb wp stats - Shows the number of different waypoints You did already set.

- Auxiliary console commands

  pb debuggoal (value) - this command force bots to go to the waypoint number specyfied here as a goal (target). Default is -1 (-1 means no extra goal waypoint specyfied and bots aren't forced to go to some waypoint). More info You can find in Waypointing section of this doc.

  pb experience save - Saves the experience and the visibility tables to the files (*.pxp and *.pvi) - if needed to do it manually.

  pb experience show - Shows the data stored in the pxp file.

  pb experience test_a_T index1 index2 byPathType - shows the path the Terrorist bot would like to choose from WP index1 to WP index2 according to kind of algorithm :
  byPathType = 0 - the shortest way according to distances between waypoints (used by aggressive bots), byPathType = 1 - the shortest way according to distances between waypoints and to the collected experience (damages collected - used by normal bots), byPathType = 2 - the shortest way according to collected experience (no matter what is the distance between waypoints, but the safest way - used by the most scaried bots).

  pb experience test_a_CT index1 index2 byPathType - shows the path the Counter-Terrorist bot would like to choose from WP index1 to WP index2 according to explained above byPathType parameter.

  pb experience test_a_CTH index1 index2 byPathType - shows the path the Counter-Terrorist bot (with following him a hostage/hostages) would like to choose from WP index1 to WP index2 according to explained above byPathType parameter.