Crusher: Difference between revisions
Sad+Lonely (talk | contribs) |
(Use comma attachment syntax) |
||
Line 27: | Line 27: | ||
| Name || crusher1_brush | | Name || crusher1_brush | ||
|- | |- | ||
| Parent || crusher1 | | Parent || crusher1,base_attach | ||
|} | |} | ||
{{note|Hammer will indicate that the parent keyvalue is invalid, because of the extra <code>,base_attach</code>. Ignore it, it will work fine in-game. This is needed to make the brush follow the crusher's animation.}} | |||
3. Create a <code>200x112x192</code> block brush around the previous brush. Tie it to a [[trigger_hurt]] entity with the following settings: | 3. Create a <code>200x112x192</code> block brush around the previous brush. Tie it to a [[trigger_hurt]] entity with the following settings: | ||
::{| class=standard-table | ::{| class=standard-table | ||
Line 35: | Line 36: | ||
| Name || crusher1_trigger_hurt | | Name || crusher1_trigger_hurt | ||
|- | |- | ||
| Parent || crusher1 | | Parent || crusher1,base_attach | ||
|- | |- | ||
| Damage || 1000 | | Damage || 1000 | ||
Line 49: | Line 50: | ||
| Name || crusher1_trigger_hurt | | Name || crusher1_trigger_hurt | ||
|- | |- | ||
| Parent || crusher1 | | Parent || crusher1,base_attach | ||
|- | |- | ||
| Visible || No | | Visible || No | ||
Line 60: | Line 61: | ||
|} | |} | ||
5 | 5. Create a [[logic_relay]] with the following settings: | ||
::{| class=standard-table | ::{| class=standard-table | ||
! Property Name || Value | ! Property Name || Value | ||
Line 86: | Line 78: | ||
|} | |} | ||
6. Create a [[logic_relay]] with the following settings: | |||
::{| class=standard-table | ::{| class=standard-table | ||
! Property Name || Value | ! Property Name || Value | ||
Line 103: | Line 95: | ||
|} | |} | ||
7. Create a [[logic_compare]] with the following settings: | |||
::{| class=standard-table | ::{| class=standard-table | ||
! Property Name || Value | ! Property Name || Value | ||
Line 122: | Line 114: | ||
|} | |} | ||
8. Create a [[math_counter]] with the following settings: | |||
::{| class=standard-table | ::{| class=standard-table | ||
! Property Name || Value | ! Property Name || Value | ||
Line 137: | Line 129: | ||
|} | |} | ||
9. In order to allow the firing of outputs for entities in a [[func_instance]] you'll have to create a [[func_instance_io_proxy]] entity with the following settings: | |||
::{| class=standard-table | ::{| class=standard-table | ||
! Property Name || Value | ! Property Name || Value | ||
Line 154: | Line 146: | ||
|} | |} | ||
10. Set up triggers to open or close the crusher by triggering the proxy relays on '''crusher1_proxy_crush'''. Use '''crusher1_logic_compare''' to get the state of the crusher. | |||
Or if you're feeling lazy just copy the file from "Instances" to "Prefabs" and add your trigger in the once you load the prefab and un-group it | Or if you're feeling lazy just copy the file from "Instances" to "Prefabs" and add your trigger in the once you load the prefab and un-group it |
Revision as of 13:27, 7 August 2020
In Portal 2, Crushers are Panels with spikes. Like panels, they are attached to robotic arms. However, directly behind the robotic arm is a massive piston which drives the crusher.
Creating Crushers

1. Create a prop_dynamic entity with the following settings:
Property Name Value World Model models/anim_wp/cursher/crusher.mdl Name crusher1 Collision Not Solid Hold animation? Yes
2. Create a 128x64x192
block brush around the spikes on the model. Tie it to a func_brush entity with the following settings:
Property Name Value Name crusher1_brush Parent crusher1,base_attach

,base_attach
. Ignore it, it will work fine in-game. This is needed to make the brush follow the crusher's animation.3. Create a 200x112x192
block brush around the previous brush. Tie it to a trigger_hurt entity with the following settings:
Property Name Value Name crusher1_trigger_hurt Parent crusher1,base_attach Damage 1000 Damage Cap 1000 Damage Type CRUSH
4. Create a 200x96x192
block brush around the trigger_hurt brush. Tie it to a trigger_portal_cleanser entity with the following settings:
Property Name Value Name crusher1_trigger_hurt Parent crusher1,base_attach Visible No
and the following outputs:
5. Create a logic_relay with the following settings:
Property Name Value Name crusher1_logic_relay_crush
with the following outputs:
6. Create a logic_relay with the following settings:
Property Name Value Name crusher1_logic_relay_uncrush
with the following outputs:
7. Create a logic_compare with the following settings:
Property Name Value Name crusher1_logic_compare Initial Value 0 Compare Value 1
and the following outputs:
8. Create a math_counter with the following settings:
Property Name Value Name crusher1_math_counter Maximum Legal Value 1
and the following outputs:
9. In order to allow the firing of outputs for entities in a func_instance you'll have to create a func_instance_io_proxy entity with the following settings:
Property Name Value Name crusher1_proxy_crush
and the following outputs:
10. Set up triggers to open or close the crusher by triggering the proxy relays on crusher1_proxy_crush. Use crusher1_logic_compare to get the state of the crusher.
Or if you're feeling lazy just copy the file from "Instances" to "Prefabs" and add your trigger in the once you load the prefab and un-group it
External Links
- Download Crusher Instances (many custom options) - A crusher instance by Skotty