Crear un Ascensor Imprimir

Tutorial creado por Marta

Una forma muy práctica de ahorrar espacio y tiempo a la hora de jugar, es la creación de ascensores para acceder a diferentes niveles de nuestro mapa, incorporando sonido para hacerlo lo más realista posible.

Lo primero que debemos hacer es crear un ascensor, es decir, la caja o plataforma que va a moverse. Una vez lo tengamos creado, seleccionaremos todos y cada uno de los brushes que lo compongan y en la vista 2D hacemos clic con el botón derecho – script – brushmodel.

 

Después entramos al menú Entity pulsando la tecla N y configuramos los valores de esta forma:

Key: targetname

Value: elevatormodel

Ahora añadiremos un brush a la altura adecuada para que el jugador pueda activar el ascensor. Una vez creado, en la vista 2D hacemos clic con el botón derecho y activamos la opción trigger – use. Después pulsamos N para configurar los valores key como targetname y value como elevatorswitch. Luego, nos iremos al lugar superior en el que el ascensor se detiene, y colocaremos otro brush y repetiremos la misma acción, pero el valor del targetname será elevatorswitch.

 

Hecho esto podemos guardar y cerrar el Radiant. Lo siguiente será crear un archivo al que llamaremos elevador.gsc (o el nombre que queramos). Dentro, pegaremos el siguiente código:

 

main() {

level.elevatorDown = true; // elevator starts at bottom: true/false

level.elevatorMoving = false; // elevator is not currently moving

thread elevator_start();

}

elevator_start() {

elevator = getentarray ("elevatorswitch","targetname");

if ( isdefined(elevator) )

for (i = 0; i < elevator.size; i++)

elevator[i] thread elevator_think();

elevator = getentarray ("elevatorswitch2","targetname");

if ( isdefined(elevator) )

for (i = 0; i < elevator.size; i++)

elevator[i] thread elevator_think();

}

elevator_think() {

while (1) {

self waittill ("trigger");

if (!level.elevatorMoving)

thread elevator_move();

}

}

elevator_move() {

elevatormodel = getent ("elevatormodel", "targetname");

level.elevatorMoving = true;

speed = 2;

height = 250;

wait (1);

if (level.elevatorDown) { // moves to top

elevatormodel playsound ("elevator1"); // sound definition for soundaliases.csv

wait (1); // wait a second to hear the motor start and then start the movement of the lift - feels more realistic

elevatormodel moveZ (height, speed);

elevatormodel waittill ("movedone");

level.elevatorDown = false;

}

else { // moves to bottom

elevatormodel playsound ("elevator1"); // sound definition for soundaliases.csv

wait (1);  // wait a second to hear the motor start and then start the movement of the lift - feels more realistic

elevatormodel moveZ (height - (height * 2), speed);

elevatormodel waittill ("movedone");

level.elevatorDown = true;

}

level.elevatorMoving = false;

}

Hay que tener en cuenta la altura a la que sube el ascensor; para ello creamos un brush que vaya desde el suelo hasta la planta superior, y en la vista 2D nos fijamos en la altura que tiene dicho brush. Una vez tengamos ese dato hay que modificar esta línea:

height = 250;

Para el sonido, debemos crear un archivo csv en la carpeta soundaliases, pero hay que tener en cuenta que desde el CompileTools no se reproduce este efecto, así que para probarlo deberemos empaquetar el mapa y probarlo desde un servidor (ver tutorial “Empaquetar Mapa”). Por lo tanto, sugerimos probar el efecto del ascensor una vez finalizado el mapa, para que sea una tarea menos tediosa. Por lo tanto, en el archivo csv añadimos lo siguiente:

name,sequence,file,vol_min,vol_max,pitch_min,pitch_max,dist_min,dist_max,channel,type,

probability,loop,masterslave,loadspec,subtitle

null,,null.wav,,,,,,,,,,,,,

# Personal Sounddefinitions,,,,,,,,,,,,,,,

elevator1,,misc/elevator_med.wav,,,,,,,auto,,,,,,

La primera parte del texto (las lineas en verde) no hay que editarla, simplemente copiarla en una sola línea, y hay que prestar atención a la tercera parte, donde dice misc/elevator_med.wav, ya que esa es la ruta del archivo de sonido. Por ello, debemos crear dentro de la carpeta sound una subcarpeta llamada misc y dentro colocar el archivo de sonido. El archivo lo guardamos con el nombre que queramos y listo; ya tenemos nuestro ascensor terminado.

 

 

Ir Arriba