There's nothing quite like the rush of running, falling, jumping and crawling your way toward the release switch whilst under fire from rockets, railguns and lasers... then jabbing that switch and releasing all your team mates! Then finally watching as they all come running out of the open doors and beat the other team to death with Laser Cleavers! There's never a dull moment in JB, you're either fighting to stay alive, fighting to release your team mates, or fighting to escape from jail!

Post tutorial Report RSS Jailbreak Mapping & Entity Guide!

A guide to mapping for Jailbreak: Source 0.4. Includes a full entity description and tips on releasing your map!

Posted by on - Basic Mapping/Technical


Jailbreak: Source 0.4 Mapping Guide


Setting up Hammer:
Before doing anything, you need to add the Jailbreak.fgd file to the Hammer FGD list. Place the file in:

Program Files/Steam/SteamApps/YOURUSERNAME/sourcesdk/bin/ep1/bin/

Now open Hammer and add the FGD file to the list in Tools; Configuration.

Entity List:
Below is the list of entities used in Jailbreak: Source 0.4

info_player_rebel:
Spawn points for the Rebels; these should be placed where you want the Rebel side to spawn. It is best to place sixteen.

jb_info_player_rebel_jail:
Jail spawn points for the Rebels; these should be placed where you want the Rebel side to spawn in jail. It is best to place sixteen.

info_player_combine:
Spawn points for the Combine; these should be placed where you want the Combine side to spawn. It is best to place sixteen.

jb_info_player_combine_jail:
Jail spawn points for the Combine; these should be placed where you want the Combine side to spawn in jail. It is best to place sixteen.

jb_execute_rebels:
This is an Input/Output entity used to control the execution of the Rebel side. The entities outputs are fired by setting the following: OnExecute. For example, to execute the Rebels in your map by starting a fire (providing you have placed env_fire entities in the Jail and named them "fire1"), you would set one Output as follows:

OnExecute; fire1; StartFire; 0.00 Seconds. You can set as many Outputs as you want using this system.

jb_execute_combine:
This is an Input/Output entity used to control the execution of the Combine side. The entities outputs are fired by setting the following: OnExecute. For example, to execute the Combine in your map by gassing them (providing you have placed env_steam entities in the Jail and named them "gas1"), you would set one Output as follows:

OnExecute; gas1; TurnOn; 0.00 Seconds. You can set as many Outputs as you want using this system.

jb_release_rebels:
This is an Input/Output entity used to control the release of the Rebel side. You should create a button which has one Output of: OnPressed; jb_release_rebels; FireRelease to trigger this entity. The entities outputs are fired by setting the following: OnRelease and OnDoorReset. For example, to open a Jail Door (named rebel_jail_door1) in your map, you would set two Outputs as follows:

OnRelease; rebel_jail_door1; Unlock; 0.00 Seconds
OnRelease; rebel_jail_door1; Open; 0.50 Seconds.

To close the doors use OnDoorReset. You can set as many Outputs as you want using this system. You can also set the Duration of the release in the KeyValues fields.

You should also set the following Outputs to disable your button for the desired amount of time specified in Button Reset Delay KeyValue:

OnRelease; rebel_release_button; Lock; 0.00 Seconds
OnButtonReset; rebel_release_button; Unlock; 0.50 Seconds.

jb_release_combine:
This is an Input/Output entity used to control the release of the Combine side. You should create a button which has a single Output of: OnPressed; jb_release_combine; FireRelease to trigger this entity. The entities outputs are fired by setting the following: OnRelease. For example, to open a Jail Door (named combine_jail_door1) in your map, you would set two Outputs as follows:

OnRelease; combine_jail_door1; Unlock; 0.00 Seconds
OnRelease; combine_jail_door1; Open; 0.50 Seconds.

To close the doors use OnDoorReset. You can set as many Outputs as you want using this system. You can also set the Duration of the release in the KeyValues fields.

You should also set the following Outputs to disable your button for the desired amount of time specified in Button Reset Delay KeyValue:

OnRelease; combine_release_button; Lock; 0.00 Seconds
OnButtonReset; combine_release_button; Unlock; 0.50 Seconds.

jb_info_release_combine
This entity should be placed over the release button at the Rebel Jail (where the Combine are imprisoned) as it is used to govern the position of the release triangle on the players HUD and on the minimap overview.

jb_info_release_rebels
This entity should be placed over the release button at the Combine Jail (where the Rebels are imprisoned) as it is used to govern the position of the release triangle on the players HUD and on the minimap overview.

jb_trigger_jail:
This is a trigger entity applied by creating a brush (or multiple linked brushes) with the "trigger" texture applied. Once you have covered the entire area of your Jail in this brush, select each of the brushes using CTRL-SELECT then press CTRL-T or press "To Entity" on the right hand side of the Hammer screen.

You can then select and apply jb_trigger_jail from the drop down menu in the Object Properties dialogue box. Once applied, you can name the entity (e.g. combine_jail). You must also specify the teamJailed in the KeyValues (e.g. Combine).

jb_point_execute_combine:
This entity is used to define the position of the execution camera for the Combine execution. It should be placed in the jail where the Combine are executed.

jb_point_execute_rebels:
This entity is used to define the position of the execution camera for the Rebel execution. It should be placed in the jail where the Rebels are executed.

jb_turret_floor:
This is the turret entity, place this where you like. You can set it to start as active for the Combine or Rebels using the Start Team Number KeyValue. It can also be set to None, this option will make the turret active for the first team to pick it up.

jb_trigger_player_location:
This entity is used to name and define the area a player is currently in, this area is shown when a Radio or Team message is sent during play. This is a trigger entity applied by creating a brush with the "trigger" texture applied.

You should create two jb_trigger_player_location entities next to each other covering the playable area that a player might walk through when entering your new location from either side.

You should name the entity (e.g. Dive Pool) in the Name KeyValue, and specify the name to be displayed in the locationname KeyValue (e.g. Dive Pool). The last trigger a player touches defines the location they are currently in, so these entities should be placed in doorways or streets which enter or exit the area. Look at the example map for an idea of how this is best achieved.

Weapon, Item and Ammo Entities:
jb_weapon_combine_pistol
jb_weapon_rebel_pistol
jb_weapon_rebel_smg
jb_weapon_combine_smg
jb_weapon_rebel_rifle
jb_weapon_combine_rifle
jb_weapon_chaingun
jb_weapon_medigun
jb_weapon_silenced_pistol
jb_weapon_railgun
weapon_crossbow
weapon_shotgun
weapon_rpg
weapon_slam
weapon_frag
jb_ammo_slug
jb_ammo_chaingun
jb_ammo_pistol
jb_ammo_medigun
jb_ammo_shotgun
jb_ammo_rifle
jb_ammo_smg
item_rpg_round
item_healthkit
item_healthvial


Preparing to release your map:


Here's a few guidelines on how to release your map for Jailbreak: Source 0.4, to make sure everything goes smoothly for you!

The Final Compile:
Once you are happy that your map is finished, you should do a Final compile. Hit F9 to bring up the compile options and click "Expert" in the bottom left of the window. Choose "HDR Full Compile -final (slow!)" from the drop down box and compile your map. This will take MUCH longer but the end result will create far nicer lighting and shadows.

Compiling Cubemaps:
After compiling, load up HL2DM or Jailbreak and turn on HDR, then open the console and type the following:

sv_cheats1
buildcubemaps

Wait for all the pictures to finish cycling through, and then type

map yourmapname

Wait for the map to load, and wait for it to unfreeze, it is saving the cubemaps to your BSP file. Now repeat this process with HDR off.

Using Pakrat:
Firstly, an apology... I cocked up, and as a result, for the release of Jailbreak: Source 0.4, we had to Pakrat all the textures and models into the BSPs. Which means you'll need to do the same! So firstly, download Pakrat from the following location:
Geocities.com

Install Pakrat. Open it up and browse to the directory containing your BSP (cubemaps should be built at this point). If necessary go to preferences and set the default directory to the folder your maps compile to.

Double click your maps BSP file, then click Auto... All the custom files you've used will be added to the list. Now go to File; Save BSP and overwrite it. A few seconds later your done!

Now zip up your file, find some free hosting and let us know, we'll be happy to host your map for you on the Jailbreak website!

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: