Confiscation Field: Difference between revisions
(Created page with "This tutorial will show how to create a fully functional confiscation field. A field that will supercharge the Gravity Gun into a much more powerful vers...") |
No edit summary |
||
| Line 5: | Line 5: | ||
=== Step 1 === | === Step 1 === | ||
[[File:confiscationstep1. | [[File:confiscationstep1.PNG|thumb|Step 1]] | ||
Start off by creating a <code>512x256x256</code> room. Keep in mind however, that the room does not have to be this exact size, but the confiscation fields seen in Valve's maps are a similar size to the size of the room that will be created in this tutorial. | Start off by creating a <code>512x256x256</code> room. Keep in mind however, that the room does not have to be this exact size, but the confiscation fields seen in Valve's maps are a similar size to the size of the room that will be created in this tutorial. | ||
=== Step 2 === | === Step 2 === | ||
[[File:confiscationstep2. | [[File:confiscationstep2.PNG|thumb|Step 2]] | ||
Create four <code>128x128</code> walls on opposite ends of the room. It is recommended that you have them at least 16 units off the ground. Create 4 [[prop static|prop_static]] entities, and set their ''World Model'' to <code>models/props_combine/weaponstripper.mdl</code>. Place them so that each hole has one of these prop_static's flush inside them. Make sure that the hole's are sealed in the back as to prevent leaks. | Create four <code>128x128</code> walls on opposite ends of the room. It is recommended that you have them at least 16 units off the ground. Create 4 [[prop static|prop_static]] entities, and set their ''World Model'' to <code>models/props_combine/weaponstripper.mdl</code>. Place them so that each hole has one of these prop_static's flush inside them. Make sure that the hole's are sealed in the back as to prevent leaks. | ||
=== Step 3 === | === Step 3 === | ||
[[File:confiscationstep3. | [[File:confiscationstep3.PNG|thumb|Step 3]] | ||
Create 4 [[env citadel energy core|env_citadel_energy_core]] entities and place them at the base of each confiscation field emitter. Give them the following keyvalues. | Create 4 [[env citadel energy core|env_citadel_energy_core]] entities and place them at the base of each confiscation field emitter. Give them the following keyvalues. | ||
{| class="standard-table sortable" | {| class="standard-table sortable" | ||
| Line 24: | Line 24: | ||
=== Step 4 === | === Step 4 === | ||
[[File:confiscationstep4. | [[File:confiscationstep4.PNG|thumb|Step 4]] | ||
Create 4 [[info target|info_target]] entities and place them in the same place you placed the 4 env_citadel_energy_core's, at the base of each emitter. Give them the following keyvalues. | Create 4 [[info target|info_target]] entities and place them in the same place you placed the 4 env_citadel_energy_core's, at the base of each emitter. Give them the following keyvalues. | ||
{| class="standard-table sortable" | {| class="standard-table sortable" | ||
| Line 34: | Line 34: | ||
=== Step 5 === | === Step 5 === | ||
[[File:confiscationstep5. | [[File:confiscationstep5.PNG|thumb|Step 5]] | ||
Create 4 [[env spark|env_spark]] entities in exactly the same place as the last two steps. Give them the following keyvalues. | Create 4 [[env spark|env_spark]] entities in exactly the same place as the last two steps. Give them the following keyvalues. | ||
{| class="standard-table sortable" | {| class="standard-table sortable" | ||
| Line 49: | Line 49: | ||
=== Step 6 === | === Step 6 === | ||
[[File:confiscationstep6. | [[File:confiscationstep6.PNG|thumb|Step 6]] | ||
Create 7 [[ambient generic|ambient_generic]] entities. | Create 7 [[ambient generic|ambient_generic]] entities. | ||
| Line 153: | Line 153: | ||
=== Step 8 === | === Step 8 === | ||
[[File:confiscationstep8. | [[File:confiscationstep8.PNG|thumb|Step 8]] | ||
Create 4 [[light|light]] entities. Place them at the emitters 8 units away from the info_target entities. Give them the following key values. | Create 4 [[light|light]] entities. Place them at the emitters 8 units away from the info_target entities. Give them the following key values. | ||
{| class="standard-table sortable" | {| class="standard-table sortable" | ||
| Line 170: | Line 170: | ||
=== Step 9 === | === Step 9 === | ||
[[File:confiscationstep9. | [[File:confiscationstep9.PNG|thumb|Step 9]] | ||
Create 4 trigger brush entities. Make them the size of the room. Make the first 2 brush entities a [[trigger vphysics motion|trigger_vphysics_motion]], make the third one a [[trigger weapon dissolve|trigger_weapon_dissolve]] and make the fourth one a [[trigger weapon strip|trigger_weapon_strip]]. | Create 4 trigger brush entities. Make them the size of the room. Make the first 2 brush entities a [[trigger vphysics motion|trigger_vphysics_motion]], make the third one a [[trigger weapon dissolve|trigger_weapon_dissolve]] and make the fourth one a [[trigger weapon strip|trigger_weapon_strip]]. | ||
| Line 234: | Line 234: | ||
=== Step 10 === | === Step 10 === | ||
[[File:confiscationstep10. | [[File:confiscationstep10.PNG|thumb|Step 10]] | ||
Create a [[game ragdoll manager|game_ragdoll_manager]] and a [[game weapon manager|game_weapon_manager]]. Give them these keyvalues. | Create a [[game ragdoll manager|game_ragdoll_manager]] and a [[game weapon manager|game_weapon_manager]]. Give them these keyvalues. | ||
| Line 256: | Line 256: | ||
=== Step 11 === | === Step 11 === | ||
[[File:confiscationstep11. | [[File:confiscationstep11.PNG|thumb|Step 11]] | ||
Create a [[filter activator name|filter_activator_name]] and a [[filter activator class|filter_activator_class]]. Give them these keyvalues. | Create a [[filter activator name|filter_activator_name]] and a [[filter activator class|filter_activator_class]]. Give them these keyvalues. | ||
| Line 280: | Line 280: | ||
=== Step 12 === | === Step 12 === | ||
[[File:confiscationstep12. | [[File:confiscationstep12.PNG|thumb|Step 12]] | ||
Create 8 [[logic relay|logic_relay]] entities. Give them the following keyvalues. | Create 8 [[logic relay|logic_relay]] entities. Give them the following keyvalues. | ||
Revision as of 21:11, 24 September 2018
This tutorial will show how to create a fully functional confiscation field. A field that will supercharge the Gravity Gun into a much more powerful version of it. If the player also happens to be carrying any other weapons, the field will fizzle them before supercharging the Gravity Gun.
Entity Creation
Step 1
Start off by creating a 512x256x256 room. Keep in mind however, that the room does not have to be this exact size, but the confiscation fields seen in Valve's maps are a similar size to the size of the room that will be created in this tutorial.
Step 2
Create four 128x128 walls on opposite ends of the room. It is recommended that you have them at least 16 units off the ground. Create 4 prop_static entities, and set their World Model to models/props_combine/weaponstripper.mdl. Place them so that each hole has one of these prop_static's flush inside them. Make sure that the hole's are sealed in the back as to prevent leaks.
Step 3
Create 4 env_citadel_energy_core entities and place them at the base of each confiscation field emitter. Give them the following keyvalues.
| Property Name | Value |
|---|---|
| Name | weaponstrip_emitterfx |
Then go to the flag's tab and make sure the Start on flag is off and the No small particles flag is on.
Step 4
Create 4 info_target entities and place them in the same place you placed the 4 env_citadel_energy_core's, at the base of each emitter. Give them the following keyvalues.
| Property Name | Value |
|---|---|
| Name | weaponstrip_emitter |
Step 5
Create 4 env_spark entities in exactly the same place as the last two steps. Give them the following keyvalues.
| Property Name | Value |
|---|---|
| Name | weaponstrip_emitterspark |
| Max Delay | 2 |
| Magnitude | Medium |
Make sure all flags are unticked.
Step 6
Create 7 ambient_generic entities.
Name them as follows.
ambient_weaponstrip_loopweaponstrip_sound_announceweaponstrip_sound_charge_startweaponstrip_sound_dissolve_startweaponstrip_sound_errorweaponstrip_sound_securityweaponstrip_sound_charge_loop
Step 7
Add the following key values.
ambient_weaponstrip_loop
| Property Name | Value |
|---|---|
| Name | ambient_weaponstrip_loop |
| Sound Name | d3_citadel.zapper |
| Start Volume | 10 |
| Start Pitch | 50 |
On flags, tick Play Everywhere and Start Silent and untick Is NOT Looped.
weaponstrip_sound_announce
| Property Name | Value |
|---|---|
| Name | weaponstrip_sound_announce |
| Sound Name | citadel.overwatch_weaponstrip |
On flags, tick all.
weaponstrip_sound_charge_start
| Property Name | Value |
|---|---|
| Name | weaponstrip_sound_charge_start |
| Sound Name | d3_citadel.weapon_zapper_start |
On flags, tick Play Everywhere and Start Silent and untick Is NOT Looped.
weaponstrip_sound_dissolve_start
| Property Name | Value |
|---|---|
| Name | weaponstrip_sound_dissolve_start |
| Sound Name | d3_citadel.weapon_zapper_charge_node |
On flags, tick Play Everywhere and Start Silent and untick Is NOT Looped.
weaponstrip_sound_error
| Property Name | Value |
|---|---|
| Name | weaponstrip_sound_error |
| Sound Name | citadel.overwatch_weaponstrip_fail |
On flags, tick all.
weaponstrip_sound_security
| Property Name | Value |
|---|---|
| Name | weaponstrip_sound_security |
| Sound Name | citadel.overwatch_weaponstrip_fail_security |
On flags, tick all.
weaponstrip_sound_charge_loop
| Property Name | Value |
|---|---|
| Name | weaponstrip_sound_charge_loop |
| Sound Name | d3_citadel.weapon_zapper_ambient_loop |
On flags, tick Play Everywhere and Start Silent and untick Is NOT Looped.
Step 8
Create 4 light entities. Place them at the emitters 8 units away from the info_target entities. Give them the following key values.
| Property Name | Value |
|---|---|
| Name | weaponstrip_emitterlight |
| Brightness | 225 241 255 250 |
| Appearance | 33 |
| Custom Appearance | mmnmmommommnonmmonqnmmo |
Make sure the flag Initially Dark is ticked.
Step 9
Create 4 trigger brush entities. Make them the size of the room. Make the first 2 brush entities a trigger_vphysics_motion, make the third one a trigger_weapon_dissolve and make the fourth one a trigger_weapon_strip.
Give them the following keyvalues
trigger_vphysics_motion 1
| Property Name | Value |
|---|---|
| Name | weaponstrip_motion_disable_player |
| Start Disabled | Yes |
| Filter Name | filter_weapon_strip_player |
| Scale gravity of objects in the field. | 2 |
| Max velocity in field | 8 |
| Max amount to reduce velocity | 0 |
| Velocity scale/drag | 0 |
| Angular Velocity scale/drag | 0 |
| Linear force | 0 |
On flags, make sure only Clients is ticked.
trigger_vphysics_motion 2
| Property Name | Value |
|---|---|
| Name | weaponstrip_motion_disable |
| Start Disabled | Yes |
| Filter Name | filter_weapon_strip_weapons |
| Scale gravity of objects in the field. | 0.0 |
| Additional air density for drag | 0.5 |
| Max velocity in field | 2 |
| Max amount to reduce velocity | 32 |
On flags, make sure only Physics Objects and Everything is ticked.
trigger_weapon_strip
| Property Name | Value |
|---|---|
| Name | weapon_strip |
| Start Disabled | Yes |
On flags, make sure only Clients is ticked.
Step 10
Create a game_ragdoll_manager and a game_weapon_manager. Give them these keyvalues.
game_ragdoll_manager
| Property Name | Value |
|---|---|
| Max Ragdoll Count | 5 |
game_weapon_manager
| Property Name | Value |
|---|---|
| Weapon Classname | weapon* |
| Max Allowed in Level | 4 |
Step 11
Create a filter_activator_name and a filter_activator_class. Give them these keyvalues.
filter_activator_name
| Property Name | Value |
|---|---|
| Name | filter_weapon_strip_player |
| Filter Name | !player |
filter_activator_class
| Property Name | Value |
|---|---|
| Name | filter_weapon_strip_weapons |
| Filter Classname | weapon_* |
Step 12
Create 8 logic_relay entities. Give them the following keyvalues.
logic_relay 1
| Property Name | Value |
|---|---|
| Name | logic_room0_start_scan |
logic_relay 2
| Property Name | Value |
|---|---|
| Name | logic_room0_end_scan |
logic_relay 3
| Property Name | Value |
|---|---|
| Name | strip_stop |
logic_relay 4
| Property Name | Value |
|---|---|
| Name | logic_weapon_strip_announce |
logic_relay 5
| Property Name | Value |
|---|---|
| Name | logic_weapon_strip_strip |
logic_relay 6
| Property Name | Value |
|---|---|
| Name | logic_weapon_strip_dissolve |
logic_relay 7
| Property Name | Value |
|---|---|
| Name | logic_weapon_strip_physcannon_start |
logic_relay 8
| Property Name | Value |
|---|---|
| Name | logic_weapon_strip_physcannon_end |
I/O Creation
Add the following outputs to the following entities.
weapon_dissolve
logic_room0_start_scan
strip_stop
logic_weapon_strip_announce
logic_weapon_strip_strip
logic_weapon_strip_dissolve
logic_weapon_strip_physcannon_start
logic_weapon_strip_physcannon_end
Once that is set up, to simply start the confiscation field, set up a trigger_once to trigger the logic_room0_start_scan relay. As a bonus, you can also add Outputs to logic_room0_start_scan and logic_room0_end_scan to enable and disable Combine Shield Walls respectively.
See Also
External Links
- [1] Example VMF that was made in this tutorial.