Reorganized documents.
This commit is contained in:
parent
5c980b5edc
commit
b07dcb0452
@ -1,164 +0,0 @@
|
||||
===============================================================================
|
||||
|
||||
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.
|
2285
docs/.zr_manual.txt
2285
docs/.zr_manual.txt
File diff suppressed because it is too large
Load Diff
23
docs/zr_3.1_release_notes.txt
Normal file
23
docs/zr_3.1_release_notes.txt
Normal file
@ -0,0 +1,23 @@
|
||||
===============================================================================
|
||||
|
||||
Zombie:Reloaded Release Notes
|
||||
Version 3.1.0
|
||||
|
||||
Written by Richard Helgeby
|
||||
|
||||
===============================================================================
|
||||
|
||||
Release Notes
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
(...)
|
||||
|
||||
|
||||
Richard Helgeby &
|
||||
Greyscale
|
||||
|
||||
|
||||
OVERVIEW OF MAJOR CHANGES
|
||||
---------------------------
|
||||
|
||||
*
|
@ -14,9 +14,8 @@
|
||||
<div class="content">
|
||||
<h1><a name="top" />Zombie:Reloaded User Manual</h1>
|
||||
|
||||
<p class="headerinfo">Targets plugin version 3.0.0 Beta 2, 2009.12.11<br />
|
||||
<p class="headerinfo">Version 3.1.0<br />
|
||||
Written by Richard Helgeby</p>
|
||||
<p class="headerinfo">Manual last modified: 2010.07.04</p>
|
||||
|
||||
<h2>Index</h2>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user