Ahora crea dos brushes trigger>use_touch, estos dos brushes serviran de interruptor para activar el elevador. debes colocar uno en el primer nivel y otro en el último y claramente marcado para que el jugador sepa como activar el elevador.
Asignale estos valores:
Key = targetnameValue = switch
Ahora selecciona los brushes de la plataforma y luego los Triggers y conéctalos presionando ¨W¨ (El orden de selección es importante)
Finalmente crea un archivo GSC (elevator.gsc) con este código:
main()
{
level.elevatorDown = true;
level.elevatorMoving = false;
thread elevator_start();
}
elevator_start()
{
elevator = getentarray ("switch","targetname");
if ( isdefined(elevator) )
for (i = 0; i <>
elevator[i] thread elevator_think();
}
elevator_think()
{
while (1)
{
self waittill ("trigger");
if (!level.elevatorMoving)
thread elevator_move();
}
}
elevator_move()
{
elevatormodel = getent ("elevator", "targetname");
level.elevatorMoving = true;
speed = 10;
height =581;
if (level.elevatorDown)
{
elevatormodel playsound ("elevator");
elevatormodel movez (height, speed);
elevatormodel waittill ("movedone");
level.elevatorDown = false;
}
else
{
elevatormodel playsound ("elevator");
elevatormodel movez (height - (height * 2), speed);
elevatormodel waittill ("movedone");
level.elevatorDown = true;
}
level.elevatorMoving = false;
}
Importante:
En el código he destacado un par de líneas en amarillo.
En la línea:
height =581;
¨581¨ Es una cifra en unidades que equivale a la altura a la que se elevará el ascensor, debes aumentar o reducír según tus necesidades.
En la línea:
elevatormodel playsound ("elevator");
¨elevator¨, es el nombre del soundalias que debes crear para que el elevador emita sonido cuando sea activado.
Recuerda añadir esta linea en tu archivo ¨mp_nombredelmapa.gsc¨:
maps\mp\elevator::main();
Y actualizar tu ¨zone File¨