FritzBot ET Waypointer's Config File

From Bots-United Wiki

Jump to: navigation, search


OUTLINE

Contents

[hide]

Why Bind Keys?

Most of your time creating waypoints will be spent with the in-game editor and then the console, and using key bindings will save you a lot of time. Imagine replacing the following 30 characters shown in bold...

(after moving to the place for your next node)
~ (open console) 
/node_add<enter>
/node_autoconnect<enter>
<esc>

with a single keypress of F5 in the game. That is a savings of 29 keys typed. And if you placed 350 nodes in your waypoints (more for a big map), then that keybinding alone should save your fingers more than 10 Thousand keys typed! And all you had to do was type the following in the console first;

bind "F5" "node_add;node_autoconnect"<enter> 

then exit the console and start using F5 anywhere you wanted the next node placed (and connected to the previous node).

Now you will still have to use the console for most commands that need parameters (e.g. /node_ent <nodeid> <ent_num>) but that will be a much smaller part of overall typing.

One caveat is that if you have used up all available keys for game playing there would not be any left for waypointing. So before you jump in to changing your bindings, take the time to create a new player that you will use just for waypointing and playing the bots offline.

Review of In Game Menu Bindings

When you are inside the map you have access to the FRITZBOT sub menu. Hit <esc> to bring up the menu;

Image:fritzbotETMainMenusm.jpg

Then select the FRITZBOT sub menu in the middle of the list that appears in the upper left corner of you screen.

The sub menu should look like this;

Image:fritzbotETmenu.jpg

This menu allows a simple way to bind the keys for the following console commands;

/node_save <enter>
/vid_restart <enter>
/node_add <enter>
/action_add <enter>
/route_add <enter>
/kick allbots <enter>
/addbot <enter>
/viewent <enter>

as well as allowing you to trigger the following commands from the sub menu

/bot_pause <0..1> <enter>
/node_editor <0..1> <enter> 
/node_drawhud <0..3> <enter>
/node_vis <0..3> <enter>
/node_drawradius <0..1> <enter>

Execing Config Files

Review of Commands to Include

Here is a review of ET and FritzBot commands you will find in the example.

// comments - line comments may be placed anywhere in a config file either at the beginning or end of a line.

exec command - loads and runs a specified file as a cfg file.

set command - Used to set or create-and-set a cvar seta - /set - used when setting a cvar from the game console +set - used when setting a cvar on a command line

bind command - makes the specified keypress in the game run a string containing console commands

TO DO - list of keyboard keys

vstr command - Identifies the next word as a user cvar that has been assigned a string of commands. Needed for set commands that are themselves inside the string of another set command because double quotes cannot be nested. Usage vstr <cvar>

devmap command devmap <mapname> - loads the map with the file <mapname>.bsp, and sets developer mode allowing cheats useful to mapping and waypointing.

vid_restart command - restarts the video engine and loads the nav file if the waypointing editor is on

; - Chains 2 commands with ; between them.

important built in cvars timescale - warps the speed of everything slower or faster

sv_pure - determines whether files that are not packed in .pk3 files are read and used. Must be zero when waypointing or changes are not reloaded.

node_editor - enables/disables the waypoint editor

node_drawhud - determines what item type will be displayed in the heads up display on the righthand side.

node_vis - Determines which waypoint node types are shown in-game

node_drawonly - Allows you to limit the display of action nodes to specific action types.

bot_pause - Freeze the bots in place and

mal_showfakebrush - Displays the edges of any scripted fakebrushes. Fakebrushes are composed of normally invisible rectangular surfaces forming a box that may act like a solid surface. [More info].

mal_showspawns - Displays your team's spawn points with a red or blue vertical line

map_restart - Restarts the match, beginning in warmup. This should re-load the nav, aiscript and script files

node_save - saves the current state of waypoints to a file \fritzbot\bots\maps\<mapname>.nav

echo - prints the string that follows to the console and the in-game message system

node_add - adds a node at your current position with current default radius [More info]

node_autoconnect - makes a 2 way connection between the last 2 (highest number) nodes

node_drawradius - sets the default radius for node_add

action_add - adds an action-node at your current location. [More info.]

viewent - prints in the console information on the map entities in your crosshairs,

viewpos - prints in the console your current position in the format (x y x) : <angle-in-x-y-plane>. Units are inches and degrees. Z position is per your center, not your feet.

route_add - adds a route start-node at your current location. [More info.]

g_teamForceBalance -

g_usertimelimit -

g_gametype - The next match will be Single Objective (), Stopwatch (), Campaign (),

g_dowarmup - Should the match warmup run

g_warmup - how many seconds should the warmup last

An Example of a Waypointer's Config file

In this example the key binds use 2 of the function keys and most of the numeric keypad of a AT style full keyboard. These binds are shown below;

format: 
  Key Marking
    keyname
  DESCRIPTION

+---------------+--------------+---------------+---------------+
|      F5       |     F6       |      F7       |       F8      |
|      F5       |     F6       |      F7       |       F8      |
| SAVE NAV FILE |              |               |               |
|               |              |               |               |
+---------------+--------------+---------------+---------------+

+---------------+--------------+---------------+---------------+
|      F9       |     F10      |     F11       |      F12      |
|      F9       |     F10      |     F11       |      F12      |
|   REFEREE     |              |               |               |
|  RESTART MAP  |              |               |               |
+---------------+--------------+---------------+---------------+



+---------------+--------------+---------------+-------------+
|   num lock    |      /       |      *        |    -        |
|               |  kp_slash    |      *        | kp_minus    |
|               |  CYCLE HUD   | CYCLE SHOW    | CYCLE SHOW  |
|               | DISPLAY TYPE | ITEMS BY TYPE | ACTION TYPEs|
+---------------+--------------+---------------+-------------+
|      7        |      8       |      9        |    +        |
|   kp_home     | kp_uparrow   |    kp_pgup    | kp-plus     |
| NEW NODE HERE |   CONNECT    |    TOGGLE     |             |
|               | LATEST NODES |  SHOW RADIUS  |  TOGGLE     |
+---------------+--------------+---------------+             |
|       4       |       5      |      6        |    BOT      |
| kp_leftarrow  |     kp_5     | kp_rightarrow |             |
|NEW ACTION HERE|PRINT ENT NUM | TOGGLE NOCLIP |   PAUSE     |
|               |              |   FLY MODE    |             |
+---------------+--------------+---------------+-------------+
|       1       |       2      |      3        |   Enter     |
|    kp_end     | kp_downarrow |   kp_pgdn     | kp_enter    |
| NEW ROUTE HERE|    TOGGLE    | TOGGLE NOCLIP |             |
|               |   GOD MODE   |   FLY MODE    |             | 
+---------------+--------------+---------------+             |
|               0              |      .        |             |
|             kp_ins           |    kp_del     |             |
|                              |               |             |
+---------------+--------------+---------------+-------------+

The example config file is here broken into 2 logical parts. The first half of the file consists of some console commands and some key bindings followed by more console commands. The section of bind commands should be of greatest interest since you may find some of them in conflict with key-bindings you use playing ET (or may find them too awkward to use on a laptop). The second set of console commands loads the map and restarts it in waypointing mode. To use the config file with your map replace the string "marketgarden_et_r2" with the mapname in quotes of the map you want to waypoint.

//  ETWAYPOINTING.CFG
//  Special settings for waypointing
// 09-09-06

seta sv_pure "0"					// set server to "unpure"

// WAYPOINTING SETTINGS
set node_editor "1"					// node editor ON
set node_drawhud "1"				// node HUD ON
set node_vis "1"						// show all items
seta mal_showfakebrush "1"			// show the outlines of added clip boxes

bind F9 "map_restart"				// F9 = map restart
bind F5 "node_save; echo PATH SAVED"	// F5 = save waypoints
bind kp_slash "vstr huds"				// KP SLASH = HUD selections (4)
bind * "vstr items"					// KP ASTERIX = draw items (5)
bind kp_minus "vstr actions"			// KP MINUS = action selections (16)
bind kp_home "node_add"				// KP 7 = add node
bind kp_uparrow "node_autoconnect"		// KP 8 = node auto-connect
bind kp_uparrow "node_add; node_autoconnect"		// KP 8 = node auto-connect
bind kp_pgup "toggle node_drawradius"	// KP 9 = draw node radii toggle
bind kp_leftarrow "action_add"			// KP 4 = add action
bind kp_5 "viewent"					// KP 5 = view nearest entity
bind kp_rightarrow "vstr clip"			// KP 6 = no clip
bind kp_end "route_add"				// KP 1 = add route
bind kp_downarrow "vstr noshoot"		// KP 2 = god mode
bind kp_pgdn "vstr time"				// KP 3 = timescale
bind pause "vstr pse"				// KP PLUS = pause bots toggle


// START THE MAP
set g_teamForceBalance "0"			// allow unbalanced teams
set  g_usertimelimit "6000"				// 100 hours time limit to work on the map
set g_gametype "2"					// Game type:  2 = objective, 3 = stopwatch, 4 = campaign, 5 = last man standing
devmap "marketgarden_et_r2"	 		// start the map
seta g_doWarmup "0"				// no warmup
seta g_warmup "0"					// no warmup time
vid_restart 						// do a video restart to run the node editor

The second half of the file defines the user-defined cvar strings that are bound in the first half of the config file. (User-defined cvars like c1, c2 and clip)

//---------------------------------------------------------------------------------

// SCRIPTS

// NOCLIP TOGGLE
set c1 "noclip; set clip vstr c2; echo NOCLIP ON"
set c2 "noclip; set clip vstr c1; echo NOCLIP OFF"
set clip "vstr c1"

// GOD-MODE TOGGLE
set g1 "god; set noshoot vstr g2; echo GOD MODE ON"
set g2 "god; set noshoot vstr g1; echo GOD MODE OFF"
set noshoot "vstr g1"

// BOTS PAUSE TOGGLE
set p1 "bot_pause 1; set pse vstr p2; echo BOTS PAUSED"
set p2 "bot_pause 0; set pse vstr p1; echo BOTS UNPAUSED"
set pse "vstr p1"

// HUD SELECTIONS  key "KP 1"
set h1 "node_drawhud 1; set huds vstr h2; echo NODE HUD"
set h2 "node_drawhud 2; set huds vstr h3; echo ACTIONS HUD"
set h3 "node_drawhud 3; set huds vstr h4; echo ROUTE HUD"
set h4 "node_drawhud 0; set huds vstr h1; echo NO HUD"
set huds "vstr h2"

// SHOW ITEMS  key "KP ASTERIX"
set v1 "node_vis 1; set items vstr v2; echo EVERYTHING SHOWN"
set v2 "node_vis 2; set items vstr v3; echo ACTIONS ONLY"
set v3 "node_vis 3; set items vstr v4; echo ROUTES ONLY"
set v4 "node_vis 4; set items vstr v5; echo NODES & PATHS ONLY"
set v5 "node_vis 0; set items vstr v1; echo NOTHING SHOWN"
set items "vstr v2"

// SHOW ACTIONS  key "KP MINUS"
set a1   "node_drawonly -1; set actions vstr a2 ; echo ALL ACTIONS"
set a2   "node_drawonly 0 ; set actions vstr a3 ; echo CAMP ACTIONS"
set a3   "node_drawonly 1 ; set actions vstr a4 ; echo MG42 ACTIONS"
set a4   "node_drawonly 2 ; set actions vstr a5 ; echo CONSTRUCT_MINOR ACTIONS"
set a5   "node_drawonly 3 ; set actions vstr a6 ; echo AIM ACTIONS"
set a6   "node_drawonly 4 ; set actions vstr a7 ; echo DYNAMITE PLANT ACTIONS"
set a7   "node_drawonly 5 ; set actions vstr a8 ; echo DYNAMITE DEFUSE ACTIONS"
set a8   "node_drawonly 6 ; set actions vstr a9 ; echo SPAWN FLAG ACTIONS"
set a9   "node_drawonly 7 ; set actions vstr a10; echo DELIVERY ACTIONS"
set a10 "node_drawonly 8 ; set actions vstr a11; echo STEAL ACTIONS"
set a11 "node_drawonly 9 ; set actions vstr a12; echo DEFEND ACTIONS"
set a12 "node_drawonly 10; set actions vstr a13; echo AIRCAN HINT ACTIONS"
set a13 "node_drawonly 11; set actions vstr a14; echo ARTY HINT ACTIONS (n/a)"
set a14 "node_drawonly 12; set actions vstr a15; echo PATROL/ROAM ACTIONS"
set a15 "node_drawonly 13; set actions vstr a16; echo SNIPER CAMP ACTIONS"
set a16 "node_drawonly 14; set actions vstr a17; echo PANZER CAMP ACTIONS"
set a17 "node_drawonly 15; set actions vstr a18; echo GRENADE ACTIONS (n/a)"
set a18 "node_drawonly 16; set actions vstr a19; echo ENGINEER CAMP ACTION"
set a19 "node_drawonly 17; set actions vstr a20; echo ALT ROAM ACTION"
set a20 "node_drawonly 18; set actions vstr a21; echo MG42 CAMP ACTIONS"
set a21 "node_drawonly 19; set actions vstr a22; echo CONSTRUCT_MAJOR ACTIONS"
set a22 "node_drawonly 20; set actions vstr a23; echo TANK ACTIONS (n/a)"
set a23 "node_drawonly 21; set actions vstr a24; echo TRAIN ACTIONS (n/a)"
set a24 "node_drawonly 22; set actions vstr a25; echo COMMAND POST ACTIONS"
set a25 "node_drawonly 23; set actions vstr a26; echo SMOKE CAN ACTIONS"
set a26 "node_drawonly 24; set actions vstr a27; echo MINE PLANT ACTIONS"
set a27 "node_drawonly 25; set actions vstr a28; echo MINE HUNT ACTIONS"
set a28 "node_drawonly 26; set actions vstr a29; echo SUBVERSION ACTIONS (n/a)"
set a29 "node_drawonly 27; set actions vstr a30; echo SATCHEL ACTIONS (n/a)"
set a30 "node_drawonly 28; set actions vstr a31; echo MOBILE MG42  CAMP ACTIONS"
set a31 "node_drawonly 29; set actions vstr a1  ; echo BUTTON ACTIONS (n/a)"
set actions "vstr a1"

// SET TIME SCALE
set t1 "timescale 1; set time vstr t2; echo TIMESCALE = 1"
set t2 "timescale 2; set time vstr t3; echo TIMESCALE = 2"
set t3 "timescale 3; set time vstr t4; echo TIMESCALE = 3"
set t4 "timescale 1; set time vstr t5; echo TIMESCALE = 1"
set t5 "timescale 0.5; set time vstr t6; echo TIMESCALE = 0.5"
set t6 "timescale 0.1; set time vstr t1; echo TIMESCALE = 0.1"
set time "vstr t1"

Other ideas for bindings

You could use a binding to cycle between common node default radii settings

// defaultRadius SELECTIONS 
set r1 "node_defaultRadius 70; set ndrads vstr r2; echo NODE RADIUS 70"
set r2 "node_defaultRadius 50; set ndrads vstr r3; echo NODE RADIUS 50"
set r3 "node_defaultRadius 30; set ndrads vstr r4; echo NODE RADIUS 30"
set r4 "node_defaultRadius 20; set ndrads vstr r1; echo NODE RADIUS 20"
set ndrads "vstr r1"

and then bind a key of your choice

bind <key> "vstr ndrads"

where <key> is replaced by the identifier of your chosen key.

Credits

Thanks go to the bindlestiff for providing the example waypointing config file.

Permanent link to this page