Merged heads. (roundstart.inc replaced with LF newlines)

This commit is contained in:
Greyscale 2009-05-20 19:18:46 -07:00
commit d4449dbab7
3 changed files with 58 additions and 224 deletions

View File

@ -1,120 +0,0 @@
Changes from Zombie: Reloaded 2.5.1
====================================
Alpha values (transparency)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Support for alpha values in classes. New values in classes.txt (per class):
Key: Value: Default: Description:
alpha_spawn <0-255> 255 initial alpha value (0 = transparent)
alpha_damaged <0-255> 255 alpha value when damaged
alpha_damage <damage> 0 how much damage to do before
alpha_damaged take effect
Knockback multiplier
~~~~~~~~~~~~~~~~~~~~~
If classes are enabled the zr_zombie_knockback cvar is used as a multiplier.
Makes it possible to set custom knockback on maps using per-map configs.
Set zr_zombie_knockback to 1 if you use classes and want it the way it was
before.
knockback = zr_zombie_knockback * class knockback
Full spawn protection
~~~~~~~~~~~~~~~~~~~~~~
Spawn protection makes the players invisible and move faster, and cannot be
infected during protection time.
A centered counter shows the time remaining.
Overriding class night vision
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Support for overrriding class nvgs with the zr_zombie_nvgs cvar. Generally,
any non-zero value is considered as on.
Value: Description:
-1 no override (use value in classes.txt) / nvgs on
0 never give nvgs
1 always give nvgs
Anticamp feature
~~~~~~~~~~~~~~~~~
Define hurt volumes in maps that gives x damage at a custom interval.
When creating volumes they should start a little bit _below_ the floor, so it
covers the players feet.
The volume is rectangular and you only need two locations in the map to create
it; a top corner, and the bottom corner at the oposite side.
zr_anticamp_create_volume <damage> <interval> <x1> <y1> <z1> <x2> <y2> <z2>
- Create a rectangular volume between the specified locations.
zr_anticamp_remove_volume <volume id>
- Remove a volume.
zr_anticamp_list
- List existing volumes.
Set default classes
~~~~~~~~~~~~~~~~~~~~
Setting the default class with a cvar. Works with per-map configs. Use "random"
as classname to set random classes on all players when the map loads or they
connect.
zr_classes_default <classname>
Zombie admin menu
~~~~~~~~~~~~~~~~~~
Basic zombie admin commands like adjusting knockback, nvgs, infecting players
and spawn everyone.
Knockback changes are applied instantly, useful for tuning knockback in-game.
Note that the changes are not saved. They will reset on map change. In a
future version this menu might save the changes.
Knockback multiplier
- Fine tune the knockback multiplier.
Class knockback
- Fine tune a class knockback value.
Night vision settings
- Override night vision settings (explained earlier).
Infect
- Infect a player. Lists all players, but could be changed to only list
humans.
Spawn players
- Spawns all dead players (except spectactors).
(more zombie admin stuff might come...)
Set (and get) class knockback
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Set or get knockback from a class. Changes are not saved. They will be reset on
map change.
zr_set_class_knockback <classname> <knockback>
- Sets knockback to a specified class. Useful when using per-map configs to
fine tune the class knockback for a map.
zr_get_class_knockback <classname>
- Prints the current knockback of a class to the client/server console.
Using the zombie admin menu to read a knockback value is easier sometimes.
More stuff
~~~~~~~~~~~
Other minior and major bug fixes. See changelog.txt.

View File

@ -1,58 +1,58 @@
/*
* ============================================================================
*
* Zombie:Reloaded
*
* File: roundstart.inc
* Type: Core
* Description: Handles round start actions.
*
* ============================================================================
*/
/**
* List of objective entities.
*/
#define ROUNDSTART_OBJECTIVE_ENTITIES "func_bomb_target|func_hostage_rescue|c4|hostage_entity"
/**
* The round is starting.
*/
RoundStartOnRoundStart()
{
// Kill all objective entities.
RoundStartKillObjectives();
}
/**
* Kills all objective entities.
*/
RoundStartKillObjectives()
{
decl String:classname[64];
// Get max entity count.
new maxentities = GetMaxEntities();
// x = entity index.
for (new x = 0; x <= maxentities; x++)
{
// If entity isn't valid, then stop.
if(!IsValidEdict(x))
{
continue;
}
// Get valid edict's classname.
GetEdictClassname(x, classname, sizeof(classname));
// Check if it matches any objective entities, then stop if it doesn't.
if(StrContains(ROUNDSTART_OBJECTIVE_ENTITIES, classname) == -1)
{
continue;
}
// Entity is an objective, kill it.
RemoveEdict(x);
}
}
/*
* ============================================================================
*
* Zombie:Reloaded
*
* File: roundstart.inc
* Type: Core
* Description: Handles round start actions.
*
* ============================================================================
*/
/**
* List of objective entities.
*/
#define ROUNDSTART_OBJECTIVE_ENTITIES "func_bomb_target|func_hostage_rescue|c4|hostage_entity"
/**
* The round is starting.
*/
RoundStartOnRoundStart()
{
// Kill all objective entities.
RoundStartKillObjectives();
}
/**
* Kills all objective entities.
*/
RoundStartKillObjectives()
{
decl String:classname[64];
// Get max entity count.
new maxentities = GetMaxEntities();
// x = entity index.
for (new x = 0; x <= maxentities; x++)
{
// If entity isn't valid, then stop.
if(!IsValidEdict(x))
{
continue;
}
// Get valid edict's classname.
GetEdictClassname(x, classname, sizeof(classname));
// Check if it matches any objective entities, then stop if it doesn't.
if(StrContains(ROUNDSTART_OBJECTIVE_ENTITIES, classname) == -1)
{
continue;
}
// Entity is an objective, kill it.
RemoveEdict(x);
}
}

View File

@ -1,46 +0,0 @@
Section content is listed in order of importance. Some of these can be ideas too.
---- CRITICAL/IMPORTANT ----
---- NORMAL/GAMEPLAY ----
* Fix zvision not displayed if classes are disabled.
* Make admin commands to get or set player classes:
zr_classes_set <classname> <target>
zr_classes_get <#userid|name>
* Make it possible to disable certain classes on certain maps. Only specify the
class name to read the value:
zr_class_enabled <classname> [<0/1>]
* Per-weapon clip sizes. A new module with detailed control of ammo (modes, limits, timers).
* Remove dead bodies to improve performance (CVAR).
* More grenades for humans (probably with a buy-command or something). It's on
the edge to become a RPG-like feature.
* Super features for both zombies and humans:
- Humans: No fall damage for X seconds. X limits per round.
- Zombies: No knockback/damage for X seconds. X limits per round.
* Make a admin command to read and write settings to a spesific class,
using key/value. Integrate it with the zr_admin menu.
* Knockback presets (integrated into zombie admin menu).
Temporary do many changes on the zombies (by executing configs). Useful
settings or fun settings. SourceMod already has a execute config menu, but it
would be better if this was integrated in ZR.
* zombie.inc:KnockBack / cvars.inc
Make a CVAR for adjusting shotgun/hegrenade knockback boost.
* Validate ALL configs and cvars while loading the plugin. Log messages and unload ZR (or use default) if invalid data is found.
* Make a jetpack feature.
* Fix some zombies not able to zombify some humans when using the infect
command before the first zombie. (make him a mother zombie, kill infect timer,
set some switches)