Comando PERS:
Cambiando de aspecto:
Durante el transcurso del juego nos puede interesar cambiar el personaje protagonista por diversas razones,
por ejemplo porque el personaje se transforma en un hombre lobo, o cambia de forma, etc... el caso es que
en pleno juego queremos cambiar el fichero .act que se establece como personaje protagonista.
Para empezar tendremos que tener en la carpeta 'Actors' un fichero llamado 'player2.act' que será el
fichero .act que representará al protagonista en ese segundo papel. Para que el protagonista
se transforme en el momento que nos interesa del transcurso de nuestro juego, evidentemente
tendremos que hacerlo con un comando de 'Entidad 3D' de la siguiente forma:
ACCI PERS 2
Este comando lo tendremos que asociár a alguna condición, en el interior de
un fichero .ini y asociado a una entidad.
Por ejemplo: Queremos hacer que nuestro protagonista se transforme en un lobo cuando
entre en una habitación por una puerta en concreto, y que cuando salga de esa habitación se
vuelva a transformar en un hombre.
Suponemos que tenemos los ficheros 'hombre.act' y 'lobo.act', los copiamos a la carpeta 'Actors' pero
cambiándoles el nombre:
hombre.act --> player1.act
lobo.act --> player2.act
Ahora vamos a añadir a nuestro escenario una entidad 'Command' justo en la posición de la entrada de
la puerta, editamos sus propiedades y en el parámetro 'CommandsFile' ponemos por ejemplo 'transforma.ini'.
Luego creamos un fichero llamado de la misma forma 'transforma.ini' en la carpeta 'comandos' y lo
rellenamos con lo siguiente:
IF COND aspecto=0
ACCI PONE aspecto=1
ACCI PERS 2
ELSE
ACCI PONE aspecto=0
ACCI PERS 1
ENDIF
¿ Cómo funciona esto ?. La entidad 'Command' se utiliza cuando nos interesa procesar comandos cuando en
jugador simplemente pasa por la posición donde hemos colocado esta entidad. Pues bien, partimos de que
la variable 'aspecto', que nos hemos inventado, vale 0 cuando comienza nuestro juego. La primera vez
que el jugado pase por nuestro punto, la entrada de la puerta, como la variable 'aspecto' vale 0 pues la
condición se cumple y se procesan 'ACCI PONE aspecto=1' y 'ACCI PERS 2', con lo que nuestro personaje cambiará
de aspecto debido al comando 'PERS 2', miestras que ponemos la variable 'aspecto' a 1 para que la proóxima
vez que el jugador pase por ese punto la condición no se cumpla y de esa forma se procese lo que hay detrás
de 'ELSE', 'ACCI PONE aspecto=0' y 'ACCI PERS 1'. Con 'PERS 1' hacemos que el protagonista vuelva a su aspecto
anterior, mientras que con 'PONE aspecto=0' hacemos que el ciclo se vuelva a repetir indefinidamente.