Manual del NGLE
Usar triggers de Condición
Múltiple
Por Cook
Traducido por Pemon
Con el NGLE he colocado en el mismo sector un trigger del
tipo CONDITION y un trigger FLIPEFFECT.


Este es el script para el nivel.

Cuando Lara se coloca en el centro del sector del trigger,
realiza la animación de recoger el objeto WATERSKIN1_1 y
este desaparece en el punto exacto de la animación y es
añadido al inventario.
Lara realiza la animación de recoger el objeto si se voltea
sobre el sector del trigger, esto se ve algo extraño.
También realiza la animación aunque tenga las pistolas en
las manos, tampoco deseo eso.
Así que necesito añadir más restricciones (conditions)
cuando el trigger FLIPEFFECT pueda ser activado. Necesito
más triggers del tipo
CONDITION.
Ya que varios CONDITION triggers tienen diferentes timer y
configuración de botones OCB, son triggers especiales que no
permiten sobreponerse en el mismo sector.
Cuando necesitas usar triggers de CONDITION múltiple para
un sector necesitas exportar los CONDITION triggers como
script triggers y crear para ellos un TriggerGroup.
La exportación de triggers y la creación de TriggerGroups
son explicados en este
tutorial. Un TriggerGroup que solo contiene exportación
de CONDITION triggers es un CONDITION TriggerGroup.
Primero selecciona el sector del CONDITION trigger y
expórtalo como un script trigger ya que este CONDITION
trigger en el nivel necesita cambiarse.

Este CONDITION trigger solo se activará si Lara corre hasta
el sector.

Este CONDITION trigger solo será activado si Lara tiene en
sus manos las pistolas. Esto no es exactamente lo que
queremos pero para solucionarlo trabajaremos más tarde sobre
ello.

Aquí vemos el CONDITION TriggerGroup en el script. Fijate
que los CONDITION script triggers empiezan con el número
$8000.

Este es el CONDITION trigger a usar en el sector del NGLE.
Esto quiere decir que todos los CONDITION triggers en el
CONDITION TriggerGroup serán usados para determinar cuando
el trigger FLIPEFFECT del sector será activado. Fíjate
también de que he pulsado el botón One Shot. Cuando exportas
un script trigger el estado del One Shot no está incluido.

Volvamos al script. Con palabras el CONDITION TriggerGroup
nos dice lo siguiente:
Si Lara está en el centro del sector Y si tiene
desenfundadas las pistolas Y si está corriendo,
entonces actívate.
Lo que quiero es esto.
Si Lara está en el centro del sector Y si NO
tiene desenfundadas las pistolas Y si está corriendo,
entonces actívate.
Para conseguir esto debo usar el TGROUP_ flag mnemonic
constant. Esto se explica en el TriggerGroup command en la
sección new script command de la pestaña Reference del
NGCenter. Para añadir un flag a otro mnemonic constant debes
usar el signo más "+".
El flag que he usado es el TGROUP_NOT. Debe ser añadido al
$8000 para el script trigger.

Compila (Build) el script y juega (play) a tu nivel.
Asegúrate de que has compilado el nivel con el nuevo
CONDITION trigger en el sector.
Nota
Para limitar el que Lara realice la animación solo cuando
sus manos estén libres (free hands) podría haber exportado
este CONDITION trigger y añadirlo al TriggerGroup en vez de
poner la condición del NOT tener las pistolas en las manos.
; Exporting: CONDITION(16:62) for PARAMETER(2)
; <#> : MultEnvCondition= 2
; <&> : Multiple condition of <#>MultEnvCondition script
command in (E)way
; (E) : In AND way.
(All ENV conditions have to be true)
; Values to add in script command: $8000, 2, $10
El comando MultEnvCondition a usar es este.
MultEnvCondition= 2, ENV_FREE_HANDS, IGNORE, IGNORE