CSS/Editing Bot Navigation CFG File
To use this CFG file, place it in the ...counter-strike source\cstrike\cfg directory. Then, while in the game, type exec navedit.cfg in the console, where "navedit.cfg" is the name of the CFG file you want to use. This will bind all the keys as described in the CFG. If you quit the game and return, the bindings will have been removed.
The following is a CFG file that can be used for bot navigation mesh editing. To use it, copy the text below into any text editor, edit it if you like, and save it as navedit.cfg.
Nav_edit "1" bind y nav_mark_walkable //Before auto-generating, this makes sure the spot will be walkable bind o "nav_quicksave 0" //Turn quicksave off bind p "nav_quicksave 1" //Turn quicksave on bind f9 nav_generate //Creates the initial navigation file for editing (may take a long time) bind mouse1 nav_begin_area //Click to start defining a new nav area bind mouse2 nav_end_area //Click to finish creation of new nav area bind mouse3 nav_delete //Click to delete a nav area bind q nav_mark //Mark or unmark a nav area (use with other commands below) bind v nav_split //Splits a nav area at the white line in your line of sight bind b nav_merge //Merges a marked nav area with the one in your line of sight bind n nav_splice //Splices a marked nav area with the one in your line of sight bind 1 nav_avoid //These number keys set or unset areas for bot activities bind 2 nav_crouch bind 3 nav_dont_hide bind 4 nav_jump bind 5 nav_no_jump bind 6 nav_precise bind 7 nav_run bind 8 nav_stand bind 9 nav_transient bind 0 nav_walk bind e nav_corner_select //Toggle selection of nav area corner in marked area bind r nav_corner_raise //Raises selected nav area corner bind f nav_corner_lower //Lowers selected nav area corner bind z nav_connect //Connects a marked nav area with the one in your line of sight bind x nav_disconnect //Disconnects a marked nav area from the one in your line of sight bind f6 nav_save //Saves nav file bind f7 nav_analyze //Necessary as a final step bind g nav_toggle_place_painting //It is not practical to bind all the possible placenames; //You'll have to type the individual commands