Malwarebytes for Home | Anti-Malware Premium | Free Trial Download

[SoF] HideBot v1.1


Rating: 0
Favourites: 0

Report File

[SoF] HideBot v1.1

File Information


More From This User

Name of Mod : hidebot ("hee-day-bot")
File Name :
Version : 1.1
Date : November 21, 2000
Author : Rich Whitehouse
E-mail :
Web Site :

Additional Credits : Many thanks to everyone at Raven Software,
and everyone who's supported the bot during
its development. Thanks in particular to Keith
Fuller, who put a great deal of effort and
help forth during the development of the bot.

1 - General information.
1.1 - Author info.
1.2 - Mod info.

2 - Version history.

3 - Installation and use.

4 - Bugs.

5 - Custom features.
5.1 - Bot personality files.
5.2 - Custom level config files.
5.3 - A list of cvars and commands.

6 - Constructing route files.

7 - Copyright/legal things.


I'm also the author of the Jumbot, Famkebot, Head Soccer, and
many other things.

This is a bot for Soldier of Fortune, which supports all available
modes of play.

Programming : All of it.
Sound : No.
MDL : No.
Maps : No.
Graphics : No.

Reverted to an older code base. This automatically fixed
a great deal of problems that show up in the official SoF
Gold release, such as bots being added incorrectly in team
modes and getting stuck on routes while navigating.

Redid the route file format. Old route files will no longer
be compatible, but route files in the new format are
included for all of the standard SoF/SoF Gold levels.

Support has been re-added for all available play modes in
Soldier of Fortune, including the new play modes which were
introduced in SoF Gold.

Bot movement is now generally smoother and more human-like.

Fixed a bug causing bots to sometimes stop firing their
weapon and fail to reload.

Improved strafing and general movement in combat situations.

Improved somewhat on the edit mode from the old code base
by adding various new utility functions (such as the ability
to easilly add and remove waypoints inside a trail). Looking
at a waypoint in edit mode also shows information about the

A good deal of things have been done to lessen the amount
of CPU power the bots take. I'm not exactly sure how fast
this release is in comparison to the official release that
came with SoF Gold, but it's approximately twice as fast
as the old code base which I reverted to.

This is the first release. Here's a main feature list:

Full server-side client emulation.

Each bot can be customized fully through the use of BPFs (Bot
Personality Files). Options include user info, accuracy, FOV
(field of view), intelligence options, chat options, and more.

Realistic reaction and hearing. Bots can react to enivronment
sounds and use them to track enemies intelligently.

Complex level navigation through use of custom route files.

In-game waypoint edit system with a variety of options.

Full support for all of Soldier of Fortune's game modes, with
special AI for each mode.

Detailed AI for Capture the Flag mode, including flag running,
defense, team strategy skills, flag carrier escorting, and

Various useful server options, such as the ability to run a
server and have it constantly full with bots while always
leaving room for a new real player to join in.

Random bot options, as well as the ability to call any bot in
to the game via its personality file by name.

Full intelligent use of all weapons, including secondary fire.

Full intelligent use of inventory items (grenades, flash packs,
C4, etc).

Various custom chat options, with many sections and options for
individual bots. Bots can converse with each other (or a player)
for a variety of reasons.

Before you install the hidebot, you MUST have Soldier of Fortune Gold.
If you do not have it, you can download it free of charge (providing
you at least already have the full version of Soldier of Fortune).

Extract the zip file WITH DIRECTORY STRUCTURE directly to your SoF
directory. If you did it correctly, you'll have a new "hidebot" folder
under your SoF folder. Start SoF with +set game hidebot on the command
line. An example command line would be:

c:\games\sof\sof.exe +set console 1 +set game hidebot

You'll need to replace c:\games\sof\sof.exe with the location of your
own sof.exe file. After you start the game, create a multiplayer game
and start with bots just like you would normally. You'll notice that
you have more options available now, namely the ability to use bots
in any play mode, so feel free to do so.

If there is no waypoint file for the level you're playing on, you'll
need to place waypoints yourself and save them to a file once you're
happy with their placement. See below for the various waypoint
management commands and cvars.

4 - BUGS
If you're getting crashes for any reason, make sure you have the
latest version of the bot and of SoF. If you have the latest version
of the bot and SoF, yet are still getting a crashing error (meaning the
program just exits suddenly or an illegal operation error is displayed),
please e-mail me about it. But first make sure you know precisely where
the crash is occuring, and that you can recreate it reliably, or your
report won't do much good.

As far as non-crashing bugs go, if it's something absolutely terrible,
you can report it. I cannot guarantee a response, though, so don't get
upset if I don't reply.


There is a file called botlist.txt in your hidebot folder. It contains
names of bot personality files in your hidebot\bot\bots folder, and it
uses those names to add bots into the game regularly. You can change
the list file in the game and have the program read bot names from a
file other than botlist.txt, if you wish, by using the bot_listfile

Bot personality files themselves can be freely created or modified,
and are to all be kept in your hidebot\bot\bots folder. They use a .bpf
file extension. To edit or create bot personality files, just open
an existing bot personality file (I recommend hide.bpf, as it contains
all the possible options) in any standard text editor (I recommend
notepad.exe), then go by the comments and such in the file to edit the
bot to fit your needs and save the changes to a new personality file.

If there is a CFG with the same name as a level in your
hidebot\bot\mapcfgs folder, it will be executed upon loading that level.
If there is not, the program will attempt to execute the default.cfg
file in the folder. An example would be, if you have a file called
nycdm2.cfg in the folder, it will then be executed when you load the map
dm/nycdm2. If that CFG file is not in the folder, then default.cfg will
be executed. If the default.cfg file is not in the folder, nothing will
be executed.

COMMANDS (issued from the client):

makewp - Places a waypoint in waypoint edit mode.

makewpj - Places a waypoint that the bot will jump at in waypoint edit

makewp_nv - Places a special kind of waypoint, which the bot will be
forced to even if it has no visibility. Not recommended unless you
absolutely must use it (usually handy if you can't get the bot to use
a ladder properly).

makewp_el - Places an elevator waypoint. The bot will wait at this
waypoint until an elevator type entity is under the point. Use these
points sparingly and carefully, unless you want the bot getting stuck
at elevators a lot.

makewp*_l - Appending _l to any makewp command (e.g. makewp_l,
makewpj_l, makewp_el_l, etc) will create the point inside a waypoint
trail after the waypoint you are currently looking at (meaning the
data for the waypoint you're looking at is displayed in the center
of your screen). If you are looking at waypoint 93, for example,
using makewp_l while looking at that point will insert a waypoint
where you're standing as waypoint 94, and bump waypoint 94 up to 95.

remwp_l - Works similarly to makewp_l, except it removes points in
the middle of a trail.

remwp - Removes the last placed waypoint in edit mode.

teletowp - Teleports to the last placed waypoint in edit mode.

writewpfile - Writes waypoints to a file after you're done placing in
edit mode.

CVARS (can be set only on server):

bot_waypoints - Setting to 0 disables waypoints and enables the fairly
primitive auto-roaming system (good enough to get the bot around simple
levels, but not recommended unless you just want a game of slaughter).
The default is 1, which keeps waypoints enabled.

bot_wp_edit - Setting to 1 before loading a level allows you enter
waypoint edit mode, where you can modify an existing route file.

bot_wp_draw - Draws waypoints as visible lines while in waypoint edit
mode if set to 1. Default is 1.

bot_wp_view - Shows information about the waypoint you're currently
looking at in edit mode if set to 1. Default is 1.

bot_listfile - Specifies the name of your bot list file. The default is

bot_random - Setting to 1 adds bots from your bot list file in random
order, while 0 adds bots from top to bottom in order.

bot_num - Setting this enables a constant number of bots on the server.
The addbot/removebot/etc. commands can't be used when this cvar is

bot_fillserv - Setting this to 1 makes it so bots fill the server up to
the value of bot_num, but they always leave one slot open for if a new
real player joins the game. This is a good way of keeping your public
server lively without having bots take up places that real players
could otherwise use.

bot_chat - Setting to 1 enables chat (for bots which support it), and 0
disables chatting for all bots.

bot_wppref - Toggles waypoint preference on and off (1 is on, 0 is off).
If on, bots with a high intelligence level can intelligently roam to hot
spots on the level where there might be a powerful weapon or other useful
item. Turning this off can take a significant load off of the CPU, but
it's recommended that you leave it on.

bot_hunt - Setting to 0 disables the bot's ability to hunt down enemies
using hearing and other factors.

bot_runtact - Setting to 0 disables a variety of the bot's running-away
tactics (will only be noticable with higher-skilled bots).

bot_notarget - Bots will not target enemies while this is set to 1. It's
mainly useful for observing bots and making sure a route file works well.

bot_oldpathing - There's not much reason to use this, but it's included
anyway. Setting this to 1 will enable the old pathing method, which differs
in various ways but takes much more CPU power.

bot_movetype - Another option you probably won't touch. In version 1.0, bot
movement was a bit more "sporadic" when bots were running away, and they
would strafe rapidly while running on their trail. That was changed so that
bot movement would look a bit more human-like, but if you prefer the old
way, set this to 1.

bot_smoothnav - Turns smooth turning while navigating on and off. Typically
used in level config files for when bots need to frequently make sharp
turns on a level.

When you load up a level that doesn't have a .WRS file for it in your
hidebot\bot\wpfiles directory, you will be put directly into waypoint edit
mode. In this mode, you can use a variety of commands (see above) to
place waypoints. Standard waypoints are red, waypoints where the bot
will crouch are green, waypoints where the bot will jump are blue, and
the last waypoint placed is always pure white. Here are some rules to
follow when routing a level:

1. Always make sure each waypoint is visible from the previous waypoint
and the next waypoint.

2. Make sure you stay crouched while placing waypoints in areas that
require the player to crouch to avoid certain obstacles. Any time you
place a waypoint while crouched, it will automatically become what I
usually refer to as a "crouch point".

3. Try not to go off any ledges that you can't climb back up.

4. Try to place a waypoint close to each side of a door.

5. Place waypoints close to buttons that need to be used, so the bots
will know to use them.

6. Remember to use jump waypoints (makewpj) in places where the bot will
need to jump to get to the next waypoint, to assure that the bot knows
how to time the jump properly.

7. Try to place a waypoint right on top of every decent accessable weapon
or item you see (this makes the bots more likely to be able to track
that weapon or item through the level if they need it).

8. In CTF, place waypoints on top of or as close to both team's flags as
possible. It's also helpful to make clear usable paths between the flags
for bots on flag-running missions. This rule holds true as well for
placing waypoints on control points or bunker points (referring to the
respective play modes).

9. It's wise to have waypoints intersect with each other frequently, so
that the bot can have more than one choice of where to go, and also get
to desired areas quickly.

10. Straight vertical ladders can be very tricky. Make sure to just place
one waypoint at the foot, and one at the head, with none on the ladder
in between. Make the waypoint on the top of the ladder as close as
possible to the ladder without making it so close that the bot loses
visibilty. You can also use makewp_nv to place a waypoint which forces
the bot to it even if it isn't visible, but that's something you should
only do as a very last resort. I recommend going into edit mode on
nycdm1 and taking a look at how I did the ladder on that level for an

11. It's important to note that when using makewp_nv, you MUST continue to
use makewp_nv points until there is a regular point visible from both
ends of the makewp_nv point trail. I'll make a cheesy little ascii art
example to show what I mean:

o = standard waypoint
x = makewp_nv waypoint
| = ladder
_ = ground above ladder

(we're looking at this from the side)

o o o x|

o o o o|

Hopefully that will make things easier to understand.

12. Try not to place waypoints in highly dangerous areas too much, unless
you want frequent bot suicides.

After you've finished constructing your waypoint file, use the writewpfile
command to save the waypoints to a WRS file and then restart the level. The
WRS file will be automatically loaded each time the level is loaded from
now on. If you don't like the job you did on the WRS file and want to redo
it, simply delete it from your hidebot\bot\wpfiles directory and reload the
level, or you can use waypoint edit mode (bot_wp_edit). Each WRS file will
have the same name as the level it is for (nycdm2.bsp or dm/nycdm2.bsp is
nycdm2.wrs, etc).

This bot may only be distributed if this file and all the other files that
came with it are included in the redistribution, and no money is charged
for the product being distributed. If you wish to distribute this bot with
a game magazine or something along those lines, contact me and we'll work
something out.

Report File


Report Comment


Report Link

Reason tested by Norton Internet Security tested by McAfee Internet Security