-
Notifications
You must be signed in to change notification settings - Fork 145
Custom Mapping Features
This is a list of custom mapping features available on servers running CS2Fixes. It is currently reasonable to expect that all CS2 Zombie Escape servers have support for these standards.
With our remake of Zombie:Reloaded into CS2 as Zombie:Reborn, and also supported by other CS2 ZE implementations, a new feature has been added that mappers need to use to disable (or re-enable) zombie respawns, typically after a "nuke" at the end of the map. This replaces the old trigger_hurt based automatic "repeat kill detectors", which were often vulnerable to false positives.
All CS2 Zombie Escape maps with a nuke ending must implement this to ensure gamemode compatibility.
To toggle zombie respawning, create an additional output on whatever entity triggers the nuke targeting zr_toggle_respawn, using whatever delay is necessary, with one of the following inputs:
-
Disable- Disables respawns if enabled, does nothing if already disabled -
Enable- Enables respawns if disabled, does nothing if already enabled -
Trigger- A simple toggle: Disables respawns if enabled, enables respawns if disabled
Here is an example of using Disable to immediately disable zombie respawning in Hammer:

It will appear as an invalid output, but it will work on a live server
The KeyValue input is intended as a replacement for Source 1's AddOutput keyvalue manipulation, which no longer works in Source 2.
Usage example:
OnWhatever > MyEntity > KeyValue > origin 5294 -1743 389
| Name | Applies To | Description |
|---|---|---|
targetname |
All Entities | Name of an entity |
origin |
All Entities | Origin coordinates of an entity |
angles |
All Entities | Angle coordinates of an entity |
max_health |
All Entities | Max health of an entity |
health |
All Entities | Health of an entity |
movetype |
All Entities | Move type of an entity |
basevelocity |
All Entities | Base velocity of an entity |
absvelocity |
All Entities | Absolute velocity of an entity |
target |
All Entities | Target of an entity |
gravity |
All Entities | Scale entity gravity |
timescale |
All Entities | Changes simulation timescale of some entities like func_movelinear
|
friction |
All Entities | Scale entity friction |
speed |
Players | Scales player movement timescale using the same method as player_speedmod, but clients will not predict |
runspeed |
Players | Scales player running speed on the ground, clients will predict but if set <1 it will slowly revert back to 1 |
filtername |
filter_ Entities |
Filter name of a filter entity |
EntityTemplate |
env_entity_maker |
Template of an entity maker, "Point_template To Spawn" in Hammer |
force |
phys_thruster |
Force of a thruster |
Need another keyvalue from CS:GO? Request it! Each keyvalue needs manual (but usually simple) implementation, so we are only supporting things as needed.
A direct replacement for Source 1's IgniteLifetime input, parameter should be seconds of burn duration. Handles the fire particle, burn damage and burn slow. Only works on players.
Default config is that players are slowed to 0.6x speed while taking 1 HP damage every 0.3 seconds. But servers can change these values.
Usage example, igniting a player for 10 seconds:
OnWhatever > !activator > IgniteLifetime > 10
The AddScore input is intended as a replacement for Source 1's game_score entity, it adds a certain amount of score to a players stats in the scoreboard. The parameter value will be added on to whatever score the player already has.
Usage example, adding 100 score to a player:
OnWhatever > !activator > AddScore > 100
The SetMessage input is intended as a replacement for AddOutput message on an env_hudhint, it updates the message a hudhint displays when the ShowHudHint input is used.
Usage example, setting a hudhint message to "My updated message":
OnWhatever > MyHudHint > SetMessage > My updated message
In default CS2, using the Use Only & Strip First spawn flags together won't strip weapons from players like it did on CS:GO. This behaviour is fixed with CS2Fixes.
Make sure to include all weapons a player should have when enabling the strip flag (e.g. knife, kevlar for humans).
The TriggerForActivatedPlayer input is supposed to support passing a weapon classname as the parameter, which will override the weapons already defined in the entity. This behaviour is fixed with CS2Fixes.
Usage example:
OnWhatever > MyPlayerEquip > TriggerForActivatedPlayer > weapon_ak47
create logic_case entity, then add kv
- key
vscripts| valuegame_ui
activator = player
caller = logic_case
PlayerOn/PlayerOff only be fired OnGameFramePost
- 32 : Freeze Players
- 256: Jump Deactivate
| Output | Case Name | Comment |
|---|---|---|
Case01 |
PlayerOn |
PlayerOn |
Case02 |
PlayerOff |
PlayerOff |
Case11 |
PressedForward |
Pressed 'W' |
Case12 |
PressedMoveLeft |
Pressed 'A' |
Case13 |
PressedBack |
Pressed 'S' |
Case14 |
PressedMoveRight |
Pressed 'D' |
Case15 |
PressedAttack |
Pressed 'Attack' |
Case16 |
PressedAttack2 |
Pressed 'Attack2' |
Case17 |
PressedSpeed |
Pressed 'Speed' |
Case18 |
PressedDuck |
Pressed 'Duck' |
Case21 |
UnpressedForward |
Unpressed 'W' |
Case22 |
UnpressedMoveLeft |
Unpressed 'A' |
Case23 |
UnpressedBack |
Unpressed 'S' |
Case24 |
UnpressedMoveRight |
Unpressed 'D' |
Case25 |
UnpressedAttack |
Unpressed 'Attack' |
Case26 |
UnpressedAttack2 |
Unpressed 'Attack2' |
Case27 |
UnpressedSpeed |
Unpressed 'Speed' |
Case28 |
UnpressedDuck |
Unpressed 'Duck' |