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.