The Ravenous Bugblatter Beast of Traal
Stupid, but extremely ravenous!

Monster Plugin - Version 3.5 - User Guide

Filename: plugin_blatt_monster

Offline Manual

You are reading this offline manual for this plugin. The links to the right navigate through the offline information. The links above and to the left link to www.ravenousbugblatterbeast.pwp.blueyonder.co.uk. If you downloaded the plugin from somewhere else, or downloaded it some time ago, I recomend you check for an updated plugin. Note that the on-line manual may have been updated even if the plugin hasn't.

Configuration Files

The monster DLL uses 3 configuration files:

precache.cfg
This contains a list of monsters that can be dynamically spawned by an administrator. You are not required to list monsters that you only want spawned automatically here.
skill.cfg
This configures the amount of damage each type of monster does and its health.
monster.cfg
This configures the location of pre-spawned monsters.

Map specific configuration files can be created by prepending the map name to the configuration file - e.g. de_dust_precache.cfg. The DLL searches for the file in these locations in the order listed below:

  • <moddir>/maps/<mapname>_precache.cfg
  • <moddir>/addons/monster/config/<mapname>_precache.cfg
  • <moddir>/addons/monster/config/precache.cfg

The same applies for the skill.cfg and monster.cfg files. As the co-ordinates are different on each map, having a non-map-specific monster.cfg file doesn't make much sense but is supported anyway.

Choosing Monsters

The file addons/monster/config/precache.cfg in your game mod folder contains a simple list of the names of the monsters to enable. Note that you can't enable more than 4-5 monsters simultaneously; the clients will produce memory errors. The exact number of monsters you can enable depends on the number of entities/models in the map. You can use map specific precache files to restrict the number of monsters on maps with particular problems.

Monster names can be commented out be preceding them with // as shown in the precache.cfg file shipped with the dll.

The following monsters are currently supported:

  • agrunt
  • apache
  • barney
  • bigmomma
  • bullsquid
  • hassassin
  • headcrab
  • hgrunt
  • houndeye
  • islave
  • controller
  • scientist
  • snark
  • zombie

Setting Monster Difficulty

The health and damage of all monsters can be configured in the file addons/monster/config/skill.cfg. The default file is setup so that:

  • Most big monsters have lots of health and moderate damage.
  • Snarks are set to be low health / low damage, because they are hard to hit and when set like this make a great way to get campers moving without really hurting them.
  • hassassins and apaches are set to be quite lethal!

Again, as explained above you can create map specific skill.cfg files to override the default settings for particular maps. See the example skill.cfg for details on the file syntax.

Setting automatic spawn points

When a map loads, the Monster DLL will look for a configuration file that is specifically made for that map. As explained above, the filename for these map specific configuration files will be <mapname>_monster.cfg. These map specific configuration files can be kept in your game's maps folder or in addons\monster\config.

The map specific Monster configuration files allow you to add monsters to the map by specifying a spawn point (the origin), a re spawn delay (time to wait before spawning the monster after it dies), an angle (the direction to face when spawning) or an angle_min and angle_max (a minimum and maximum range of angles to randomly select from when spawning), and the types of monsters that you want to spawn at that location (chosen randomly from the ones provided). Here's an example .cfg file:

{
origin/-420 -700 -300
delay/10
angle/45
monster/barney
monster/hassassin
monster/hgrunt
monster/scientist
monster/snark
}

{
origin/475 560 -300
delay/30
angle_min/90
angle_max/270
monster/agrunt
monster/bullsquid
monster/headcrab
monster/houndeye
monster/islave
monster/snark
monster/zombie
}

{
origin/-540 -800 240
delay/5
monster/hgrunt
targetteam/1
score/5
}

This will create 3 monster spawn points. Notice the opening and closing braces '{' and '}'. These must be at the beginning and ending of a spawn point group and must be on lines by themselves.

The first group will create a monster spawn point at location (-420 -700 -300) in the map. This monster will re spawn 10 seconds after it has been killed. It will spawn facing a direction of 45 degrees. When the monster spawns, the Monster plugin will randomly select from "barney", "hassassin" (the black "ninja" babes), "hgrunt" (the human military grunts), "scientist" or "snark". The monster will spawn, stand there (or run around depending on the type of monster), and will attack players that come within range (the scientists don't attack players, but any barney monsters that get spawned will attack players).

The second group will create a monster spawn point at location (475 560 -300) in the map. This monster will respawn 30 seconds after it has been killed. It will spawn facing an angle between 90 degrees and 270 degrees (which will be randomly chosen at spawn time). When the monster spawns, the Monster plugin will randomly select from "agrunt" (the big alien grunts that shoot the hornet gun), "bullsquid" (the big spotted chick-looking thing with tentacles over its mouth), "headcrab", "houndeye" (the small dog-like monster that runs around on 3 legs), "islave" (the alien slave monster that shoots lightning bolts), "snark", and "zombie" (the tall alien monster that slashes at you with its claws).

The third group will create a monster spawn point at location (-540 -800 240) in the map. This monster will respawn 5 seconds after it has been killed. Since the angle, angle_min and angle_max haven't been specified, the monster will face a random direction when spawning. The monster that will be spawned will always be an "hgrunt" (since it's the only choice). It will also only attack team 1 (red team in TFC, Terrorists in CS) and any player that kills it will be awarded 5 frags.

The valid fields in each group are:

origin
The X, Y, and Z coordinates in the map for the spawn point location. Use the command admin_userorigin <player name> to get a players position in order to discover co-ordinates. Remember you must spawn monsters at a location not touching anything including walls, the ground, players, weapons and each other.
delay
The amount of time (in seconds) to delay before respawning a monster after it gets killed.
angle
The angle (0 to 360) in degrees of the direction you want the monster to face when spawning.
angle_min
The minimum angle (0 to 360) in degrees of the direction you want the monster to face when spawning. You must also specify the angle_max value. A direction will be chosen randomly between the angle_min and angle_max values.
angle_max
The maximum angle (0 to 360) in degrees of the direction you want the monster to face when spawning. You must also specify the angle_min value. A direction will be chosen randomly between the angle_min and angle_max values.
monster
The name(s) of the monster that you want to spawn at this spawn point. Each time a monster respawns, one of the monsters from this list will be chosen.
Note: if you want one type of monster to spawn more often than other types of monsters you can include that name more than once. For example:

{
origin/720 -60 -90
delay/10
monster/barney
monster/hgrunt
monster/hgrunt
monster/hgrunt
}

This would cause the hgrunt monster to spawn 3 of 4 times and a barney monster to spawn 1 out of4 times. You can only have 20 "monster" fields for each monster spawn group.
targetteam
The number of the team the monster is permitted to attack. If this option is not specified the monster will attack both teams.
score
The number of frags to award any player that kills the monster. If this option is not specified the no frag will be awarded.

You can have a maximum of 100 monster groups in each Monster .cfg file.

Using automatic spawn points on Counter-Strike

If you have the Admin Mod plugin installed along with the monster DLL it will issue the respawnmonsters command at the start of each round, causing any dead monsters to spawn.

Therefore it often makes sense to set a long delay time on your monsters spawns in Counter-Strike (i.e. longer than your round time) so the monsters only spawn once per round, like players. However, you can have them spawn more often if you like.

Point and snark interface

One of the primary uses for this plugin is for an admin to spawn ad-hoc monsters on anyone who is camping, to even up imbalances such as 6 terrorist alive and only 1 CT or just plain revenge...

To create an easy to use interface for dynamic spawning, you need some client side macros. The simplest way is to simply bind a key to spawn a monster - e.g.

bind "h" "bbmonster_spawn snark"

This will spawn a snark on the player in your cross hair's when you press 'h'. However, if you have a three button mouse you can get a bit more clever by adding aliases to your autoexec.cfg (or whatever other config file you put your aliases in):

alias spnhassassin   "bbmonster_spawn hassassin"
alias spnislave      "bbmonster_spawn islave"
alias spnbarney      "bbmonster_spawn barney"
alias spnsnark       "bbmonster_spawn snark"
alias monhassassin   "bind MOUSE3 spnhassassin;echo hassassin selected"
alias monislave      "bind MOUSE3 spnislave;echo islave selected"
alias monbarney      "bind MOUSE3 spnbarney;echo barney selected"
alias monsnark       "bind MOUSE3 spnsnark;echo snark selected"
bind "h" "monhassassin"
bind "j" "monislave"
bind "k" "monbarney"
bind "l" "monsnark"
monsnark

With this setup, you can press keys h,j,k and l to select a monster, then use the third mouse button to spawn the selected monster.

Using the metamod Monster plugin

This plugin uses a modified version of Botman's monster plugin. If you already have the monster plugin from another source, you must replace it with the one distributed in this zip file. See the history page for details of the changes from Botman's version.

Use of Logd

The Monster metamod plugin does not require Logd to operate. The plugin_blatt_monster Admin Mod plugin does not require Logd, but it is recommended for use with counter-strike.

Logd is used to issue the slaymonsters and respawnmonsters commands at the end and start of each round respectively. If you do not do this monsters can attack players during the freeze time. Also, without it, you can't tactically place spawn points on maps as you can't be sure of a monster being there at the start of the round if it died near the end of the previous round.

DLL Source code

The source code for the monster DLL can be downloaded here. You will also need the metamod source files and the half-life SDK version 2.3 to compile it. These are both available from www.metamod.org.