Shredder: Difference between revisions
m (Category:Portal 2 Level Design and Category:Portal 2 Tutorials are already part of Category:Portal 2) |
|||
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]]. | ||
== | ==Creating Shredders== | ||
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
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:
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:
9. Create a logic_relay with the following settings:
Property Name Value Name shredder1_relay_on
and the following outputs:
10. Create a logic_relay with the following settings:
Property Name Value Name shredder1_relay_off
and the following outputs:
11. Create a func_instance_io_proxy with the following settings:
Property Name Value Name shredder1_proxy
and the following outputs:
12. Trigger OnProxyRelay1 on shredder1_proxy to turn the shredder on and OnProxyRelay2 to turn the shredder off.