Back to Tutorials

Editing bot_c.c files

When making your own bots it is easier to copy an existing bot file from the pak0.pk3 file and edit it it. The files should all go in the '.\baseq3\botfiles\bots\' directory
These files contain the abilities of the bots for three skill levels - I Can Win, Hardcore and Nightmare. From these the game calculate the bots skills for the other two skill levels. Some of the properties in this file are pretty obvious but others are a bit more, well er.. not obvious. Anyway I'll explain what I know, and, to save you the effort these properties will be in the order you will find them in the .c file.

CHARACTERISTIC_ comes before all of them so I wont write it every time, ok.

NAME: This is the bot's name and should be in double quotes, i.e. 'Klesk'
GENDER: This is for chat, where the bots refer to each other is him, her it etc..., and should be "male", "female" or "it".
ATTACK_SKILL: This should be between 1 and 0 and is, on the basic level, how good the bot is at making an attack.
WEAPONWEIGHTS: This is a pointer to the file containing the bot's weapon preferences (normally bot_w.c)
AIM_SKILL: This is how skilled the bot is at aiming (e.g. aiming rockets at the floor by the opponents feet, not at their face). It is between 1 and 0 and for skill 4 and 5 must be set for each weapon.
AIM_ACCURACY: This is how accurate the bot's aim is. It is set as before.
VIEW_FACTOR: Maybe related to fov.
VIEW_MAXCHANGE: This is how far the bot can turn in one motion.
REACTION_TIME: This is simply the time it takes for the bot to react to stuff, like rockets flying at them.

These all start with CHARACTERISTIC_CHAT_:

FILE: This is a pointer to the bot chat file (normally bot_t.c)
NAME: This is what the bot calls itself and is called by others.
CPM: This is the 'characters per minute' which a bot can type at. Used to see how long the bot stays still chatting for.
All of the other characteristics starting with CHARACTERISTIC_CHAT_ are the probabilities that the bot will chat when an event occurs (between 1 and 0)

CROUCHER and JUMPER are the probability that the bot will jump or crouch in order to make it difficult for you to get a good shot at the bot.
WEAPONJUMPING is the probability that a bot will rocket/BFG jump to reach an area quickly or when it reaches a weapon jump point marked in the .aas file.
GRAPPLE_USER is useless.

ITEMWEIGHTS: This is a pointer to the file containg the bot's item preferences (normally bot_i.c)

The other stats are pretty straightforward an basically define the bots personality and prefferences, for example, bots with high SELFPRESERVATION will always run from battle after losing 2 or 3 health.


Botfiles are easy to edit but they are also easy to screw up!