Confiscation Field: Difference between revisions
m (→Step 2: Changed "hole's" to "holes") |
Thunder4ik (talk | contribs) m (Unicodifying, replaced: [[Image: → [[File: (32), See Also → See also) |
||
| Line 378: | Line 378: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnChargingPhyscannon || logic_weapon_strip_physcannon_start || Trigger || <none> || 0.00 || No | ||
|} | |} | ||
| Line 386: | Line 386: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_motion_disable_player || Enable || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || logic_weapon_strip_announce || Trigger || <none> || 2.00 || No | ||
|} | |} | ||
| Line 396: | Line 396: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_emitterfx || Stop || 4 || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_emitterlight || TurnOff || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weapon_strip || Disable || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || strip_stop || Trigger || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_emitterspark || StartSpark || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || ambient_weaponstrip_loop || StopSound || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || logic_room0_end_scan || Trigger || <none> || 2.00 || No | ||
|} | |} | ||
| Line 416: | Line 416: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_sound_announce || PlaySound || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || logic_weapon_strip_strip || Trigger || <none> || 5.00 || No | ||
|} | |} | ||
| Line 426: | Line 426: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_emitterfx || StartCharge || 4.0 || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_motion_disable || Enable || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_sound_charge_start || PlaySound || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_sound_charge_loop || PlaySound || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weapon_strip || Enable || <none> || 4.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || logic_weapon_strip_dissolve || Trigger || <none> || 6.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_emitterlight || TurnOn || <none> || 6.00 || No | ||
|} | |} | ||
| Line 446: | Line 446: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weapon_dissolve || Enable || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_sound_dissolve_start || PlaySound || <none> || 0.00 || No | ||
|} | |} | ||
| Line 456: | Line 456: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_emitterspark || StartSpark || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_sound_error || PlaySound || <none> || 1.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || logic_weapon_strip_physcannon_end || Trigger || <none> || 4.00 || No | ||
|} | |} | ||
| Line 468: | Line 468: | ||
! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ! || My Output || Target Entity || Target Input || Parameter || Delay || Only Once | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weapon_dissolve || Disable || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weapon_strip || Disable || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_motion_disable || Disable || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_sound_charge_loop || StopSound || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weapon_dissolve || StopSound || <none> || 0.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || strip_stop || Trigger || <none> || 1.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_motion_disable_player || Disable || <none> || 1.00 || No | ||
|- | |- | ||
| [[ | | [[File:Io11.png]] || OnTrigger || weaponstrip_sound_security || PlaySound || <none> || 4.00 || No | ||
|} | |} | ||
| Line 488: | Line 488: | ||
Once that is set up, to simply start the confiscation field, set up a [[trigger once|trigger_once]] to trigger the <code>logic_room0_start_scan</code> relay. As a bonus, you can also add Outputs to <code>logic_room0_start_scan</code> and <code>logic_room0_end_scan</code> to enable and disable Combine Shield Walls respectively. | Once that is set up, to simply start the confiscation field, set up a [[trigger once|trigger_once]] to trigger the <code>logic_room0_start_scan</code> relay. As a bonus, you can also add Outputs to <code>logic_room0_start_scan</code> and <code>logic_room0_end_scan</code> to enable and disable Combine Shield Walls respectively. | ||
== See | == See also == | ||
* [[Half-Life 2 Level Creation|Half-Life 2 Level Creation]] | * [[Half-Life 2 Level Creation|Half-Life 2 Level Creation]] | ||
Latest revision as of 08:33, 8 January 2024
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 holes 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_dissolve
| Property Name | Value |
|---|---|
| Name | weapon_dissolve |
| Start Disabled | Yes |
| Filter Name | filter_weapon_strip_weapons |
| Emitter Name | weaponstrip_emitter |
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.