MovingPlat



Esta entidad se utiliza para definir ascensores o plataformas móviles que se activan al paso del jugador, de personajes Bot o incluso por el impacto de proyectiles de armas.

También se puede usar para definir bloques que se muevan independientemente de lo que realice el jugador.



Parámetros de esta entidad:


  • CommandsFile
  • Introduciremos el nombre del fichero de comandos .ini que contiene los comandos que deseamos procesar cuando el jugador pise la plataforma. Si este fichero .ini contiene alguna condición 'IF', el resultado de la primera condición que se encuentre en el fichero .ini se tomará para decidir mover o no la plataforma.

    Si sólo quieres que la plataforma se mueva al pisarla el jugador y no quieres asociar ficheros de comandos, deja en blanco la casilla de este parámetro y a 'True' el parámetro JugadorMueve.



  • Repetir_comandos_zona
  • Consulta este parámetro en la entidad Door. El funcionamiento es el mismo.



  • JugadorMueve
  • Con valor 'True', el jugador podrá mover la plataforma, aunque si has definido un fichero de comandos .ini en el parámetro CommandsFile, se deberá cumplir la primera condición del fichero .ini para que el jugador finalmente mueva la plataforma.

    Con valor 'False', el jugador no podrá mover la plataforma.



  • Model
  • Selecciona aquí el 'model' que representa la plataforma.

    Recuerda que estos 'models' son los que tenemos definidos en la siguiente pestaña de 'World Editor'.

    Es imprescindible que este parámetro no se quede 'null', de lo contrario tu juego dejará de funcionar de forma brusca.




  • EnemigoMueve
  • Con valor 'True', la plataforma la podrá mover un Bot enemigo (o personaje definido con una entidad 'BotActorStart').

    Con valor 'False', la plataforma no la podrá mover un Bot enemigo (o personaje definido con una entidad 'BotActorStart').



  • CommandsFileE
  • Introduciremos el nombre del fichero de comandos .ini que contiene los comandos que deseamos procesar cuando un Bot enemigo (o personaje definido con una entidad 'BotActorStart') pise la plataforma.

    Para que se comience a procesar este fichero .ini, el parámetro 'EnemigoMueve' debe estar a 'True'.

    Si este fichero .ini contiene alguna condición 'IF COND', el resultado de la primera condición que se encuentre en el fichero .ini se tomará para decidir mover la plataforma o no.

    Si sólo quieres que la plataforma se mueva sin más y no quieres asociar ficheros de comandos, deja en blanco la casilla de este parámetro y a 'True' el parámetro 'EnemigoMueve'.

    Si quieres que la plataforma se mueva con las mismas condiciones que el jugador, indica el mismo fichero .ini en los parámetros 'CommandsFileE' y 'CommandsFile' , y pon a 'True' el parámetro 'EnemigoMueve'.

    Ten en cuenta que si un Bot mueve una plataforma que debería estar inmóvil para el jugador hasta que éste complete alguna misión, puede alterar el normal desarrollo de los acontecimientos de tu juego.



  • MoverPorImpacto
  • Con valor 'True', la plataforma se podrá mover si el jugador dispara sobre ella.

    Con valor 'False', la plataforma no se podrá mover si el jugador dispara sobre ella.



  • CommandsFile2
  • Introduciremos el nombre del fichero de comandos .ini que contiene los comandos que deseamos procesar cuando el jugador dispare sobre la plataforma.

    Para que se comience a procesar este fichero .ini, el parámetro 'MoverPorImpacto' debe estar a 'True'.

    Si este fichero .ini contiene alguna condición 'IF COND', el resultado de la primera condición que se encuentre en el fichero .ini se tomará para decidir mover la plataforma o no.

    Sólo funciona con las armas del jugador, no con las armas de los enemigos.

    Puedes averiguar el tipo de proyectil que ha impactado si consultas la variable del sistema PROYECTIL_IMPACTA_MODEL.



  • Origin
  • Son tres cifras (X Y Z) que determinan la posición de esta entidad en el escenario. Estos 3 datos normalmente no se modifican aquí y se deja que se modifiquen según movemos esta entidad (con el ratón) desde 'World Editor'.



  • Boton_accion
  • Con valor 'True', los comandos contenidos en el fichero especificado en 'CommandsFile' se procesarán si el jugador pisa la plataforma y al mismo tiempo pulsa el botón o tecla 'Acción'.

    Con valor 'False', sólo será necesario que el jugador pise la plataforma para procesar los comandos que contiene el fichero .ini que hemos especificado en 'CommandsFile'.



  • Boton_Accion_indicador
  • Consulta este parámetro en la entidad Door. El funcionamiento es el mismo.



  • Ciclico
  • Con valor 'True', la plataforma se moverá continuamente.

    Con valor 'False', la plataforma realizará su recorrido previsto y luego se detendrá.



  • En_movimiento
  • Con valor 'True' la plataforma se moverá desde que dé comienzo el nivel.

    Con valor 'False' la plataforma no comenzará a moverse al dar comienzo el nivel.



  • Evento_con_movimiento
  • Con valor 'False' no se tendrán en cuenta las colisiones del jugador, Bots o proyectiles de armas sobre la plataforma hasta que la animación de la plataforma se haya detenido por completo.

    Con valor 'True' se procesarán todas las colisiones independientemente si la plataforma está en movimiento o no.

    Si se procesan las colisiones se lanzarán los ficheros de comandos asociados a dichas colisiones, es decir, los ficheros indicados en los parámetros 'CommandsFile...' para accionar o no la plataforma.


    Para una plataforma normal es conveniente establecer este valor a 'False', ya que no nos interesa volver a procesar los mismos comandos una y otra vez si el jugador sigue pisando la plataforma que se está desplazando.

    Pero ponlo a 'True' si te interesa procesar comandos mientras el jugador sigue pisando este 'model' de plataforma en movimiento. Por ejemplo para restarle salud mientras siga subido a una plataforma radiactiva.


    Estas colisiones sólo son a nivel de detección de eventos, no tienen nada que ver con las colisiones que se procesan para no dejar pasar al jugador, Bots o proyectiles a través de bloques 'model' sólidos. Esas colisiones seguirán funcionando igual, independientemente del estado del parámetro 'Evento_con_movimiento'.



  • Sonidos_plataforma
  • Con valor 'True' la plataforma hará un sonido al accionarse y otro diferente si no se puede accionar. Estos sonidos son: 'wav/ascensor_on.wav' y 'wav/ascensor_off.wav'

    Con valor 'False' la plataforma no hará ningún sonido de forma automática, pero puedes usar los parámetros que permiten asignar ficheros de comandos .ini que contengan comandos SONI para reproducir los sonidos que quieras para la plataforma y bajo las condiciones que desees.




    A parte de poder usar esta entidad como plataformas móviles, también se pueden usar para:


    - Plantear al jugador fases de habilidad donde tenga que actuar rápido y con inteligencia para sortear bloques que le arrastren a zonas con lava.

    - Mover bloques tras los cuales se esconden objetos, enemigos o zonas secretas del nivel.



    Un consejo importante:

    Si tienes una plataforma que se mueve horizontalmente y quieres que al subirse el jugador en ella lo transporte, no realices una plataforma plana como esta:



    ... sino como esta:




    - Consulta la sección 'Abriendo puertas' para ver ejemplos de como usar la entidad 'Door' que funcionalmente es idéntica a 'MovingPlat'.


    - Usa el comando PLATAFORMA_ANIM para controlar las animaciones de estos bloques plataforma durante el transcurso de tu juego sin necesidad de que algo o alguien colisione con la plataforma para activarla o desactivarla.


    - Para evitar repeticiones muy seguidas en el procesamiento de los ficheros de comandos, esta entidad activa automáticamente un pequeño retardo antes de poder volver a actuar.


    - No intentes crear plataformas móviles con bloques 'brush' de tipo lava para que el jugador sufra daños al pisarlas; no funcionará bien. En su lugar asigna un fichero de comandos al parámetro 'CommandsFile' que contenga el comando QSAL que resta salud al jugador. También puedes usar este parámetro para crear plataformas móviles que realicen todo tipo de acciones (según los comandos que uses) cuando el jugador las pise, estén las plataformas en movimiento o no.