Omni-bot Command Reference

### Console Commands

Omni-bot comes with a wide range of utilities in the form of console commands for general purpose usage as well as debugging tools for waypointing.
You can also add/write your own commands into file et\_autoexec\_user.gm or rtcw\_autoexec\_user.gm in scripts folder.

* How to open console and execute command
* Goal Commands
* Waypoint Commands

#### addbot

Do NOT use this command on dedicated servers. Command  maxbots must be used on servers.
If you play game on your home computer and you want bots to be added automatically, you can use command  maxbots too. If you want to add bots manually every time you start the game, you should use command  ab. Command addbot is useful only if you need unbalanced teams.

```
 syntax: bot addbot <optional team> <optional class> <optional name>
 example: /bot addbot 2 1 bob will add a soldier named bob to the allied team in ET

```

team: 1 = Axis, 2 = Allies

class: 1 = Soldier, 2 = Medic, 3 = Engineer, 4 = Field Ops, 5 = Covert Ops

Note: Command addbot chooses bot's name randomly. Command  ab chooses names according to team and class as defined in file et\_botnames\_ext.gm.

Note: Bots select their class every time they spawn. If you want to set classes manually, you must change DisableClassManager value to 1 in file et\_autoexec.gm.

#### debugbot

Enables debugging output on a specific bot or all bots.

```
 syntax: bot debugbot botname debugtype
 example: bot debugbot all fpinfo

```

debug types: log, move, script, fpinfo, planner, events, failedpaths, aim, sensory, steer, target

Debug type can also be a ScriptGoal name to toggle Debug property.

#### debugtriggers

Prints triggers to console.

```
 syntax: bot debugtriggers <optional 1/0/on/off> <optional regular expression>
 usage: used for checking or identifying trigger names to be used with map scripting. when turned on, you will see
        messages about events as they occur in the map:

 <+++> Trigger: TagName: The Tank has been repaired! Action: announce Entity: 0x7016dd8c Activator: 0

 <+++> means that a callback (trigger) is set up and has been called, while <---> means no callback is associated
 TagName is the string to use for the OnTrigger function in the map script
 Action is the category in which the event is recognized

 notes: this is a toggle. issuing the command a second time will turn it off.

```

#### dontshoot

Enables/disables all bot shooting ability.

```
 syntax: bot dontshoot true/false/1/0/yes/no
 example: bot dontshoot 1 will stop all bots from shooting.

```

#### draw\_goalrange

Renders all goals range radius and prints it to the console.

```
 syntax: bot draw_goalrange

```

#### draw\_goalroutes

Renders route paths.

```
 syntax: bot draw_goalroutes on/off goalname
 example: bot draw_goalroutes on will draw route paths to all goals set up for routing

 notes: the goalname parameter is optional and supports expressions. i.e. bot draw_goalroutes on ATTACK.* will draw route to all of
        the attack goals in the map that are set up for routing
        this command was added in version 0.7

```

#### draw\_goals

Draws debug information for all mapgoals.

```
 syntax: bot draw_goals on/off goalname
 example: bot draw_goals on will draw squares around all objective goals and highlight the radius of attack / defend goals

 notes: the goalname parameter is optional and supports expressions. i.e. bot draw_goals on ATTACK.* will highlight all of
        the attack goals in the map.

```

#### drawblocktests

Enables drawing of blockable line tests.

```
 syntax: bot drawblocktests 1/0
 example: bot drawblocktests 1 turns on drawing of block tests

 useage: will draw block test lines in addition to the ones drawn in waypoint mode.

```

#### drawtriggers

Renders any active trigger zones.

```
 syntax: bot drawtriggers <optional 1/0>

```

#### help

List all bot commands available in console.

```
 syntax: bot help

```

#### kickall

Kick all bots from the game by name.

```
 syntax: bot kickall

```

#### kickbot

Removes a bot from the game.

```
 syntax: bot kickbot <botname>
 example: bot kickbot [BOT]Aimless

```

#### nav\_benchmarkgetnavpoint

Development tool. Performs a GetClosestWaypoint test with every waypoint. Used to test the speed of nearest waypoint lookups.

#### nav\_benchmarkpathfinder

Development tool. Executes a path search between every waypoint and every other waypoint. Used to test the speed of the path finding system.

#### nav\_logfailedpath

Saves info about failed path attempts for debugging.

#### nav\_resaveall

Re-save all nav files to the newest file format.

#### navsystem

Creates a navigation system of a specified type.

#### reload\_weapons

Reloads the weapon database from script files on disc.

#### revision

Shows the revision the bot dll was built from.

#### script\_debug

Enables/disables debug messages in the scripting system.

```
 syntax: bot script_debug 1/0/on/off
 example: bot script_debug 1 turns on debugging information in the script system.

 usage: when enabled, if an error occurs in script execution, it will be printed to the console.

```

#### script\_run

Executes a string as a script snippet.
Apostrophes are converted to quotation marks.

```
 syntax: bot script_run <string>
 example: bot script_run "print('Time left:'); print(GetGameTimeLeft())"

```

#### script\_runfile

Executes a specified script file.

```
 syntax: bot script_runfile <filename>
 example: bot script_runfile testing.gm

```

#### script\_stats

Shows scripting system memory usage/stats.

```
 syntax: bot script_stats

 usage: displays memory use and garbage collection stats in console

```

#### show\_bb

Shows the contents of the global blackboard.

```
 syntax: bot show_bb

```

#### show\_goalroutes

Prints route info for matching map goals.

#### show\_goals

Prints out the names of each goal.

```
 syntax: bot show_goals <optional expression> <optional p>
 example: bot show_goals DEFEND.* will list all defend goals in console
 example: bot show_goals .* p will list all goals and their sub priorities (for >= 0.7)

 notes: this command supports expressions for the optional parameter

```

Explanation of goal-list-entry by example:

```
 33: FLAG_the_War_Documents -> 0100 serial 3 priority 0.55
     ALLIES AXIS SOLDIER MEDIC ENGINEER LIEUTENANT 1.80

 <goal-no>: <goal-name> -> <team-availability> serial <serial> priority <priority>

 goal-no: number of goal
 goal-name: name of goal
 team-availability: availability team1 team2 team3 team4
 serial: serial number
 priority: default priority

 The optional p parameter displays properties set with the SetGoalPriority function which
 enables Team and Class properties to be set.

```

```
 notes: team-availability shows boolean value for each team
        team3 and team4 are obsoleted in ET, since ET only has 2 teams:
        TEAM.AXIS and TEAM.ALLIES or TEAM.TEAM1 and TEAM.TEAM2.

```

#### showprocesses

Shows a NavMesh or Recast process by its name.

```
 syntax: bot showprocesses

 usage: for debug use only

```

#### stopprocess

Stops a process by its name.

```
 syntax: bot stopprocess

 usage: for debug use only

```

#### version

Prints out the bot version number.

```
 syntax: bot version

```

#### ab

```
       Add Bots, add a given number of bots
       Usage: /bot ab <numbots>

```

#### addroute

```
       Add Route, adds a route node at players current position
       Usage: bot ar <name> <optional radius>
       Version note: RTCW only

```

#### aim\_debug\_reload

```
       Aim Debug Reload, reloads each bots profile
       Usage: /bot aim_debug_reload

```

#### aim\_pos

```
       Aim Position, lists the players current aim position
       Usage: /bot aim_pos

```

#### ar

```
       Add Route, adds a route node at players current position
       Usage: bot ar <name> <optional radius>
       Version note: RTCW only

```

#### balanceteams

Forces bots to keep teams balanced.

```
 syntax: bot balanceteams 1/0
 example: bot balanceteams 1 turns on bot balancing

 notes: by default, omni-bot will keep teams balanced when adding bots unless bots are added specifically to a team

```

#### botgoal

Bot Goal, used for debugging a bots goal on remote server.

#### botsperhuman

Set the team the ratio of bots per humans in a humans vs bots game.

#### botteam

Set the team the bots should be on in a humans vs bots game.

#### botwar

Enable or disable bots vs human teams.

```
 syntax: bot botwar <botTeam> <humanTeam> <botsPerHuman>
 example: bot botwar 2 1 3 // set bots to be on allies with a 3 to 1 ratio compared to humans on axis team
 bot botwar -1 // disable it

```

#### bvp

```
       Build Vehicle Path, assists the waypointer in creating the vehicle path
       Usage: /bot bvp <goalname> <optional seconds>
              goalname should be set to the MOVER or BUILD goal of the vehicle
              seconds can be optionally set to adjust the interval between the vehicle being damaged
              run the command again to turn it off
       Version note: ET only

```

#### campnext

Advance to the next camp goal position. It will automatically select the goal. Waypoint tool for adding camp facings.

```
       Version note: ET only

```

#### campstart

Start iterating through the camp goals in the map (CAMP, DEFEND, ATTACK, SNIPE). Waypoint tool for adding camp facings. Binding a key to /bot goal\_setproperty facing 99 will make things fast!

```
       Version note: ET only

```

#### cg

```
       Clear Goal, disables the given goalname for the given team
       Usage: /bot cg <goalname> <team>

```

#### cleargoalflags

Removes all deprecated waypoint flags (defend, snipe, ...) which were used in Omni-bot 0.71.

```
      Version note: ET only

```

#### cvp

```
       Check Vehicle Path, test bots ability to repair the vehicle along its entire path
       Usage: /bot cvp <goalname> <optional seconds>
              goalname should be set to the BUILD goal of the vehicle
              seconds can be optionally set to adjust the interval between the vehicle being damaged
              run the command again to turn it off
       Version note: ET only

```

#### cwn

```
       Clear Waypoint Names, remove all waypoint names
       Usage: /bot cwn <optional true>
       Note: the true parameter will list each waypoint that has been cleared

```

#### dbg\_goalavailability

Toggle goal availability debugging. It will print all active goals to the console when Util.MapDebugPrint is called.

#### dbg\_mapscripts

Toggle map script debugging (Util.MapDebugPrint messages).

#### dbg\_scriptgoals

Toggle script goals debugging (pathfailed, timedout, ...).

#### dg

```
       Display Goal, runs a thread that lists the given goals name, position, and facing
       Usage: /bot dg <goalname> <true|false>
       Note: useful for mover type goals

```

#### difficulty

```
       Sets the bots difficulty. 0 is easy, 4 is default, 6 is hard, -1 is random
       Usage: /bot difficulty 3

```

#### dist

```
       Distance View, gives distance to a players aim position
       Usage: /bot dist, /bot dist off

```

#### draw\_oids

Draw Objective Info Displays, waypoint tool. draws the bounds of all OID's in the map.

#### draw\_paththrough

Render 3d text over paththrough node locations.

#### draw\_spawns

Draw spawn points, waypoint tool. draws the bounds of all spawn points in the map.

#### dstats

```
       Dump Stats, writes each bots current round stats to user<mapname>_stats.gm
       Usage: /bot dstats
       Version note: RTCW only

```

#### dump\_autocomplete

```
       Creates an xml file for autocompletion with Notepad++

```

#### dumpglobals

```
       Dump Globals, writes all functions and references to files in the ~user directory
       Usage: /bot dumpglobals

```

#### dwoff

```
       Debug Window Off, closes the debug window.
       Usage: /bot dwoff

```

#### dwon

```
       Debug Window On, opens up the debug window.

```

 Not implemented in release version of omni-bot.
 You can download debug version from assembla SVN repository from dw\_enabled folder.

```
       Usage: /bot dwon

```

#### eob

```
       Exec on Bots, executes the given command on all bots
       Usage: /bot eob <command>

```

#### humanteam

Set the team the humans should be on in a humans vs bots game.

#### initialdelaytime

Sets delay time for server manager to execute on map changes.

#### ip

```
       Ignore Player, bots won't shoot player
       Usage: /bot ip <on|off>

```

#### keepbot

```
       Keep Bot, remove all bots without the given partial name
       Usage: /bot keepbot <partial botname>

```

#### kg

```
       Kill Goal, damage a given goal if cheats are allowed
       Usage: /bot kg <goalname>

```

#### kt

```
       Kill Team, kills all bots on the given team
       Usage: /bot kt <teamname>

```

#### makegm

```
       Make GM, creates a map script and test map script for the current map
       Usage: /bot makegm

```

#### makemapgm

```
       Make Map GM, creates a map script for the current map
       Usage: /bot makemapgm

```

#### makemapgoallist

```
       Make Map Goal List, creates a map goal list for the current map
       Usage: /bot makemapgoallist

```

#### maketestmapgm

```
       Make Test Map GM, creates a test map script for the current map
       Usage: /bot maketestmapgm

```

#### maxbots

The maximum players to keep in play. The MaxBots value is saved to file omni-bot.cfg (but only if SaveConfigChanges = 1). Bots automatically join game if there are not enough human players. Bots leave game after new human player selects team (if CountSpectators = 0), or when new player connects to the server (if CountSpectators = 1). If you want to add bots or kick bots manually, you can set maxbots to -1.

```
 syntax: bot maxbots #
 example: bot maxbots 20

```

#### maxxp

Max xp before bots should reset.

```
       Version note: ET Only

```

#### minbots

The minimum players to keep in play.

```
 syntax: bot minbots #
 example: bot minbots 2

```

#### minformobilemg

set the minimum number of players playing in order for bots to choose the mobile mg42.

```
       Version note: ET Only

```

#### minformortar

set the minimum number of players playing in order for bots to choose the mobile mortar.

```
       Version note: ET Only

```

#### moveskill

```
       Combat Difficulty, sets persistent combat movement difficulty
       0 = off, 1 = easy, 2 = medium, 3 = hard, 4 = random

```

#### mypos

```
       My Position, gets the players current position
       Usage: /bot mypos

```

#### mywpmode

```
       My Waypoint Mode, enables waypoint view and autosave
       Usage: /bot mywpmode

```

#### numthreads

```
       Number of Threads, prints the number of current threads
       Usage: /bot numthreads

```

#### plantnext

Advance to the next PLANT goal position. It will automatically select the goal. Waypoint tool for adding cover spots.

```
       Version note: ET only

```

#### plantstart

Start iterating through the PLANT goals in the map. Waypoint tool for adding cover spots.

```
       Version note: ET only

```

#### resetxp

Enables bots resetting xp. Use 1 to enable or -1 to disable.

Shrubbot is required. Flag M must be enabled for level 0 in the file shrubbot.cfg.

```
       Version note: ET only

```

#### rollcall

```
       Roll Call, lists each bots name, team, class, and entity
       Usage: /bot rollcall

```

#### saveplayerpos

Writes player positions to a file in user folder.

```
       Version note: ET Only

```

#### saveusepoint

Writes player position as Util.AddUsePoint command to a file in user folder. Optional parameter is goal name expression.

```
       Version note: ET Only

```

#### sendtrigger

Test command and example of sending a trigger from script.

#### sg

```
       Set Goal, enables the given goalname for the given team
       Usage: /bot sg <goalname> <team>

```

#### sgi

```
       Show Goal Info, lists information about the given goal
       Usage: /bot sgi <goalname>
       Note: lists goals health, DEAD status, entity number, and position

```

#### sgn

```
       Show Goal Name, lists all goals found within the given radius
       Usage: /bot sgn <radius> <optional true>
       Note: passing the optional true parameter will give player offset

```

#### sgo

```
       Show Goal Offset, lists players offset to the given goal
       Usage: /bot sgo <goalname>

```

#### showactive

```
       Show Active Goals, lists each currently active goal by team
       Usage: /bot sag <optional team 0/1/2> <optional routes> <optional showuse>

```

#### showentityinfo

```
       Show Entity Info, runs a traceline and returns Entity information
       Usage: /bot showentityinfo <optional traceType>

```

#### showevents

```
       Show Events, lists all events in the EVENT table
       Usage: /bot showevents

```

#### showgroup

Lists all goals of a given group in console.

#### showweapons

```
       Show Weapons, lists all weapons in the WEAPON table
       Usage: /bot showweapons

```

#### skip

```
       Skip, sets Util.Skip to true
       Usage: /bot skip
       Note: Util.Skip is used in some debugging functions

```

#### skipreset

```
       Skip Reset, sets Util.Skip to false
       Usage: /bot skipreset
       Note: Util.Skip is used in some debugging functions

```

#### stresstest

```
       Stress Test, this command should only be used by developers
       Usage: /bot stresstest

```

#### stucknext

Used for stuckage checking. Advance to the next stuckage position.

```
       Version note: ET Only

```

#### stuckstart

Start iterating through the stuckage table for the map. Before you use this command, you must move file <mapname>\_stuckages.gm from et/user folder to et/scripts folder.

```
       Version note: ET Only

```

#### sysusage

Writes a timeline of system usage stats to systemtimeline.gm.

#### table\_members

Prints a sorted list of table members to the console for the given table name.

#### test\_priorities

```
       Test Priorities, test SetGoalPriorities calls on all map goals
       usage, /bot test_priorities <bool allgoals>
       example: /bot test_priorities true will loop through all goals in the map table

```

#### testbot

```
       Test Bot, adds a testbot to the given team with the given class
       Usage: /bot testbot <team> <class>
       Usage: /bot testbot 0 - kicks the test bot

```

#### testmap

```
       Test Map, starts the auto testing of maps based on the testmap scripts
       Usage: /bot testmap

```

#### testme

```
       Test command, prints out all arguments
       Usage: /bot testme

```

#### testsuicide

```
       Set Suicide, sets botSuicide session variable to given param
       Bots will /kill 2 seconds before next spawn
       Version note: RTCW only

```

#### testvoice

```
        Test Voice Macro, used for testing a bots usage of given voice macro
        usage, /bot testvoice <partial bot name> <voice macro name>
       example, /bot testvoice Walt NEED_MEDIC

```

#### testwin

```
       Test Windows, tests the debug window script testdebugwindows.gm
       Usage: /bot testwin

```

#### tracearty

Runs a trace to find visible Artillery\_s or Artillery\_d goals from closest Callartillery goal.

#### tracebox

```
       Trace Box, builds an AABB based on the players position
       Usage: /bot tracebox

```

#### tracetrajectory

Draws trajectory from player position and facing.

```
       Usage: /bot tracetrajectory speed <optional interval> <optional duration> <optional bounceloss>

```

#### trigger\_aimpos

```
       Trigger Aim Position, creates a region trigger based on the players aim position
       Usage: /bot trigger_aimpos

```

#### trigger\_bounds

```
       Trigger Bounds, builds an AABB region trigger based on the players position
       Usage: /bot trigger_bounds

```

#### warpanybot

Will teleport a bot matching given name to the player if cheats are enabled.

```
       Version note: ET only

```

#### warpbot

Warp Test Bot, will teleport testbot to given waypoint name or player position if cheats are enabled.

```
       Usage: /bot warpbot <optional wpname>

```

#### warpto

```
       Warp To, will teleport player to given goal or waypoint name if cheats are enabled.

```

 ET accepts also waypoint ID or paththrough name.

```
       Usage: /bot warpto <goalname|wpname>

```

#### warptogoaloffset

```
       Warp To Goal Offset, will teleport player to given goal real world offset if cheats are enabled
       Usage: /bot warptogoaloffset <goalname>
       Version note: ET only

```

#### wiki\_commands

Writes all script commands to a file in wiki markup.

#### wpa

```
       Waypoint Array, adds an array of waypoints numx by numy, distx and disty apart
       Usage: /bot wpa <numx> <distx> <numy> <disty>

```