Otro de los nuevos elementos peligrosos que se han introducido en Portal 2 han sido las trituradoras, cuyo único fin es eliminarnos y hacer que comencemos de nuevo. En este tutorial vamos a ver cómo crear trituradoras.
Trituradoras.
Las trituradoras son un elemento letal que para su creación requiere de bastantes pasos, no obstante su resultado es tan inmejorable como letal.
Para crear una trituradora seguimos los siguientes pasos:
- Creamos una entidad de la clase prop_dynamic.
- Editamos sus propiedades y rellenamos lo siguiente:
World Model: models/anim_wp/cursher/crusher.mdl
Name: crusher1
Collision: Not Solid
Hold animation?: Yes
- Creamos un muro con las dimensiones 128x64x192 alrededor del nuevo modelo.
- La transformamos en una entidad con Control+T y le asignamos la clase func_brush.
- Editamos sus propiedades y rellenamos lo siguiente:
Name: crusher1_brush
Parent: crusher1
- La transformamos en una entidad con Control+T y le asignamos la clase trigger_hurt.
- Editamos sus propiedades y rellenamos lo siguiente:
Name: crusher1_trigger_hurt
Parent: crusher1
Damage: 1000
Damage Cap: 1000
Damage Type: CRUSH
- La transformamos en entidad con Control+T y le asignamos la clase trigger_portal_cleanser .
- Editamos sus propiedades y rellenamos lo siguiente:
Name: crusher1_trigger_hurt
Parent: crusher1
Visible: No
- En la pestaña Outputs pulsamos "Add...":
My output named: OnDissolve
Target entities named: (Nombre de la entidad destino)
Via this Input: Trigger
- Creamos una entidad de la clase logic_auto.
- En la pestaña Outputs pulsamos "Add...":
My output named: OnMapSpawn
Target entities named: crusher1_brush
Via this Input: SetParentAttachmentMaintainOffset
Parameter: base_attach
Delay: 0.05
Only Once: Desmarcado
My output named: OnMapSpawn
Target entities named: crusher1_trigger_hurt
Via this Input: SetParentAttachmentMaintainOffset
Parameter: base_attach
Delay: 0.05
Only Once: Desmarcado
- Creamos una entidad de la clase logic_relay. En el parámetro "Name" ponemos "crusher1_logic_relay_crush".
- En la pestaña Outputs pulsamos "Add...":
My output named: OnTrigger
Target entities named: crusher1
Via this Input: SetAnimation
Parameter: smash_in
My output named: OnTrigger
Target entities named: crusher1_trigger_hurt
Via this Input: Enable
My output named: OnTrigger
Target entities named: crusher1_math_counter
Via this Input: SetValue
Parameter: 0
- Creamos una entidad de la clase logic_relay. En el parámetro "Name" ponemos "crusher1_logic_relay_uncrush".
- En la pestaña Outputs pulsamos "Add...":
My output named: OnTrigger
Target entities named: crusher1
Via this Input: SetAnimation
Parameter: smash_out
My output named: OnTrigger
Target entities named: crusher1_trigger_hurt
Via this Input: Disable
My output named: OnTrigger
Target entities named: crusher1_math_counter
Via this Input: SetValue
Parameter: 1
- Creamos una entidad de la clase logic_compare.
- Editamos sus propiedades y rellenamos lo siguiente:
Name: crusher1_logic_compare
Initial Value: 0
Compare Value: 1
- En la pestaña Outputs pulsamos "Add...":
My output named: OnLessThan
Target entities named: crusher1_logic_relay_crush
Via this Input: CancelPending
My output named: OnLessThan
Target entities named: crusher1_logic_relay_crush
Via this Input: Disable
- Creamos una entidad de la clase math_counter.
- Editamos sus propiedades y rellenamos lo siguiente:
Name: crusher1_math_counter
Maximum Legal Value: 1
- En la pestaña Outputs pulsamos "Add...":
My output named: OutValue
Target entities named: crusher1_logic_compare
Via this Input: SetValue
Con esto tendríamos lista la mecánica de la trituradora, ahora como buena práctica vamos a crear una entidad que se encargará de lanzar todos los anteriores. Así evitamos programaciones engorrosas una vez incorporemos varias trituradoras a un mapa.
- Creamos una entidad de la clase func_instance_io_proxy.
- En su atributo "Name" ponemos "crusher1_proxy_crush".
- En la pestaña Outputs pulsamos "Add...":
My output named: OnProxyRelay
Target entities named: crusher1_logic_relay_crush
Via this Input: Trigger
My output named: OnProxyRelay
Target entities named: crusher1_logic_relay_uncrush
Via this Input: Trigger
My output named: OnProxyRelay
Target entities named: crusher1_logic_compare
Via this Input: Compare
Con esto hemos terminado de crear esta entidad. Con esto damos por finalizada la creación de la trituradora. Para incorporarla a un escenario tan sólo es necesario que creemos un elemento que actúe de disparador y dispare los eventos de la entidad crusher1_proxy_crush.
Hay multitud de formas de crear una trituradora, a continuación os dejo un video con otro método de creación:
¿Qué clase de mapas para Portal 2 crearías usando trituradoras?