Bot system

Bot system 1.0

Grubzer

L5: Dapper Member
Jan 3, 2016
203
39
Bot systeam V1.0 - Bot system for maps that are not bot-friendly

You have a map that needs some action, but you have nobody to play with? With new bot system that's not a problem!
I introduce to you - Bot system V1.0!
Botsystem explanation.png

In order to use it, follow simple steps to set up bots in your map:

*Step 1*
Download and paste prefab into your map

*Step 2*
Determine, where bots should run in your map. In order to create a new path:

Create a bot_action_point entity
Place it at the beginning of your path (Should be near spawn doors)
Name it, set action that bot should do when reaching this point, set time to stay on this point, and radius in which point counts as reached

Now copy-paste nodes along bot path, and set next action point properly. It won't do it automatically (Tip: loop your paths so bots don't stack up at the end)

Now go to team's bot generator located in spawn module, and set action point parameter to first action point of your path

If you need multiple paths, add new bot_generator for each path, and connect it to botsystem_bot_spawn_timer

*Step 3*
Setting up path blockers

Sometimes, there are multiple paths a bot can reach certain nodes.
By randomly blocking them, you can randomize bot flow

Place one func_nav_avoid across path that you want to block, and set it to be disabled by default. It will act as a gate to open and close some areas of your map

Now add an output to botsystem_blocker_randomizer to enable it, and botsystem_unblocker_randomizer to disable it

*Step 4*
Setting up bot controls room

Create a room somewhere in your map, add buttons to enable, disable, pause and reset bot system, and connect them to proper relays

Bot system is off by default. Its not recommended to enabling it from the start, due to bots occupying slots for players

Note: mp_disable_respawn_times 1 breaks the system. Use a plugin, or reset bot system every n minutes, otherwise bots will get stuck

Now, generate (And preferably hand-edit) navigation mesh, and everything should work

Report any bugs to discussion section