Updated docs. Minior fixes.

Added flag on some timers so we are sure they are killed on map change.
Added stop event on health regeneration timer when applying classes, if the class has no regeneration.
Cvar zr_classes_default_admin is now replaced by admin-only classes. Old cvar is zr_classes_default_admin_mode.
This commit is contained in:
richard 2009-10-31 03:39:00 +01:00
parent bba1f40fb3
commit 844e23b293
8 changed files with 58 additions and 25 deletions

View File

@ -168,9 +168,13 @@ zr_classes_change_timelimit "20"
// Default: "1"
zr_classes_save "1"
// (Not implemented!) Admin-only class assigned to admins on connect, if any. ["default" = Default human class | "random" = Random admin-only class]
// Default: "random"
zr_classes_default_admin "default"
// (Incomplete) Admin-mode class assigned to admins on connect. Do not confuse this with admin-only classes. ["random" = Random admin class | "" = Class config default]
// Default: "random"
zr_classes_default_admin "random"
zr_classes_default_admin_mode "random"
// Human class assigned to players on connect. ["random" = Random human class | "" = Class config default]
// Default: "random"

View File

@ -16,7 +16,7 @@
<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.30</p>
<p class="headerinfo">Manual last modified: 2009.10.31</p>
<h2>Index</h2>
@ -36,6 +36,7 @@ Written by Richard Helgeby</p>
<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>
<li><a href="#2.3">Upgrading</a></li>
</ol>
</li>
@ -220,15 +221,18 @@ plugin is compatible with all existing Zombie Mod maps.</p>
<ul>
<li>
<p><strong>c0ldfyr3</strong></p>
<p>The developer of Zombie Mod (<a href="http://www.zombiemod.com">www.zombiemod.com</a>).</p>
<p>The developer of the popular <em>Zombie Mod</em>
(<a href="http://www.zombiemod.com">www.zombiemod.com</a>). There wouldn't be any
Zombie:Reloaded without Zombie Mod.</p>
</li>
</ul>
<h6>Developers and testers</h6>
<ul>
<li>
<p><strong>Greyscale</strong></p>
<p><strong>Greyscale / sumguy14</strong></p>
<p>Author of Zombie:Reloaded. The one who started remaking Zombie Mod for the SourceMod platform.</p>
<p>Made overlays and zombie ambient sound file.</p>
<p>Related server: "#1 Pro's Playground - 24/7 Zombie Mod [ Rank / Reload / Napalm ]"
(74.201.57.54:27015) - USA, Washington</p>
</li>
@ -241,8 +245,9 @@ plugin is compatible with all existing Zombie Mod maps.</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><strong>Cpt. Moore and SwissQuake</strong></p>
<p>Helped debuging issues and made some new features. Most credits go for letting us use the
SwissQuake zombie server for testing.</p>
<p>Related server: "Zombie World Domination by SwissQuake" (85.195.74.201:13010)
- Switzerland, Basel</p>
</li>
@ -290,6 +295,15 @@ 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>
<h3><a name="2.4" />2.4 Upgrading</h3>
<p>When upgrading there might be changes to configuration files. They must either be reconfigured
or merged with old settings.</p>
<p>Reloading Zombie:Reloaded with SourceMod is not recommended. Changing the map works in most
cases, but some console variables might not be updated. Do a server restart for a complete
refresh of console variables.</p>
<h2><a name="3" />3. Configuration</h2>
@ -822,12 +836,12 @@ download them. The paths must be relative to the "cstrike" folder.</p>
<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
It cannot be turned off, but class selection menus 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>
should be specified in the "zr_config_path_playerclasses" 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>
@ -1443,7 +1457,7 @@ Place these console variables in the main configuration file:</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>
module is already done loading.</p>
</td>
</tr>
@ -2136,17 +2150,17 @@ sub section for each weapon using short names from the list below.</p>
</tr>
<tr>
<td class="code">hegrenade</td>
<td>Grenade</td>
<td>Projectile</td>
<td>High explosive grenade</td>
</tr>
<tr>
<td class="code">flashbang</td>
<td>Grenade</td>
<td>Projectile</td>
<td>Flash bang</td>
</tr>
<tr>
<td class="code">smokegrenade</td>
<td>Grenade</td>
<td>Projectile</td>
<td>Smoke grenade</td>
</tr>
<tr>
@ -2154,6 +2168,11 @@ sub section for each weapon using short names from the list below.</p>
<td>Equipment</td>
<td>Night vision goggles</td>
</tr>
<tr>
<td class="code">knife</td>
<td>Melee</td>
<td>Knife</td>
</tr>
</table></blockquote>
<h4><a name="3.8.3" />3. Weapon Commands</h4>
@ -3857,6 +3876,9 @@ not required, except the type attribute.</p>
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>
<p>Do not overuse anti-camp volumes in maps, players don't like that. Instead look for alternate
solutions like using a class editor volume to set knock back in tubes/vents.</p>
<blockquote><table>
<caption>Anti-Camp Attributes</caption>
<tr>
@ -4151,8 +4173,8 @@ back to a default action.</p>
<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>
<p><strong>Cause:</strong> File does not exist, file permissions, or (for developers:)
that invalid file structure were specified when loading.</p>
</td>
</tr>
@ -4792,9 +4814,12 @@ back to a default action.</p>
<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>
<ul>
<li>Conflicts with WCS Races plugin and other plugins who change player model/skin and speed.</li>
<li>Do not run es_tools, it's not compatible with SourceMod.</li>
<li>Anti-Stick seems to work fine on some servers, but cause bouncing props on others. This may
be map dependent.</li>
</ul>
<h2><a name="6" />6. Gameplay Guidelines</h2>

View File

@ -61,6 +61,7 @@ enum CvarsList
Handle:CVAR_CLASSES_DEFAULT_M_ZOMB,
Handle:CVAR_CLASSES_DEFAULT_HUMAN,
Handle:CVAR_CLASSES_DEFAULT_ADMIN,
Handle:CVAR_CLASSES_DEFAULT_ADMIN_MODE,
Handle:CVAR_CLASSES_MENU_AUTOCLOSE,
Handle:CVAR_CLASSES_OVERLAY_TOGGLE,
Handle:CVAR_CLASSES_OVERLAY_TOGGLECMDS,
@ -261,7 +262,8 @@ CvarsCreate()
g_hCvarsList[CVAR_CLASSES_DEFAULT_ZOMBIE] = CreateConVar("zr_classes_default_zombie", "random", "Zombie class assigned to players on connect. [\"random\" = Random zombie class | \"\" = Class config default]");
g_hCvarsList[CVAR_CLASSES_DEFAULT_M_ZOMB] = CreateConVar("zr_classes_default_mother_zombie", "motherzombies","Zombie class assigned to mother zombies. [\"motherzombies\" = Random mother zombie class | \"random\" = Random regular zombie class | \"disabled\" = Don't change class on mother zombies]");
g_hCvarsList[CVAR_CLASSES_DEFAULT_HUMAN] = CreateConVar("zr_classes_default_human", "random", "Human class assigned to players on connect. [\"random\" = Random human class | \"\" = Class config default]");
g_hCvarsList[CVAR_CLASSES_DEFAULT_ADMIN] = CreateConVar("zr_classes_default_admin", "random", "(Incomplete) Admin-mode class assigned to admins on connect. Do not confuse this with admin-only classes. [\"random\" = Random admin class | \"\" = Class config default]");
g_hCvarsList[CVAR_CLASSES_DEFAULT_ADMIN] = CreateConVar("zr_classes_default_admin", "random", "(Not implemented!) Admin-only class assigned to admins on connect, if any. [\"default\" = Default human class | \"random\" = Random admin-only class]");
g_hCvarsList[CVAR_CLASSES_DEFAULT_ADMIN_MODE] = CreateConVar("zr_classes_default_admin_mode", "default", "(Incomplete) Admin-mode class assigned to admins on connect. Do not confuse this with admin-only classes. [\"random\" = Random admin class | \"\" = Class config default]");
g_hCvarsList[CVAR_CLASSES_ZOMBIE_SELECT] = CreateConVar("zr_classes_zombie_select", "1", "Allow players to select zombie classes.");
g_hCvarsList[CVAR_CLASSES_HUMAN_SELECT] = CreateConVar("zr_classes_human_select", "1", "Allow players to select human classes.");
g_hCvarsList[CVAR_CLASSES_ADMIN_SELECT] = CreateConVar("zr_classes_admin_select", "1", "Allow admins to select admin mode classes. (Not to be confused by admin-only classes!)");

View File

@ -325,6 +325,8 @@ bool:ClassApplyHealthRegen(client, classindex, cachetype = ZR_CLASS_CACHE_PLAYER
}
else
{
// Make sure old timers are stopped.
ClassHealthRegenStop(client);
return false;
}
}

View File

@ -1120,7 +1120,7 @@ stock ClassGetDefaultSpawnClass(teamid, filter[ClassFilter] = ClassNoSpecialClas
}
case ZR_CLASS_TEAM_ADMINS:
{
GetConVarString(g_hCvarsList[CVAR_CLASSES_DEFAULT_ADMIN], classname, sizeof(classname));
GetConVarString(g_hCvarsList[CVAR_CLASSES_DEFAULT_ADMIN_MODE], classname, sizeof(classname));
}
default:
{

View File

@ -45,7 +45,7 @@ ClassHealthRegenStart(client, Float:interval)
tHealthRegen[client] = INVALID_HANDLE;
}
tHealthRegen[client] = CreateTimer(interval, ClassHealthRegenTimer, client, TIMER_REPEAT);
tHealthRegen[client] = CreateTimer(interval, ClassHealthRegenTimer, client, TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE);
}
ClassHealthRegenStop(client)

View File

@ -111,7 +111,7 @@ VolAnticampEnable(volumeIndex)
// Validate interval.
if (interval > 0.0)
{
AnticampData[dataindex][Anticamp_Timer] = CreateTimer(interval, Event_VolAnticampTrigger, volumeIndex, TIMER_REPEAT);
AnticampData[dataindex][Anticamp_Timer] = CreateTimer(interval, Event_VolAnticampTrigger, volumeIndex, TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE);
LogEvent(_, LogType_Normal, LOG_DEBUG, LogModule_Volfeatures, "Vol state", "Enabled anticamp volume %d.", volumeIndex);
}
else
@ -161,7 +161,7 @@ stock VolAnticampEnableAll()
// Validate interval.
if (interval > 0.0)
{
AnticampData[dataindex][Anticamp_Timer] = CreateTimer(interval, Event_VolAnticampTrigger, volumeindex, TIMER_REPEAT);
AnticampData[dataindex][Anticamp_Timer] = CreateTimer(interval, Event_VolAnticampTrigger, volumeindex, TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE);
LogEvent(_, LogType_Normal, LOG_DEBUG, LogModule_Volfeatures, "Vol state", "Enabled anticamp volume %d.", volumeIndex);
}
else

View File

@ -285,7 +285,7 @@ bool:VolStartUpdateTimer()
if (interval > 0.0)
{
// Create a new timer.
hVolUpdateTimer = CreateTimer(interval, Event_VolUpdateTimer, _, TIMER_REPEAT);
hVolUpdateTimer = CreateTimer(interval, Event_VolUpdateTimer, _, TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE);
// Also start the trigger delay timer.
VolStartTriggerTimer();
@ -337,7 +337,7 @@ bool:VolStartTriggerTimer()
if (VolTriggerInterval > 0.0)
{
// Start the timer.
hVolTriggerTimer = CreateTimer(VolTriggerInterval, Event_VolTriggerTimer, _, TIMER_REPEAT);
hVolTriggerTimer = CreateTimer(VolTriggerInterval, Event_VolTriggerTimer, _, TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE);
// Trigger timer started.
return true;