Shredder: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
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