Targets plugin version 3.0.0 Beta 2, (not released)
Written by Richard Helgeby
Manual last modified: 2009.10.14
Zombie:Reloaded a alternative to Zombie Mod with a lot of new features and improvements. It's open source and made for Counter-Strike: Source and runs on a powerful scripting platform called SourceMod.
The objectives is to change the game into humans versus zombies. Humans try to survive by camping, barricading and hiding. Zombies try to zombify humans by using their knife.
At a random time after the round starts, one or more random humans are turned into zombies. Zombies have certain advantages as running faster and more health points. Humans have huge amounts of ammo (or unlimited), and their bullets knock back zombies. A lot more attributes can be adjusted for both zombies and humans in different classes.
This plugin is often confused by Zombie Mod, which is actually ovbious since Zombie:Reloaded is a SourceMod alternative to Zombie Mod and the gameplay is exactly the same. This plugin is compatible with all existing Zombie Mod maps.
c0ldfyr3
The developer of Zombie Mod (www.zombiemod.com).
Greyscale
Author of Zombie:Reloaded. The one who started remaking Zombie Mod for the SourceMod platform.
Related server: "#1 Pro's Playground - 24/7 Zombie Mod [ Rank / Reload / Napalm ]" (74.201.57.54:27015) - USA, Washington
Richard Helgeby
Zombie:Reloaded developer. Started working on the plugin from version 2.5.1. Fixed bugs and made new features.
Related server: (same as Cpt. Moore)
Cpt. Moore
Helped debuging issues and made some new features. Used the server for testing.
Related server: "Zombie World Domination by SwissQuake" (85.195.74.201:13010) - Switzerland, Basel
Zombie: Reloaded requires that the following stuff is installed on the server:
Metamod:Source - A simplified API for server plugins. It makes it easier for developers to make plugins like SourceMod:
SourceMod - A scripting platform:
ZRTools extension (bundled). Provides some extra functions needed by Zombie:Reloaded. See Plugin Installation (2.2).
Extract the content of "cstrike" in the zip file into "cstrike" on the server. The folder and file structure is already set up correctly and ready to be extracted.
The plugin should work with default configuration. Start the server and join a team. Once the round starts there sould be some messages at the chat with "[ZR]". Or type "!zmenu" in the chat to bring up the zombie menu to confirm that the plugin is running.
Next check error logs from SourceMod and look if there are any entries from "zombiereloaded.smx". If the plugin doesn't work at all or there are error logs, see Troubleshooting (5).
In this manual commands or paths may be written in a certain style that tells how to use it.
Note that the style itself is not written, but it's used as an indicator to tell if a parameter is optional or not.
Example syntax of a command:
zr_class_modify <classname|"zombies"|"humans"|"admins"> <attribute> <value> [is_multiplier]
Some paths may look like:
cfg/sourcemod/zombiereloaded/<mapname>.cfg
How to read syntaxes like this is explained below.
Optional parameters is not required and usually have a default value or action. They are marked with brackets.
Example:
zr_somecommand [number]
Usage examples:
zr_somecommand
zr_somecommand 10
Required parameters must be specified for the command to function. Usually if no parameters are written the command replies with some info about the syntax.
Less than (<) and greather than (>) symbols marks required parameters.
Examples:
zr_somecommand <number>
zr_infect <target>
Usage examples:
zr_somecommand 100
zr_infect "unnamed"
Some commands have parameters that support multiple pre defined options. Usually it's specifying a name, a index or a predefined value. Each option is separated by a "|" symbol. Only one of the options listed is used in a command.
Example:
zr_do_something <index|name|"all">
Usage examples:
zr_do_something 1
zr_do_something "all"
zr_do_something "unnamed"
Since parameters are separated by spaces, text (strings) should be quoted. It's a good habit to do this on all string parameters to avoid parsing mistakes.
Example:
zr_infect "unnamed" "player"
zr_do_something "example text. test."
Example of bad usage:
zr_do_something example text. test.
The last example actually have 3 parameters while it should be only one. This may cause unexpected results and is an example of why strings should be quoted.
These are the default configuration files. The paths are relative to the "cstrike" folder.
Type: File: Main conf. cfg/sourcemod/zombiereloaded/zombiereloaded.cfg Map config. cfg/sourcemod/zombiereloaded/<mapname>.cfg Post map conf. cfg/sourcemod/zombiereloaded/<mapname>.post.cfg Hitgroup conf. addons/sourcemod/configs/zr/hitgroups.txt Class conf. addons/sourcemod/configs/zr/playerclasses.txt Weapon conf. addons/sourcemod/configs/zr/weapons.txt Download list addons/sourcemod/configs/zr/downloads.txt Model list addons/sourcemod/configs/zr/models.txt
The post map configuration file is executed after all features of ZR is done loading. Commands that modify loaded data must be put in post configuration files. How to configure each file is explained in their own sections.
The log system used in Zombie:Reloaded is pretty powerful and customizable. It's based on logging flags and a module filter.
The flags tell what kind of events to log. Those flags are stored as a numeric value in a bit field where each bit tell wether to log a certain event or not. See Bit field for technical details.
The module filter is a list of modules to enable log events from. This filter gives extra control of what stuff to log. Use console commands below in the main configuration file to add or remove modules to the filter.
These commands might not work properly until bug 3828 in SourceMod is fixed. It's a bug where console commands in plugin configuration files are executed late so a command like zr_log_add_module is too late.
There are console variables for different log settings and exceptions. Place them in the main configuration file.
Console variables:
Console variable: Default: zr_log "1" Enable logging of events in the plugin. Fatal errors or errors are independendt on this setting and always logged.
Options:
0 or 1zr_log_flags "2" A bit field that specify what event types to log.
Options:
Number - See Log Flags (3.3.1)zr_log_module_filter "0" Enable module filtering. Only log events from listed modules will be logged. Use console commands below to add or remove modules from the filter.
Options:
0 or 1zr_log_ignore_console "1" Don't log events triggered by console that are executed by the console itself, like commands in configs. Enable this command to avoid spamming logs with events like weapon restrictions.
Options:
0 or 1zr_log_print_admins "0" Print log events to admin chat in addition to the log file.
Options:
0 or 1zr_log_print_chat "0" Print log events to public chat in addition to the log file.
Options:
0 or 1
Console commands:
Syntax: zr_log_add_module <module> [modules...] Adds one or more modules to the module filter. Use short module names, see List Of Modules (3.3.2).
Parameters:
module Name of the module to add. modules Additional modules to add. zr_log_remove_module <module> [modules...] Removes one or more modules from the module filter. Use short module names, see List Of Modules (3.3.2).
Parameters:
module Name of the module to remove. modules Additional modules to remove. zr_log_list Lists current log flag settings and module filtering settings.
Parameters:
Flag: Bit No.: Value: Description: LOG_CORE_EVENTS 1 1 Log events from the plugin core like config validation and other messages. LOG_GAME_EVENTS 2 2 Log admin commands, console commands, and game related events from modules like, suicide attempts and weapon restrictions. LOG_PLAYER_COMMANDS 3 4 Log events that are triggered by players, like chat triggers, teleporting and class changes. LOG_DEBUG 4 8 Log debug messages, if any. Usually only developers need to enable this log flag. LOG_DEBUG_DETAIL 5 16 Log additional debug messages with more details. May cause spam depending on module filter settings. Usually only developers need to enable this log flag.
To combine several logging flags use the sum of their values. A combination could be "3", which is these log flags:
LOG_CORE_EVENTS + LOG_GAME_EVENTS
1 + 2
Most server setups donesn't need different flag settings. Default is fine.
To decode the value you must convert it from decimals to binary, and count from right to left what bits that are 1. Look up the bit number (not value) in the table above.
As an example on using the number 11 it's 1011 in binary. Counting from right we see that the following bit numbers are on: 1, 2, and 4. That is the flags:
LOG_CORE_EVENTS + LOG_GAME_EVENTS + LOG_DEBUG
1 + 2 + 8
Most operating systems or distributions have a calculator that can convert between binary and decimal numbers with scientific mode enabled. An online unit converter like below can also be used.
Short name: Description: account Money manager antistick Anti-Stick feature config Configuration file manager cvars Console variables damage Damage manager downloads File download manager hitgroups Hit group feature infect Infection manager models Model list file manager playerclasses Class manager veffects Visual effect manager seffects Sound effect manager tools Helper functions (offsets) volfeatures Volumetric features weapons Weapon manager weaponrestrict Weapon restriction manager zspawn Spawn command manager ztele Teleport manager
Configuration files for each map is supported. They're executed after the main configuration files are executed, and are ideal for customizing map settings. These files are just regular configuration files and can also have standard console commands like setting map time. These files are optional.
The main purpose of these files is to make it possible to change settings for Zombie:Reloaded on certain maps. That could be scaling knockback, restricting certain weapons, changing class attributes or changing ambience sound.
There are two kinds of map configs; pre and post. Pre map configuration files are executed before the modules are loaded. They're useful for changing configuration sets for certain modules like classes. Post map configuration files are executed after the modules are loaded. Certain stuff have to be placed in this one to be effective, like changing class attributes.
Type: Executed: Path: Pre Before modules cfg/sourcemod/zombiereloaded/<mapname>.cfg Post After modules cfg/sourcemod/zombiereloaded/<mapname>.post.cfg
If not explicit specified in the module documentation, use pre configuration.
Note: Work in progress. Some flags explained in this section doesn't exist yet.
The model configuration file is a list of models used on the server. Each line contains the path including the model name, but not the file extension.
The models listed in this file are also precached when the server starts. Custom models used, but not listed in this file will cause a "model not precached" error on the server, so remember to list them in this file.
In addition certain flags can be added to mark the model as special, such as only for admins/donators, hidden from random selection or only for mother zombies.
Each line is separated into two fields with ";". The last field is optional and if no flag is specified it's treated as a regular public model.
Model line syntax:
<model path>[; flag]
Available flags:
adminonly Can only be used by admins. donator Can only be used by donators. hidden Is not included in random selections. motherzombie Can only be used on mother zombies.
Example usages:
models/player/zh/zh_charple001
models/player/zh/zh_corpse002; adminonly
models/player/zh/zh_zombie003; hidden
models/player/ics/hellknight_red/t_guerilla; motherzombie
Put the list of models in:
addons/sourcemod/configs/zr/models.txt
Custom models, materials and overlays must be listed in the download list so clients will download them. The paths must be relative to the "cstrike" folder.
List files to be downloaded in:
addons/sourcemod/configs/zr/downloads.txt
The class system makes it possible to have different zombies and humans with customized skills. It cannot be turned off, but class selection options can be disabled. If there is only one class in each team, the class selections menus are automatically disabled.
The class configurations are stored in Valve's key/value format, and the file that's loaded should be specified in the "zr_classes_file" console variable. It's possible to change this variable with per-map configuration files to have different sets of classes on one or more maps.
Default path is:
configs/zr/playerclasses.txt
Note: The path is relative to the "sourcemod" folder.
The file contains a short description of all attributes. Details are explained below.
There are three class types; zombies, humans and admin-mode. Default classes are selected on the player depending on console variables and the class file.
Admin-mode classes are currently incomplete and will be validated, but ignored in the game. This is a special mode in the game, but not the same as admin-only classes. To get admin-only classes set the admin-only flag in the "flags" attribute.
The list below explains all available class attributes in detail:
Attribute: Value type: Limits/Requirements: enabled text "yes" or "no" Enables or disables the class. Disabled classes won't show up in the class selection menus. Also, if some attributes failed to validate the class will be disabled.
team number 0 - 2 Specifies the class type (team ID). Class types are filtered in the class selection menus, so only zombies can use zombie class types, and only humans can use human class types. These are the allowed team IDs:
0 Zombie classes 1 Human classes 2 Admin-mode classes The admin-mode class type sets the player in spectacting like mode, but allow admins to walk around. They can't take or give damage, and they won't affect the game rules in any way. Admin-mode is incomplete and classes of this type is ignored in the game.
See the "flags" attribute for admin-only classes.
team_default text "yes" or "no" Marks the class as the default class for its specified team. This class will be automatically selected on new players when they join the server, depending on what's specified as default in the main configuration file (zr_classes_default_*). If multiple classes in the same team is marked as default the first class marked as default will be used.
flags number 0 - 3 Special class flags that are stored in a bit field (explained in Log Flags (3.3.1)). Available flags:
1 Admins only
Marks the class to be used by admins only. Classes with this option on will not be visible for regular players in the class menu.2 Mother zombie.
Marks the class as a mother zombie class. These classes will be used on mother zombies. Note that zr_classes_default_mother_zombie setting must be set to "motherzombies" for this flag to be effective.These flags can be used in a combination (1 + 2), so it could be a mother zombie class for admins only.
group text Name of a valid SourceMod group Rescrict class to members of this SourceMod group. Useful for making VIP-only classes. Leave blank to allow everyone to use this class.
name text Unique, not empty, max 64 charact. A unique name for the class that is displayed in the class selection menus. Cannot be empty. If multiple classes have the same name, the first one found is used.
This name is also refered to by cvars that set default classes.
description text Max 256 characters, not empty The description of the class, used in class selection menus. Cannot be empty.
model_path text Max 256 characters, not empty The model file to use on the player, path is relative to the "cstrike" folder. There are a few special values supported by this attribute:
default Use default CS models. The one players select when selecting team. random Selects a random model for the current team. nochange Don't change model. To be used in combination with other plugins that change model on players. alpha_spawn number 0 - 255 The initial transparency value on the player, where 255 is fully visible and 0 is invisible.
alpha_damaged number 0 - 255 Transparency on the player when a certain amount of damage is done. 255 is fully visible and 0 is invisible.
alpha_damage number 0 - 20000 How much damage that needs to be done before the players alpha changes from "aplha_spawn" to "aplha_damaged".
overlay_path text Max 256 characters Optional. Overlay texture to be displayed at the player. It can be controlled by the night vision key ("n" by default). The path is relative to "cstrike/materials". Leave blank to disable.
nvgs text "yes" or "no" Gives night vision to the player.
fov number 15 - 165 The field of view on the player. Note that the weapon hud disappear if FOV is anything else than 90.
has_napalm text "yes" or "no" Human classes only. Specifies whether the human can trow napalm grenades or not.
napalm_time decimal 0.0 - 600.0 Zombie classes only. Specifies how long in seconds zombies will burn when hit by napalm grenades. 0.0 or a negative value will disable this feature on the current class. This attribute has no effect on human classes.
immunity_mode number 0 - 2 Note: Incomplete feature!
The immunity mode. This feature is currently incomplete and values are ignored.
immunity_amount decimal (incomplete) Note: Incomplete feature!
The value for the specified immunity mode. This feature is currently incomplete and values are ignored.
health number 0 - 20000 Initial health points on the player.
health_regen_interval decimal 0.0 - 900.0 The health regeneration interval, in seconds. Use 0.0 to disable regeneration.
health_regen_amount number 0 - 10000 How many health points to give per interval. Regeneration stops when the players health is above the initial health.
health_infect_gain number 0 - 20000 Zombie classes only. How many health points to give the zombie each time it infect a human.
kill_bonus number 0 - 16 Zombie classes only. How many extra points to give the killer of this zombie. If this is 0, the default value of 1 point will be given.
speed decimal 10.0 - 2000.0 The player's running speed.
knockback decimal -30.0 - 30.0 Zombie classes only. Force to apply on the zombie when shot at. The zombie is pushed in the same direction as the bullet.
jump_height decimal 0.0 - 5.0 Jump height multiplier. Extra upward boost when jumping. If 1.0 or 0.0 no boost will be applied.
jump_distance decimal 0.0 - 5.0 Jump distance multiplier. Extra forward boost when jumping. If 1.0 or 0.0 no boost will be applied.
At least one zombie class and one human class with no special flags set is required. Otherwise the plugin will fail to load.
Requirements:
Errors are logged to SourceMod error logs if it can't parse the file or if class attributes have invalid values.
In case of incorrect values a warning will be logged and the class will be disabled. The class index and the error flags (bit field) in the log message tells what attributes that failed to validate.
Attribute flags:
Attribute: Bit: Value: enabled 1 1 team 2 2 team_default 3 4 flags 4 8 group 5 16 name 6 32 description 7 64 model_path 8 128 alpha_initial 9 256 alpha_damaged 10 512 alpha_damage 11 1024 overlay_path 12 2048 nvgs 13 4096 fov 14 8192 has_napalm 15 16384 napalm_time 16 32768 immunity_mode 17 65536 immunity_amount 18 131072 no_fall_damage 19 262144 health 20 524288 health_regen_interval 21 1048576 health_regen_amount 22 2097152 infect_gain 23 4194304 kill_bonus 24 8388608 speed 25 16777216 knockback 26 33554432 jump_height 27 67108864 jump_distance 28 134217728
The error flags are stored in a bit field (explained in Logging (3.3)).
Another quick way to decode it would be to use the calculator in Windows. Enable scientific mode and enter the decimal value. Then switch to binary mode (F8) and count from right to left what bits that are 1. Look up the bit numbers in the table above to see what attributes that didn't validate.
There are several console variables to set default class settings for players. Place these console variables in the main configuration file:
cfg/sourcemod/zombiereloaded/zombiereloaded.cfg
And/or in a map config file:
cfg/sourcemod/zombiereloaded/<map name>[.post].cfg
Example map config files:
cfg/sourcemod/zombiereloaded/zm_panic.cfg
cfg/sourcemod/zombiereloaded/zm_panic.post.cfg
Class console variables:
Console variable: Default: zr_config_path_playerclasses "configs/zr/playerclasses.txt" Specifies what class configuration file to load. Several class templates can be used with map configurations.
Path is relative to "sourcemod".
If used in map configuration files this console variable must be placed in pre map configuration files. Post configuration files won't have any effect because the class module is done loading.
zr_classes_spawn 0 Re-display class menu every spawn.
Options:
0 or 1zr_classes_random 0 Assign random classes to all players each round.
This setting overrides zr_classes_save.
Options:
0 or 1zr_classes_change_timelimit 20 The time limit to change human classes with instant change after spawning. So humans don't have to set class before spawning. Time is in seconds.
zr_classes_save 1 Save players' class selections in server cookies. Class selections are restored next time players connect.
This setting overrides zr_classes_default_*, but on first-time connecting players the default classes are assigned.
This setting also override zr_classes_*_select. If players have saved class indexes in cookies they will be restored.
Options:
0 or 1zr_classes_default_zombie "random" Default zombie class selected for all players when they connect.
Options:
<class name> Specify a class name to use as default zombie. "default" Use the default class in the class configuration. "random" Select a random zombie class from the class configuration. zr_classes_default_mother_zombie "motherzombies" Default mother zombie class to be set on mother zombies. If no mother zombie class exist it will use the class selected by the player.
Options:
<class name> Specify a class name to use as default mother zombie. "random" Select a random regular zombie class. "motherzombies" Select a random zombie class with mother zombie flag. "disabled" No change. Use the zombie class selected by the player. zr_classes_default_human "random" Default human class selected for all players when they connect.
Options:
<class name> Specify a class name to use as default human. "default" Use the default class in the class configuration. "random" Select a random human class from the class configuration. zr_classes_default_admin "random" Note: This feature is incomplete!
Default admin-mode class selected for all players when they connect, if found. This feature is incomplete and ignored.
Options:
<class name> Specify a class name to use as default admin-mode class. "default" Use the default class in the class configuration. "random" Select a random admin-mode class from the class configuration. zr_classes_zombie_select 1 Allow players to select zombie classes. Disable this option to force certain classes on players depending on what zr_classes_default_zombie is set to.
Options:
0 or 1zr_classes_human_select 1 Allow players to select human classes. Disable this option to force certain classes on players depending on what zr_classes_default_human is set to.
Options:
0 or 1zr_classes_admin_select 1 Note:This feature is incomplete!
Allow admins to select admin classes. Disable this option to force certain classes on admins depending on what zr_classes_default_admin is set to, - and if admin mode is enabled on the player.
Options:
0 or 1
Classes can be modified after they're loaded. This is useful in map configs to do stuff like scaling knockback to tune map balance.
All attributes can be modified, and some can also be scaled with a multiplier. The value in the original class cache is multiplied with the specified value and written back to the modified cache.
When multiplying, the value is always based on the original value, not multiplying the earlier multiplied value. This also makes it easy to restore the original value.
Console commands:
Syntax: zr_class_modify <class|team> <attribute> <value> [is_multiplier] Modify settings on one or more classes.
Parameters:
class|team The class to modify. Can be any valid class name, or one of the following team names:
"all", "humans", "zombies" or "admins".attribute The name of the class attribute to modify. value Value to set, or multiplier if a multiplier. is_multiplier Optional. Specifies wether the original value should be multiplied by the specified value. Default is false.
Making a balanced zombie map is difficult, and all maps have different balance. The knock back and other settings may work fine on one map, but not on other maps. This is where multipliers are useful.
With class attribute multipliers, numeric class attributes can be scaled and configured with map configuration files. There's a set of multipliers for both humans and zombies.
Warning: Currently these multipliers aren't validated, so using too high or negative values may cause unexpected behaviour, or even crash the plugin.
Attribute multipliers are set using this console command:
Syntax: zr_class_set_multiplier <team> <attribute> <value> Sets the multiplier on a class attribute.
Parameters:
team What multiplier set to use. Options:
"zombies" or "humans"attribute A numeric class attribute. See Class Attributes (3.7.2) for details on attributes. Valid attribute multipliers:
- "napalm_time" (zombies only)
- "health"
- "health_regen_interval"
- "health_regen_amount"
- "health_infect_gain" (zombies only)
- "speed"
- "knockback" (zombies only)
- "jump_height"
- "jump_distance"
value Value to set, or multiplier if a multiplier.
Multipliers can also be adjusted in the zombie admin menu, but the changes aren't saved. The menu is useful for finding the correct value, and then use it in a map configuration file.
While testing or adjusting class attributes they must be reloaded before they will be effective. This only applies to players who already are the same class.
Syntax: zr_class_reload <target> Refreshes the player cache and reloads class attributes on one or more players.
Parameters:
target Target player(s) to refresh cache on. A name or a SourceMod target specifier.
For debug purposes class attributes also can be dumped.
Syntax: zr_class_dump <cachetype> <index|targetname> Dumps class data at a specified index in the specified cache.
Parameters:
cachetype Cache to read from. Cache types:
"original" Unmodified raw class data. "modified" Modified class data with multipliers. "player" Player cache, with multipliers. index|targetname Class index, or name of player if "player" cache type is used.
Dumping multipliers is another command for debug purposes. It will dump the current state of multipliers.
Syntax: zr_class_dump_multipliers <team> Dumps class attribute multipliers for the specified team.
Parameters:
team The multiplier set to dump. Valid options are:
"humans" or "zombies"
The weapon module can be used to restict weapons or scale knockback.
Weapon attributes are stored by default in:
addons/sourcemod/configs/zr/weapons.txt
Custom file may be specified in the console variable "zr_config_path_weapons". If used in per map configuration files it must be in a pre configuration file.
These are the allowed attributes:
Attribute: Type: Limits/Requirements: weapontype text Separate items by ", " A list of weapon groups and the weapon type.
Pre-defined options:
- All
- Pistol
- Shotgun
- SMG
- Rifle
- Sniper
- Machine Gun
- Melee
- Projectile
- Equipment
weaponslot number 0 - 3 The slot index the weapon resides in. Don't change this!
Options:
0 Primary weapon slot 1 Secondary weapon slot 2 Knife slot 3 Equipment slot restrictdefault text "yes" or "no" The default restricted status of the weapon on map start.
Options:
"yes" Enable "no" Disable toggleable text "yes" or "no" Enable weapon to have restrictions toggled mid-game.
Options:
"yes" Enable "no" Disable ammotype text - Ammo entity that belongs to weapons. Don't change this!
Options:
ammo_50ae deagle ammo_762mm scout, ak47, g3sg1, aug ammo_556mm_box m249 ammo_556mm galil, sg552, famas, m4a1, sg550 ammo_338mag awp ammo_9mm mp5navy, tmp, glock, elite ammo_buckshot m3, xm1014 ammo_45acp ump45, mac10, usp ammo_357sig P228 ammo_57mm p90, fiveseven ammoprice number - Price of ammo for this weapon.
knockback decimal - The knock back multiplier for the weapon. 1.0 is no change, 0.5 give half knock back, and 2.0 gives double knock back.
zmarketprice number - The price of the weapon in ZMarket. Default in configuration file is CS:S buymenu price.
zmarketpurchasemax number - The max number of purchases allowed per spawn for the weapon.
The file structure is Valve's key/value format where the root section is named "weapons" and a sub section for each weapon using short names from the list below.
Weapon name: Type: Full name: Glock Pistol Glock 18 Select Fire (9X19mm Sidearm) USP Pistol .45 USP (K&M .45 Tactical) P228 Pistol 228 Compact Deagle Pistol Desert Eagle .50C (Night Hawk .50C) Elite Pistol .40 Dual Elites Fiveseven Pistol ES Five-Seven M3 Shotgun Benelli M3 (Leone 12 Gauge Super) XM1014 Shotgun Benelli XM1014 (Leone YG1265 Auto Shotgun) Mac10 SMG Ingram MAC-10 TMP SMG Steyr TMP (Schmidt Machine Pistol) MP5Navy SMG HK MP5 Navy (KM Sub-Machine Gun) UMP45 SMG K&M UMP45 P90 SMG FN P90 (ES C90) Galil Rifle IMI Galil (IDF Defender) Famas Rifle Giat FAMAS (Clarion 5.56) AK47 Rifle AK-47 (CV-47) M4A1 Rifle M4A1 Carbine (Maverick M4A1 Carbine) SG552 Rifle SIG SG552 (Krieg 552 Commando) AUG Rifle Steyr AUG (Bullpup) M249 Machine gun FN M249 (ES M249 Para) Scout Sniper Steyr Scout (Schmidt Scout) SG550 Sniper SIG SG550 (Krieg 550 Commando) G3SG1 Sniper G3/SG-1 (D3/AU-1) AWP Sniper Arctic Warfare Magnum (Magnum Sniper Rifle) hegrenade Grenade High explosive grenade flashbang Grenade Flash bang smokegrenade Grenade Smoke grenade NVGs Equipment Night vision goggles
Available commands for managing weapon restrictions. These can be used in the main configuration file, or on a per-map basis with map configuration files.
Syntax: zr_restrict <weapon|weapon type> [weapon|weapontype] ... Restricts one or more weapons or weapon types (group).
Parameters:
weapon The weapon name. weapon type The weapon type group. zr_unrestrict <weapon|weapon type> [weapon|weapontype] ... Unrestricts one or more weapons or weapon types (group).
Parameters:
weapon The weapon name. weapon type The weapon type group. zmarket Displays the ZMarket weapon menu.
Hit group configuration makes it possible to disable damage or adjust knock back per hit group. This is useful for fine tuning game balance.
The hit group configuration file is a file in Valve's key/value format with the root key "hitgroups" and a sub key for each hit group.
The default file is:
addons/sourcemod/configs/zr/hitgroups.txt
Console commands:
Syntax: zr_hitgroup <hitgroup name> [value] Toggles or sets if a zombie's hitgroup can be damaged.
Parameters:
hitgrup name Name of the hit group to adjust. Options:
- generic
- head
- chest
- stomach
- leftarm
- rightarm
- leftleg
- rightleg
- gear
value Optional. Enable hit group damage. Default action is to toggle setting. Options: 0 or 1
Attribute: Type: Limits/Requirements: index number - The hit group index.
Options:
0 Generic 1 Head 2 Chest 3 Stomach 4 Left Arm 5 Right Arm 6 Left Leg 7 Right Leg 8 Gear damage text "yes" or "no" Allows damage to be done on the specified hit group for zombies.
Options:
yes Allow damage no Ignore damage knockback decimal - The knock back multiplier for the hitgroup. 1.0 for no change.
The infection module handles all infection events and does random infection on mother zombies. It's the core part of the plugin that creates this human vs. zombies game.
Number of mother zombies is based on a ratio setting, so on server with many players more mother zombies will be spawned than on a server with few players. Server admins can adjust this ratio to tune game balance.
In addition several infection effects can be enabled or disabled.
These are the console variables for the infection module:
Console variable: Default: zr_infect_mzombie_ratio 5 Mother zombie ratio. Every random N-th player is infected. In this case it's 5 where every fifth player will be infected. If it's set to 0 there will be only 1 mother zombie every time.
Options:
0 or a positive number up to max server slotszr_infect_mzombie_respawn 0 Teleport mother zombies to spawn place when infected.
Options:
0 or 1zr_infect_spawntime_min 30.0 Minimum time when mother zombies spawn. Time is in seconds.
zr_infect_spawntime_max 50.0 Maximum time when mother zombies spawn. Time is in seconds.
zr_infect_consecutive_block 1 Blocks players from being mother zombie twice in a row.
Options:
0 or 1zr_infect_weapons_drop 1 Force players to drop weapons and grenades when infected. So other players can use them.
Options:
0 or 1zr_infect_sound npc/fast_zombie/fz_scream1.wav Sound played when infected. The file path is relative to the "sound" folder. Leave blank ("") to disable infection sound.
zr_infect_explosion 1 Enable explosion effects. If disabled, this setting will also disable the following CVARs:
- zr_infect_fireball
- zr_infect_smoke
- zr_infect_smoke
Options:
0 or 1zr_infect_fireball 1 Spawn a fire ball effect around the player on infection.
Options:
0 or 1zr_infect_smoke 1 Spawn a smoke cloud effect around the player on infection.
Options:
0 or 1zr_infect_sparks 1 Emit sparks from the the player on infection.
Options:
0 or 1zr_infect_esplash 1 Emit an energy splash effect from the player on infection.
Options:
0 or 1zr_infect_shake 1 Shake the player's view on infection.
Options:
0 or 1zr_infect_shake_amp 15.0 Shake amplitude, how strong the shake is. Amplitude is in units.
zr_infect_shake_frequency 1.0 Shake frequency, how fast the shake is. Frequency is in hertz (cycles per second).
zr_infect_shake_duration 5.0 Duration of shake, how long the shake lasts. Time is in seconds.
Console commands:
Syntax: zr_infect <target> [respawn] Infects one or more players.
Parameters:
target A SourceMod target string with one or more players. respawn Teleport players to spawn. zr_human <target> [respawn] Turn one or more zombies into humans.
Parameters:
target A SourceMod target string with one or more players. respawn Teleport players to spawn.
With damage control it's possible to block suicide attempts, fall damage, blast damage and hit group damage. See Hit Group Configuration (3.9) on how to configure hit groups.
Damage control console variables:
Console variable: Default: zr_damage_hitgroups 1 Enables hit group damage control. See Hit Group Configuration (3.9) on how to configure hit groups.
Options:
0 or 1zr_damage_block_ff 1 Block friendly fire between zombies.
Options:
0 or 1zr_damage_block_blast 1 Block blast damage inflicted on self or teammates.
Options:
0 or 1zr_damage_suicide_zombie 0 Block suicide attempts by regular zombies.
Options:
0 or 1zr_damage_suicide_mzombie 1 Block suicide attempts by mother zombies.
Options:
0 or 1zr_damage_suicide_human 0 Block suicide attempts by humans.
Options:
0 or 1zr_damage_suicide_cmds "kill, spectate, jointeam" List of console commands that are treated as suicide attempts. Separated by ", ". These commands are often bound to a key on the client, like "m" is bound to "jointeam".
Overlays are pictures displayed on players' screen on certain events. However, these overlays require DirectX 9 or higher to work. Players with lower DirectX version won't see these overlays.
Since these overlays doesn't last forever, they must be redisplayed at a certain interval. A refresh once per second seems to be enough.
When the round ends, overlays for either humans or zombies are displayed, depending on the winning team.
Overlays are also used as a class attribute, like the zombie vision effect.
These are the overlay console variables:
Console variable: Default: zr_overlays_update_time 1.0 How often overlays are refreshed. Time is in seconds.
zr_roundend_overlay 1 Show overlays for the winning team when the round ends.
Options:
0 or 1zr_roundend_overlays_human overlays/zr/humans_win Overlay to be displayed when humans win. Path is relative to the "materials" folder.
zr_roundend_overlays_zombie overlays/zr/zombies_win Overlay to be displayed when zombies win. Path is relative to the "materials" folder.
Players' cash can be modified and reset on every spawn if enabled.
Console variable: Default: zr_account_cashfill 1 Resets player's cash every spawn. Cash amount is specified in zr_account_cashfill_value.
Options:
0 or 1zr_account_cashfill_value 12000 How much cash to give each spawn, if enabled.
Options:
0 or 1zr_account_cashdmg 0 Attacker receives amount of cash equivalent to the damage that was inflicted. If this one is enabled, the zr_account_cashfill and zr_account_cashfill_value console variables is ignored.
Options:
0 or 1
With visual effects it makes it possible to give a creepy ambience. It's possible to change light style in maps and set dissolve effects on players' bodies when they die.
It's supposed to have support for adding fog, but because of technical limits in SourceMod it's not fully functional yet. For developers who wonder why, it's because there must be a env_fog_controller entity in the map. That entity isn't networked so SourceMod can't create that entity type (Logical Entity Support is a work in progress by the SourceMod team).
Currently, fog can only be modified if the map already has a env_fog_controller entity.
Console variables for visual effects:
Console variable: Default: zr_veffects_lightstyle 0 Change light style (brightness) in the map.
Options:
0 or 1zr_veffects_lightstyle_value b Light brightness value. The brightness is represented by characters from "a" to "z" where "a" is dark, "n" is normal, and "z" is bright.
Options:
a (dark) to z (bright)zr_veffects_sky 0 Change skybox of the map.
Options:
0 or 1zr_veffects_sky_path sky_borealis01up.vmt The skybox to use, if enabled. Path is relative to "materials/skybox".
zr_veffects_sun_disable 0 Remove the sun entity on the map. Disables sun rendering on the map.
Options:
0 or 1zr_veffects_fog 0 Note: Incomplete. May or may not work.
Enable fog on the map.
Options:
0 or 1zr_veffects_fog_override 0 Note: Incomplete. May or may not work.
Override existing fog on the map. If fog exists already on the map, replace it with the new modified fog.
Options:
0 or 1zr_veffects_fog_pcolor "255 255 255" Note: Incomplete. May or may not work.
Sets the primary fog color. Three values from 0 to 255 separated by a space, representing amount of red, green and blue.
Examples
255 255 0 Yellow 255 0 255 Purpule 96 96 96 Dark grey zr_veffects_fog_scolor "255 255 255" Note: Incomplete. May or may not work.
Sets the secondary fog color. Three values from 0 to 255 separated by a space, representing amount of red, green and blue.
Examples
255 255 0 Yellow 255 0 255 Purpule 96 96 96 Dark grey zr_veffects_fog_density 0.8 Note: Incomplete. May or may not work.
Density (thickness) of the fog. The value is in percent, 0.0 to 1.0.
Options:
0.0 to 1.0zr_veffects_fog_startdist 0 Note: Incomplete. May or may not work.
Distance from player to start rendering foremost fog. Distance is in game units (1 unit is ~1 inch). For reference, default player models are ~75 units tall.
zr_veffects_fog_enddist 400 Distance from player to stop rendering fog. Distance is in game units (1 unit is ~1 inch). For reference, default player models are ~75 units tall.
zr_veffects_fog_farz 2000 Distance to stop render everything, for optimizing purposes. This should be equal to or bigger than fog end distance. There's no reason to render stuff that can't be seen anyways.
zr_veffects_ragdoll_remove 1 Remove players' bodies when dying.
Options:
0 or 1zr_veffects_ragdoll_dissolve -1 Dissolve effect to use when removing bodies.
Options:
-2 No effect -1 Random effect 0 Energy dissolve 1 Heavy electrical dissolve 2 Light electrical dissolve 3 Core dissolve zr_veffects_ragdoll_delay 0.5 Time to wait before removing dead bodies. Time is in seconds.
zr_napalm_ignite 1 Ignite grenades that players throws. Humans need the class attribute "has_napalm" set for this setting to be effective.
Options:
0 or 1
The sound effects make zombies groan, in addition to the ambience sound file that can be played.
Currently it doesn't support any other custom files than the ambience file. Other sounds are pre-configured. Instead it's possible to specify how often the sounds should be played, if enabled.
The lenght of the ambience file must be specified because SourceMod currently can't detect lenght of MP3 files.
Sound effect console variables:
Console variable: Default: zr_seffects_moan 30.0 Time between emission of a moan sound from a zombie. Time is in secons.
zr_seffects_groan 5 The probability that a groan sound will be emitted from a zombie when shot. Probability is in percent.
Options:
0 to 100zr_seffects_death 1 Emit a death sound when a zombie dies.
Options:
0 or 1zr_ambientsounds 1 Enable ambient sound (background sound) to all players during gameplay.
Options:
0 or 1zr_ambientsounds_file ambient/zr/zr_ambience.mp3 The ambient sound file to play as ambienece. Path is relative to the "sound" folder, and MP3 files are supported. This sound is also looped so only use sounds that can be looped. Otherwise it might sound wierd when it restarts.
zr_ambientsounds_length 60.0 Length of the ambient sound. Length is in seconds. If the specified length is shorter than the real sound length, the sound will play again before the previous sound finished playing.
zr_ambientsounds_volume 0.8 Volume of ambient sound file. Volume is in percent.
Options:
0.0 to 1.0
Respawning makes players spawn into the game again after death. It keeps the game active and is less annoying for people who don't like to wait too much.
If the mother zombie haven't spawned yet, players are always spawned as humans.
Respawn console variables:
Console variable: Default: zr_respawn 1 Enable respawning.
Options:
0.0 to 1.0zr_respawn_delay 1.0 Time after death to respawn. Time is in seconds.
zr_respawn_team_zombie 1 Respawn as zombie. If the mother zombie haven't spawned yet, players are always spawned as humans.
Options:
0.0 to 1.0zr_respawn_team_zombie_world 1 Respawn as zombie if the player was killed by world damage. If the mother zombie haven't spawned yet, players are always spawned as humans.
Options:
0.0 to 1.0Options:
0.0 to 1.0