Difference between revisions of "Shredder"

From Valve Developer Community
Jump to: navigation, search
(Creation)
Line 2: Line 2:
 
'''Shredders''' are spinning blades in [[Portal 2]] that destroy objects and players dropped into them. They function just like [[pit (Portal 2)|pits]] and [[slime]], but are [[Factory (Portal 2 theme)|factory themed]].
 
'''Shredders''' are spinning blades in [[Portal 2]] that destroy objects and players dropped into them. They function just like [[pit (Portal 2)|pits]] and [[slime]], but are [[Factory (Portal 2 theme)|factory themed]].
  
==Creation==
+
==Creating Shredders==
See [[mp_coop_tbeam_catch_grind_1]].
+
1. Create a long, thin brush. Tie it to a [[func_rotating]] entity with the following settings:
 +
 
 +
::{| class=standard-table
 +
!  Property Name || Value
 +
|-
 +
| Name || shredder1_left_axle
 +
|-
 +
| Blocking Damage || 500
 +
|}
 +
 
 +
2. Create another long, thin brush. Tie it to a [[func_rotating]] entity with the following settings:
 +
 
 +
::{| class=standard-table
 +
!  Property Name || Value
 +
|-
 +
| Name || shredder1_right_axle
 +
|-
 +
| Blocking Damage || 500
 +
|}
 +
 
 +
3. Create a [[prop_dynamic_override]] entity with the following settings:
 +
::{| class=standard-table
 +
!  Property Name || Value
 +
|-
 +
| Name || shredder1_left
 +
|-
 +
| Parent || shredder1_left_axle
 +
|-
 +
| World Model || models/props_gameplay/shredder_left_b.mdl
 +
|}
 +
 
 +
 
 +
4. Create a [[prop_dynamic_override]] entity with the following settings:
 +
::{| class=standard-table
 +
!  Property Name || Value
 +
|-
 +
| Name || shredder1_right
 +
|-
 +
| Parent || shredder1_right_axle
 +
|-
 +
| World Model || models/props_gameplay/shredder_right_b.mdl
 +
|}
 +
 
 +
5. Position the props so that the teeth interlock and the brush entities are in the center of their respective props.
 +
 
 +
6. Create a <code>256x1024x128</code> brush where things would fall into it. Tie the brush to a [[trigger_hurt]] entity with the following settings:
 +
::{| class=standard-table
 +
!  Property Name || Value
 +
|-
 +
| Name || shredder1_trigger_hurt
 +
|-
 +
| Damage || 500
 +
|-
 +
| Damage Cap || 500
 +
|-
 +
| Damage Type || CRUSH
 +
|}
 +
 
 +
7. Create a brush in front of that brush and tie it to a [[trigger_multiple]] entity with the following settings:
 +
::{| class=standard-table
 +
!  Property Name || Value
 +
|-
 +
| Name || shredder1_dissolver
 +
|-
 +
| Delay Before Reset || 5
 +
|}
 +
and the following outputs:
 +
::{| class=standard-table
 +
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || !activator || Dissolves || || 0.00 || No
 +
|}
 +
 
 +
8. Create ''another'' brush in front of that brush and tie it to a [[trigger_multiple]] entity with the following settings:
 +
::{| class=standard-table
 +
!  Property Name || Value
 +
|-
 +
| Name || shredder1_destructor
 +
|-
 +
| Delay Before Reset || 5
 +
|}
 +
and the following outputs:
 +
::{| class=standard-table
 +
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || !activator || SelfDestructImmediately || || 0.00 || No
 +
|}
 +
 
 +
9. Create a [[logic_relay]] with the following settings:
 +
::{| class=standard-table
 +
!  Property Name || Value
 +
|-
 +
| Name || shredder1_relay_on
 +
|}
 +
and the following outputs:
 +
::{| class=standard-table
 +
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || shredder1_trigger_hurt || Enable || || 0.00 || No
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || shredder1_dissolver || Enable || || 0.00 || No
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || shredder1_destructor || Enable || || 0.00 || No
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || shredder1_axle_left || StartForward || || 0.00 || No
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || shredder1_axle_right || StartForward || || 0.25 || No
 +
|}
 +
10. Create a [[logic_relay]] with the following settings:
 +
::{| class=standard-table
 +
!  Property Name || Value
 +
|-
 +
| Name || shredder1_relay_off
 +
|}
 +
and the following outputs:
 +
::{| class=standard-table
 +
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || shredder1_trigger_hurt || Disable || || 0.25 || No
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || shredder1_dissolver || Disable || || 0.00 || No
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || shredder1_destructor || Disable || || 0.00 || No
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || shredder1_axle_left || Stop || || 0.00 || No
 +
|-
 +
| [[Image:Io11.png]] || OnTrigger || shredder1_axle_right || Stop || || 0.25 || No
 +
|}
 +
11. Create a [[func_instance_io_proxy]] with the following settings:
 +
::{| class=standard-table
 +
!  Property Name || Value
 +
|-
 +
| Name || shredder1_proxy
 +
|}
 +
and the following outputs:
 +
::{| class=standard-table
 +
!  || My Output || Target Entity || Target Input || Parameter || Delay || Only Once
 +
|-
 +
| [[Image:Io11.png]] || OnProxyRelay1 || shredder1_relay_on || Trigger || || 0.00 || No
 +
|-
 +
| [[Image:Io11.png]] || OnProxyRelay2 || shredder1_relay_off || Trigger || || 0.00 || No
 +
|}
 +
12. Trigger OnProxyRelay1 on shredder1_proxy to turn the shredder on and OnProxyRelay2 to turn the shredder off.
  
 
== See also ==
 
== See also ==

Revision as of 17:21, 30 April 2011

Spinnybladesicon.png

Shredders are spinning blades in Portal 2 that destroy objects and players dropped into them. They function just like pits and slime, but are factory themed.

Creating Shredders

1. Create a long, thin brush. Tie it to a func_rotating entity with the following settings:

Property Name Value
Name shredder1_left_axle
Blocking Damage 500

2. Create another long, thin brush. Tie it to a func_rotating entity with the following settings:

Property Name Value
Name shredder1_right_axle
Blocking Damage 500

3. Create a prop_dynamic_override entity with the following settings:

Property Name Value
Name shredder1_left
Parent shredder1_left_axle
World Model models/props_gameplay/shredder_left_b.mdl


4. Create a prop_dynamic_override entity with the following settings:

Property Name Value
Name shredder1_right
Parent shredder1_right_axle
World Model models/props_gameplay/shredder_right_b.mdl

5. Position the props so that the teeth interlock and the brush entities are in the center of their respective props.

6. Create a 256x1024x128 brush where things would fall into it. Tie the brush to a trigger_hurt entity with the following settings:

Property Name Value
Name shredder1_trigger_hurt
Damage 500
Damage Cap 500
Damage Type CRUSH

7. Create a brush in front of that brush and tie it to a trigger_multiple entity with the following settings:

Property Name Value
Name shredder1_dissolver
Delay Before Reset 5

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger !activator Dissolves 0.00 No

8. Create another brush in front of that brush and tie it to a trigger_multiple entity with the following settings:

Property Name Value
Name shredder1_destructor
Delay Before Reset 5

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger !activator SelfDestructImmediately 0.00 No

9. Create a logic_relay with the following settings:

Property Name Value
Name shredder1_relay_on

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger shredder1_trigger_hurt Enable 0.00 No
Io11.png OnTrigger shredder1_dissolver Enable 0.00 No
Io11.png OnTrigger shredder1_destructor Enable 0.00 No
Io11.png OnTrigger shredder1_axle_left StartForward 0.00 No
Io11.png OnTrigger shredder1_axle_right StartForward 0.25 No

10. Create a logic_relay with the following settings:

Property Name Value
Name shredder1_relay_off

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnTrigger shredder1_trigger_hurt Disable 0.25 No
Io11.png OnTrigger shredder1_dissolver Disable 0.00 No
Io11.png OnTrigger shredder1_destructor Disable 0.00 No
Io11.png OnTrigger shredder1_axle_left Stop 0.00 No
Io11.png OnTrigger shredder1_axle_right Stop 0.25 No

11. Create a func_instance_io_proxy with the following settings:

Property Name Value
Name shredder1_proxy

and the following outputs:

My Output Target Entity Target Input Parameter Delay Only Once
Io11.png OnProxyRelay1 shredder1_relay_on Trigger 0.00 No
Io11.png OnProxyRelay2 shredder1_relay_off Trigger 0.00 No

12. Trigger OnProxyRelay1 on shredder1_proxy to turn the shredder on and OnProxyRelay2 to turn the shredder off.

See also