From 1182815e457872120340b1b1fbad869fab76a559 Mon Sep 17 00:00:00 2001 From: richard Date: Thu, 2 Jul 2009 20:16:21 +0200 Subject: [PATCH 1/3] Added manuals to repository. --- docs/zr_3.0_release_notes.txt | 236 +++++++ docs/zr_dev_manual.txt | 164 +++++ docs/zr_manual.txt | 1128 +++++++++++++++++++++++++++++++++ 3 files changed, 1528 insertions(+) create mode 100644 docs/zr_3.0_release_notes.txt create mode 100644 docs/zr_dev_manual.txt create mode 100644 docs/zr_manual.txt diff --git a/docs/zr_3.0_release_notes.txt b/docs/zr_3.0_release_notes.txt new file mode 100644 index 0000000..97771e5 --- /dev/null +++ b/docs/zr_3.0_release_notes.txt @@ -0,0 +1,236 @@ +=============================================================================== + + Zombie:Reloaded Release Notes + + Targets plugin version 3.0.0, (not released) + Written by Richard Helgeby + + Last modified: 2009.06.27 + +=============================================================================== + +Release Notes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This is a major release and it do break compatibility with older configuration! +Clean install of configuration files and reconfiguring is recommended. + +A lot of work is put into this plugin. The entire plugin is completely recoded +with lots of improvements and fixes. + +Our code base have expanded at least five times compared to version 2.5.1 (now +with source files above 20 000 lines). Of course, made with optimizing in mind. +This is, as far as we know, the biggest SourceMod plugin ever made! + +We also hope Zombie:Reloaded will be a good learning resource for new or +existing coders to find out how certain things are done. The code is well +structured and documented with comments explaining almost what every line do. + +In addition we try to make this a quality release with a well tested release +and a full user manual. Read the user manual for details on how to use or +configure individual features. Better quality and less time spent on support +gives more time for us to what we really want to do. + + +Richard Helgeby & +Greyscale + + +OVERVIEW OF MAJOR CHANGES +--------------------------- + +* New configuration style. Configuration files and CVARs are also validated so + errors and invalid values are caught early. + +* Expanded class system with support for human classes and additional + attributes like setting transparency on player classes, effects or other + special behaviour. + +* New weapon configurations that support knock back multipliers per weapon and + custom weapon groups for easy restriction. + +* Market feature for pre configuring or buying equimpents and weapons from the + oposite team, also outside the buy zone if allowed in configuration. + +* Improved knock back with support for scaling based on different modules. Now + it's possible to fully customize knock back behaviour. + +* Volumetric features. Define areas in maps and do certain stuff to players in + those areas based on a selection of features like the anti-camp. + +* Improved teleport settings. Delays and limits separated per team. + +* Admin menu. Configure certain settings in-game, do generic commands like + infect, spawn and teleport. + +* Cookies. This plugin is using the cookie system of SourceMod so player + preferences can be saved until next time they connect. + +* New logging system that is fully customizable. Makes it possible to decide + what stuff to be logged by setting generic logging flags and applying module + filters. + + +CONFIGURATION CHANGES +----------------------- + +Configuration settings are validated when the plugin starts. The plugin will +stop, use defaults or disable features if there are invalid values. Also a +warning is logged in the SourceMod error logs. + +The validation prevents unexpected or invalid behaviour in the plugin. Dealing +with errors or warnings in error logs helps a lot troubleshooting eventual +eventual issues in the plugin caused by incorrect configurations. + +It's also possible to specify the path of configuration files. This can be used +in combination with map configs, so it's possible to have different +configuration sets per map. + +Support for post map configs is made. These are configs executed after the +plugin and its features are loaded. Some settings can only be changed or +overridden after loading. Those commands must be placed in post map configs. + + +IMPROVED CLASS SYSTEM +----------------------- + +There's a lot of new features in the class system. The major change is that +it's made for multiple teams (humans and zombies). Now human classes can be +made. It has support for extended team filtering where admin-only and mother +zombie classes can be made. + +In addition any attribute on one or more classes can be modified in-game, which +expands the possibilities in combination with map configs. This makes it easier +to improve the map balance by adjusting attributes like health, knock back and +running speed. + +One of the new features is transparency on players. There are also immunity +modes (but it's currently a incomplete feature) that could implement slow +infection that requires zombies to stab multiple times with its knife before +the humans get infected, or stab them to death (turning into a zombie). + + +IMPROVED WEAPON SYSTEM +------------------------ + +The new weapon system lets makes it possible to do more than just restricting +weapons. Now it's possible to set knock back multipliers per weapon. + +Hit groups can also be configured with knock back multipliers, or disable +damage on certain hit groups completely. + +There's also a new market feature which is a custom buy menu with all available +weapons, including from the oposite team. It's also possible to buy weapons +outside the buy zone if the server admins enable that setting. + +Weapon selections can be pre configured and even saved using cookies so they +can be quickly bought on next spawn or on next connect to the server. + + +CUSTOMIZING KNOCK BACK +------------------------ + +The knock back is based on three factors that are multiplied into the effective +knock back: + + - Class knock back. This is the main value. + + - Weapon knock back. Set knock back scale values per weapon. + + - Hit group knock back. Customize or completely disable knock back scale + per hit group. + +With these factors it's possible to fully customize knock back. + + +VOLUMETRIC FEATURES +--------------------- + +(Currently in development) + +This is a brand new useful feature where custom defined areas in maps can do +certain stuff on players. These are the available features: + + - Anti-camp: Slay or warn players that stay too long in a certain area. + Useful in unfair camping places, or to avoid glitches in maps. + + - Modify class attributes. + + - Restrict weapons. Takes away ammo, and gives back when leaving area. + + - Modify ammo modes. + + - Modify knock back set on players or knock back in hit groups. + + - Teleporter. + +Features that modify settings will be reverted when players leave volumes. +Example of usage is to only allow pistols in tubes, use the anti-camp to hurt +humans camping in a certain unfair place, or fine tune knock back for a area in +the map. + + +TELEPORTER +------------ + +The teleporter is improved with more settings like these: + + - Deciding when players can teleport per team, before or after mother + zombie. + + - Setting teleport delays per team. + + - Limiting number of teleports per team. + + - Abuse protection: Automatically aborting a teleport in progress if the + player moves a certain distance (configurable). + + +ADMIN MENU +------------ + +A menu for admins with basic commands to configure certain settings in-game +or do generic commands. That is: + + - Infecting players. + + - Spawning players. + + - Modifying weapon restrictions. + + - Modifying class data. + + - Configuring log messages. + + +LOGGING SYSTEM +---------------- + +The logging system is based on logging flags and filtering that gives full +control of what log types and events to be logged. + +There are a few generic log events and settings, like these: + + - Core events: Executing config files, error messages, etc. + + - Game events: Admin commands, suicide prevention, anticamp kills, etc. + + - Player commands: Commands executed by non-admins: zspawn, teleport, class + change, etc. + + - Debug messages, if any. Usually only developers use this one. + + - Debug messages with more detail. It may cause spam, but this can be + avoided in combination with module filtering. + + - Ignoring log events caused by server commands (console), like from map + configs. + + - Logging to admin chat: A copy of the message is also logged to admins. + +In addition a module filter can be enabled. Only log messages from modules +listed in the filter is logged, other are ignored. Except fatal errors, those +are logged anyways. + +The logging system is made this way so server admins can monitor activity in +Zombie:Reloaded whithout reading spammed log messages. diff --git a/docs/zr_dev_manual.txt b/docs/zr_dev_manual.txt new file mode 100644 index 0000000..2fcbec5 --- /dev/null +++ b/docs/zr_dev_manual.txt @@ -0,0 +1,164 @@ +=============================================================================== + + Zombie:Reloaded + Technical Manual For Developers + + Targets plugin version 3.0.0, (not released) + Written by Richard Helgeby + + Manual last modified: 2009.04.25 + +=============================================================================== + +INDEX +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1.0 . . Introduction +1.1 . . . About This Manual +1.2 . . . Briefing + +2.0 . . Plugin Core +2.1 . . . Startup +2.2 . . . Console Variables +2.3 . . . Translations +2.4 . . . Offsets +2.5 . . . Models +2.6 . . . Round End Handler +2.7 . . . Infection Handler +2.8 . . . Damage Handler + +(account) +(say hooks) +(menu) +(commands) +(events) + +3.0 . . Log Module +3.1 . . . Description +3.2 . . . Logging Flags And Filters +3.3 . . . Formatted Log Messages +3.4 . . . The Log Function + +4.0 . . Class Module + +5.0 . . Weapon Module + +6.0 . . Hit Groups Module + +7.0 . . Visual Effects Module + +8.0 . . Sound Effects Module + +9.0 . . Anti-Stick Module + +10.0 . Knockback Module + +11.0 . Respawn Module + +12.0 . Spawn Protect Module + +13.0 . Napalm Grenades Module + +14.0 . HP Display Module + +15.0 . Teleport Module + + +1.0 INTRODUCTION +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1.1 ABOUT THIS MANUAL +------------------------ + +The point of this manual is to describe how the plugin technically works so +it's easier for other developers to make modifications or join the development. + + +1.2 BRIEFING +--------------- + +The entire plugin is based on events in the game. It has a lot of features and +each feature is separated in its own module. Events are then forwarded to those +modules. + +There are core modules and optional modules. Core modules is features and stuff +that cannot be disabled and is required for the plugin to function. Optional +modules like respawning, sound effects or weapon restrictions can be disabled. + +Each module takes care of its own task. But modules have dependency, and events +should be forwarded in correct order. Usually only core modules depends on other +core modules. Optional modules should be independent. + + +2.0 PLUGIN CORE +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +3.0 LOG MODULE +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +3.1 DESCRIPTION +------------------ + +A plugin with a lots of modules and events needs a good logging system. The +user should be able to decide what's logged with logging flags. + + +3.2 LOGGING FLAGS AND FILTERS +-------------------------------- + +The log system decides what to log based on some generic log flags. Those flags +are stored in a bid field (http://en.wikipedia.org/wiki/Bit_field). + +An optional module filter can be enabled to only allow log events from user +specified modules. + +For performance reasons there should be a single function that tells whether it +should log or not, based on the specified module and generic event. The logging +function itself should not do such check and always log a message when called. + +(incomplete) + +How to store module flags? Key/values? Reading those flags MUST be cheap, so +the overall plugin performance isn't affected. + + +3.3 FORMATTED LOG MESSAGES +----------------------------- + +Each log message should tell the module and what part of it that fired the +log event. Also it must be possible to supply additional info as parameters +(the "any:..." parameter) to be used in the log message. These are easily' +parsed with VFormat. + + +3.4 THE LOG FUNCTION +----------------------- + +Syntax: + +LogMessageFormatted(client, + const String:module[], + const String:block[], + const String:message[], + type = LOG_FORMAT_TYPE_FULL, + any:...) + + Parameter: Description: + --------------------------------------------------------------------------- + client Specifies what client that triggered the event. Use -1 for + core events. + module What module the event was triggered in. + block What function or block that triggered the event. + message The log message. Can be formatted. + type Optional. Specifies what log type to use. Defaults to full. + any:... Formatting parameters for the log message. + +Example usage with flag check: + +if (LogCheckFlag(LOG_CORE_EVENTS, LOG_MODULE_CLASSES)) +{ + LogMessageFormatted(-1, "Classes", "Load", "Warning: Maximum classes reached (%d). Skipping other classes.", _, ZR_CLASS_MAX + 1); +} + +The module check will be replaced with something other than defined constants. diff --git a/docs/zr_manual.txt b/docs/zr_manual.txt new file mode 100644 index 0000000..d91bf6d --- /dev/null +++ b/docs/zr_manual.txt @@ -0,0 +1,1128 @@ +=============================================================================== + + Zombie:Reloaded User Manual + + Targets plugin version 3.0.0, (not released) + Written by Richard Helgeby + + Manual last modified: 2009.06.22 + +=============================================================================== + +INDEX +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1.0 . . Introduction +1.1 . . . About The Plugin +1.2 . . . Game Objectives +1.3 . . . Credits + +2.0 . . Installation +2.1 . . . Requirements +2.2 . . . Plugin Installation +2.3 . . . Test Run + +3.0 . . Configuration +3.1 . . . Understanding Syntax +3.1.1 . . . Optional Parameters +3.1.2 . . . Required Parameters +3.1.3 . . . Multiple Options In The Same Parameter +3.1.4 . . . Text As Parameters +3.2 . . . Configuration Files +3.3 . . . Logging +3.3.1 . . . Log Flags +3.4 . . . Custom Map Configuration Files +3.4.1 . . . Types +3.5 . . . Model List +3.6 . . . Download List +3.7 . . . Class Configuration +3.7.1 . . . Class Types +3.7.2 . . . Class Attributes +3.7.3 . . . Class Requirements +3.7.4 . . . Class Console Variables +3.7.5 . . . Modifying Class Attributes +3.8 . . . Weapon Configuration +3.8.1 . . . Attributes +3.8.2 . . . Weapon List +3.8.3 . . . Console Commands +3.9 . . . Hit Group Configuration +3.10 . . Infection Settings +3.11 . . Damage Control Settings +3.12 . . Money Settings +3.13 . . Visual Effects Configuration +3.14 . . Sound Effects Configuration +3.15 . . Spawn Protect Configuration +3.16 . . Re-spawn Configuration +3.17 . . Teleport Configuration +3.18 . . HP Display Settings +3.19 . . Volumetric Features +3.19.1 . . Volume Attributes +3.19.2 . . Feature Attributes +3.19.3 . . Anti-Camp Feature + +4.0 . . How To Play +4.1 . . . Game Rules +4.2 . . . Chat Commands +4.3 . . . Using The Menus +4.4 . . . Teamwork +4.5 . . . Playing As Human +4.5.1 . . . Finding A Place To Hide +4.5.2 . . . Making Barricades +4.5.3 . . . Playing Fair +4.6 . . . Playing As Zombie +4.6.1 . . . Avoiding Knockback + +5.0 . . Troubleshooting +5.1 . . . Verifying Requirements +5.2 . . . Startup +5.3 . . . Error and Warning Messages +5.4 . . . Common Problems + +6.0 . . Gameplay Guidelines +6.1 . . . Briefing - Map Configuration Files +6.2 . . . Map Balance +6.3 . . . Knockback Settings +6.4 . . . Map Time + +7.0 . . Reporting Bugs and Improvements + + +1.0 INTRODUCTION +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1.1 ABOUT THE PLUGIN +----------------------- + +Zombie:Reloaded remake of Zombie Mod with a lot of new features and +improvements. It's made for a Counter-Strike: Source server and runs on a +powerful scripting platform called SourceMod. + + +1.2 GAME OBJECTIVES +---------------------- + +The objectives is to change the game into humans versus zombies. Humans try +to survive by camping, barricading and hiding. Zombies try to zombify humans +by using their knife. + +At a random time after the round starts, one or more random humans are turned +into zombies. Zombies have certain advantages as running faster and more +health points. Humans have huge amounts of ammo (or unlimited), and their +bullets knock back zombies. A lot more attributes can be adjusted for both +zombies and humans. + + +1.3 CREDITS +-------------- + +Concept: + c0ldfyr3 + - The developer of Zombie Mod . + +Developers and testers: + Greyscale + - Author of Zombie:Reloaded. The one who started remaking Zombie Mod for the + SourceMod platform. + + Richard Helgeby + - Started working on the plugin from version 2.5.1. Fixed bugs and + made new features. + + Cpt. Moore + - Owner of the Zombie:Reloaded server "Zombie World Domination by + SwissQuake". Made some new features, and used the server for testing. + + +Additional testers: + (...) + + +2.0 INSTALLATION +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +2.1 REQUIREMENTS +------------------- + +Zombie: Reloaded requires that the following stuff is installed on the server: + + 1. Metamod:Source - A simplified API for server plugins. The original + Zombie Mod is run on this one. It makes it easier for developers to + make plugins like SourceMod: + + + + 2. SourceMod - A scripting platform: + + + + + 3. ZRTools extension (bundled). Provides some extra functions needed by + Zombie:Reloaded. See Plugin Installation (2.2). + + +2.2 PLUGIN INSTALLATION +-------------------------- + +Extract the content of the zip file into "cstrike/" on the server. + +This plugin is often confused by Zombie Mod, which is actually ovbious since +Zombie:Reloaded is a SourceMod alternative to Zombie Mod. + +We suggest having "Zombie:Reloaded" instead of "Zombie Mod" in the server name +if that's the case. No offense to the Zombie Mod team, of course, but we just +suggest this to help marketing Zombie:Reloaded. + + +2.3 TEST RUN +--------------- + +The plugin should work with default configuration. Start the server and join a +team. Once the round starts there sould be some messages at the chat with +"[ZR]". Or type "!zmenu" in the chat to bring up the zombie menu to confirm +that the plugin is running. + +Next check error logs from SourceMod and look if there are any entries from +"zombiereloaded.smx". If the plugin doesn't work at all or there are error +logs, see Troubleshooting at section 5.0. + + +3.0 CONFIGURATION +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +3.1 UNDERSTANDING SYNTAX +--------------------------- + +In this manual commands or paths may be written in a certain style that tells +how to use it. + +Note that the style itself is not written, but it's used as an indicator to +tell if a parameter is optional or not. + +Example syntax of a command: + + zr_class_modify [is_multiplier] + +Some paths may look like: + + cfg/sourcemod/zombiereloaded/.cfg + +How to read syntaxes like this is explained below. + + +3.1.1 OPTIONAL PARAMETERS + +Optional parameters is not required and usually have a default value or action. +They are marked with brackets. + +Example: + + zr_somecommand [number] + +Usage examples: + + zr_somecommand + zr_somecommand 10 + + +3.1.2 REQUIRED PARAMETERS + +Required parameters must be specified for the command to function. Usually if +no parameters are written the command replies with some info about the syntax. + +Less than (<) and greather than (>) symbols marks required parameters. + +Examples: + + zr_somecommand + zr_infect + +Usage examples: + + zr_somecommand 100 + zr_infect "unnamed" + + +3.1.3 MULTIPLE OPTIONS IN THE SAME PARAMETER + +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. + +Example: + + zr_do_something + +Usage examples: + + zr_do_something 1 + zr_do_something "all" + zr_do_something "unnamed" + + +3.1.4 TEXT AS PARAMETERS + +Since parameters are separated by spaces, text (strings) should be quoted. It's +a good habit to do this on all string parameters to avoid parsing mistakes. + +Example: + + zr_infect "unnamed" "player" + zr_do_something "example text. test." + +Example of bad usage: + + zr_do_something example text. test. + +The last example actually have 3 parameters while it should be only one. This +may cause unexpected results and is an example of why strings should be quoted. + + +3.2 CONFIGURATION FILES +-------------------------- + +These are the default configuration files. The paths are relative to the +"cstrike" folder. + + Type: File: + --------------------------------------------------------------------------- + Main conf. cfg/sourcemod/zombiereloaded/zombiereloaded.cfg + Map conf. cfg/sourcemod/zombiereloaded/.cfg + Post map conf. cfg/sourcemod/zombiereloaded/.post.cfg + Hitgroup conf. addons/sourcemod/configs/zr/hitgroups.txt + Class conf. addons/sourcemod/configs/zr/playerclasses.txt + Weapon conf. addons/sourcemod/configs/zr/weapons.txt + Download list addons/sourcemod/configs/zr/downloads.txt + Model list addons/sourcemod/configs/zr/models.txt + +The post map configuration file is executed after all features of ZR is done +loading. Commands that modify loaded data must be put in post configuration +files. How to configure each file is explained in their own sections. + + +3.3 LOGGING +-------------- + +The log system used in Zombie:Reloaded is pretty powerful and customizable. +It's based on logging flags and a module filter. + +The flags tell what kind of events to log. Those flags are stored as a numeric +value in a bit field where each bit tell wether to log a certain event or not. +See for technical details. + +The module filter is a list of modules to enable log events from. This filter +gives extra control of what stuff to log. Use console commands below in the +main configuration file to add or remove modules to the filter. + +These commands might not work properly until bug 3828 in SourceMod is fixed +(http://bugs.alliedmods.net/show_bug.cgi?id=3828). It's a bug where console +commands in plugin configuration files are executed late so a command like +zr_log_add_module is too late. + +There are console variables for different log settings and exceptions. Place +them in the main configuration file. + +Console variables: + + Console variable: Default: + =========================================================================== + zr_log "1" + Enable logging of events in the plugin. Fatal errors or errors are + independendt on this setting and always logged. + + Options: + 0 or 1 + + --------------------------------------------------------------------------- + zr_log_flags "3" + A bit field that specify what event types to log. + + Options: + Number - See Log Flags (3.3.1) + + --------------------------------------------------------------------------- + zr_log_module_filter "0" + Enable module filtering. Only log events from listed modules will be + logged. Use console commands below to add or remove modules from the + filter. + + Options: + 0 or 1 + + --------------------------------------------------------------------------- + zr_log_ignore_console "1" + Don't log events triggered by console that are executed by the console + itself, like commands in configs. Enable this command to avoid spamming + logs with events like weapon restrictions. + + Options: + 0 or 1 + + --------------------------------------------------------------------------- + zr_log_print_admins "0" + Print log events to admin chat in addition to the log file. + + Options: + 0 or 1 + + --------------------------------------------------------------------------- + zr_log_print_chat "0" + Print log events to public chat in addition to the log file. + + Options: + 0 or 1 + +Console commands: + + Syntax: Argument: Description: + --------------------------------------------------------------------------- + zr_log_add_module [modules...] + + Add one or more modules to the module filter. + + module Name of the module to add. + modules Additional modules to add. + + --------------------------------------------------------------------------- + zr_log_remove_module [modules...] + + Remove one or more modules from the module filter. + + module Name of the module to remove. + modules Additional modules to remove. + + --------------------------------------------------------------------------- + zr_log_list_flags + List available logging flags. + + +3.3.1 LOG FLAGS + + Flag: Bit No.: Value: Description: + --------------------------------------------------------------------------- + LOG_CORE_EVENTS 1 1 Log events from the plugin core like config + validation and other messages. + LOG_GAME_EVENTS 2 2 Log admin commands, console commands, and + game related events from modules like, + suicide attempts and weapon restrictions. + LOG_PLAYER_COMMANDS 3 4 Log events that are triggered by players, + like chat triggers, teleporting and class + changes. + LOG_DEBUG 4 8 Log debug messages, if any. Usually only + developers enable this log flag. + LOG_DEBUG_DETAIL 5 16 Log additional debug messages with more + details. May cause spam depending on module + filter settings. Usually only developers + enable this log flag. + +To combine several logging flags use the sum of their values. The default +value is 3, which is these log flags: + + LOG_CORE_EVENTS + LOG_GAME_EVENTS + 1 + 2 + +Most server setups donesn't need different flag settings. Default is fine. + +To decode the value you must convert it from decimals to binary, and count from +right to left what bits that are 1. Look up the bit number (not value) in the +table above. + +As an example on using the number 11 it's 1011 in binary. Counting from right +we see that the following bit numbers are on: 1, 2, and 4. That is the flags: + + LOG_CORE_EVENTS + LOG_GAME_EVENTS + LOG_DEBUG + +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. + + + + +3.4 CUSTOM MAP CONFIGURATION FILES +------------------------------------- + +Configuration files for each map is supported. They're executed after the main +configuration files are executed, and are ideal for customizing map settings. +These files are just regular configuration files and can also have standard +console commands like setting map time. These files are optional. + +The main purpose of these files is to make it possible to change settings for +Zombie:Reloaded on certain maps. That could be scaling knockback, restricting +certain weapons, changing class attributes or changing ambience sound. + + +3.4.1 TYPES + +There are two kinds of map configs; pre and post. Pre map configuration files +are executed before the modules are loaded. They're useful for changing +configuration sets for certain modules like classes. Post map configuration +files are executed after the modules are loaded. Certain stuff have to be +placed in this one to take effect, like changing class attributes. + + Type: Executed: Path: + --------------------------------------------------------------------------- + Pre Before modules cfg/sourcemod/zombiereloaded/.cfg + Post After modules cfg/sourcemod/zombiereloaded/.post.cfg + +If not explicit specified in the module documentation, use pre configuration. + + +3.5 MODEL CONFIGURATION +-------------------------- + +The model configuration file is a list of models used on the server. Each line +contains the path including the model name, but not file extensions, like this: + + models/player/zh/zh_charple001 + +Put the list of models in: + + addons/sourcemod/configs/zr/models.txt + +The models listed in this file are precached when the server starts. Models +used, but not listed in this file will cause a "model not precached" error on +the server. + +Note that it cannot end with "/". + + +3.6 DOWNLOAD LIST +-------------------- + +Custom models, materials and overlays must be listed in the download list so +clients will download them. The paths must be relative to the "cstrike" folder. + +List files to be downloaded in: + + addons/sourcemod/configs/zr/downloads.txt + + +3.7 CLASS CONFIGURATION +-------------------------- + +The class system makes it possible to have different zombies and humans with +customized skills. It cannot be turned off. If there are only one class in each +team, the class selections menus are automatically disabled. + +The class configurations are stored in Valve's key/value format, and the file +that's loaded should be specified in the "zr_classes_file" console variable. +It's possible to change this variable with per-map configuration files to have +different sets of classes on one or more maps. + +Default path is: + + configs/zr/playerclasses.txt + +NOTE: The path is relative to the "sourcemod" folder. + +The file contains a short description of all attributes. Details are explained +below. + + +3.7.1 CLASS TYPES + +There are three class types; zombies, humans and admins-only. Default classes +are selected on the player depending on console variables and the class file. + +Admins-only classes are currently incomplete and will be validated, but ignored +in the game. + + +3.7.2 CLASS ATTRIBUTES + +The list below explains all available class attributes in detail: + + Attribute: Value type: Limits/Requirements: + =========================================================================== + enabled boolean 0 or 1 + --------------------------------------------------------------------------- + Enables or disables the class. Disabled classes won't show up in the + class selection menus. Also, if some attributes failed to validate the + class will be disabled. + + team number 0 - 2 + --------------------------------------------------------------------------- + Specifies the class type (team ID). Class types are filtered in the + class selection menus, so only zombies can use zombie class types, and + only humans can use human class types. These are the allowed team IDs: + + 0 - Zombie classes + 1 - Human classes + 2 - Admin-only classes + + The admin class type sets the player in spectacting like mode, but + allows admins to walk around. They can't take or give damage, and they + won't affect the game rules in any way. This feature is incomplete and + classes of this type is ignored in the game. + + team_default boolean 0 or 1 + --------------------------------------------------------------------------- + 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 is + used. + + flags number 0 - 3 + --------------------------------------------------------------------------- + Special class flags that are stored in a bit field (explained in 3.3, + Logging section). Available flags: + + 1 - Admins only. + Marks the class to be used by admins only. Classes with this option + on will not be visible for regular players in the class menu. + + 2 - Mother zombie. + Marks the class as a mother zombie class. These classes will be + used on mother zombies. Note that zr_classes_default_mother_zombie + setting must be set to "motherzombies" for this flag to take + effect. + + name text Unique, not empty, max 64 charact. + --------------------------------------------------------------------------- + A unique name for the class that is displayed in the class selection + menus. Cannot be empty. If multiple classes have the same name, the + first one found is used. + + description text Max 256 characters, not empty + --------------------------------------------------------------------------- + The description of the class, used in class selection menus. Cannot be + empty. + + model_path text Max 256 characters, not empty + --------------------------------------------------------------------------- + The model file to use on the player, path is relative to the "cstrike" + folder. There are two special values supported by this attribute: + + "default" - Don't change model, use default CS models. + "random" - Selects a random model for the current team. + + alpha_spawn number 0 - 255 + --------------------------------------------------------------------------- + The initial transparency value on the player, where 255 is fully + visible and 0 is invisible. + + alpha_damaged number 0 - 255 + --------------------------------------------------------------------------- + Transparency on the player when a certain amount of damage is done. + 255 is fully visible and 0 is invisible. + + alpha_damage number 0 - 20000 + --------------------------------------------------------------------------- + How much damage that needs to be done before the players alpha changes + from "aplha_spawn" to "aplha_damaged". + + overlay_path text Max 256 characters + --------------------------------------------------------------------------- + Optional. Overlay texture to be displayed at the player. It can be + controlled by the night vision key ("n" by default). The path is + relative to "cstrike/materials". Leave blank to disable. + + nvgs boolean 0 or 1 + --------------------------------------------------------------------------- + Gives night vision to the player. + + fov number 15 - 165 + --------------------------------------------------------------------------- + The field of view on the player. Note that the weapon hud disappear if + FOV is anything else than 90. + + has_napalm boolean 0 or 1 + --------------------------------------------------------------------------- + Human classes only. Specifies whether the human can trow napalm + grenades or not. + + napalm_time decimal 0.0 - 600.0 + --------------------------------------------------------------------------- + Zombie classes only. Specifies how long in seconds zombies will burn + when hit by napalm grenades. 0.0 or a negative value will disable this + feature on the current class. This attribute has no effect on human + classes. + + immunity_mode number 0 - 2 + --------------------------------------------------------------------------- + The immunity mode. This feature is currently incomplete and values are + ignored. + + immunity_amount decimal (incomplete) + --------------------------------------------------------------------------- + The value for the specified immunity mode. This feature is currently + incomplete and values are ignored. + + no_fall_damage boolean 0 or 1 + --------------------------------------------------------------------------- + Blocks fall damage on the player. + + health number 0 - 20000 + --------------------------------------------------------------------------- + Initial health points on the player. + + health_regen_interval decimal 0.0 - 900.0 + --------------------------------------------------------------------------- + The health regeneration interval, in seconds. Use 0.0 to disable + regeneration. + + health_regen_amount number 0 - 10000 + --------------------------------------------------------------------------- + How many health points to give per interval. Regeneration stops when + the players health is above the initial health. + + health_infect_gain number 0 - 20000 + --------------------------------------------------------------------------- + Zombie classes only. How many health points to give the zombie each + time it infect a human. + + kill_bonus number 0 - 16 + --------------------------------------------------------------------------- + Human classes only. How many points to give the player each time he + kill a zombie. + + speed decimal 10.0 - 2000.0 + --------------------------------------------------------------------------- + The players running speed. + + knockback decimal -30.0 - 30.0 + --------------------------------------------------------------------------- + Zombie classes only. Force to apply on the zombie when shot at. The + zombie is pushed in the same direction as the bullet. + + jump_height decimal -500.0 - 500.0 + --------------------------------------------------------------------------- + Extra upward boost when jumping. + + jump_distance decimal -500.0 - 500.0 + --------------------------------------------------------------------------- + Extra forward boost when jumping. + + +3.7.3 CLASS REQUIREMENTS + +At least one zombie class and one human class with no special flags set is +required. Otherwise the plugin will fail to load. + +Requirements: + + - At least one human class (teamid 1). + - At least one zombie class (teamid 0) + - In addition both above classes shouldn't have special flags set. They + must be clean classes, which is flags set to "0". + +Errors are logged to SourceMod error logs if it can't parse the file or if +class attributes have invalid values. + +In case of incorrect values a warning will be logged and the class will be +disabled. The class index and the error flags (bit field) in the log message +tells what attributes that failed to validate. + +Attribute flags: + + Attribute: Bit: value: + --------------------------------------------- + enabled 1 1 + team 2 2 + team_default 3 4 + flags 4 8 + name 5 16 + description 6 32 + model_path 7 64 + alpha_initial 8 128 + alpha_damaged 9 256 + alpha_damage 10 512 + overlay_path 11 1024 + nvgs 12 2048 + fov 13 4096 + has_napalm 14 8192 + napalm_time 15 16384 + immunity_mode 16 32768 + immunity_amount 17 65536 + no_fall_damage 18 131072 + health 19 262144 + health_regen_interval 20 524288 + health_regen_amount 21 1048576 + infect_gain 22 2097152 + kill_bonus 23 4194304 + speed 24 8388608 + knockback 25 16777216 + jump_height 26 33554432 + jump_distance 27 67108864 + +The error flags are stored in a bit field (explained in the log configuration +in section 3.2). + +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. + + +3.7.4 CLASS CONSOLE VARIABLES + +There are several console variables to set default class settings for players. +Place these console variables in the main configuration file: + + cfg/sourcemod/zombiereloaded/zombiereloaded.cfg + +And/or in a map config file: + + cfg/sourcemod/zombiereloaded/[.post].cfg + +Example map config files: + + cfg/sourcemod/zombiereloaded/zm_panic.cfg + cfg/sourcemod/zombiereloaded/zm_panic.post.cfg + +Class console variables: + + Console variable: Default: + =========================================================================== + zr_config_path_playerclasses "configs/zr/playerclasses.txt" + --------------------------------------------------------------------------- + Specifies what class configuration file to load. Several class + templates can be used with map configurations. + + Path is relative to "sourcemod". + + If used in map configuration files this console variable must be placed + in pre map configuration files. Post configuration files won't have any + effect because the class module is done loading. + + zr_classes_spawn 0 + --------------------------------------------------------------------------- + Re-display class menu every spawn. + + Options: + 0 or 1 + + zr_classes_random 0 + --------------------------------------------------------------------------- + Assign random classes to all players each round. + + Options: + 0 or 1 + + zr_classes_default_zombie "random" + --------------------------------------------------------------------------- + Default zombie class selected for all players when they connect. + + Options: + - Specify a class name to use as default zombie. + "default" - Use the default class in the class configuration. + "random" - Select a random class from the class configuration. + + zr_classes_default_mother_zombie "random" + --------------------------------------------------------------------------- + Default mother zombie class to be set on mother zombies. If no mother + zombie class exist it will use the class selected by the player. + + Options: + - Specify a class name to use as default mother zombie. + "random" - Select a random regular zombie class. + "motherzombies" - Select a random zombie class with mother zombie flag. + "disabled" - No change. Use the zombie class selected by the + player. + + zr_classes_default_human "random" + --------------------------------------------------------------------------- + Default human class selected for all players when they connect. + + Options: + - Specify a class name to use as default zombie. + "default" - Use the default class in the class configuration. + "random" - Select a random class from the class configuration. + + zr_classes_default_admin "random" + --------------------------------------------------------------------------- + Default admin class selected for all players when they connect, if any + admin class found. + + Options: + - Specify a class name to use as default. + "default" - Use the default class in the class configuration. + "random" - Select a random class from the class configuration. + + +3.7.5 MODIFYING CLASS ATTRIBUTES + +Classes can be modified after they're loaded. This is useful in map configs +to do stuff like scaling knockback to tune map balance. + +All attributes can be modified, and some can also be scaled with a multiplier. +The value in the original class cache is multiplied with the specified value +and written back to the modified cache. + +When multiplying, the value is always based on the original value, not +multiplying the earlier multiplied value. This also makes it easy to restore +the original value. + +Command syntax: + + zr_class_modify [is_multiplier] + +Parameters: + + Parameter: Description: + --------------------------------------------------------------------------- + class: The class to modify. Can be any class name, or one of the + following team names; "all", "humans", "zombies" or + "admins". + attribute: The name of the class attribute. + value: Value to set, or multiplier. + is_multiplier: Optional. Specifies wether the original value should be + multiplied by the specified value. Default is false. + +3.8 WEAPON CONFIGURATION +--------------------------- + +The weapon module can be used to restict weapons or scale knockback. + + +3.8.1 WEAPON ATTRIBUTES + +Weapon attributes are stored by default in: + + addons/sourcemod/configs/zr/weapons.txt + +Custom file may be specified in the console variable "zr_config_path_weapons". +If used in per map configuration files it must be in a pre configuration file. + +These are the allowed attributes: + + Attribute: Type: Limits/Requirements: + =========================================================================== + weapontype text Separate items by ", ". + A list of weapon groups and the weapon type. + + Pre defined options: + - All + - Pistol + - Shotgun + - SMG + - Rifle + - Sniper + - Machine Gun + - Melee + - Projectile + - Equipment + + --------------------------------------------------------------------------- + weaponslot number 0 - 3. + The slot index the weapon resides in. Don't change this! + + Options: + 0 - Primary weapon slot + 1 - Secondary weapon slot + 2 - Knife slot + 3 - Equipment slot + + --------------------------------------------------------------------------- + restrictdefault text "yes" or "no" + The default restricted status of the weapon on map start. + + Options: + "yes" - Enable + "no" - Disable + + --------------------------------------------------------------------------- + toggleable text "yes" or "no" + Enable weapon to have restrictions toggled mid-game. + + Options: + "yes" - Enable + "no" - Disable + + --------------------------------------------------------------------------- + ammotype text - + Ammo entity that belongs to weapons. Don't change this! + + Options: + ammo_50ae - deagle + ammo_762mm - scout, ak47, g3sg1, aug + ammo_556mm_box - m249 + ammo_556mm - galil, sg552, famas, m4a1, sg550 + ammo_338mag - awp + ammo_9mm - mp5navy, tmp, glock, elite + ammo_buckshot - m3, xm1014 + ammo_45acp - ump45, mac10, usp + ammo_357sig - P228 + ammo_57mm - p90, fiveseven + + --------------------------------------------------------------------------- + ammoprice number - + Price of ammo for this weapon. + + --------------------------------------------------------------------------- + knockback decimal - + The knock back multiplier for the weapon. 1.0 is no change, "0.5" gives + half knock back, and 2.0 gives double knock back. + + --------------------------------------------------------------------------- + zmarketprice number - + The price of the weapon in ZMarket. Default in configuration file is + CS:S buymenu price. + + --------------------------------------------------------------------------- + zmarketpurchasemax number - + The max number of purchases allowed per spawn for the weapon. + +The file structure is Valve's key/value format where the root section is named +"weapons" and a sub section for each weapon using short names from the list +below. + + +3.8.2 WEAPON LIST + + Weapon name: Type: Full name: + --------------------------------------------------------------------------- + "Glock" Pistol Glock 18 Select Fire (9X19mm Sidearm) + "USP" Pistol .45 USP (K&M .45 Tactical) + "P228" Pistol 228 Compact + "Deagle" Pistol Desert Eagle .50C (Night Hawk .50C) + "Elite" Pistol .40 Dual Elites + "Fiveseven" Pistol ES Five-Seven + + "M3" Shotgun Benelli M3 (Leone 12 Gauge Super) + "XM1014" Shotgun Benelli XM1014 (Leone YG1265 Auto Shotgun) + + "Mac10" SMG Ingram MAC-10 + "TMP" SMG Steyr TMP (Schmidt Machine Pistol) + "MP5Navy" SMG HK MP5 Navy (KM Sub-Machine Gun) + "UMP45" SMG K&M UMP45 + "P90" SMG FN P90 (ES C90) + + "Galil" Rifle IMI Galil (IDF Defender) + "Famas" Rifle Giat FAMAS (Clarion 5.56) + "AK47" Rifle AK-47 (CV-47) + "M4A1" Rifle M4A1 Carbine (Maverick M4A1 Carbine) + "SG552" Rifle SIG SG552 (Krieg 552 Commando) + "AUG" Rifle Steyr AUG (Bullpup) + + "M249" Machine gun FN M249 (ES M249 Para) + + "Scout" Sniper Steyr Scout (Schmidt Scout) + "SG550" Sniper SIG SG550 (Krieg 550 Commando) + "G3SG1" Sniper G3/SG-1 (D3/AU-1) + "AWP" Sniper Arctic Warfare Magnum (Magnum Sniper Rifle) + + "hegrenade" Grenade High explosive grenade + "flashbang" Grenade Flash bang + "smokegrenade" Grenade Smoke grenade + + "NVGs" Equipment Night vision goggles + + +3.8.3 WEAPON COMMANDS + +Available commands for managing weapon restrictions. These can be used in the +main configuration file, or on a per-map basis with map configuration files. + + Syntax: Argument: Description: + --------------------------------------------------------------------------- + zr_restrict [weapon|weapontype] ... + Restricts one or more weapons or weapon types (group). + + weapon The weapon name. + weapon type The weapon type group. + + --------------------------------------------------------------------------- + zr_unrestrict + Unrestricts one or more weapons or weapon types (group). + + weapon The weapon name. + weapon type The weapon type group. + + --------------------------------------------------------------------------- + zmarket + Displays the ZMarket weapon menu. + + +3.9 HIT GROUP CONFIGURATION +------------------------------ + +A hit group configuration makes it possible to disable damage or adjust knock +back per hit group. This is useful for fine tuning game balance. + +The hit group configuration file is a file in Valve's key/value format with +the root key "hitgroups" and a sub key for each hit group. + +The default file is: + + addons/sourcemod/configs/zr/hitgroups.txt + + +3.9.1 HIT GROUP ATTRIBUTES + + Attribute: Type: Limits/Requirements: + =========================================================================== + index number - + The hit group index. + + Options: + 0 - Generic + 1 - Head + 2 - Chest + 3 - Stomach + 4 - Left Arm + 5 - Right Arm + 6 - Left Leg + 7 - Right Leg + 8 - Gear + + --------------------------------------------------------------------------- + damage text "yes" or "no" + Allows damage to be done on the specified hit group for zombies. + + Options: + "yes" - Allow damage + "no" - Ignore damage + + --------------------------------------------------------------------------- + knockback decimal - + The knock back multiplier for the hitgroup. 1.0 for no change. + + +3.10 INFECTION SETTINGS +------------------------- + + +3.11 DAMAGE CONTROL SETTINGS +------------------------------ + + +3.12 MONEY CONFIGURATION +-------------------------- + + + +4.0 HOW TO PLAY +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(how to defend against zombies, in a fair way) +(zombie tricks) + + +5.0 TROUBLESHOOTING +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +5.1 VERIFY REQUIREMENTS +-------------------------- + + +5.2 STARTUP +-------------- + + +5.3 ERROR MESSAGES +--------------------- + + +5.4 COMMON PROBLEMS +---------------------- + + +6.0 GAMEPLAY GUIDELINES +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +7.0 REPORTING BUGS AND IMPROVEMENTS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 445c036b7cc54a6811c50e0c5d1f7a24965cfdb7 Mon Sep 17 00:00:00 2001 From: richard Date: Sat, 4 Jul 2009 02:22:05 +0200 Subject: [PATCH 2/3] Completed more sections in the user manual. Started writing others. --- docs/zr_manual.txt | 613 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 567 insertions(+), 46 deletions(-) diff --git a/docs/zr_manual.txt b/docs/zr_manual.txt index d91bf6d..df56b4c 100644 --- a/docs/zr_manual.txt +++ b/docs/zr_manual.txt @@ -5,7 +5,7 @@ Targets plugin version 3.0.0, (not released) Written by Richard Helgeby - Manual last modified: 2009.06.22 + Manual last modified: 2009.07.04 =============================================================================== @@ -46,19 +46,20 @@ INDEX 3.8.2 . . . Weapon List 3.8.3 . . . Console Commands 3.9 . . . Hit Group Configuration -3.10 . . Infection Settings +3.10 . . Infection Module 3.11 . . Damage Control Settings -3.12 . . Money Settings -3.13 . . Visual Effects Configuration -3.14 . . Sound Effects Configuration -3.15 . . Spawn Protect Configuration -3.16 . . Re-spawn Configuration -3.17 . . Teleport Configuration -3.18 . . HP Display Settings -3.19 . . Volumetric Features -3.19.1 . . Volume Attributes -3.19.2 . . Feature Attributes -3.19.3 . . Anti-Camp Feature +3.12 . . Overlay Settings +3.13 . . Money Settings +3.14 . . Visual Effects Configuration +3.15 . . Sound Effects Configuration +3.16 . . Spawn Protect Configuration +3.17 . . Re-spawn Configuration +3.18 . . Teleport Configuration +3.19 . . HP Display Settings +3.20 . . Volumetric Features +3.20.1 . . Volume Attributes +3.20.2 . . Feature Attributes +3.20.3 . . Anti-Camp Feature 4.0 . . How To Play 4.1 . . . Game Rules @@ -70,7 +71,15 @@ INDEX 4.5.2 . . . Making Barricades 4.5.3 . . . Playing Fair 4.6 . . . Playing As Zombie -4.6.1 . . . Avoiding Knockback +4.6.1 . . . Chasing Humans +4.6.2 . . . Avoiding Knockback +4.6.3 . . . Taking Advantage Of The Class Skills +4.7 . . . Physics Stuff +4.7.1 . . . Glitching Through Walls +4.7.2 . . . Jumping Through Non-Solid Props +4.7.3 . . . Jumping Fast In Small Areas +4.8 . . . Gameplay Guideline Suggestions +4.8.1 . . For Servers With Unlimited Ammo And No Reloading 5.0 . . Troubleshooting 5.1 . . . Verifying Requirements @@ -125,16 +134,18 @@ Developers and testers: SourceMod platform. Richard Helgeby - - Started working on the plugin from version 2.5.1. Fixed bugs and - made new features. + - Zombie:Reloaded developer. Started working on the plugin from version + 2.5.1. Fixed bugs and made new features. Cpt. Moore - Owner of the Zombie:Reloaded server "Zombie World Domination by - SwissQuake". Made some new features, and used the server for testing. + SwissQuake". Helped testing and debuging issues. Made some new features, + and used the server for testing. Additional testers: - (...) + Grey Echo + zhelev81 2.0 INSTALLATION @@ -326,21 +337,22 @@ Console variables: Console variable: Default: =========================================================================== zr_log "1" + --------------------------------------------------------------------------- Enable logging of events in the plugin. Fatal errors or errors are independendt on this setting and always logged. Options: 0 or 1 - --------------------------------------------------------------------------- zr_log_flags "3" + --------------------------------------------------------------------------- A bit field that specify what event types to log. Options: Number - See Log Flags (3.3.1) - --------------------------------------------------------------------------- zr_log_module_filter "0" + --------------------------------------------------------------------------- Enable module filtering. Only log events from listed modules will be logged. Use console commands below to add or remove modules from the filter. @@ -348,8 +360,8 @@ Console variables: Options: 0 or 1 - --------------------------------------------------------------------------- zr_log_ignore_console "1" + --------------------------------------------------------------------------- Don't log events triggered by console that are executed by the console itself, like commands in configs. Enable this command to avoid spamming logs with events like weapon restrictions. @@ -357,15 +369,15 @@ Console variables: Options: 0 or 1 - --------------------------------------------------------------------------- zr_log_print_admins "0" + --------------------------------------------------------------------------- Print log events to admin chat in addition to the log file. Options: 0 or 1 - --------------------------------------------------------------------------- zr_log_print_chat "0" + --------------------------------------------------------------------------- Print log events to public chat in addition to the log file. Options: @@ -374,24 +386,25 @@ Console variables: Console commands: Syntax: Argument: Description: - --------------------------------------------------------------------------- + =========================================================================== zr_log_add_module [modules...] + --------------------------------------------------------------------------- Add one or more modules to the module filter. module Name of the module to add. modules Additional modules to add. - --------------------------------------------------------------------------- zr_log_remove_module [modules...] + --------------------------------------------------------------------------- Remove one or more modules from the module filter. module Name of the module to remove. modules Additional modules to remove. - --------------------------------------------------------------------------- zr_log_list_flags + --------------------------------------------------------------------------- List available logging flags. @@ -578,6 +591,9 @@ The list below explains all available class attributes in detail: used on mother zombies. Note that zr_classes_default_mother_zombie setting must be set to "motherzombies" for this flag to take effect. + + Remember that these flags can be used in a combination (1 + 2), so + it's a mother zombie class for admins only. name text Unique, not empty, max 64 charact. --------------------------------------------------------------------------- @@ -891,6 +907,7 @@ These are the allowed attributes: Attribute: Type: Limits/Requirements: =========================================================================== weapontype text Separate items by ", ". + --------------------------------------------------------------------------- A list of weapon groups and the weapon type. Pre defined options: @@ -905,8 +922,8 @@ These are the allowed attributes: - Projectile - Equipment - --------------------------------------------------------------------------- weaponslot number 0 - 3. + --------------------------------------------------------------------------- The slot index the weapon resides in. Don't change this! Options: @@ -915,24 +932,24 @@ These are the allowed attributes: 2 - Knife slot 3 - Equipment slot - --------------------------------------------------------------------------- restrictdefault text "yes" or "no" + --------------------------------------------------------------------------- The default restricted status of the weapon on map start. Options: "yes" - Enable "no" - Disable - --------------------------------------------------------------------------- toggleable text "yes" or "no" + --------------------------------------------------------------------------- Enable weapon to have restrictions toggled mid-game. Options: "yes" - Enable "no" - Disable - --------------------------------------------------------------------------- ammotype text - + --------------------------------------------------------------------------- Ammo entity that belongs to weapons. Don't change this! Options: @@ -947,22 +964,22 @@ These are the allowed attributes: ammo_357sig - P228 ammo_57mm - p90, fiveseven - --------------------------------------------------------------------------- ammoprice number - + --------------------------------------------------------------------------- Price of ammo for this weapon. - --------------------------------------------------------------------------- knockback decimal - + --------------------------------------------------------------------------- The knock back multiplier for the weapon. 1.0 is no change, "0.5" gives half knock back, and 2.0 gives double knock back. - --------------------------------------------------------------------------- zmarketprice number - + --------------------------------------------------------------------------- The price of the weapon in ZMarket. Default in configuration file is CS:S buymenu price. - --------------------------------------------------------------------------- zmarketpurchasemax number - + --------------------------------------------------------------------------- The max number of purchases allowed per spawn for the weapon. The file structure is Valve's key/value format where the root section is named @@ -1017,22 +1034,23 @@ Available commands for managing weapon restrictions. These can be used in the main configuration file, or on a per-map basis with map configuration files. Syntax: Argument: Description: - --------------------------------------------------------------------------- + =========================================================================== zr_restrict [weapon|weapontype] ... + --------------------------------------------------------------------------- Restricts one or more weapons or weapon types (group). weapon The weapon name. weapon type The weapon type group. - --------------------------------------------------------------------------- zr_unrestrict + --------------------------------------------------------------------------- Unrestricts one or more weapons or weapon types (group). weapon The weapon name. weapon type The weapon type group. - - --------------------------------------------------------------------------- + zmarket + --------------------------------------------------------------------------- Displays the ZMarket weapon menu. @@ -1055,6 +1073,7 @@ The default file is: Attribute: Type: Limits/Requirements: =========================================================================== index number - + --------------------------------------------------------------------------- The hit group index. Options: @@ -1068,37 +1087,539 @@ The default file is: 7 - Right Leg 8 - Gear - --------------------------------------------------------------------------- damage text "yes" or "no" + --------------------------------------------------------------------------- Allows damage to be done on the specified hit group for zombies. Options: "yes" - Allow damage "no" - Ignore damage - --------------------------------------------------------------------------- knockback decimal - + --------------------------------------------------------------------------- The knock back multiplier for the hitgroup. 1.0 for no change. -3.10 INFECTION SETTINGS -------------------------- +3.10 INFECTION MODULE +----------------------- + +The infection module handles all infection events and does random infection on +mother zombies. + +Number of mother zombies is based on a ratio setting, so on server with many +players more mother zombies will be spawned than on a server with few players. +Server admins can adjust this ratio to tune game balance. + +In addition several infection effects can be enabled or disabled. + +These are the console variables for the infection module: + + Console variable: Default: + =========================================================================== + zr_infect_mzombie_ratio 5 + --------------------------------------------------------------------------- + Mother zombie ratio. Every random N-th player is infected, in this case + it's 5. If it's set to 0 there will be only 1 mother zombie. + + Options: + 0 or a positive number + + zr_infect_mzombie_respawn 0 + --------------------------------------------------------------------------- + Teleport mother zombies to spawn place when infected. + + Options: + 0 or 1 + + zr_infect_spawntime_min 30.0 + --------------------------------------------------------------------------- + Minimum time when mother zombies spawn. Time is in seconds. + + zr_infect_spawntime_max 50.0 + --------------------------------------------------------------------------- + Maximum time when mother zombies spawn. Time is in seconds. + + zr_infect_consecutive_block 1 + --------------------------------------------------------------------------- + Blocks players from being mother zombie twice in a row. + + Options: + 0 or 1 + + zr_infect_weapons_drop 1 + --------------------------------------------------------------------------- + Force players to drop weapons and grenades when infected. So other + players can use them. + + Options: + 0 or 1 + + zr_infect_sound "npc/fast_zombie/fz_scream1.wav" + --------------------------------------------------------------------------- + Sound played when infected. The file path is relative to the "sounds" + folder. Leave blank ("") to disable infection sound. + + zr_infect_explosion 1 + --------------------------------------------------------------------------- + Enable explosion effects. If disabled, this setting will also disable + the following CVARs: + + zr_infect_fireball + zr_infect_smoke + zr_infect_smoke + + Options: + 0 or 1 + + zr_infect_fireball 1 + --------------------------------------------------------------------------- + Spawn a fire ball effect around the player on infection. + + Options: + 0 or 1 + + zr_infect_smoke 1 + --------------------------------------------------------------------------- + Spawn a smoke cloud effect around the player on infection. + + Options: + 0 or 1 + + zr_infect_sparks 1 + --------------------------------------------------------------------------- + Emit sparks from the the player on infection. + + Options: + 0 or 1 + + zr_infect_esplash 1 + --------------------------------------------------------------------------- + Emit an energy splash effect from the player on infection. + + Options: + 0 or 1 + + zr_infect_shake 1 + --------------------------------------------------------------------------- + Shake the player's view on infection. + + Options: + 0 or 1 + + zr_infect_shake_amp 15.0 + --------------------------------------------------------------------------- + Shake amplitude, how strong the shake is. Amplitude is in units. + + zr_infect_shake_frequency 1.0 + --------------------------------------------------------------------------- + Shake frequency, how fast the shake is. Frequency is in hertz (cycles + per second). + + zr_infect_shake_duration 5.0 + --------------------------------------------------------------------------- + Duration of shake, how long the shake lasts. Time is in seconds. -3.11 DAMAGE CONTROL SETTINGS +3.11 DAMAGE CONTROL SETTINGS +------------------------------ + +With damage control it's possible to block suicide attempts, fall damage, blast +damage and hit group damage. See Hit Group Configuration (3.9) on how to +configure hit groups. + +Damage control console variables: + + Console variable: Default: + =========================================================================== + zr_damage_hitgroups 1 + --------------------------------------------------------------------------- + Enables hit group damage control. See Hit Group Configuration (3.9) on + how to configure hit groups. + + Options: + 0 or 1 + + zr_damage_block_ff 1 + --------------------------------------------------------------------------- + Block friendly fire between zombies. + + Options: + 0 or 1 + + zr_damage_block_blast 1 + --------------------------------------------------------------------------- + Block blast damage inflicted on self or teammates. + + Options: + 0 or 1 + + zr_damage_suicide_zombie 0 + --------------------------------------------------------------------------- + Block suicide attempts by regular zombies. + + Options: + 0 or 1 + + zr_damage_suicide_mzombie 1 + --------------------------------------------------------------------------- + Block suicide attempts by mother zombies. + + Options: + 0 or 1 + + zr_damage_suicide_human 0 + --------------------------------------------------------------------------- + Block suicide attempts by humans. + + Options: + 0 or 1 + + zr_damage_suicide_cmds "kill, spectate, jointeam" + --------------------------------------------------------------------------- + List of console commands that are treated as suicide attempts. + Separated by ", ". These commands are often bound to a key on the + client, like "m" is bound to "jointeam". + + +3.12 OVERLAY SETTINGS +------------------------ + +Overlays are pictures displayed on players' screen on certain events. However, +these overlays require DirectX 9 or higher to work. Players with lower DirectX +version won't see these overlays. + +Since these overlays doesn't last forever, they must be redisplayed at a +certain interval. A refresh once per seconds seems to be enough. + +When the round ends, overlays for either humans or zombies are displayed, +depending on the winning team. + +Overlays are also used as a class attribute, like the zombie vision effect. + +These are the overlay console variables: + + Console variable: Default: + =========================================================================== + zr_overlays_update_time 1.0 + --------------------------------------------------------------------------- + How often overlays are refreshed. Time is in seconds. + + zr_roundend_overlay 1 + --------------------------------------------------------------------------- + Show overlays for the winning team when the round ends. + + Options: + 0 or 1 + + zr_roundend_overlays_human "overlays/zr/humans_win" + --------------------------------------------------------------------------- + Overlay to be displayed when humans win. Path is relative to the + "materials" folder. + + zr_roundend_overlays_zombie "overlays/zr/zombies_win" + --------------------------------------------------------------------------- + Overlay to be displayed when zombies win. Path is relative to the + "materials" folder. + + +3.13 MONEY CONFIGURATION +--------------------------- + +Players' cash can be modified on every spawn if enabled. + + Console variable: Default: + =========================================================================== + zr_account_cashfill 1 + --------------------------------------------------------------------------- + Resets player's cash every spawn. Cash amount is specified in + zr_account_cashfill_value. + + Options: + 0 or 1 + + zr_account_cashfill_value 12000 + --------------------------------------------------------------------------- + How much cash to give each spawn, if enabled. + + Min: 0 + Max: 16000 + + zr_account_cashdmg 0 + --------------------------------------------------------------------------- + Attacker receives amount of cash equivalent to the damage that was + inflicted. If this one is enabled, the zr_account_cashfill and + zr_account_cashfill_value console variables is ignored. + + Options: + 0 or 1 + + +3.14 VISUAL EFFECTS CONFIGURATION +------------------------------------ + +With visual effects it makes it possible to give a creepy ambience. It's +possible to change light style in maps and set dissolve effects on players +bodies when they die. + +It supposed to have support for adding fog, but because of technical limits in +SourceMod it's not possible yet. For developers who wonder why, it's because +it must be a env_fog_controller entity in the map. That entity isn't networked +so SourceMod can't modify or create that entity type. SourceMod may get this +feature in future versions. + +Console variables for visual effects: + + Console variable: Default: + =========================================================================== + zr_veffects_lightstyle 1 + --------------------------------------------------------------------------- + Change light style (brightness) in the map. + + Options: + 0 or 1 + + zr_veffects_lightstyle_value "b" + --------------------------------------------------------------------------- + Light brightness value. The brightness is represented by characters + from "a" to "z" where "a" is dark, "n" is normal, and "z" is bright. + + Options: + a (dark) to z (bright) + + zr_veffects_sky 1 + --------------------------------------------------------------------------- + Change skybox of the map. + + Options: + 0 or 1 + + zr_veffects_sky_path "sky_borealis01up.vmt" + --------------------------------------------------------------------------- + The skybox to use, if enabled. Path is relative to "materials/skybox". + + zr_veffects_sun_disable 1 + --------------------------------------------------------------------------- + Remove the sun entity on the map. Disables sun rendering on the map. + + Options: + 0 or 1 + + zr_veffects_fog 0 + --------------------------------------------------------------------------- + (NOT SUPPORTED!) + Enable fog on the map. + + Options: + 0 or 1 + + zr_veffects_fog_override 0 + --------------------------------------------------------------------------- + (NOT SUPPORTED!) + Override existing fog on the map. If fog exists already on the map, + replace it with the new modified fog. + + Options: + 0 or 1 + + zr_veffects_fog_pcolor "255 255 255" + --------------------------------------------------------------------------- + (NOT SUPPORTED!) + Sets the primary fog color. Three values from 0 to 255 separated by a + space, representing amount of red, green and blue. + + Examples: + "255 255 0" - Yellow + "255 0 255" - Purpule + "96 96 96" - Dark grey + + zr_veffects_fog_scolor "255 255 255" + --------------------------------------------------------------------------- + (NOT SUPPORTED!) + Sets the secondary fog color. Three values from 0 to 255 separated by a + space, representing amount of red, green and blue. + + Examples: + "255 255 0" - Yellow + "255 0 255" - Purpule + "96 96 96" - Dark grey + + zr_veffects_fog_density 0.8 + --------------------------------------------------------------------------- + (NOT SUPPORTED!) + Density (thickness) of the fog. The value is in percent, 0.0 to 1.0. + + Options: + 0.0 to 1.0 + + zr_veffects_fog_startdist 0 + --------------------------------------------------------------------------- + (NOT SUPPORTED!) + Distance from player to start rendering foremost fog. Distance is in + game units (1 unit is ~1 inch). For reference, default player models + are ~75 units tall. + + + zr_veffects_fog_enddist 400 + --------------------------------------------------------------------------- + (NOT SUPPORTED!) + Distance from player to stop rendering fog. Distance is in game units + (1 unit is ~1 inch). For reference, default player models are ~75 units + tall. + + zr_veffects_fog_farz 2000 + --------------------------------------------------------------------------- + (NOT SUPPORTED!) + Distance to stop render everything, for optimizing purposes. This + should be equal to or bigger than fog end distance. There's no reason + to render stuff that can't be seen anyways. + + zr_veffects_ragdoll_remove 1 + --------------------------------------------------------------------------- + Remove players' bodies when dying. + + Options: + 0 or 1 + + zr_veffects_ragdoll_dissolve -1 + --------------------------------------------------------------------------- + Dissolve effect to use when removing bodies. + + Options: + -2 No effect + -1 Random effect + 0 Energy dissolve + 1 Heavy electrical dissolve + 2 Light electrical dissolve + 3 Core dissolve + + zr_veffects_ragdoll_delay 0.5 + --------------------------------------------------------------------------- + Time to wait before removing dead bodies. Time is in seconds. + + +3.15 SOUND EFFECTS CONFIGURATION +----------------------------------- + + +3.16 SPAWN PROTECT CONFIGURATION +----------------------------------- + + +3.17 RE-SPAWN CONFIGURATION ------------------------------ -3.12 MONEY CONFIGURATION --------------------------- +3.18 TELEPORT CONFIGURATION +------------------------------ +3.19 HP DISPLAY SETTINGS +--------------------------- + + +3.20 VOLUMETRIC FEATURES +--------------------------- + +3.20.1 VOLUME ATTRIBUTES + +3.20.2 FEATURE ATTRIBUTES + +3.20.3 ANTI-CAMP FEATURE + 4.0 HOW TO PLAY ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (how to defend against zombies, in a fair way) -(zombie tricks) +(zombie tricks, getting through non-solid props) + +4.1 GAME RULES +----------------- + + +4.2 CHAT COMMANDS +-------------------- + + +4.3 USING THE MENUS +---------------------- + + +4.4 TEAMWORK +--------------- + + +4.5 PLAYING AS HUMAN +----------------------- + +4.5.1 FINDING A PLACE TO HIDE + + +4.5.2 MAKING BARRICADES + + +4.5.3 PLAYING FAIR + + +4.6 PLAYING AS ZOMBIE +------------------------ + +4.6.1 CHASING HUMANS + + +4.6.2 AVOIDING KNOCKBACK + + +4.6.3 TAKING ADVANTAGE OF THE CLASS SKILLS + +(bunny jump) +(invisible, act as a spy and surprise humans) + + +4.7 PHYSICS STUFF +-------------------- + +There are glitches and simplified physics stuff that can be used to get an +advantage. Some servers may not allow all of these tricks. + + +4.7.1 GLITCHING THROUGH WALLS + +(bad thing to do, and should not be allowed) + + +4.7.2 JUMPING THROUGH NON-SOLID PROPS + +Realistig 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). + +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. + +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. + + +4.7.3 JUMPING FAST IN SMALL AREAS + +When zombies have to crouch to enter a area where humans camp (like tubes and +vents), jumping fast helps a lot. + +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. + + +4.8 GAMEPLAY GUIDELINE SUGGESTIONS +------------------------------------- + +4.8.1 FOR SERVERS WITH UNLIMITED AMMO AND NO RELOADING 5.0 TROUBLESHOOTING From c27b43a10c0bd98868da288e434e0521deccea67 Mon Sep 17 00:00:00 2001 From: richard Date: Sat, 4 Jul 2009 02:29:57 +0200 Subject: [PATCH 3/3] Fixed typo in docs. --- docs/zr_manual.txt | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/docs/zr_manual.txt b/docs/zr_manual.txt index df56b4c..4c00a0f 100644 --- a/docs/zr_manual.txt +++ b/docs/zr_manual.txt @@ -78,8 +78,6 @@ INDEX 4.7.1 . . . Glitching Through Walls 4.7.2 . . . Jumping Through Non-Solid Props 4.7.3 . . . Jumping Fast In Small Areas -4.8 . . . Gameplay Guideline Suggestions -4.8.1 . . For Servers With Unlimited Ammo And No Reloading 5.0 . . Troubleshooting 5.1 . . . Verifying Requirements @@ -92,6 +90,7 @@ INDEX 6.2 . . . Map Balance 6.3 . . . Knockback Settings 6.4 . . . Map Time +6.5 . . . Servers With Unlimited Ammo And No Reloading 7.0 . . Reporting Bugs and Improvements @@ -1358,7 +1357,7 @@ Players' cash can be modified on every spawn if enabled. ------------------------------------ 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 +possible to change light style in maps and set dissolve effects on players' bodies when they die. It supposed to have support for adding fog, but because of technical limits in @@ -1616,12 +1615,6 @@ on their way into a tube, the humans are doomed. The tube camping problem much better balanced. -4.8 GAMEPLAY GUIDELINE SUGGESTIONS -------------------------------------- - -4.8.1 FOR SERVERS WITH UNLIMITED AMMO AND NO RELOADING - - 5.0 TROUBLESHOOTING ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1644,6 +1637,25 @@ better balanced. 6.0 GAMEPLAY GUIDELINES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +6.1 BRIEFING - MAP CONFIGURATION FILES +----------------------------------------- + + +6.2 MAP BALANCE +------------------- + + +6.3 KNOCKBACK SETTINGS +------------------------- + + +6.4 MAP TIME +--------------- + + +6.5 SERVERS WITH UNLIMITED AMMO AND NO RELOADING +--------------------------------------------------- + 7.0 REPORTING BUGS AND IMPROVEMENTS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~