Ascensores

Create con bloques un ascensor del tipo que quieras, como te guste, pero la verdad, un montacargas queda bastante bien en el juego, una vez diseñado selecciona todos los bloques que componen el ascensor (para agruparlos y no tener que volver a seleccionarlos uno a uno, puedes darle al menu Tools de arriba y ahí a Group, de este modo se quedara como un grupo) dale a tie to entity y ponle como entidad func_elevator, en sus propiedades ponle como nombre elevador.

Fíjate bien en las propiedades del ascensor, si este va a ir para arriba y para abajo, como es lógico, pues deberás definirle estas alturas, para que sepa cuando esta abajo y cuando esta arriba. Estas alturas son Top Floor Position / Bottom Floor Position, así que mueve tu ascensor manualmente para saber las coordenadas de los bloques en esas posiciones y definírselas al ascensor.

Insert an entity prop_dynamic and choose fan blades.

Ahora pon estas otras dos entidades. info_floor_position

Una encima del suelo y otra debajo del suelo, del suelo del ascensor me refiero, a la de arriba llámala top y a la de abajo llámale bottom.

Insert an entity prop_dynamic and choose fan blades.

Ahora pon estas otras dos entidades, un logic_relay de nombre elevator_down_relay y un segundo logic_relay de nombre elevator_top_relay.

Insert an entity prop_dynamic and choose fan blades.

Ahora creamos un botón, podemos usar los modelos del left4dead, para ello, crea un prop_dynamic donde quieras el botón, dale doble clip para abrir sus propiedades y una vez allí en work model seleccionas elevator_buttons.mdl y una vez seleccionado volvemos a las propiedades y donde dice parent, ponemos elevador.

Insert an entity prop_dynamic and choose fan blades.

Insert an entity prop_dynamic and choose fan blades.

Ahora crea dos bloques con la textura nodraw, que harán de los botones de subir y bajar el ascensor, de modo que colócalos donde vas a querer que el jugador de al botón una vez jugando. Estos bloques los tenemos que convertir en entidades func_button, recuerda, con el nodraw no veremos los botones en juego, pero estarán ahí.

Insert an entity prop_dynamic and choose fan blades. Insert an entity prop_dynamic and choose fan blades.

En la pestaña flags dentro de las propiedades del botón, marca en los dos las siguiente casillas Don't Move y Use Activates

Insert an entity prop_dynamic and choose fan blades.

Y en la pestaña class info donde dice parent establece en los dos botones parent = elevator

Ahora ve a las propiedades del boton de Nuevo y en la pestaña outputs dale a new…, crea los siguientes outputs, dependiendo de si es el boton top o el bottom

Boton TOP:
My Output Named: onPressed
Target Entity Named: elevator_down_relay
Via this Output: Trigger

Botón BOTTOM:

My Output Named: onPressed
Target Entity Named: elevator_top_relay
Via this Output: Trigger

Ahora ve al logic_relay que creaste anteriormente y en propiedades, en la pestaña outputs, establece el siguiente output:

elevator_down_relay:

My Output Named: onTrigger
Target Entity Named: elevator
Via this Output: MoveToFloor
With a parameter override: top

elevator_top_relay:

My Output Named: onTrigger
Target Entity Named: elevator
Via this Output: MoveToFloor
With a parameter override: bottom

Bien! Ya tenemos el jodido ascensor de los cojones, es un ascensor básico, pero funciona.