NGLE Manual

 

Manual del NGLE

Eventos Temporizados usando en el Script el comando Organizer=

Por Cook
Traducido por Pemon

Cuando quieres configurar el que ocurran una serie de eventos temporizados en tu nivel, puedes usar en el script el comando Organizer=.

He colocado en mi nivel el objeto WATERSKIN1_1.

Este es un objeto que no puede recoger Lara así que voy a falsearlo de la siguiente manera.
Cuando Lara esté en el sector realizará la animación de recoger, el objeto WATERSKIN1_1 desaparecerá y será añadido al inventario.

Necesito usar el comando Organizer= como quiero retrasar la desaparición del objeto WATERSKIN1_1 de forma que desaparezca en el momento justo de la animación de Lara. Muchos de los nuevos triggers del NGLE usan el campo Timer de la ventana del Trigger Type para otras cosas, así que no puede ser usado. Para estos casos hay un nuevo tipo de trigger en el TIMER_FIELD del NGLE pero aquí voy a usar el  Organizer.

El comando Organizer= solo activa TriggerGroups en el script así que necesito exportar mis triggers como script triggers. Como exportar
script triggers es explicado en este tutorial.

Aquí están los triggers del NGLE que he exportado como script triggers.

Y aquí están los TriggerGroups que he definido en el script en el NGCenter.

Nota: Tu script trigger para hacer invisible el objeto WATERSKIN1_1 quizás sea diferente. Este objeto en mi nivel del NGLE era el número de index 4. Esto corresponde al 4 en el script trigger.

Añade el comando Organizer= en la parte de la sección [Level] del script y después del signo "=" pon el número, seguido de la coma "," Debes usar un número que no se repita para cada comando Organizer= en la misma sección del [Level].

Seguidamente debes poner un valor en el flag para el Organizer. Los valores de un flag para el comando cambia la forma de cómo se comporta, notarás que los valores de un flag empiezan por "F". Para un Organizer las opciones son FO_ENABLED, FO_LOOP y FO_TICK_TIME. Si no deseas que cambie el comportamiento del Organizer entonces debes poner IGNORE.

Si quieres usar más de un flag debes escribir el primero, después un signo más "+" luego el siguiente y así sucesivamente para los otros flags que quieras. Por ejemplo FO_LOOP+FO_TICK_TIME. Esto une los flags a un solo valor.

FO_ENABLED activará el Organizer cuando comience el nivel.
FO_LOOP hará que el Organizer se repita una y otra vez cuando sea activado.
FO_TICK_TIME es el flag que usarás si deseas más precisión en los eventos temporizados. Tick time es igual (1/30 segundos)  que corresponde a un frame (diapositiva) del juego.

El este caso el único flag que voy a usar es FO_TICK TIME ya que después de haber estudiado la animación de recoger, quiero que el objeto WATERSKIN1_1 desaparezca después de 19 frames. Seguidamente escribo FO_TICK_TIME y luego pongo la coma "," para separarlo del siguiente valor. Puedes usar tiempos decimales de (0.5) si usas segundos como unidades de tiempo, pero solo números enteros si usas  FO_TICK_TIME
.

Seguidamente escribe IGNORE y una coma ",". De momento no hay más selecciones para este valor.

Ahora el procedimiento es: escribe un incremento de tiempo, una coma ",", el número del TriggerGroup que quieres activar en este momento, una coma"," , el siguiente incremento de tiempo, una coma ",", el número del TriggerGroup que quieres activar en este momento y así sucesivamente hasta completar tu secuencia.

Quiero forzar la animación de Lara de recoger, al mismo tiempo que el Organizer es activado así que introduzco el "0" para el incremento de tiempo y "1" para el número del TriggerGroup
.

19 * 1/30 segundos después de que el TriggerGroup 1 sea activado quiero que el objeto WATERSKIN1_1 desaparezca y sea añadido al inventario así que pongo "19" para el incremento de tiempo y "2" para el número del TriggerGroup.

La secuencia está completada. Compila (Build) el script. Aquí está separado el Organizer en más de una línea y comentado.

Ahora necesito activar (enable) de Organizer.

En el NGLE coloco un trigger FLIPEFFECT debajo del objeto WATERSKIN1_1 para activar el Organizer 1. Es un trigger tipo PAD con el botón One Shot activado
.

Aquí vemos un Organizer script del proyecto ejemplo de Paolone's Miscellaneous.

Nota:

La opción del objeto Enemy:kill en los triggers ACTION no funcionaron con el objeto WATERSKIN1_1.

El trigger Inventory_item FLIPEFFECT Inc (+1) no funcionó para el objeto WATERSKIN1_1 y si la opción draw object  ha sido usada se mostrará el mesh de Lara's.

Para la creación de una animación en concreto o una animación para un cutscene puedes exportar los triggers del NGLE como un AnimCommand y colocarlas en el frame correcto de la animación usando el programa Wadmerger.

Al finalizarlo notarás que al recoger el WATERSKIN1_1 Lara realiza la animación enseguida que se coloca sobre el sector del trigger. Esto quiere decir que la animación comienza en el borde del sector y no en el centro donde está colocado el objeto WATERSKIN1_1. esto puede ser solucionado si sigues el siguiente tutorial Ejemplo de Triggers Fragmentados también realizado por Cook.

Back to Top