Difference between revisions of "Crusher"

From Valve Developer Community
Jump to: navigation, search
m
m
Line 157: Line 157:
  
 
== External Links ==
 
== External Links ==
* [http://forums.thinkingwithportals.com/downloads.php?view=detail&df_id=1092 Download Crusher Instances (many custom options)] - A crusher instance by [http://forums.thinkingwithportals.com/memberlist.php?mode=viewprofile&u=3264 Skotty] (Site Down)
+
* [http://forums.thinking.withportals.com/downloads.php?view=detail&df_id=1092 Download Crusher Instances (many custom options)] - A crusher instance by [http://forums.thinking.withportals.com/memberlist.php?mode=viewprofile&u=3264 Skotty]
  
 
[[Category:Portal 2 Level Design]]
 
[[Category:Portal 2 Level Design]]
 
[[Category:Portal 2 Tutorials]]
 
[[Category:Portal 2 Tutorials]]

Revision as of 06:32, 6 May 2017

Русский
Crushericon.png

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.

The Crusher panel

Creating Crushers

Note:As an alternate to creating a crusher from scratch, there is an instance available for download here.

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

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
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
Visible No

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnDissolve (your dropper's trigger's name) Trigger 0.00 No

5. Create a logic_auto entity and set up the outputs as follows:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnMapSpawn crusher1_brush SetParentAttachmentMaintainOffset base_attach 0.05 No
Io11.png OnMapSpawn crusher1_trigger_hurt SetParentAttachmentMaintainOffset base_attach 0.05 No

6. Create a logic_relay with the following settings:

Property Name Value
Name crusher1_logic_relay_crush

with the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger crusher1 SetAnimation smash_in 0.00 No
Io11.png OnTrigger crusher1_trigger_hurt Enable 0.00 No
Io11.png OnTrigger crusher1_math_counter SetValue 0 0.00 No

7. Create a logic_relay with the following settings:

Property Name Value
Name crusher1_logic_relay_uncrush

with the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger crusher1 SetAnimation smash_out 0.00 No
Io11.png OnTrigger crusher1_trigger_hurt Disable 0.00 No
Io11.png OnTrigger crusher1_math_counter SetValue 1 0.00 No

8. 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:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnLessThan crusher1_logic_relay_crush CancelPending 0.00 No
Io11.png OnLessThan crusher1_logic_relay_crush Disable 0.00 No

9. Create a math_counter with the following settings:

Property Name Value
Name crusher1_math_counter
Maximum Legal Value 1

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OutValue crusher1_logic_compare SetValue 0.00 No

10. 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:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnProxyRelay crusher1_logic_relay_crush Trigger 0.00 No
Io11.png OnProxyRelay crusher1_logic_relay_uncrush Trigger 0.00 No
Io11.png OnProxyRelay crusher1_logic_compare Compare 0.00 No

11. 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.

External Links