Entropy : Zero 2 Custom weapon and character guide

Entropy : Zero 2 Custom weapon and character guide 1 - steamsplay.com
Entropy : Zero 2 Custom weapon and character guide 1 - steamsplay.com

This guide will show how to create a map where the player character becomes a civil protection officer / metrocop rather than a Combine elite as in the Entropy : Zero 2 campaign. It is assumed that you are familiar with Hammer.

About this guide

This guide will show you how to create a map with a custom-character, in this instance a Civil Protection officer (similar to Bad Cop in Chapter Zero).
It is assumed that Hammer editor is used to create maps and that Hammer has been configured for Entropy Zero 2.



  • Hammer used to map Entropy – Zero 2
  • How to make maps with Hammer
  • GCFScape (and another tool that can open VPK file)


Custom weapon viewmodels

Mapbase has a feature that allows weapon scripts to be overwritten map by map. To replace viewmodels used by a weapons, you can use weapon script overrides.


Navigate to Steam/steamapps/common/EntropyZero2/entropyzero2/maps. This is where all maps are saved.
You should find text files related to particular maps in the maps folder. Look at the following example. ez2_c0_1_weapon_pistol.txt .
ez2_c0_1_weapon_pistol.txt is a copy of weapon_pistol.txt from Entropy : Zero 2's "scripts". (You will find all scripts in EZ2 vpk file). However, it contains this line:

"viewmodel" "models/weapons/madcop/v_pistol.mdl"

This is the weapon_pistol used. "models/weapons/madcop/v_pistol.mdl" as its viewmodel. This viewmodel was specifically created to represent Bad Cop in Chapter Zero.

Step 1: Locate the weapon code you wish to override

Let's say, for example, that you want to upgrade the 357 to allow it to use metropolice weapons.
Make sure you're using the latest version (of EZ2 and not any betas.
Navigate to Steam/steamapps/common/EntropyZero2/entropyzero2/ez2. Open ez2_dir.vpk by using GCFScape (or another VPK tool).
Look in the VPK's "scripts" folder. Locate weapon_357.txt. This is the weapon script that you need to use with the 357.
Extract this file

Step 2 Create a weapon script to override your map

Take the weapon_357.txt copy from the previous step. Place it in your "maps" directory, next to the map. Change the name of the file <your_mapname>_weapon_357.txt.
WARNING! Warning!

Step 3: Update the viewmodel

Open _weapon_357.txt. Find the line "viewmodel"

"viewmodel" "models/weapons/ez2/v_357.mdl"

This line should be updated in order to reference your viewmodel. In our case, the EZ1 version is preferred to the EZ2 version.

"viewmodel" "models/weapons/ez1/v_357.mdl"

Save the file. You now have a weapon overload that will transform your weapon 357 on your map into a Metrocop one.

Custom weapon viewmodels conclusion

If you ship a workshop addon, please include your weapon script overrides within the maps folder next to your map file. This can be repeated for all weapons. If you have multiple maps in your addon, you will need to create a copy of each map.

Custom player character voice

About player responses

Bad Cop's voice is controlled the same way as NPCs. The VDC provides more information about the response mechanism.
https://developer.valvesoftware.com/wiki/Response_System – [valvesoftware.com]
The response context tells a game that the speaker is the player. This context is known as "classname". It usually corresponds with the entity classname of a talking entity.
Mapbase allows users to change the context of any map.

Use the developer console to change the voice of a player in-game


  1. Open the developer console.
  2. Enter the following command

    ent_fire !player AddContext "classname:npc_metropolice"
  3. Enter combat to test out different voicelines. Instead of Bad Cop's voice, you should hear a metrocop's.


Hammer: How to change the voice of the player

Create a logic_auto entity. The input "AddContext", which is located on the "!player" tab, should be activated from the ouptut: "OnMapSpawn". Set the parameter to classname:npc_metropolice.

Custom player character voice conclusion

This technique allows you to swap the player's vocal chords with any NPC who uses responses. Some NPCs won't have compatible responses rules with players' responses.
If you want the player not to respond, you can assign a non-responsive classname. Example: "classname.none"
This technique can also create completely unique voices, but this is not covered in this guide.

Change max armor back to 100

About max armor

ConVars control the maximum armor a player can wear in EZ2. These are variables that you can set in the configuration files or in the developer console.
Maximum armor is worth:



About game_convar_mod

Mapbase is the base of Entropy: Zero 2. Mapbase includes a new entity called game_convar_mod that allows you to change ConVars directly from a map.
Mapbase entity listing:
https://github.com/mapbase-source/source-sdk-2013/wiki/Entity-List – [github.com]

Hammer: Change max armor

Place a game_convar_mod in any part of your map. You can call it "_mod" and give it any name you like.
In entity properties' "ConVars", assign this value:

sk_suit_maxarmor 100

Create a logic_auto entity. From the output "OnMapSpawn", trigger "Activate" on entity "_mod".
WARNING: You can only have one game_convar_mod open at a time If you need more than one convar to be modified, please add them to your ConVar field separated using semicolons.

sk_suit_maxarmor 100; some_other_convar 1


Change NVG color

About NVG Color
Source's colour correction system is used to apply NVG color. A separate file has been created for red NVG. This color correction will be applied when NVG is turned on.
The filename that you are looking for NVG is actually stored in a different convar. For information about convars, please see the previous steps in this guide.
The ConVar, which stores the name and file description of the NVG colour correction file, is:



Hammer color correction

Following the steps in the guide, create game_convar_mod in any location on your map. It can be called "_mod" (or whatever name you prefer).
Assign this value to the "ConVars” key in entity property properties

sv_flashlight_cc_filename ez2_overworld_simple.raw

ez2_overworld_simple.raw is a color correction filter that happens to have a nice Cyan blue color that lines up well with the metrocop vision. It is used to create metrocop NVG in Chapter Zero.
Create a logic_auto entity. From the output "OnMapSpawn", trigger "Activate" on entity "_mod".
WARNING: You can only have one game_convar_mod open at a time If you need more than one convar to be modified, please add them to your ConVar field separated using semicolons.

sk_suit_maxarmor 100; sv_flashlight_cc_filename ez2_overworld_simple.raw


Modify the kick model for the player character

About the kick

Kicking uses a different viewmodel than the weapon / hands model. Normally it is stored in models/weapons/ez2/v_kick.mdl.
You can change kick viewmodels by firing an output at a logic_playerproxy entity. You can learn more about logic_playerproxy by visiting the VDC.
https://developer.valvesoftware.com/wiki/Logic_playerproxy – [valvesoftware.com]

A new viewmodel for the Hammer kick is assigned

Create a logic_playerproxy entity. Give the entity the name "playerproxy", or any other name.
Create a logic_auto entity. OnMapSpawn will output the input "SetLegModel" to the entity "playerproxy". The input should contain a parameter. models/weapons/ez1/v_kick_police.mdl .


Written by 1upD

This is all for Entropy : Zero 2 Custom weapon and character guide hope you enjoy the post. If you believe we forget or we should update the post please let us know via comment, we will try our best to fix how fast is possible! Have a great day!

Be the first to comment

Leave a Reply

Your email address will not be published.