sm-zombiereloaded-3/docs/zr_manual.htm

4875 lines
146 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Language" content="en" />
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="zr.css" />
<title>Zombie:Reloaded User Manual</title>
</head>
<body>
<div class="container">
<div class="shadow">
<div class="content">
<h1><a name="top" />Zombie:Reloaded User Manual</h1>
<p class="headerinfo">Targets plugin version 3.0.0 Beta 2, (not released)<br />
Written by Richard Helgeby</p>
<p class="headerinfo">Manual last modified: 2009.10.20</p>
<h2>Index</h2>
<ol>
<li>
<a href="#1">Introduction</a>
<ol>
<li><a href="#1.1">About The Plugin</a></li>
<li><a href="#1.2">Game Objectives</a></li>
<li><a href="#1.3">Credits</a></li>
</ol>
</li>
<li>
<a href="#2">Installation</a>
<ol>
<li><a href="#2.1">Requirements</a></li>
<li><a href="#2.2">Plugin Installation</a></li>
<li><a href="#2.3">Test Run</a></li>
</ol>
</li>
<li>
<a href="#3">Configuration</a>
<ol>
<li>
<a href="#3.1">Understanding syntax</a>
<ol>
<li><a href="#3.1.1">Optional Parameters</a></li>
<li><a href="#3.1.2">Required Parameters</a></li>
<li><a href="#3.1.3">Multiple Options In The Same Parameter</a></li>
<li><a href="#3.1.4">Text As Parameters</a></li>
</ol>
</li>
<li><a href="#3.2">Configuration Files</a></li>
<li>
<a href="#3.3">Logging</a>
<ol>
<li><a href="#3.3.1">Log Flags</a></li>
<li><a href="#3.3.2">List Of Modules</a></li>
</ol>
</li>
<li>
<a href="#3.4">Custom Map Configuration Files</a>
<ol>
<li><a href="#3.4.1">Types</a></li>
</ol>
</li>
<li><a href="#3.5">Model List</a></li>
<li><a href="#3.6">Download List</a></li>
<li>
<a href="#3.7">Class Configuration</a>
<ol>
<li><a href="#3.7.1">Class Types</a></li>
<li><a href="#3.7.2">Class Attributes</a></li>
<li><a href="#3.7.3">Class Requirements</a></li>
<li><a href="#3.7.4">Class Console Variables</a></li>
<li><a href="#3.7.5">Modifying Class Attributes</a></li>
<li><a href="#3.7.6">Attribute Multipliers</a></li>
<li><a href="#3.7.7">Reloading Attributes</a></li>
<li><a href="#3.7.8">Dumping Attributes</a></li>
<li><a href="#3.7.9">Dumping Multipliers</a></li>
</ol>
</li>
<li>
<a href="#3.8">Weapon Configuration</a>
<ol>
<li><a href="#3.8.1">Attributes</a></li>
<li><a href="#3.8.2">Weapon List</a></li>
<li><a href="#3.8.3">Console Commands</a></li>
</ol>
</li>
<li><a href="#3.9">Hit Group Configuration</a></li>
<li><a href="#3.10">Infection Module</a></li>
<li><a href="#3.11">Damage Control Settings</a></li>
<li><a href="#3.12">Overlay Settings</a></li>
<li><a href="#3.13">Money Settings</a></li>
<li><a href="#3.14">Visual Effects Configuration</a></li>
<li><a href="#3.15">Sound Effects Configuration</a></li>
<li><a href="#3.16">Respawn Configuration</a></li>
<li><a href="#3.17">Spawn Command Configuration</a></li>
<li><a href="#3.18">Spawn Protect Configuration</a></li>
<li><a href="#3.19">Teleport Configuration</a></li>
<li><a href="#3.20">HP Display Settings</a></li>
<li><a href="#3.21">Jump Boost Settings</a></li>
<li><a href="#3.22">Anti-Stick Configuration</a></li>
<li>
<a href="#3.23">Volumetric Feature Configuration</a>
<ol>
<li><a href="#3.23.1">Creating A Volume</a></li>
<li><a href="#3.23.2">Volume Attributes</a></li>
<li><a href="#3.23.3">Volume Commands</a></li>
<li><a href="#3.23.4">Anti-Camp</a></li>
<li><a href="#3.23.5">Class Editor</a></li>
</ol>
</li>
<li>
<a href="#3.24">Admin Authentication</a>
<ol>
<li><a href="#3.24.1">Admin Flags Used In Zombie:Reloaded</a></li>
<li><a href="#3.24.2">Predefined Admin Groups</a></li>
<li><a href="#3.24.3">Console Variables</a></li>
</ol>
</li>
</ol>
</li>
<li>
<a href="#4">How To Play</a>
<ol>
<li><a href="#4.1">Game Rules</a></li>
<li><a href="#4.2">Commands</a></li>
<li><a href="#4.3">Menus</a></li>
<li><a href="#4.4">Teamwork</a></li>
<li>
<a href="#4.5">Playing As Human</a>
<ol>
<li><a href="#4.5.1">Finding A Place To Hide</a></li>
<li><a href="#4.5.2">Making Barricades</a></li>
<li><a href="#4.5.3">Playing Fair</a></li>
</ol>
</li>
<li>
<a href="#4.6">Playing As Zombie</a>
<ol>
<li><a href="#4.6.1">Chasing Humans</a></li>
<li><a href="#4.6.2">Avoiding Knock Back</a></li>
<li><a href="#4.6.3">Taking Advantage Of Class Skills</a></li>
</ol>
</li>
<li>
<a href="#4.6">Physics Stuff</a>
<ol>
<li><a href="#4.6.1">Glitching Trough Walls</a></li>
<li><a href="#4.6.2">Jumping Through Non-Solid Props</a></li>
<li><a href="#4.6.3">Jumping Fast In Small Areas</a></li>
</ol>
</li>
</ol>
</li>
<li>
<a href="#5">Troubleshooting</a>
<ol>
<li><a href="#5.1">Verifying Requirements</a></li>
<li><a href="#5.2">Startup</a></li>
<li><a href="#5.3">Error and Warning Messages</a></li>
<li><a href="#5.4">Common Problems</a></li>
<li><a href="#5.5">Known Issues</a></li>
</ol>
</li>
<li>
<a href="#6">Gameplay Guidelines</a>
<ol>
<li><a href="#6.1">Briefing - Map Configuration Files</a></li>
<li><a href="#6.2">Map Balance</a></li>
<li><a href="#6.3">Knock Back Settings</a></li>
<li><a href="#6.4">Map Time</a></li>
<li><a href="#6.5">Servers With Unlimited Ammo and No Reloading</a></li>
</ol>
</li>
<li><a href="#7">Reporting Bugs and Improvements</a></li>
</ol>
<h2><a name="1" />1. Introduction</h2>
<h3><a name="1.1" />1.1 About The Plugin</h3>
<p>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.</p>
<h3><a name="1.2" />1.2 Game Objectives</h3>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<h3><a name="1.3" />1.3 Credits</h3>
<h6>Concept</h6>
<ul>
<li>
<p><strong>c0ldfyr3</strong></p>
<p>The developer of Zombie Mod (<a href="http://www.zombiemod.com">www.zombiemod.com</a>).</p>
</li>
</ul>
<h6>Developers and testers</h6>
<ul>
<li>
<p><strong>Greyscale</strong></p>
<p>Author of Zombie:Reloaded. The one who started remaking Zombie Mod for the SourceMod platform.</p>
<p>Related server: "#1 Pro's Playground - 24/7 Zombie Mod [ Rank / Reload / Napalm ]"
(74.201.57.54:27015) - USA, Washington</p>
</li>
<li>
<p><strong>Richard Helgeby</strong></p>
<p>Zombie:Reloaded developer. Started working on the plugin from version 2.5.1. Fixed bugs and
made new features.</p>
<p>Related server: (same as Cpt. Moore)</p>
</li>
<li>
<p><strong>Cpt. Moore</strong></p>
<p>Helped debuging issues and made some new features. Used the server for testing.</p>
<p>Related server: "Zombie World Domination by SwissQuake" (85.195.74.201:13010)
- Switzerland, Basel</p>
</li>
</ul>
<h6>Additional testers and contributors</h6>
<ul>
<li>Grey Echo</li>
<li>"zhelev81"</li>
<li>"exvel"</li>
<li>And more people we haven't listed yet...</li>
</ul>
<h2><a name="2" />2. Installation</h2>
<h3><a name="2.1" />2.1 Requirements</h3>
<p>Zombie: Reloaded requires that the following stuff is installed on the server:</p>
<ol>
<li><p>Metamod:Source - A simplified API for server plugins. It makes it easier for developers
to make plugins like SourceMod:</p>
<ul><li><a href="http://wiki.alliedmods.net/Installing_Metamod:Source">Installing Metamod:Source</a></li></ul></li>
<li><p>SourceMod - A scripting platform:</p>
<ul>
<li><a href="http://wiki.alliedmods.net/Installing_SourceMod">Installing SourceMod</a></li>
<li><a href="http://wiki.alliedmods.net/index.php/Category:SourceMod_Documentation">SourceMod Documentation</a></li>
</ul></li>
<li>
<p>ZRTools extension (bundled). Provides some extra functions needed by Zombie:Reloaded.
See <a href="#2.2">Plugin Installation (2.2)</a>.</p>
</li>
</ol>
<h3><a name="2.2" />2.2 Plugin Installation</h3>
<p>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.</p>
<h3><a name="2.3" />2.3 Test Run</h3>
<p>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.</p>
<p>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 errors logged, see <a href="#5">Troubleshooting (5)</a>.</p>
<h2><a name="3" />3. Configuration</h2>
<h3><a name="3.1" />3.1 Understanding Syntax</h3>
<p>In this manual commands or paths may be written in a certain style that tells how to use it.</p>
<p>Note that the style itself is not written, but it's used as an indicator to tell if a parameter
is optional or not.</p>
<p>Example syntax of a command:</p>
<blockquote><p><code>zr_class_modify &lt;classname|"zombies"|"humans"|"admins"&gt; &lt;attribute&gt; &lt;value&gt; [is_multiplier]</code></p></blockquote>
<p>Some paths may look like:</p>
<blockquote><p><code>cfg/sourcemod/zombiereloaded/&lt;mapname&gt;.cfg</code></p></blockquote>
<p>How to read syntaxes like this is explained below.</p>
<h4><a name="3.1.1" />1. Optional Parameters</h4>
<p>Optional parameters is not required and usually have a default value or action. They are marked
with brackets.</p>
<p>Example:</p>
<blockquote><p><code>zr_somecommand [number]</code></p></blockquote>
<p>Usage examples:</p>
<blockquote><p><code>zr_somecommand<br />
zr_somecommand 10</code></p></blockquote>
<p></p>
<h4><a name="3.1.2" />2. Required Parameters</h4>
<p>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.</p>
<p>Less than (&lt;) and greather than (&gt;) symbols marks required parameters.</p>
<p>Examples:</p>
<blockquote><p><code>zr_somecommand &lt;number&gt;<br />
zr_infect &lt;target&gt;</code></p></blockquote>
<p>Usage examples:</p>
<blockquote><p><code>zr_somecommand 100<br />
zr_infect "unnamed"</code></p></blockquote>
<h4><a name="3.1.3" />3. Multiple Options In The Same Parameter</h4>
<p>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.</p>
<p>Example:</p>
<blockquote><p><code>zr_do_something &lt;index|name|"all"&gt;</code></p></blockquote>
<p>Usage examples:</p>
<blockquote><p><code>zr_do_something 1<br />
zr_do_something "all"<br />
zr_do_something "unnamed"</code></p></blockquote>
<h4><a name="3.1.4" />4. Text As Parameters</h4>
<p>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.</p>
<p>Example:</p>
<blockquote><p><code>zr_infect "unnamed" "player"<br />
zr_do_something "example text. test."</code></p></blockquote>
<p>Example of bad usage:</p>
<blockquote><p><code>zr_do_something example text. test.</code></p></blockquote>
<p>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.</p>
<h3><a name="3.2" />3.2 Configuration Files</h3>
<p>These are the default configuration files. The paths are relative to the "cstrike" folder.</p>
<blockquote><table>
<caption>Default Configuration Files</caption>
<tr>
<th class="mediumwidth">Type:</th>
<th>File:</th>
</tr>
<tr>
<td>Main conf.</td>
<td class="code">cfg/sourcemod/zombiereloaded/zombiereloaded.cfg</td>
</tr>
<tr>
<td><a href="#3.4">Map config.</a></td>
<td class="code">cfg/sourcemod/zombiereloaded/&lt;mapname&gt;.cfg</td>
</tr>
<tr>
<td><a href="#3.4">Post map conf.</a></td>
<td class="code">cfg/sourcemod/zombiereloaded/&lt;mapname&gt;.post.cfg</td>
</tr>
<tr>
<td><a href="#3.9">Hitgroup conf.</a></td>
<td class="code">addons/sourcemod/configs/zr/hitgroups.txt</td>
</tr>
<tr>
<td><a href="#3.7">Class conf.</a></td>
<td class="code">addons/sourcemod/configs/zr/playerclasses.txt</td>
</tr>
<tr>
<td><a href="#3.8">Weapon conf.</a></td>
<td class="code">addons/sourcemod/configs/zr/weapons.txt</td>
</tr>
<tr>
<td><a href="#3.6">Download list</a></td>
<td class="code">addons/sourcemod/configs/zr/downloads.txt</td>
</tr>
<tr>
<td><a href="#3.5">Model list</a></td>
<td class="code">addons/sourcemod/configs/zr/models.txt</td>
</tr>
</table></blockquote>
<p>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.</p>
<h3><a name="3.3" />3.3 Logging</h3>
<p>The log system used in Zombie:Reloaded is pretty powerful and customizable. It's based on
logging flags and a module filter.</p>
<p>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
<a href="http://en.wikipedia.org/wiki/Bit_field">Bit field</a> for technical details.</p>
<p>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.</p>
<p>These commands might not work properly until
<a href="http://bugs.alliedmods.net/show_bug.cgi?id=3828">bug 3828</a> 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.</p>
<p>There are console variables for different log settings and exceptions. Place them in the main
configuration file.</p>
<blockquote><table>
<caption>Log Console variables</caption>
<tr>
<th class="namewidth">Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_log</td>
<td class="commandheader">"1"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enable logging of events in the plugin. Fatal errors or errors are independendt on
this setting and always logged.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_log_flags</td>
<td class="commandheader">"2"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>A bit field that specify what event types to log.</p>
<p>Options:<br />
Number - See <a href="#3.3.1">Log Flags (3.3.1)</a></p>
</td>
</tr>
<tr>
<td class="commandheader">zr_log_module_filter</td>
<td class="commandheader">"0"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enable module filtering. Only log events from listed modules will be logged. Use console
commands below to add or remove modules from the filter.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_log_ignore_console</td>
<td class="commandheader">"1"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_log_print_admins</td>
<td class="commandheader">"0"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Print log events to admin chat in addition to the log file.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_log_print_chat</td>
<td class="commandheader">"0"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Print log events to public chat in addition to the log file.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
</table></blockquote>
<blockquote><table>
<caption>Log Console commands</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_log_add_module &lt;module&gt; [modules...]</td>
</tr>
<tr>
<td class="indent">
<p>Adds one or more modules to the module filter. Use short module names, see
<a href="#3.3.2">List Of Modules (3.3.2)</a>.</p>
<p>Parameters:</p>
<blockquote><table>
<tr><td class="parameter">module</td><td>Name of the module to add.</td></tr>
<tr><td class="parameter">modules</td><td>Additional modules to add.</td></tr>
</table></blockquote>
</td>
</tr>
<tr>
<td class="commandheader">zr_log_remove_module &lt;module&gt; [modules...]</td>
</tr>
<tr>
<td class="indent">
<p>Removes one or more modules from the module filter. Use short module names, see
<a href="#3.3.2">List Of Modules (3.3.2)</a>.</p>
<p>Parameters:</p>
<blockquote><table>
<tr><td class="parameter">module</td><td>Name of the module to remove.</td></tr>
<tr><td class="parameter">modules</td><td>Additional modules to remove.</td></tr>
</table></blockquote>
</td>
</tr>
<tr>
<td class="commandheader">zr_log_list</td>
</tr>
<tr>
<td class="indent">
<p>Lists current log flag settings and module filtering settings.</p>
</td>
</tr>
</table></blockquote>
<h4><a name="3.3.1" />1. Log Flags</h4>
<blockquote><table>
<caption>Log Flags</caption>
<tr>
<th class="namewidth">Flag:</th>
<th class="tinywidth">Bit No.:</th>
<th class="tinywidth">Value:</th>
<th>Description:</th>
</tr>
<tr>
<td class="code">LOG_CORE_EVENTS</td>
<td>1</td>
<td>1</td>
<td>Log events from the plugin core like config validation and other messages.</td>
</tr>
<tr>
<td class="code">LOG_GAME_EVENTS</td>
<td>2</td>
<td>2</td>
<td>Log admin commands, console commands, and game related events from modules like,
suicide attempts and weapon restrictions.</td>
</tr>
<tr>
<td class="code">LOG_PLAYER_COMMANDS</td>
<td>3</td>
<td>4</td>
<td>Log events that are triggered by players, like chat triggers, teleporting and class
changes.</td>
</tr>
<tr>
<td class="code">LOG_DEBUG</td>
<td>4</td>
<td>8</td>
<td>Log debug messages, if any. Usually only developers need to enable this log flag.</td>
</tr>
<tr>
<td class="code">LOG_DEBUG_DETAIL</td>
<td>5</td>
<td>16</td>
<td>Log additional debug messages with more details. May cause spam depending on module
filter settings. Usually only developers need to enable this log flag.</td>
</tr>
</table></blockquote>
<p>To combine several logging flags use the sum of their values. A combination could be "3", which
is these log flags:</p>
<blockquote><p><code>LOG_CORE_EVENTS + LOG_GAME_EVENTS<br />
1 + 2</code></p></blockquote>
<p>Most server setups donesn't need different flag settings. Default is fine.</p>
<p>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.</p>
<p>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:</p>
<blockquote><p><code>LOG_CORE_EVENTS + LOG_GAME_EVENTS + LOG_DEBUG<br />
1 + 2 + 8</code></p></blockquote>
<p>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.</p>
<blockquote><p><a href="http://www.unitconversion.org/numbers/decimals-to-binary-conversion.html">
Decimals to binary conversion</a></p></blockquote>
<h4><a name="3.3.2" />2. List Of Modules</h4>
<blockquote><table>
<caption>List Of Modules</caption>
<tr>
<th>Short name:</th>
<th>Description:</th>
</tr>
<tr>
<td class="valueoption">account</td>
<td>Money manager</td>
</tr>
<tr>
<td class="valueoption">antistick</td>
<td>Anti-Stick feature</td>
</tr>
<tr>
<td class="valueoption">config</td>
<td>Configuration file manager</td>
</tr>
<tr>
<td class="valueoption">cvars</td>
<td>Console variables</td>
</tr>
<tr>
<td class="valueoption">damage</td>
<td>Damage manager</td>
</tr>
<tr>
<td class="valueoption">downloads</td>
<td>File download manager</td>
</tr>
<tr>
<td class="valueoption">hitgroups</td>
<td>Hit group feature</td>
</tr>
<tr>
<td class="valueoption">infect</td>
<td>Infection manager</td>
</tr>
<tr>
<td class="valueoption">models</td>
<td>Model list file manager</td>
</tr>
<tr>
<td class="valueoption">playerclasses</td>
<td>Class manager</td>
</tr>
<tr>
<td class="valueoption">veffects</td>
<td>Visual effect manager</td>
</tr>
<tr>
<td class="valueoption">seffects</td>
<td>Sound effect manager</td>
</tr>
<tr>
<td class="valueoption">tools</td>
<td>Helper functions (offsets)</td>
</tr>
<tr>
<td class="valueoption">volfeatures</td>
<td>Volumetric features</td>
</tr>
<tr>
<td class="valueoption">weapons</td>
<td>Weapon manager</td>
</tr>
<tr>
<td class="valueoption">weaponrestrict</td>
<td>Weapon restriction manager</td>
</tr>
<tr>
<td class="valueoption">zspawn</td>
<td>Spawn command manager</td>
</tr>
<tr>
<td class="valueoption">ztele</td>
<td>Teleport manager</td>
</tr>
</table></blockquote>
<h3><a name="3.4" />3.4 Custom Map Configuration Files</h3>
<p>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. Map
configuration files are optional.</p>
<p>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.</p>
<h4><a name="3.4.1" />1. Types</h4>
<p>There are two kinds of map configs; pre and post. Pre map configuration files are executed
before the modules and data is 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.</p>
<blockquote><table>
<caption>Map Configuration File Types</caption>
<tr>
<th class="tinywidth">Type:</th>
<th class="mediumwidth">Executed:</th>
<th>Path:</th>
</tr>
<tr>
<td>Pre</td>
<td>Before modules and data loading</td>
<td class="code">cfg/sourcemod/zombiereloaded/&lt;mapname&gt;.cfg</td>
</tr>
<tr>
<td>Post</td>
<td>After modules</td>
<td class="code">cfg/sourcemod/zombiereloaded/&lt;mapname&gt;.post.cfg</td>
</tr>
</table></blockquote>
<p>If not explicit specified in the module documentation, use pre configuration.</p>
<h3><a name="3.5" />3.5 Model Configuration</h3>
<p><strong>Note:</strong> Work in progress. Some flags explained in this section doesn't exist yet.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>Model line syntax:</p>
<blockquote><p><code>&lt;model path&gt;[; flag]</code></p></blockquote>
<blockquote><table>
<caption>Model Flags</caption>
<tr>
<td class="valueoption">adminonly</td>
<td>Can only be used by admins.</td>
</tr>
<tr>
<td class="valueoption">donator</td>
<td>Can only be used by donators.</td>
</tr>
<tr>
<td class="valueoption">hidden</td>
<td>Is not included in random selections.</td>
</tr>
<tr>
<td class="valueoption">motherzombie</td>
<td>Can only be used on mother zombies.</td>
</tr>
</table></blockquote>
<p>Example usages:</p>
<blockquote><p><code>models/player/zh/zh_charple001<br />
models/player/zh/zh_corpse002; adminonly<br />
models/player/zh/zh_zombie003; hidden<br />
models/player/ics/hellknight_red/t_guerilla; motherzombie</code></p></blockquote>
<p>Put the list of models in:</p>
<blockquote><p><code>addons/sourcemod/configs/zr/models.txt</code></p></blockquote>
<h3><a name="3.6" />3.6 Download List</h3>
<p>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.</p>
<p>List files to be downloaded in:</p>
<blockquote><p><code>addons/sourcemod/configs/zr/downloads.txt</code></p></blockquote>
<h3><a name="3.7" />3.7 Class Configuration</h3>
<p>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.</p>
<p>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.</p>
<p>Default path is:</p>
<blockquote><p><code>configs/zr/playerclasses.txt</code></p></blockquote>
<p><strong>Note:</strong> The path is relative to the "sourcemod" folder.</p>
<p>The file contains a short description of all attributes. Details are explained below.</p>
<h4><a name="3.7.1" />1. Class Types</h4>
<p>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.</p>
<p>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 <span class="code">flags</span> attribute.</p>
<h4><a name="3.7.2" />2. Class Attributes</h4>
<p>The list below explains all available class attributes in detail:</p>
<blockquote><table>
<caption>Class Attributes</caption>
<tr>
<th class="namewidth">Attribute:</th>
<th class="mediumwidth">Value type:</th>
<th>Limits/Requirements:</th>
</tr>
<tr>
<td class="commandheader">enabled</td>
<td class="commandheader">text</td>
<td class="commandheader">"yes" or "no"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>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.</p>
</td>
</tr>
<tr>
<td class="commandheader">team</td>
<td class="commandheader">number</td>
<td class="commandheader">0 - 2</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>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:</p>
<blockquote><table>
<tr><td class="valueoption">0</td><td>Zombie classes</td></tr>
<tr><td class="valueoption">1</td><td>Human classes</td></tr>
<tr><td class="valueoption">2</td><td>Admin-mode classes</td></tr>
</table></blockquote>
<p>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. <strong>Admin-mode is incomplete</strong> and classes of this type is ignored
in the game.</p>
<p>See the <span class="code">flags</span> attribute for admin-only classes.</p>
</td>
</tr>
<tr>
<td class="commandheader">team_default</td>
<td class="commandheader">text</td>
<td class="commandheader">"yes" or "no"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>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.</p>
</td>
</tr>
<tr>
<td class="commandheader">flags</td>
<td class="commandheader">number</td>
<td class="commandheader">0 - 3</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Special class flags that are stored in a bit field (explained in <a href="#3.3.1">Log
Flags (3.3.1)</a>). Available flags:</p>
<blockquote><table>
<tr>
<td class="valueoption">1</td>
<td>Admins only<br />
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.</td>
</tr>
<tr>
<td class="valueoption">2</td>
<td>Mother zombie.<br />
Marks the class as a mother zombie class. These classes will be used on mother
zombies. Note that <span class="code">zr_classes_default_mother_zombie</span>
setting must be set to <span class="code">motherzombies</span> for this flag to
be effective.</td>
</tr>
</table></blockquote>
<p>These flags can be used in a combination (1 + 2), so it could be a mother zombie
class for admins only.</p>
</td>
</tr>
<tr>
<td class="commandheader">group</td>
<td class="commandheader">text</td>
<td class="commandheader">Name of a valid SourceMod group</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Rescrict class to members of this SourceMod group. Useful for making VIP-only
classes. Leave blank to allow everyone to use this class.</p>
</td>
</tr>
<tr>
<td class="commandheader">name</td>
<td class="commandheader">text</td>
<td class="commandheader">Unique, not empty, max 64 charact.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>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.</p>
<p>This name is also refered to by cvars that set default classes.</p>
</td>
</tr>
<tr>
<td class="commandheader">description</td>
<td class="commandheader">text</td>
<td class="commandheader">Max 256 characters, not empty</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>The description of the class, used in class selection menus. Cannot be empty.</p>
</td>
</tr>
<tr>
<td class="commandheader">model_path</td>
<td class="commandheader">text</td>
<td class="commandheader">Max 256 characters, not empty</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>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:</p>
<blockquote><table>
<tr>
<td class="valueoption">default</td>
<td>Use default CS models. The one players select when selecting team.</td>
</tr>
<tr>
<td class="valueoption">random</td>
<td>Selects a random model for the current team.</td>
</tr>
<tr>
<td class="valueoption">nochange</td>
<td>Don't change model. To be used in combination with other plugins that
change model on players.</td>
</tr>
</table></blockquote>
</td>
</tr>
<tr>
<td class="commandheader">alpha_spawn</td>
<td class="commandheader">number</td>
<td class="commandheader">0 - 255</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>The initial transparency value on the player, where 255 is fully visible and 0 is
invisible.</p>
</td>
</tr>
<tr>
<td class="commandheader">alpha_damaged</td>
<td class="commandheader">number</td>
<td class="commandheader">0 - 255</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Transparency on the player when a certain amount of damage is done. 255 is fully
visible and 0 is invisible.</p>
</td>
</tr>
<tr>
<td class="commandheader">alpha_damage</td>
<td class="commandheader">number</td>
<td class="commandheader">0 - 20000</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>How much damage that needs to be done before the players alpha changes from
"aplha_spawn" to "aplha_damaged".</p>
</td>
</tr>
<tr>
<td class="commandheader">overlay_path</td>
<td class="commandheader">text</td>
<td class="commandheader">Max 256 characters</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>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.</p>
</td>
</tr>
<tr>
<td class="commandheader">nvgs</td>
<td class="commandheader">text</td>
<td class="commandheader">"yes" or "no"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Gives night vision to the player.</p>
</td>
</tr>
<tr>
<td class="commandheader">fov</td>
<td class="commandheader">number</td>
<td class="commandheader">15 - 165</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>The field of view on the player. Note that the weapon hud disappear if FOV is
anything else than 90.</p>
</td>
</tr>
<tr>
<td class="commandheader">has_napalm</td>
<td class="commandheader">text</td>
<td class="commandheader">"yes" or "no"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Human classes only.</strong> Specifies whether the human can trow napalm grenades or
not.</p>
</td>
</tr>
<tr>
<td class="commandheader">napalm_time</td>
<td class="commandheader">decimal</td>
<td class="commandheader">0.0 - 600.0</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Zombie classes only.</strong> 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.</p>
</td>
</tr>
<tr>
<td class="commandheader">immunity_mode</td>
<td class="commandheader">number</td>
<td class="commandheader">0 - 2</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Note: Incomplete feature!</strong></p>
<p>The immunity mode. This feature is currently incomplete and values are ignored.</p>
</td>
</tr>
<tr>
<td class="commandheader">immunity_amount</td>
<td class="commandheader">decimal</td>
<td class="commandheader">(incomplete)</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Note: Incomplete feature!</strong></p>
<p>The value for the specified immunity mode. This feature is currently incomplete and
values are ignored.</p>
</td>
</tr>
<tr>
<td class="commandheader">health</td>
<td class="commandheader">number</td>
<td class="commandheader">0 - 20000</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Initial health points on the player.</p>
</td>
</tr>
<tr>
<td class="commandheader">health_regen_interval</td>
<td class="commandheader">decimal</td>
<td class="commandheader">0.0 - 900.0</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>The health regeneration interval, in seconds. Use 0.0 to disable regeneration.</p>
</td>
</tr>
<tr>
<td class="commandheader">health_regen_amount</td>
<td class="commandheader">number</td>
<td class="commandheader">0 - 10000</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>How many health points to give per interval. Regeneration stops when the players
health is above the initial health.</p>
</td>
</tr>
<tr>
<td class="commandheader">health_infect_gain</td>
<td class="commandheader">number</td>
<td class="commandheader">0 - 20000</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Zombie classes only.</strong> How many health points to give the zombie each time it
infect a human.</p>
</td>
</tr>
<tr>
<td class="commandheader">kill_bonus</td>
<td class="commandheader">number</td>
<td class="commandheader">0 - 16</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Zombie classes only.</strong> How many extra points to give the killer of this zombie.
If this is 0, the default value of 1 point will be given.</p>
</td>
</tr>
<tr>
<td class="commandheader">speed</td>
<td class="commandheader">decimal</td>
<td class="commandheader">10.0 - 2000.0</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>The player's running speed.</p>
</td>
</tr>
<tr>
<td class="commandheader">knockback</td>
<td class="commandheader">decimal</td>
<td class="commandheader">-30.0 - 30.0</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Zombie classes only.</strong> Force to apply on the zombie when shot at. The zombie is
pushed in the same direction as the bullet.</p>
</td>
</tr>
<tr>
<td class="commandheader">jump_height</td>
<td class="commandheader">decimal</td>
<td class="commandheader">0.0 - 5.0</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Jump height multiplier. Extra upward boost when jumping. If 1.0 or 0.0 no boost will
be applied.</p>
</td>
</tr>
<tr>
<td class="commandheader">jump_distance</td>
<td class="commandheader">decimal</td>
<td class="commandheader">0.0 - 5.0</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Jump distance multiplier. Extra forward boost when jumping. If 1.0 or 0.0 no boost
will be applied.</p>
</td>
</tr>
</table></blockquote>
<h4><a name="3.7.3" />3. Class Requirements</h4>
<p>At least one zombie class and one human class with no special flags set is
required. Otherwise the plugin will fail to load.</p>
<p><strong>Requirements:</strong></p>
<ul>
<li>At least one human class (teamid 1).</li>
<li>At least one zombie class (teamid 0).</li>
<li>One of the classes in each team must have "team_default" set to "yes".</li>
<li>In addition both above classes shouldn't have special flags or groups set. They must be
clean classes, which is "flags" set to "0" and "group" set to "".</li>
<li>All other attributes must have valid values. See <a href="#3.7.2">Class Attributes (3.7.2)</a>.</li>
</ul>
<p>Errors are logged to SourceMod error logs if it can't parse the file or if class attributes
have invalid values.</p>
<p>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.</p>
<blockquote><table>
<caption>Attribute Flags</caption>
<tr>
<th class="commandheader">Attribute:</th>
<th class="commandheader">Bit:</th>
<th class="commandheader">Value:</th>
</tr>
<tr>
<td class="code">enabled</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td class="code">team</td>
<td>2</td>
<td>2</td>
</tr>
<tr>
<td class="code">team_default</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td class="code">flags</td>
<td>4</td>
<td>8</td>
</tr>
<tr>
<td class="code">group</td>
<td>5</td>
<td>16</td>
</tr>
<tr>
<td class="code">name</td>
<td>6</td>
<td>32</td>
</tr>
<tr>
<td class="code">description</td>
<td>7</td>
<td>64</td>
</tr>
<tr>
<td class="code">model_path</td>
<td>8</td>
<td>128</td>
</tr>
<tr>
<td class="code">alpha_initial</td>
<td>9</td>
<td>256</td>
</tr>
<tr>
<td class="code">alpha_damaged</td>
<td>10</td>
<td>512</td>
</tr>
<tr>
<td class="code">alpha_damage</td>
<td>11</td>
<td>1024</td>
</tr>
<tr>
<td class="code">overlay_path</td>
<td>12</td>
<td>2048</td>
</tr>
<tr>
<td class="code">nvgs</td>
<td>13</td>
<td>4096</td>
</tr>
<tr>
<td class="code">fov</td>
<td>14</td>
<td>8192</td>
</tr>
<tr>
<td class="code">has_napalm</td>
<td>15</td>
<td>16384</td>
</tr>
<tr>
<td class="code">napalm_time</td>
<td>16</td>
<td>32768</td>
</tr>
<tr>
<td class="code">immunity_mode</td>
<td>17</td>
<td>65536</td>
</tr>
<tr>
<td class="code">immunity_amount</td>
<td>18</td>
<td>131072</td>
</tr>
<tr>
<td class="code">no_fall_damage</td>
<td>19</td>
<td>262144</td>
</tr>
<tr>
<td class="code">health</td>
<td>20</td>
<td>524288</td>
</tr>
<tr>
<td class="code">health_regen_interval</td>
<td>21</td>
<td>1048576</td>
</tr>
<tr>
<td class="code">health_regen_amount</td>
<td>22</td>
<td>2097152</td>
</tr>
<tr>
<td class="code">infect_gain</td>
<td>23</td>
<td>4194304</td>
</tr>
<tr>
<td class="code">kill_bonus</td>
<td>24</td>
<td>8388608</td>
</tr>
<tr>
<td class="code">speed</td>
<td>25</td>
<td>16777216</td>
</tr>
<tr>
<td class="code">knockback</td>
<td>26</td>
<td>33554432</td>
</tr>
<tr>
<td class="code">jump_height</td>
<td>27</td>
<td>67108864</td>
</tr>
<tr>
<td class="code">jump_distance</td>
<td>28</td>
<td>134217728</td>
</tr>
</table></blockquote>
<p>The error flags are stored in a bit field (explained in <a href="#3.3">Logging (3.3)</a>).</p>
<p>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.</p>
<h4><a name="3.7.4" />4. Class Console Variables</h4>
<p>There are several console variables to set default class settings for players.
Place these console variables in the main configuration file:</p>
<blockquote><p><code>cfg/sourcemod/zombiereloaded/zombiereloaded.cfg</code></p></blockquote>
<p>And/or in a map config file:</p>
<blockquote><p><code>cfg/sourcemod/zombiereloaded/&lt;map name&gt;[.post].cfg</code></p></blockquote>
<p>Example map config files:</p>
<blockquote><p><code>cfg/sourcemod/zombiereloaded/zm_panic.cfg<br />
cfg/sourcemod/zombiereloaded/zm_panic.post.cfg</code></p></blockquote>
<blockquote><table>
<caption>Class Console Variables</caption>
<tr>
<th class="namewidth">Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_config_path_playerclasses</td>
<td class="commandheader">"configs/zr/playerclasses.txt"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Specifies what class configuration file to load. Several class templates can be used
with map configurations.</p>
<p>Path is relative to "sourcemod".</p>
<p>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.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_classes_spawn</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Re-display class menu every spawn.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_classes_random</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Assign random classes to all players each round.</p>
<p>This setting overrides zr_classes_save.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_classes_change_timelimit</td>
<td class="commandheader">20</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_classes_save</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Save players' class selections in server cookies. Class selections are restored next
time players connect.</p>
<p>This setting overrides zr_classes_default_*, but on first-time connecting players
the default classes are assigned.</p>
<p>This setting also override zr_classes_*_select. If players have saved class indexes
in cookies they will be restored.</p>
<p>Disabling this option won't erase saved settings, they just won't be restored when
players connect.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_classes_default_zombie</td>
<td class="commandheader">"random"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Default zombie class selected for all players when they connect.</p>
<p>Options:</p>
<table>
<tr><td class="valueoption">&lt;class name&gt;</td><td>Specify a class name to use as
default zombie.</td></tr>
<tr><td class="valueoption">"default"</td><td>Use the default class in the class
configuration.</td></tr>
<tr><td class="valueoption">"random"</td><td>Select a random zombie class from the class
configuration.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_classes_default_mother_zombie</td>
<td class="commandheader">"motherzombies"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
<p>Options:</p>
<table>
<tr><td class="valueoption">&lt;class name&gt;</td><td>Specify a class name to use as
default mother zombie.</td></tr>
<tr><td class="valueoption">"random"</td><td>Select a random regular zombie class.</td></tr>
<tr><td class="valueoption">"motherzombies"</td><td>Select a random zombie class with
mother zombie flag.</td></tr>
<tr><td class="valueoption">"disabled"</td><td>No change. Use the zombie class selected by
the player.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_classes_default_human</td>
<td class="commandheader">"random"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Default human class selected for all players when they connect.</p>
<p>Options:</p>
<table>
<tr><td class="valueoption">&lt;class name&gt;</td><td>Specify a class name to use as
default human.</td></tr>
<tr><td class="valueoption">"default"</td><td>Use the default class in the class
configuration.</td></tr>
<tr><td class="valueoption">"random"</td><td>Select a random human class from the class
configuration.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_classes_default_admin</td>
<td class="commandheader">"random"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p><strong>Note:</strong> This feature is incomplete!</p>
<p>Default admin-mode class selected for all players when they connect, if found. This
feature is incomplete and ignored.</p>
<p>Do not confuse this with admin-only classes. Admin-mode is a special spawn mode for
admins.</p>
<p>Options:</p>
<table>
<tr><td class="valueoption">&lt;class name&gt;</td><td>Specify a class name to use as
default admin-mode class.</td></tr>
<tr><td class="valueoption">"default"</td><td>Use the default class in the class
configuration.</td></tr>
<tr><td class="valueoption">"random"</td><td>Select a random admin-mode class from the
class configuration.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_classes_zombie_select</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_classes_human_select</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_classes_admin_select</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p><strong>Note:</strong>This feature is incomplete!</p>
<p>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.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
</table></blockquote>
<h4><a name="3.7.5" />5. Modifying Class Attributes</h4>
<p>Classes can be modified after they're loaded. This is useful in map configs to do stuff like
scaling knockback to tune map balance.</p>
<p>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.</p>
<p>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.</p>
<p><strong>Note:</strong>These commands must be used in a <a href="#3.4"><strong>post</strong> map config files</a>,
otherwise they won't have any effect because class data isn't loaded yet.</p>
<blockquote><table>
<caption>Modifying Class Command</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_class_modify &lt;class|team&gt; &lt;attribute&gt; &lt;value&gt; [is_multiplier]</td>
</tr>
<tr>
<td class="indent">
<p>Modify settings on one or more classes.</p>
<p>Parameters:</p>
<table>
<tr>
<td class="parameter">class|team</td>
<td>The class to modify. Can be any valid class name, or one of the following team
names: <br />
"all", "humans", "zombies" or "admins".</td>
</tr>
<tr>
<td class="parameter">attribute</td>
<td>The name of the class attribute to modify.</td>
</tr>
<tr>
<td class="parameter">value</td>
<td>Value to set, or multiplier if a multiplier.</td>
</tr>
<tr>
<td class="parameter">is_multiplier</td>
<td>Optional. Specifies wether the original value should be multiplied by the
specified value. Default is false.</td>
</tr>
</table>
</td>
</tr>
</table></blockquote>
<h4><a name="3.7.6" />6. Attribute Multipliers</h4>
<p>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.</p>
<p>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.</p>
<p><strong>Warning:</strong> Currently these multipliers aren't validated, so using too high or negative
values may cause unexpected behaviour, or even crash the plugin.</p>
<p>Attribute multipliers are set using this console command:</p>
<blockquote><table>
<caption>Attribute Multiplier Command</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_class_set_multiplier &lt;team&gt; &lt;attribute&gt; &lt;value&gt;</td>
</tr>
<tr>
<td class="indent">
<p>Sets the multiplier on a class attribute.</p>
<p>Parameters:</p>
<table>
<tr>
<td class="parameter">team</td>
<td>What multiplier set to use. Options:<br />
"zombies" or "humans"</td>
</tr>
<tr>
<td class="parameter">attribute</td>
<td>A numeric class attribute. See <a href="#3.7.2">Class Attributes (3.7.2)</a>
for details on attributes. Valid attribute multipliers:
<ul>
<li class="code">health</li>
<li class="code">health_regen_interval</li>
<li class="code">health_regen_amount</li>
<li class="code">speed</li>
<li class="code">jump_height</li>
<li class="code">jump_distance</li>
</ul>
Multipliers for zombies only:
<ul>
<li class="code">napalm_time</li>
<li class="code">health_infect_gain </li>
<li class="code">knockback</li>
</ul>
</td>
</tr>
<tr>
<td class="parameter">value</td>
<td>Value to set, or multiplier if a multiplier.</td>
</tr>
</table>
</td>
</tr>
</table></blockquote>
<p>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.</p>
<h4><a name="3.7.7" />7. Reloading Attributes</h4>
<p>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.</p>
<blockquote><table>
<caption>Reload Attributes Command</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_class_reload &lt;target&gt;</td>
</tr>
<tr>
<td class="indent">
<p>Refreshes the player cache and reloads class attributes on one or more players.</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">target</td><td>Target player(s) to refresh cache on. A name
or a SourceMod target specifier.</td></tr>
</table>
</td>
</tr>
</table></blockquote>
<h4><a name="3.7.8" />8. Dumping Attributes</h4>
<p>For debug purposes class attributes also can be dumped.</p>
<blockquote><table>
<caption>Dump Attributes Command</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_class_dump &lt;cachetype&gt; &lt;index|targetname&gt;</td>
</tr>
<tr>
<td class="indent">
<p>Dumps class data at a specified index in the specified cache.</p>
<p>Parameters:</p>
<table>
<tr>
<td class="parameter">cachetype</td>
<td>Cache to read from. Cache types:
<table>
<tr><td>"original"</td><td>Unmodified raw class data.</td></tr>
<tr><td>"modified"</td><td>Modified class data with multipliers.</td></tr>
<tr><td>"player"</td><td>Player cache, with multipliers.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="parameter">index|targetname</td>
<td>Class index, or name of player if "player" cache type is used.</td>
</tr>
</table>
</td>
</tr>
</table></blockquote>
<h4><a name="3.7.9" />9. Dumping Multipliers</h4>
<p>Dumping multipliers is another command for debug purposes. It will dump the current state of
multipliers.</p>
<blockquote><table>
<caption>Dump Multipliers Command</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_class_dump_multipliers &lt;team&gt;</td>
</tr>
<tr>
<td class="indent">
<p>Dumps class attribute multipliers for the specified team.</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">team</td><td>The multiplier set to dump. Valid options
are:<br />"humans" or "zombies"</td></tr>
</table>
</td>
</tr>
</table></blockquote>
<h3><a name="3.8" />3.8 Weapon Configuration</h3>
<p>The weapon module can be used to restict weapons or scale knockback.</p>
<h4><a name="3.8.1" />1. Weapon Attributes</h4>
<p>Weapon attributes are stored by default in:</p>
<blockquote><p><code>addons/sourcemod/configs/zr/weapons.txt</code></p></blockquote>
<p>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.</p>
<p>These are the allowed attributes:</p>
<blockquote><table>
<caption>Weapon Attributes</caption>
<tr>
<th>Attribute:</th>
<th>Type:</th>
<th>Limits/Requirements:</th>
</tr>
<tr>
<td class="commandheader">weapontype</td>
<td class="commandheader">text</td>
<td class="commandheader">Separate items by ", "</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>A list of weapon groups and the weapon type.</p>
<p>Pre-defined options:</p>
<ul>
<li class="code">All</li>
<li class="code">Pistol</li>
<li class="code">Shotgun</li>
<li class="code">SMG</li>
<li class="code">Rifle</li>
<li class="code">Sniper</li>
<li class="code">Machine Gun</li>
<li class="code">Melee</li>
<li class="code">Projectile</li>
<li class="code">Equipment</li>
</ul>
</td>
</tr>
<tr>
<td class="commandheader">weaponslot</td>
<td class="commandheader">number</td>
<td class="commandheader">0 - 3</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>The slot index the weapon resides in. Don't change this!</p>
<p>Options:</p>
<table>
<tr><td class="valueoption">0</td><td>Primary weapon slot</td></tr>
<tr><td class="valueoption">1</td><td>Secondary weapon slot</td></tr>
<tr><td class="valueoption">2</td><td>Knife slot</td></tr>
<tr><td class="valueoption">3</td><td>Equipment slot</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">restrictdefault</td>
<td class="commandheader">text</td>
<td class="commandheader">"yes" or "no"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>The default restricted status of the weapon on map start.</p>
<p>Options:</p>
<table>
<tr><td class="valueoption">"yes"</td><td>Enable</td></tr>
<tr><td class="valueoption">"no"</td><td>Disable</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">toggleable</td>
<td class="commandheader">text</td>
<td class="commandheader">"yes" or "no"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Enable weapon to have restrictions toggled mid-game.</p>
<p>Options:</p>
<table>
<tr><td class="valueoption">"yes"</td><td>Enable</td></tr>
<tr><td class="valueoption">"no"</td><td>Disable</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">ammotype</td>
<td class="commandheader">text</td>
<td class="commandheader">-</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Ammo entity that belongs to weapons. Don't change this!</p>
<p>Options:</p>
<table>
<tr><td class="valueoption">ammo_50ae</td><td>deagle</td></tr>
<tr><td class="valueoption">ammo_762mm</td><td>scout, ak47, g3sg1, aug</td></tr>
<tr><td class="valueoption">ammo_556mm_box</td><td>m249</td></tr>
<tr><td class="valueoption">ammo_556mm</td><td>galil, sg552, famas, m4a1, sg550</td></tr>
<tr><td class="valueoption">ammo_338mag</td><td>awp</td></tr>
<tr><td class="valueoption">ammo_9mm</td><td>mp5navy, tmp, glock, elite</td></tr>
<tr><td class="valueoption">ammo_buckshot</td><td>m3, xm1014</td></tr>
<tr><td class="valueoption">ammo_45acp</td><td>ump45, mac10, usp</td></tr>
<tr><td class="valueoption">ammo_357sig</td><td>P228</td></tr>
<tr><td class="valueoption">ammo_57mm</td><td>p90, fiveseven</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">ammoprice</td>
<td class="commandheader">number</td>
<td class="commandheader">-</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Price of ammo for this weapon.</p>
</td>
</tr>
<tr>
<td class="commandheader">knockback</td>
<td class="commandheader">decimal</td>
<td class="commandheader">-</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>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.</p>
</td>
</tr>
<tr>
<td class="commandheader">zmarketprice</td>
<td class="commandheader">number</td>
<td class="commandheader">-</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>The price of the weapon in ZMarket. Default in configuration file is CS:S buymenu
price.</p>
</td>
</tr>
<tr>
<td class="commandheader">zmarketpurchasemax</td>
<td class="commandheader">number</td>
<td class="commandheader">-</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>The max number of purchases allowed per spawn for the weapon.</p>
</td>
</tr>
</table></blockquote>
<p>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.</p>
<h4><a name="3.8.2" />2. Weapon List</h4>
<blockquote><table>
<caption>Weapon List</caption>
<tr>
<th class="mediumwidth">Weapon name:</th>
<th>Type:</th>
<th>Full name:</th>
</tr>
<tr>
<td class="code">Glock</td>
<td>Pistol</td>
<td>Glock 18 Select Fire (9X19mm Sidearm)</td>
</tr>
<tr>
<td class="code">USP</td>
<td>Pistol</td>
<td>.45 USP (K&amp;M .45 Tactical)</td>
</tr>
<tr>
<td class="code">P228</td>
<td>Pistol</td>
<td>228 Compact</td>
</tr>
<tr>
<td class="code">Deagle</td>
<td>Pistol</td>
<td>Desert Eagle .50C (Night Hawk .50C)</td>
</tr>
<tr>
<td class="code">Elite</td>
<td>Pistol</td>
<td>.40 Dual Elites</td>
</tr>
<tr>
<td class="code">Fiveseven</td>
<td>Pistol</td>
<td>ES Five-Seven</td>
</tr>
<tr>
<td class="code">M3</td>
<td>Shotgun</td>
<td>Benelli M3 (Leone 12 Gauge Super)</td>
</tr>
<tr>
<td class="code">XM1014</td>
<td>Shotgun</td>
<td>Benelli XM1014 (Leone YG1265 Auto Shotgun)</td>
</tr>
<tr>
<td class="code">Mac10</td>
<td>SMG</td>
<td>Ingram MAC-10</td>
</tr>
<tr>
<td class="code">TMP</td>
<td>SMG</td>
<td>Steyr TMP (Schmidt Machine Pistol)</td>
</tr>
<tr>
<td class="code">MP5Navy</td>
<td>SMG</td>
<td>HK MP5 Navy (KM Sub-Machine Gun)</td>
</tr>
<tr>
<td class="code">UMP45</td>
<td>SMG</td>
<td>K&amp;M UMP45</td>
</tr>
<tr>
<td class="code">P90</td>
<td>SMG</td>
<td>FN P90 (ES C90)</td>
</tr>
<tr>
<td class="code">Galil</td>
<td>Rifle</td>
<td>IMI Galil (IDF Defender)</td>
</tr>
<tr>
<td class="code">Famas</td>
<td>Rifle</td>
<td>Giat FAMAS (Clarion 5.56)</td>
</tr>
<tr>
<td class="code">AK47</td>
<td>Rifle</td>
<td>AK-47 (CV-47)</td>
</tr>
<tr>
<td class="code">M4A1</td>
<td>Rifle</td>
<td>M4A1 Carbine (Maverick M4A1 Carbine)</td>
</tr>
<tr>
<td class="code">SG552</td>
<td>Rifle</td>
<td>SIG SG552 (Krieg 552 Commando)</td>
</tr>
<tr>
<td class="code">AUG</td>
<td>Rifle</td>
<td>Steyr AUG (Bullpup)</td>
</tr>
<tr>
<td class="code">M249</td>
<td>Machine gun</td>
<td>FN M249 (ES M249 Para)</td>
</tr>
<tr>
<td class="code">Scout</td>
<td>Sniper</td>
<td>Steyr Scout (Schmidt Scout)</td>
</tr>
<tr>
<td class="code">SG550</td>
<td>Sniper</td>
<td>SIG SG550 (Krieg 550 Commando)</td>
</tr>
<tr>
<td class="code">G3SG1</td>
<td>Sniper</td>
<td>G3/SG-1 (D3/AU-1)</td>
</tr>
<tr>
<td class="code">AWP</td>
<td>Sniper</td>
<td>Arctic Warfare Magnum (Magnum Sniper Rifle)</td>
</tr>
<tr>
<td class="code">hegrenade</td>
<td>Grenade</td>
<td>High explosive grenade</td>
</tr>
<tr>
<td class="code">flashbang</td>
<td>Grenade</td>
<td>Flash bang</td>
</tr>
<tr>
<td class="code">smokegrenade</td>
<td>Grenade</td>
<td>Smoke grenade</td>
</tr>
<tr>
<td class="code">NVGs</td>
<td>Equipment</td>
<td>Night vision goggles</td>
</tr>
</table></blockquote>
<h4><a name="3.8.3" />3. Weapon Commands</h4>
<p>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.</p>
<blockquote><table>
<caption>Weapon Commands</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_restrict &lt;weapon|weapon type&gt; [weapon|weapontype] ...</td>
</tr>
<tr>
<td class="indent">
<p>Restricts one or more weapons or weapon types (group).</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">weapon</td><td>The weapon name.</td></tr>
<tr><td class="parameter">weapon type</td><td>The weapon type group.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_unrestrict &lt;weapon|weapon type&gt; [weapon|weapontype] ...</td>
</tr>
<tr>
<td class="indent">
<p>Unrestricts one or more weapons or weapon types (group).</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">weapon</td><td>The weapon name.</td></tr>
<tr><td class="parameter">weapon type</td><td>The weapon type group.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zmarket</td>
</tr>
<tr>
<td class="indent">Displays the ZMarket weapon menu.</td>
</tr>
</table></blockquote>
<h3><a name="3.9" />3.9 Hit Group Configuration</h3>
<p>Hit group configuration makes it possible to disable damage or adjust knock back per hit group.
This is useful for fine tuning game balance.</p>
<p>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.</p>
<p>The default file is:</p>
<blockquote><p><code>addons/sourcemod/configs/zr/hitgroups.txt</code></p></blockquote>
<blockquote><table>
<caption>Hit Group Commands</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_hitgroup &lt;hitgroup name&gt; [value]</td>
</tr>
<tr>
<td class="indent">
<p>Toggles or sets if a zombie's hitgroup can be damaged.</p>
<p>Parameters:</p>
<table>
<tr>
<td class="parameter">hitgrup name</td>
<td>Name of the hit group to adjust. Options:
<ul>
<li class="code">generic</li>
<li class="code">head</li>
<li class="code">chest</li>
<li class="code">stomach</li>
<li class="code">leftarm</li>
<li class="code">rightarm</li>
<li class="code">leftleg</li>
<li class="code">rightleg</li>
<li class="code">gear</li>
</ul>
</td>
</tr>
<tr><td class="parameter">value</td><td>Optional. Enable hit group damage. Default action is to toggle
setting. Options: 0 or 1</td></tr>
</table>
</td>
</tr>
</table></blockquote>
<h4><a name="3.9.1" />1. Hit Group Attributes</h4>
<blockquote><table>
<caption>Hit Group Attributes</caption>
<tr>
<th>Attribute:</th>
<th>Type:</th>
<th>Limits/Requirements:</th>
</tr>
<tr>
<td class="commandheader">index</td>
<td class="commandheader">number</td>
<td class="commandheader">-</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>The hit group index.</p>
<p>Options:</p>
<table>
<tr><td class="valueoption">0</td><td>Generic</td></tr>
<tr><td class="valueoption">1</td><td>Head</td></tr>
<tr><td class="valueoption">2</td><td>Chest</td></tr>
<tr><td class="valueoption">3</td><td>Stomach</td></tr>
<tr><td class="valueoption">4</td><td>Left Arm</td></tr>
<tr><td class="valueoption">5</td><td>Right Arm</td></tr>
<tr><td class="valueoption">6</td><td>Left Leg</td></tr>
<tr><td class="valueoption">7</td><td>Right Leg</td></tr>
<tr><td class="valueoption">8</td><td>Gear</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">damage</td>
<td class="commandheader">text</td>
<td class="commandheader">"yes" or "no"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Allows damage to be done on the specified hit group for zombies.</p>
<p>Options:</p>
<table>
<tr><td class="valueoption">yes</td><td>Allow damage</td></tr>
<tr><td class="valueoption">no</td><td>Ignore damage</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">knockback</td>
<td class="commandheader">decimal</td>
<td class="commandheader">-</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>The knock back multiplier for the hitgroup. 1.0 for no change.</p>
</td>
</tr>
</table></blockquote>
<h3><a name="3.10" />3.10 Infection Module</h3>
<p>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.</p>
<p>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.</p>
<p>In addition several infection effects can be enabled or disabled.</p>
<p>These are the console variables for the infection module:</p>
<blockquote><table>
<caption>Infection Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_infect_mzombie_ratio</td>
<td class="commandheader">5</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
<p>Options:<br />
0 or a positive number up to max server slots</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_mzombie_respawn</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Teleport mother zombies to spawn place when infected.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_spawntime_min</td>
<td class="commandheader">30.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Minimum time when mother zombies spawn. Time is in seconds.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_spawntime_max</td>
<td class="commandheader">50.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Maximum time when mother zombies spawn. Time is in seconds.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_consecutive_block</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Blocks players from being mother zombie twice in a row.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_weapons_drop</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Force players to drop weapons and grenades when infected. So other players can use them.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_sound</td>
<td class="commandheader">npc/fast_zombie/fz_scream1.wav</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Sound played when infected. The file path is relative to the "sound" folder. Leave
blank ("") to disable infection sound.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_explosion</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enable explosion effects. If disabled, this setting will also disable the following
CVARs:</p>
<ul>
<li class="code">zr_infect_fireball</li>
<li class="code">zr_infect_smoke</li>
<li class="code">zr_infect_smoke</li>
</ul>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_fireball</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Spawn a fire ball effect around the player on infection.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_smoke</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Spawn a smoke cloud effect around the player on infection.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_sparks</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Emit sparks from the the player on infection.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_esplash</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Emit an energy splash effect from the player on infection.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_shake</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Shake the player's view on infection.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_shake_amp</td>
<td class="commandheader">15.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Shake amplitude, how strong the shake is. Amplitude is in units.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_shake_frequency</td>
<td class="commandheader">1.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Shake frequency, how fast the shake is. Frequency is in hertz (cycles per second).</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_infect_shake_duration</td>
<td class="commandheader">5.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Duration of shake, how long the shake lasts. Time is in seconds.</p>
</td>
</tr>
</table></blockquote>
<blockquote><table>
<caption>Infect Commands</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_infect &lt;target&gt; [respawn]</td>
</tr>
<tr>
<td class="indent">
<p>Infects one or more players.</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">target</td><td>A SourceMod target string with one or more players.</td></tr>
<tr><td class="parameter">respawn</td><td>Teleport players to spawn.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_human &lt;target&gt; [respawn]</td>
</tr>
<tr>
<td class="indent">
<p>Turn one or more zombies into humans.</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">target</td><td>A SourceMod target string with one or more players.</td></tr>
<tr><td class="parameter">respawn</td><td>Teleport players to spawn.</td></tr>
</table>
</td>
</tr>
</table></blockquote>
<h3><a name="3.11" />3.11 Damage Control Settings</h3>
<p>With damage control it's possible to block suicide attempts, fall damage, blast damage and hit
group damage. See <a href="#3.9">Hit Group Configuration (3.9)</a> on how to configure hit groups.</p>
<blockquote><table>
<caption>Damage Control Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_damage_hitgroups</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enables hit group damage control. See Hit Group Configuration (3.9) on how to configure
hit groups.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_damage_block_ff</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Block friendly fire between zombies.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_damage_block_blast</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Block blast damage inflicted on self or teammates.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_damage_suicide_zombie</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Block suicide attempts by regular zombies.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_damage_suicide_mzombie</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Block suicide attempts by mother zombies.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_damage_suicide_human</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Block suicide attempts by humans.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_damage_suicide_cmds</td>
<td class="commandheader">"kill, spectate, jointeam"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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".</p>
</td>
</tr>
</table></blockquote>
<h3><a name="3.12" />3.12 Overlay Settings</h3>
<p>Overlays are pictures displayed on players' screen on certain events. However, these <strong>overlays
require DirectX 9 or higher</strong> to work. Players with lower DirectX version won't see these overlays.</p>
<p>Since these overlays doesn't last forever, they must be redisplayed at a certain interval. A
refresh once per second seems to be enough.</p>
<p>When the round ends, overlays for either humans or zombies are displayed, depending on the winning
team.</p>
<p>Overlays are also used as a class attribute, like the zombie vision effect.</p>
<blockquote><table>
<caption>Overlay Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_overlays_update_time</td>
<td class="commandheader">1.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>How often overlays are refreshed. Time is in seconds.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_roundend_overlay</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Show overlays for the winning team when the round ends.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_roundend_overlays_human</td>
<td class="commandheader">overlays/zr/humans_win</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Overlay to be displayed when humans win. Path is relative to the "materials" folder.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_roundend_overlays_zombie</td>
<td class="commandheader">overlays/zr/zombies_win</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Overlay to be displayed when zombies win. Path is relative to the "materials" folder.</p>
</td>
</tr>
</table></blockquote>
<h3><a name="3.13" />3.13 Money Configuration</h3>
<p>Players' cash can be modified and reset on every spawn if enabled.</p>
<blockquote><table>
<caption>Money Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_account_cashfill</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Resets player's cash every spawn. Cash amount is specified in
zr_account_cashfill_value.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_account_cashfill_value</td>
<td class="commandheader">12000</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>How much cash to give each spawn, if enabled.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_account_cashdmg</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
</table></blockquote>
<h3><a name="3.14" />3.14 Visual Effects Configuration</h3>
<p>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.</p>
<p>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 (<a
href="http://forums.alliedmods.net/showthread.php?t=98280">Logical Entity Support</a> is a work
in progress by the SourceMod team).</p>
<p>Currently, fog can only be modified if the map already has a env_fog_controller entity.</p>
<blockquote><table>
<caption>Visual Effect Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_veffects_lightstyle</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Change light style (brightness) in the map.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_lightstyle_value</td>
<td class="commandheader">b</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Light brightness value. The brightness is represented by characters from "a" to "z"
where "a" is dark, "n" is normal, and "z" is bright.</p>
<p>Options:<br />
a (dark) to z (bright)</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_sky</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Change skybox of the map.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_sky_path</td>
<td class="commandheader">sky_borealis01up.vmt</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>The skybox to use, if enabled. Path is relative to "materials/skybox".</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_sun_disable</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Remove the sun entity on the map. Disables sun rendering on the map.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_fog</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p><strong>Note:</strong> Incomplete. May or may not work.</p>
<p>Enable fog on the map.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_fog_override</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p><strong>Note:</strong> Incomplete. May or may not work.</p>
<p>Override existing fog on the map. If fog exists already on the map, replace it with
the new modified fog.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_fog_pcolor</td>
<td class="commandheader">"255 255 255"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p><strong>Note:</strong> Incomplete. May or may not work.</p>
<p>Sets the primary fog color. Three values from 0 to 255 separated by a space,
representing amount of red, green and blue.</p>
<p>Examples</p>
<table>
<tr><td class="valueoption">255 255 0</td><td>Yellow</td></tr>
<tr><td class="valueoption">255 0 255</td><td>Purpule</td></tr>
<tr><td class="valueoption">96 96 96</td><td>Dark grey</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_fog_scolor</td>
<td class="commandheader">"255 255 255"</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p><strong>Note:</strong> Incomplete. May or may not work.</p>
<p>Sets the secondary fog color. Three values from 0 to 255 separated by a space,
representing amount of red, green and blue.</p>
<p>Examples</p>
<table>
<tr><td class="valueoption">255 255 0</td><td>Yellow</td></tr>
<tr><td class="valueoption">255 0 255</td><td>Purpule</td></tr>
<tr><td class="valueoption">96 96 96</td><td>Dark grey</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_fog_density</td>
<td class="commandheader">0.8</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p><strong>Note:</strong> Incomplete. May or may not work.</p>
<p>Density (thickness) of the fog. The value is in percent, 0.0 to 1.0.</p>
<p>Options:<br />
0.0 to 1.0</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_fog_startdist</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p><strong>Note:</strong> Incomplete. May or may not work.</p>
<p>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.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_fog_enddist</td>
<td class="commandheader">400</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_fog_farz</td>
<td class="commandheader">2000</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_ragdoll_remove</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Remove players' bodies when dying.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_ragdoll_dissolve</td>
<td class="commandheader">-1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Dissolve effect to use when removing bodies.</p>
<p>Options:</p>
<table>
<tr><td class="valueoption">-2</td><td>No effect</td></tr>
<tr><td class="valueoption">-1</td><td>Random effect</td></tr>
<tr><td class="valueoption">0</td><td>Energy dissolve</td></tr>
<tr><td class="valueoption">1</td><td>Heavy electrical dissolve</td></tr>
<tr><td class="valueoption">2</td><td>Light electrical dissolve</td></tr>
<tr><td class="valueoption">3</td><td>Core dissolve</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_veffects_ragdoll_delay</td>
<td class="commandheader">0.5</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Time to wait before removing dead bodies. Time is in seconds.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_napalm_ignite</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Ignite grenades that players throws. Humans need the class attribute "has_napalm"
set for this setting to be effective.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
</table></blockquote>
<h3><a name="3.15" />3.15 Sound Effects Configuration</h3>
<p>The sound effects make zombies groan, in addition to the ambience sound file that can be
played.</p>
<p>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.</p>
<p>The lenght of the ambience file must be specified because SourceMod currently can't detect lenght
of MP3 files.</p>
<blockquote><table>
<caption>Sound Effect Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_seffects_moan</td>
<td class="commandheader">30.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Time between emission of a moan sound from a zombie. Time is in secons.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_seffects_groan</td>
<td class="commandheader">5</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>The probability that a groan sound will be emitted from a zombie when shot. Probability
is in percent.</p>
<p>Options:<br />
0 to 100</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_seffects_death</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Emit a death sound when a zombie dies.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ambientsounds</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enable ambient sound (background sound) to all players during gameplay.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ambientsounds_file</td>
<td class="commandheader">ambient/zr/zr_ambience.mp3</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ambientsounds_length</td>
<td class="commandheader">60.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ambientsounds_volume</td>
<td class="commandheader">0.8</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Volume of ambient sound file. Volume is in percent.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
</table></blockquote>
<h3><a name="3.16" />3.16 Respawn Configuration</h3>
<p>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.</p>
<p>If the mother zombie haven't spawned yet, players are always spawned as humans.</p>
<blockquote><table>
<caption>Respawn Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_respawn</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enable respawning.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_respawn_delay</td>
<td class="commandheader">1.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Time after death to respawn. Time is in seconds.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_respawn_team_zombie</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Respawn as zombie. If the mother zombie haven't spawned yet, players are always spawned
as humans.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_respawn_team_zombie_world</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>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.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
</table></blockquote>
<h3><a name="3.17" />3.17 Spawn Command Configuration</h3>
<p>The spawn command (zspawn) lets players join the game late, depending on the time configured. To
avoid abusing there are settings that decides what team to spawn on, and a time limit when the
command is allowed to be used.</p>
<blockquote><table>
<caption>ZSpawn Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_zspawn</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enable spawn command.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_zspawn_team_overrride</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Override what team to spawn to when using the spawn command. If disabled it will use
the same as zr_respawn_team_zombie.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_zspawn_team_zombie</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Spawn as zombie if override setting is enabled.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_zspawn_timelimit</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enable time limit on the spawn command.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_zspawn_timelimit_time</td>
<td class="commandheader">120.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>How long the spawn command is available after round start, if enabled. Time is in
seconds.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_zspawn_timelimit_zombie</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Spawn as zombie if using the spawn command after the time is up.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
</table></blockquote>
<h3><a name="3.18" />3.18 Spawn Protect Configuration</h3>
<p>Humans can have spawn protection settings that give them certain advantages for a limited time
right after they've spawned.</p>
<blockquote><table>
<caption>Spawn Protection Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_spawnprotect</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enable spawn protection for humans.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_spawnprotect_time</td>
<td class="commandheader">10</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>How long the spawn protection lasts. Time is in seconds.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_spawnprotect_speed</td>
<td class="commandheader">600.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Running speed for spawn protected players. Normal running speed is 300.0, double is
600.0.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_spawnprotect_alpha</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Transparency setting on spawn protected players.</p>
<p>Options:<br />
0 (invisible) to 255 (fully visible)</p>
</td>
</tr>
</table></blockquote>
<blockquote><table>
<caption>ZSpawn Command</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_zspawn_force &lt;target&gt; [spawn team]</td>
</tr>
<tr>
<td class="indent">
<p>Force one or more players to spawn.</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">target</td><td>A SourceMod target string with one or more
players.</td></tr>
<tr><td class="parameter">spawn team</td><td>Optional. Specify what team to spawn to.
Options:<br />
0 (humans) or 1 (zombies)</td></tr>
</table>
</td>
</tr>
</table></blockquote>
<h3><a name="3.19" />3.19 Teleport Configuration</h3>
<p>Zombie:Reloaded has a built in teleport feature with support for limits, delays and abuse
protection.</p>
<blockquote><table>
<caption>Teleport Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_ztele_zombie</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Allow zombies to use the teleporter.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ztele_human_before</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Allow humans to use the teleporter before mother zombies have spawned.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ztele_human_after</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Allow humans to use the teleporter after mother zombies have spawned.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ztele_delay_zombie</td>
<td class="commandheader">3.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Delay between teleport command and teleport for zombies. Time is in seconds.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ztele_delay_human</td>
<td class="commandheader">3.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Delay between teleport command and teleport for humans. Time is in seconds.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ztele_max_zombie</td>
<td class="commandheader">3</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Maximum number of teleports a zombie can do in a round.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ztele_max_human</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Maximum number of teleports humans can do in a round.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ztele_autocancel</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Automatically cancel a teleport in progress if moving a certain distance.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_ztele_autocancel_distance</td>
<td class="commandheader">20</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Maximum distance for automatically canceling a teleport. Distance is in feet. 1 feet
is 16 game units where a game unit is ~1 inch. For reference a player is ~75 units tall.</p>
</td>
</tr>
</table></blockquote>
<blockquote><table>
<caption>Teleport Console Command</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_tele_force &lt;client&gt;</td>
</tr>
<tr>
<td class="indent">
<p>Force teleport on a player. Does not add delay or add to teleport count.</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">client</td><td>Single target player. Support SourceMod
targets like @me and @aim.</td></tr>
</table>
</td>
</tr>
</table></blockquote>
<h3><a name="3.20" />3.20 HP Display Settings</h3>
<p>The HP display is a small panel on the center at the bottom of the screen that displays players'
health. Players can disable this, and the setting can also be saved in player cookies.</p>
<blockquote><table>
<caption>HP Display Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_zhp</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enable HP display for zombies.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_zhp_default</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Default HP display state on connecting players.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
</table></blockquote>
<h3><a name="3.21" />3.21 Jump Boost Settings</h3>
<p>Jump boost can be abused to do bunny hops. There are settings for configuring maximum allowed
velocity when jumping. If maximum speed is reached no jump boost is applied.</p>
<p><strong>Note:</strong> This is not a real bunny hop protection feature. Players who do bunny jumping will
still be able to do it, but they won't get jump boost after a certain speed if the speed limit is
enabled.</p>
<blockquote><table>
<caption>Jump Boost Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_jumpboost_bhop_protect</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enable bunny hop protection.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_jumpboost_bhop_max</td>
<td class="commandheader">300.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Maximum horizontal velocity allowed when jumping. Normal running speed for the player
is 300.0</p>
<p><strong>Note:</strong> The first jump does not have a speed limit, but subsequent jumps won't
get any boost if the speed limit is reached.</p>
</td>
</tr>
</table></blockquote>
<h3><a name="3.22" />3.22 Anti-Stick Settings</h3>
<p>The anti-stick system is a automatic no-block system that turn off collisions on players
that are stuck together, and enable collision again when they're unstuck.</p>
<p>(<strong>Note:</strong> This file is obsolete!) To know if players are stuck, it needs some extra info about
each model used in the game. Data for these models are stored in the following file (relative to
"sourcemod" folder):</p>
<blockquote><p><code>data/antistick.dat</code></p></blockquote>
<blockquote><table>
<caption>Anti-Stick Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_antistick</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Enable anti-stick system.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_antistick_default_width</td>
<td class="commandheader">32.0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p><strong>Note:</strong> Obsolete! Do not chnage default value!</p>
<p>Default model width used to detect if players are stuck together. Width is in game
units.</p>
</td>
</tr>
<tr>
<td class="commandheader">zr_antistick_file_path</td>
<td class="commandheader">data/antistick.dat</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p><strong>Note:</strong> Obsolete! Just ignore this file.</p>
<p>File to store anti-stick model hull data. Path is default to the "sourcemod" folder.</p>
</td>
</tr>
</table></blockquote>
<h3><a name="3.23" />3.23 Volumetric Feature Configuration</h3>
<p>Volumetric Features is a way to do various stuff on players when they enter custom created
volumes in a map. A volume is rectangular and is created by using two coordinates in the map that
defines the three-dimensional area.</p>
<p class="imagetext"><img src="images/zm_crazys_warehouse_be4_anticamp.jpg" width="700" height="342"
alt="Visualized anti-camp volume" />
<br />This is a visualized volume where the red border is the volume, and the blue or green circles are
examples of what points in the map that could be used.</p>
<p>Known issues/bugs:</p>
<ul>
<li>Volumes placed in spawn areas won't take effect on them until they leave the area and go
back in. There's a bug where it doesn't apply to spawned players.</li>
<li>Avoid overlapping volumes of same type. There's currently no conflict handling and whichever
volume the player enter or leave last will be triggered.</li>
</ul>
<h4><a name="3.23.1" />1. Creating A Volume</h4>
<p>To create a volume go into spectactor mode (or no-clip). Enable position display in the client
(<span class="code">cl_showpos 1</span>), the numbers appear in the top right corner of the scteen.
Visualize a rectangular area and move to one of its corners. Get the x, y and z coordinates (make
sure you don't miss the "-" if it's a negative number). Go to the diagonally oposite corner, in the
oposite height and get the second set of coordinates.</p>
<p>Use the <span class="code">zr_vol_add</span> console command in map configs to add volumes.</p>
<p>Short summary:</p>
<ol>
<li>Go into spectator mode or no-clip</li>
<li>Enable position display: <span class="code">cl_showpos 1</span></li>
<li>Go to one of the corners, get the coordinates</li>
<li>Go to the diagonally oposite corner, in the oposite height and get the second set of
coordinates.</li>
<li>Use these coordinates in the <span class="code">zr_vol_add</span> command along with
additional attributes.</li>
</ol>
<h4><a name="3.23.2" />2. Volume Attributes</h4>
<p>Each volume has a set of standard attributes that tell how it should behave and look like.
In addition each feature has a set of attributes. All attributes have default values and are
not required, except the type attribute.</p>
<p>These are the generic attributes and apply to all volumes:</p>
<blockquote><table>
<caption>Generic Volume Attributes</caption>
<tr>
<th class="namewidth">Attribute:</th>
<th class="mediumwidth">Value type:</th>
<th class="mediumwidth">Default:</th>
</tr>
<tr>
<td class="commandheader">type</td>
<td class="commandheader">text</td>
<td class="commandheader">-</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Note:</strong> This attribute is required!</p>
<p>Specified the volumetric feature type.</p>
<p>Valid options:</p>
<table>
<tr><td class="valueoption">anticamp</td><td><a href="#3.23.4">Anti-Camp</a> volume.</td></tr>
<tr><td class="valueoption">classedit</td><td><a href="#3.23.5">Class editor</a> volume.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">teamfilter</td>
<td class="commandheader">text</td>
<td class="commandheader">"all"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Sets the team filtering settings.</p>
<p>Valid options:</p>
<table>
<tr><td class="valueoption">all</td><td>Applies to all players.</td></tr>
<tr><td class="valueoption">humans</td><td>Applies to humans only.</td></tr>
<tr><td class="valueoption">zombies</td><td>Applies to zombies only.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">delay</td>
<td class="commandheader">number</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Trigger delay. Number of seconds to wait when a player enter the volume before
triggering actions. Time is in seconds.</p>
</td>
</tr>
<tr>
<td class="commandheader">effect</td>
<td class="commandheader">text</td>
<td class="commandheader">"none"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Note:</strong> Incomplete, this attribute is ignored.</p>
<p>What effect to apply to the volume</p>
<p>Valid options:</p>
<table>
<tr><td class="valueoption">none</td><td>No effect.</td></tr>
<tr><td class="valueoption">wireframe</td><td>Draw a wireframe.</td></tr>
<tr><td class="valueoption">smoke</td><td>Put smoke in the volume.</td></tr>
<tr><td class="valueoption">fire</td><td>Put fire in the volume.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">effect_color</td>
<td class="commandheader">text</td>
<td class="commandheader">"0,0,0"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Note:</strong> Incomplete, this attribute is ignored.</p>
<p>Color of the effect. RGB format, represented by three numbers from 0 to 255 separated
by a comma. Syntax: <span class="code">&lt;red&gt;,&lt;green&gt;,&lt;blue&gt;</span></p>
</td>
</tr>
<tr>
<td class="commandheader">enabled</td>
<td class="commandheader">boolean</td>
<td class="commandheader">1</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Set the initial enabled setting on the volume. Usually this attribute won't be used.</p>
</td>
</tr>
</table></blockquote>
<h4><a name="3.23.3" />3. Volume Commands</h4>
<blockquote><table>
<caption>Volume Commands</caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader">zr_vol_add &lt;x1&gt; &lt;y1&gt; &lt;z1&gt; &lt;x2&gt; &lt;y2&gt;
&lt;z2&gt; &lt;type&gt; [params]</td>
</tr>
<tr>
<td class="indent">
<p>Creates a rectangular volume in the map.</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">x1, y1, z1</td><td>First set of coordinates.</td></tr>
<tr><td class="parameter">x2, y2, z2</td><td>Second set of coordinates.</td></tr>
<tr><td class="parameter">type</td><td>Volumetric feature type. Described in
<a href="#3.23.2">Volume Attributes</a>.</td></tr>
<tr><td class="parameter">params</td><td>Additional key-value chain of volume
attributes, separated by space. Syntax: <span class="code">attribute=value
attribute=value ...</span></td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_vol_remove &lt;volume index&gt;</td>
</tr>
<tr>
<td class="indent">
<p>Removes an existing volume in the map.</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">volume index</td><td>Zero-based index of volume (ID) to
remove.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_vol_list [volume index]</td>
</tr>
<tr>
<td class="indent">
<p>Lists existing volumes in the map, or dumps volume details.</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">volume index</td><td>Optional. Zero-based index of volume
(ID) to dump.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">zr_vol_dumpstates &lt;userid|targetname&gt;</td>
</tr>
<tr>
<td class="indent">
<p>Dumps a list of all volumes and a indicator whether the target is in it or not.</p>
<p>Parameters:</p>
<table>
<tr><td class="parameter">userid|targetname</td><td>A SourceMod target string to a single player.</td></tr>
</table>
</td>
</tr>
</table></blockquote>
<h4><a name="3.23.4" />4. Anti-Camp</h4>
<p>The anti-camp feature can be used to force players to leave areas that are considered unfair or
not allowed. It uses a timer to trigger actions at a specified interval. In addition warning messages
can be displayed to player that enter the volume.</p>
<blockquote><table>
<caption>Anti-Camp Attributes</caption>
<tr>
<th class="namewidth">Attribute:</th>
<th class="mediumwidth">Value type:</th>
<th class="mediumwidth">Default:</th>
</tr>
<tr>
<td class="commandheader">interval</td>
<td class="commandheader">number</td>
<td class="commandheader">5</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Trigger interval. How often to apply actions on players in the volume. Time is in
seconds.</p>
</td>
</tr>
<tr>
<td class="commandheader">action</td>
<td class="commandheader">text</td>
<td class="commandheader">"damage"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>What kind of action to apply.</p>
<p>Valid options:</p>
<table>
<tr><td class="valueoption">none</td><td>Do nothing. Useful for just giving warning
messages.</td></tr>
<tr><td class="valueoption">damage</td><td>Hurt player.</td></tr>
<tr><td class="valueoption">slay</td><td>Kill player.</td></tr>
<tr><td class="valueoption">drug</td><td>(Incomplete!) Drug player. Players will be
un-drugged when leaving volume.</td></tr>
<tr><td class="valueoption">ignite</td><td>Set player on fire. Players will be extinguished
when leaving volume.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">amount</td>
<td class="commandheader">decimal</td>
<td class="commandheader">5.0</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Specifies amount to apply depending on action type.</p>
<p>Amount type for action:</p>
<table>
<tr><td class="valueoption">none</td><td>(ignored)</td></tr>
<tr><td class="valueoption">damage</td><td>Health points</td></tr>
<tr><td class="valueoption">slay</td><td>(ignored)</td></tr>
<tr><td class="valueoption">drug</td><td>Time in seconds</td></tr>
<tr><td class="valueoption">ignite</td><td>Time in seconds</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">warning</td>
<td class="commandheader">text</td>
<td class="commandheader">"chat"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p>Where to show warning message.</p>
<p>Valid options:</p>
<table>
<tr><td class="valueoption">none</td><td>Don't show a warning message.</td></tr>
<tr><td class="valueoption">chat</td><td>Display in client's chat area.</td></tr>
<tr><td class="valueoption">center</td><td>Display warning text centered on the screen.</td></tr>
<tr><td class="valueoption">menu</td><td>Display warning in a menu panel, stays open for
30 seconds or when closed.</td></tr>
</table>
</td>
</tr>
<tr>
<td class="commandheader">message</td>
<td class="commandheader">text</td>
<td class="commandheader">""</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Note:</strong> Incomplete, this attribute is ignored.</p>
<p>Use custom warning message (max 255 byte). Leave blank to use default warning
message.</p>
</td>
</tr>
</table></blockquote>
<h4><a name="3.23.5" />5. Class Editor</h4>
<p>(Docs incomplete.)</p>
<h3><a name="3.24" />3.24 Admin Authentication</h3>
<p>Zombie:Reloaded use SourceMod to authenticate players. There are two ways to do this; flag based
or group based. With flag authentication a certain admin flag is required to be set, and with group
authentication the player must be member of a certain group to do certain types of operations.</p>
<p>The reason to use group authentication could be to let admins have full access in SourceMod so
they get access to configure all plugins, but still limit access to commands in Zombie:Reloaded.
When using flag authentication the permissions will be global across all plugins, including
Zombie:Reloaded.</p>
<h4><a name="3.24.1" />1. Admin Flags Used In Zombie:Reloaded</h4>
<p>Admins must have the appropriate
<a href="http://wiki.alliedmods.net/Adding_Admins_(SourceMod)#Levels">SourceMod admin flags</a> to
do certain types of operations. Below is a list of all flags used in Zombie:Reloaded and what type
of operation they grant:</p>
<blockquote><table>
<caption>Admin Flags Used In Zombie:Reloaded</caption>
<tr>
<th>Flag:</th>
<th>Operation type:</th>
</tr>
<tr>
<td class="parameter">generic</td>
<td>Access to generic operations like infecting, teleporting, and spawning players.</td>
</tr>
<tr>
<td class="parameter">config</td>
<td>Access to operations that change settings in Zombie:Reloaded.</td>
</tr>
</table></blockquote>
<h4><a name="3.24.2" />2. Predefined Admin Groups</h4>
<p>If group authentication is used, admins must be member of one of these
<a href="http://wiki.alliedmods.net/Adding_Groups_(SourceMod)">SourceMod groups</a> to do the
following operations:</p>
<blockquote><table>
<caption>Predefined Admin Groups</caption>
<tr>
<th>Group:</th>
<th>Operation type:</th>
</tr>
<tr>
<td class="valueoption">zr_admins</td>
<td>Full access to all commands in Zombie:Reloaded.</td>
</tr>
<tr>
<td class="valueoption">zr_moderators</td>
<td>Access to generic operations like infecting, teleporting, and spawning players.</td>
</tr>
<tr>
<td class="valueoption">zr_configurators</td>
<td>Access to operations that change settings in Zombie:Reloaded.</td>
</tr>
</table></blockquote>
<h4><a name="3.24.3" />3. Console Variables</h4>
<blockquote><table>
<caption>Permission Console Variables</caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader">zr_permissions_use_groups</td>
<td class="commandheader">0</td>
</tr>
<tr>
<td class="indent" colspan="2">
<p>Use group authentication instead of flags to access admin features. Generic admin
flag is still required on some features.</p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
</table></blockquote>
<h2><a name="4" />4. How To Play</h2>
<p>(Incomplete) Feel free to contribute to this section. Make a new thread with suggestions in the
<a href="http://forums.alliedmods.net/forumdisplay.php?f=132">Zombie:Reloaded Forum</a>.</p>
<p>(how to defend against zombies, in a fair way)</p>
<p>(zombie tricks, getting through non-solid props)</p>
<h3><a name="4.1" />4.1 Game Rules</h3>
<h3><a name="4.3" />4.3 Commands</h3>
<h3><a name="4.2" />4.2 Menus</h3>
<h3><a name="4.4" />4.4 Teamwork</h3>
<h3><a name="4.5" />4.5 Playing As Human</h3>
<h4><a name="4.5.1" />4.5.1 Finding A Place To Hide</h4>
<h4><a name="4.5.2" />4.5.2 Making Barricades</h4>
<h4><a name="4.5.3" />4.5.3 Playing Fair</h4>
<h3><a name="4.6" />4.6 Playing As Zombie</h3>
<h4><a name="4.6.1" />4.6.1 Chasing Humans</h4>
<h4><a name="4.6.2" />4.6.2 Avoiding Knock Back</h4>
<h4><a name="4.6.3" />4.6.3 Taking Advantage Of The Class Skills</h4>
<p>(bunny jump)</p>
<p>(almost invisible, act as a spy and surprise humans)</p>
<h3><a name="4.7" />4.7 Physics Stuff</h3>
<p>There are glitches and simplified physics stuff that can be used to get an advantage. Some servers
may not allow all of these tricks because they could be unfair.</p>
<h4><a name="4.7.1" />4.7.1 Glitching Through Walls</h4>
<p>(bad thing to do, and should not be allowed)</p>
<h4><a name="4.7.2" />4.7.2 Jumping Through Non-Solid Props</h4>
<p>Realistic physics in multiplayer games is a expensive task for the server and it appears to be
laggy for players. The solution to this is simplified physics on props (that is simplified collision
detection).</p>
<p>Some props aren't solid but pushes players away from it's origin (center of the object). This is
NOT a engine bug, but a simplified solution. These props are useful to _delay_ zombies in barricades,
but they're still fair to use. If players got enough speed they can run and jump through them.</p>
<p>There's another trick that works quite good if the knock back is balanced
correctly. If a player look straight down or straight up it's possible to
simply walk through non-solid props, or at the same time, jumping slowly
through them.</p>
<p>This simplified physics is used by default on regular Counter-Strike: Source maps. There's
something called turbo physics which is enabled on most zombie servers, where all props are solid so
players can stand on them. Players can't push props, but move them by shooting or using their use
key (E by default) while aiming at the object.</p>
<h4><a name="4.7.3" />4.7.3 Jumping Fast In Small Areas</h4>
<p>When zombies have to crouch to enter a area where humans camp (like tubes and vents), jumping fast
might help.</p>
<p>When jumping it's not easy for humans to hit the head and they can't get that good knock back
anymore. With multiple zombies jumping fast, pushing eachother on their way into a tube, the humans
are doomed. The tube camping problem much better balanced. This problem can also be solved by
using a <a href="#3.23.5">class editor volume</a> or <a href="#3.23.4">anti-camp</a> in tubes and
vents.</p>
<h2><a name="5" />5. Troubleshooting</h2>
<h3><a name="5.1" />5.1 Verifying Requirements</h3>
<h3><a name="5.2" />5.2 Startup</h3>
<h3><a name="5.3" />5.3 Error Messages</h3>
<p>There are several error levels that are handled differently in the plugin. <em>Fatal</em> errors
will stop the plugin, <em>errors</em> might disable features, and <em>warnings</em> will usually fall
back to a default action.</p>
<blockquote><table>
<caption>Error Messages</caption>
<tr>
<th class="mediumwidth">Module:</th>
<th class="tinywidth">Type:</th>
<th>Message:</th>
</tr>
<tr>
<td class="commandheader">-</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Unexpected error encountered loading: &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Something wrong happened when trying to parse/open a
configuration file.</p>
<p><strong>Cause:</strong> File permissions, or (for developers:) that invalid file
structure were specified when loading.</p>
</td>
</tr>
<tr>
<td class="commandheader">account</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CCSPlayer::m_iAccount" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for accessing players' money value
wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">config</td>
<td class="commandheader">error</td>
<td class="commandheader">Invalid reload function for config: &lt;module config&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Couldn't get the function for reloading the specified
module. This should never happend, unless someone tampered with the code.</p>
<p><strong>For developers:</strong> If you're doing modifications/additions in the config
system make sure you "register" the module as described in top of
<code>config.inc</code>.</p>
</td>
</tr>
<tr>
<td class="commandheader">downloads</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Missing downloads file: &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Startup validation failed because the
<a href="#3.6">list of downloads</a> could not be found.</p>
</td>
</tr>
<tr>
<td class="commandheader">downloads</td>
<td class="commandheader">error</td>
<td class="commandheader">Missing file &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Couldn't find the specified file during validation of
download list content. Verify that the path is correct (path is relative to the
<code>cstrike</code> folder). Check for typos.</p>
</td>
</tr>
<tr>
<td class="commandheader">hitgroups</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Missing hitgroups file: &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Cause:</strong>Startup validation failed because the <a href="#3.9">hit groups
file</a> could not be found.</p>
</td>
</tr>
<tr>
<td class="commandheader">hitgroups</td>
<td class="commandheader">error</td>
<td class="commandheader">No usable data found in hitgroups config file: &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Cause:</strong> The hit groups file is empty, - or there's a typo so the parser
think it's empty. Check for missing quotes (") or brackets ({ }).</p>
</td>
</tr>
<tr>
<td class="commandheader">hitgroups</td>
<td class="commandheader">error</td>
<td class="commandheader">Unexpected error caching data from hitgroups config file: &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Something wrong happened when trying to parse/open a
configuration file.</p>
<p><strong>Cause:</strong> Usually file permissions, or (for developers:) that invalid
file structure were specified when loading.</p>
</td>
</tr>
<tr>
<td class="commandheader">hitgroups</td>
<td class="commandheader">error</td>
<td class="commandheader">Couldn't cache hitgroup data for: &lt;hit group name&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Couldn't find the specified hit group name in the
configuration file.</p>
<p><strong>Cause:</strong> A quote is missing somewhere, or the hit group section is
actually missing.</p>
</td>
</tr>
<tr>
<td class="commandheader">models</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Missing models file: &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Startup validation failed because the
<a href="#3.5">list of models</a> could not be found.</p>
</td>
</tr>
<tr>
<td class="commandheader">models</td>
<td class="commandheader">error</td>
<td class="commandheader">Error opening model path directory: &lt;directory&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The model path doesn't exist. Check for typos. Path
is relative to the <code>cstrike</code> folder.</p>
</td>
</tr>
<tr>
<td class="commandheader">models</td>
<td class="commandheader">error</td>
<td class="commandheader">Missing model files on server (&lt;file&gt;)</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The model file doesn't exist. Check for typos. Path
is relative to the <code>cstrike</code> folder.</p>
</td>
</tr>
<tr>
<td class="commandheader">models</td>
<td class="commandheader">fatal</td>
<td class="commandheader">No usable (public) model paths in &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> There's no public models to be assigned zombies and humans.</p>
<p><strong>Cause:</strong> Typos or invalid paths in model list.</p>
</td>
</tr>
<tr>
<td class="commandheader">offsets</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CBaseEntity::m_nWaterLevel" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' water level
wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">offsets</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CBasePlayer::m_vecVelocity[0]" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' velocity
wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">offsets</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CCSPlayer::m_flLaggedMovementValue" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' speed/movement
wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">offsets</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CCSPlayer::m_bHasNightVision" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' night vision
settings wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">offsets</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CCSPlayer::m_bNightVisionOn" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' night vision
setttings wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">offsets</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CBasePlayer::m_iDefaultFOV" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' field of
view setting wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">offsets</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Can't load game config file (plugin.zombiereloaded.txt) from the
gamedata directory.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required configuration file with offsets and
function signatures wasn't found, or couldn't be loaded.</p>
<p><strong>Cause:</strong> Usually file permissions.</p>
</td>
</tr>
<tr>
<td class="commandheader">offsets</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Signature "CGameRules::TerminateRound" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required function signature for terminating the
round wasn't found</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">offsets</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Signature "CBasePlaye::CSWeaponDrop" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required function signature for dropping players'
weapons wasn't found</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">playerclasses</td>
<td class="commandheader">warning</td>
<td class="commandheader">Failed to set &lt;class name&gt; as default spawn class
for team &lt;team id&gt;. The class doesn't exist or the team IDs doesn't match. Falling
back to the first class in the team.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Couldn't find the specified class name, or there's no
class with that name and team id. Default class in class configuration will be used.</p>
<p><strong>Cause:</strong> Typo in plugin configuration or class configuration, the
specified class is a human class while it expected a zombie class (or oposite), - or
the class has wrong team id set.</p>
</td>
</tr>
<tr>
<td class="commandheader">playerclasses</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Missing playerclasses config file &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Couldn't find the specified class configuration file.
Verify that the <code>zr_config_path_playerclasses</code> console variable is correct.</p>
</td>
</tr>
<tr>
<td class="commandheader">playerclasses</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Can't find any classes in &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> There's no classes.</p>
<p><strong>Cause:</strong> Usually a missing quote (") or bracket ({ }).</p>
</td>
</tr>
<tr>
<td class="commandheader">playerclasses</td>
<td class="commandheader">warning</td>
<td class="commandheader">Warning: Maximum classes reached (&lt;max classes&gt;). Skipping
other classes.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Maximum number of classes reached during parsing.
Additional classes are skipped.</p>
</td>
</tr>
<tr>
<td class="commandheader">playerclasses</td>
<td class="commandheader">warning</td>
<td class="commandheader">Warning: Invalid class at index &lt;class index&gt;, disabled class.
Class error flags: &lt;flags&gt;.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The specified class has one or more invalid attribute
values. Class will be disabled. Check the <a href="#3.7.3">flag value</a> to find out
what attributes that are invalid.</p>
</td>
</tr>
<tr>
<td class="commandheader">playerclasses</td>
<td class="commandheader">fatal</td>
<td class="commandheader">The class configuration doesn't match the team requirements.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Class requirement conditions not met. See
<a href="#3.7.3">Class Requirements (3.7.3)</a> for details. Zombie:Reloaded will not
start without valid classes.</p>
</td>
</tr>
<tr>
<td class="commandheader">playerclasses</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Couldn't find a default class for one or more teams. At least one
class per team must be marked as default.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Missing a default class for humans or zombies. See
<a href="#3.7.3">Class Requirements (3.7.3)</a> for details. Zombie:Reloaded will not
start without valid classes.</p>
</td>
</tr>
<tr>
<td class="commandheader">playerclasses</td>
<td class="commandheader">warning</td>
<td class="commandheader">Warning: Failed to get the specified zombie class, falling back
to default class in class config. Check spelling in "zr_classes_default_zombie".</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Couldn't find the class specified in
<code>zr_classes_default_zombie</code>. Check for typos.</p>
</td>
</tr>
<tr>
<td class="commandheader">playerclasses</td>
<td class="commandheader">warning</td>
<td class="commandheader">Warning: Failed to get the specified human class, falling back
to default class in class config. Check spelling in "zr_classes_default_human".</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Couldn't find the class specified in
<code>zr_classes_default_human</code>. Check for typos.</p>
</td>
</tr>
<tr>
<td class="commandheader">soundeffects</td>
<td class="commandheader">error</td>
<td class="commandheader">Invalid sound file specified in "zr_ambientsounds_file": &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Couldn't find the sound file. The path is relative to
the <code>cstrike/sound</code> folder. Check for typos.</p>
</td>
</tr>
<tr>
<td class="commandheader">soundeffects</td>
<td class="commandheader">error</td>
<td class="commandheader">Ambient sound volume specified in "zr_ambientsounds_volume" is either muted or invalid.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Volume has a invalid value (zero or negative). Valid
range is from 0.1 to 1.0.</p>
</td>
</tr>
<tr>
<td class="commandheader">soundeffects</td>
<td class="commandheader">error</td>
<td class="commandheader">Ambient sound length specified in "zr_ambientsounds_length" is invalid.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The specified sound file length is zero or negative. Must be positive.</p>
</td>
</tr>
<tr>
<td class="commandheader">visualeffects</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CCSPlayer::m_hRagdoll" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' ragdoll
wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">visualeffects</td>
<td class="commandheader">error</td>
<td class="commandheader">Couldn't find handle to cvar: "sv_skyname"</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Couldn't find cvar <code>sv_skyname</code>.</p>
<p><strong>Cause:</strong> This is most likely caused by running Zombie:Reloaded on
another mod than it's made for. Counter-Strike: Source is required.</p>
</td>
</tr>
<tr>
<td class="commandheader">volfeatures</td>
<td class="commandheader">warning</td>
<td class="commandheader">Warning: Invalid interval &lt;interval&gt; in anticamp volume
&lt;id&gt;.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Invalid attribute value. Must be positive and non-zero.
Volume will be disabled.</p>
</td>
</tr>
<tr>
<td class="commandheader">volfeatures</td>
<td class="commandheader">warning</td>
<td class="commandheader">Warning: Console variable "zr_vol_update_interval" is zero or
negative. Must be positive. Volumetric Features will be disabled.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Invalid value. Must be positive and non-zero.</p>
</td>
</tr>
<tr>
<td class="commandheader">volfeatures</td>
<td class="commandheader">warning</td>
<td class="commandheader">Warning: Console variable "zr_vol_trigger_interval" is zero or
negative. Must be positive. Volumetric Features will be disabled.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Invalid value. Must be positive and non-zero.</p>
</td>
</tr>
<tr>
<td class="commandheader">weapons</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CBaseCombatWeapon::m_iClip1" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' primary
ammo value wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">weapons</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CBaseCombatWeapon::m_iClip2" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' secondary
ammo value wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">weapons</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CBasePlayer::m_iAmmo" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' reserve
ammo value wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">weapons</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CBasePlayer::m_hActiveWeapon" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' active
weapon index wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">weapons</td>
<td class="commandheader">error</td>
<td class="commandheader">Missing weapons config file: &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Could not find the <a href="#3.8">weapons configuration
file</a>. Check for typos in console variable <code>zr_config_path_weapons</code>.</p>
</td>
</tr>
<tr>
<td class="commandheader">weapons</td>
<td class="commandheader">error</td>
<td class="commandheader">No usable data found in weapons config file: &lt;file&gt;</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Cause:</strong> The weapon config file is empty, - or there's a typo so the
parser think it's empty. Check for missing quotes (") or brackets ({ }).</p>
</td>
</tr>
<tr>
<td class="commandheader">weapons</td>
<td class="commandheader">error</td>
<td class="commandheader">Couldn't cache weapon data for: &lt;weapon name&gt; (check weapons
config)</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The specified weapon name wasn't found in weapon
configuration file.</p>
</td>
</tr>
<tr>
<td class="commandheader">weapons</td>
<td class="commandheader">fatal</td>
<td class="commandheader">Offset "CCSPlayer::m_bInBuyZone" was not found.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The required offset for getting players' buy zone
state wasn't found.</p>
<p><strong>Cause:</strong> Usually a update by Valve. Report to a Zombie:Reloaded
developer, or the SourceMod team.</p>
</td>
</tr>
<tr>
<td class="commandheader">weapons</td>
<td class="commandheader">error</td>
<td class="commandheader">Invalid weapon (&lt;weapon name&gt;) selected from the ZMarket menu.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> Something went wrong when converting a weapon name
to a weapon index. This should never happend, and if so it's a bug.</p>
</td>
</tr>
<tr>
<td class="commandheader">weapons</td>
<td class="commandheader">error</td>
<td class="commandheader">Client &lt;player name&gt; attempted to buy weapon entity &lt;weapon
name&gt; marked as a projectile. Check your weapon config.</td>
</tr>
<tr>
<td class="indent" colspan="3">
<p><strong>Description:</strong> The weapon is probably not a grenade type. Check the
<code>weapontype</code> attribute of that weapon.</p>
</td>
</tr>
</table></blockquote>
<h3><a name="5.4" />5.4 Common Problems</h3>
<h3><a name="5.5" />5.5 Known Issues</h3>
<p>Conflicts with WCS Races plugin and other plugins who change player model/skin and speed.</p>
<p>Do not run es_tools, it's not compatible with SourceMod.</p>
<h2><a name="6" />6. Gameplay Guidelines</h2>
<h3><a name="6.1" />6.1 Briefing - Map Configuration Files</h3>
<h3><a name="6.2" />6.2 Map Balance</h3>
<h3><a name="6.3" />6.3 Knock Back Settings</h3>
<h3><a name="6.4" />6.4 Map Time</h3>
<h3><a name="6.5" />6.5 Servers With Unlimited Ammo And No Reloading</h3>
<h3><a name="7" />7. Reporting Bugs And Problems</h3>
<p>Currently we have no public bug tracker, so issues have to be reported in the <a
href="http://forums.alliedmods.net/forumdisplay.php?f=132">Zombie:Reloaded forum</a>.</p>
<p>A few guidelines while posing issues or questions:</p>
<ul>
<li>Use a single thread per topic. It's much easier to browse a few pages of threads than
browsing 1000 posts. Make new threads - or post in existing threads if someone have the same
issue. If you're unsure about this, just make new threads.</li>
<li>Tell us what version you use. If you use a old version the problem might be solved in a
newer version.</li>
<li>Use a short thread title that describes your problem (keywords is enough).</li>
<li>If you found a bug, start the thread title with [BUG] or similar.</li>
<li>If your problem were solved you could share the solution in your thread. Also add [SOLVED]
or similar in the thread title.</li>
</ul>
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10"
height="31" width="88" alt="Valid XHTML 1.0 Strict" class="noborder" /></a></p>
<!-- Templates:
<h4><a name="a" /></h4>
<p></p>
<blockquote><p><code></code></p></blockquote>
<table>
<tr><td></td><td></td></tr>
</table>
<blockquote><table>
<caption></caption>
<tr>
<th>Console variable:</th>
<th>Default:</th>
</tr>
<tr>
<td class="commandheader"></td>
<td class="commandheader"></td>
</tr>
<tr>
<td class="indent" colspan="2">
<p></p>
<p>Options:<br />
0 or 1</p>
</td>
</tr>
</table></blockquote>
<blockquote><table>
<caption></caption>
<tr>
<th>Syntax:</th>
</tr>
<tr>
<td class="commandheader"></td>
</tr>
<tr>
<td class="indent">
<p></p>
</td>
</tr>
</table></blockquote>
-->
</div>
</div>
</div>
</body>
</html>