|
 |
|
Manual del NGLE
Scripts para reemplazar los
triggers switch, key y pickup
Por Leonvdn
Traducido por Pemon
En este tutorial voy a indicar como crear un evento con un
switch, key o pickup sin necesidad de usar los triggers. En
variedad de ocasiones esto nos puede venir bien.
• Enfocar con una cámara a Lara mientras realiza la acción
con un switch, key o pickup
• Tener interruptores uno encima del otro (quizás 2 jump
switches con una configuración tipo ascensor)
• Mover un interruptor a otro lugar donde sirva para una
nueva situación
• Una manera de activar múltiples triggers especiales
Aunque son muchas las posibilidades voy a mostrar una
posible configuración. Lara acciona un interruptor y cae al
suelo. Como en el nivel del TR5, el Coliseo (Colosseum)
donde Lara debe actuar rápido después de activar el switch.
Lo que necesitas son los objetos switch y el falling block
(Ambos se pueden encontrar en JOBY2.TR4 wad)
PASO 1
• Para empezar construye un cuarto básico, coloca el objeto
Falling_block a 4 clicks por encima del suelo y cambia su
OCB a 1
• Coloca un trigger Dummy en el sector del suelo justo
debajo del falling block.

• Ahora coloca el interruptor en el mismo sector (también a
4 clicks)
• Coloca a Lara donde quieras
• Toma nota del número de cuarto.
(en mi caso es Room 0.
A mí me sirve de ayuda usar un archivo de notas para
apuntarlo)
PASO 2
• Estando todavía en el editor, abre la ventana del panel de
los triggers
• En el campo “type” selecciona CONDITION, en el campo
Parameter <&> desplázate hacia abajo y selecciona
MultEnvCondition script command in (E)way
• En el campo (E)xtra: desplázate hacia abajo y selecciona
In AND way. (All ENV conditions have to be true)
• En el campo: Object to trigger <#> selecciona,
MultEnvCondition= 1
• Ahora debería verse así:

Pulsa el botón Export Script Trigger; deberías obtener lo
siguiente…
; Exporting: CONDITION(16:62) for PARAMETER(1)
; <#> : MultEnvCondition= 1
; <&> : 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, 1, $10
• No necesitas nada más que: $8000, 1, $10 así que
cópialo a tu archivo de notas.
• Coloca una coma al final y pega los mismos datos excepto
que el 1 del centro lo cambies por un 2.
• Debe quedar así: $8000, 1, $10, $8000, 2, $10
• Volveremos a esto dentro de un minuto, cierra la ventana
de los triggers.
PASO 3
Lo siguiente que necesitas saber es cuál es la animación que
Lara usa cuando activa el interruptor, hay varias formas de
hacerlo, una es poner en tu script la línea
Diagnostic=ENABLED y ver cuál es el número que aparece
cuando Lara lo activa. Yo encuentro de bastante ayuda mirar
en el tutorial de Fluen’s Lara’s animations
Lara's animations
• De acuerdo con este tutorial el número que buscamos es el
063
• Vuelve de nuevo a la ventana de los triggers, y selecciona
en el campo type: CONDITION
• En el campo Timer desplázate hasta la opción: Lara.
(Animación) Lara está realizando la <#>animación
Lara. (Animation) Lara is performing <#>animation
• En el campo Object to trigger <#>: selecciona la
Animación= 63
• Pulsa el botón Export script trigger y copia el valor del
final
• Debe ser así: $8000, 63, $1E cópialo a tu archivo
de notas
PASO 4
• De nuevo selecciona tu objeto falling block
• Abre la ventana de los triggers
• En el campo Type selecciona: ACTION y en el del
Timer: desplázate hasta:
Trigger.
(Moveable) Activar <#>Objeto con (E) Valor de tiempo
Trigger
(Moveable) Activate <#>Object with (E)Timer value
• Si lo has hecho correctamente tu falling block debe
aparecer en el campo Object to trigger <#>
• De Nuevo pulsa el botón Export script trigger y copia el
código del final a tu archivo de notas, debe ser algo así
como $5000, 1107, $2B
• (el número del centro será diferente de acuerdo con el
object ID de tu falling_block, así que no te preocupes si es
diferente al tuyo)
• Hemos terminado con respecto al NGLE puedes compilar tu
nivel (aún no es necesario jugarlo)
PASO 5
• Abre tu NG Center y en el nivel que vayas a usar introduce
las siguientes líneas en el script...
;--------------------------------------
;FALLING BLOCK SET UP (CONFIGURACION DEL FALLING BLOCK)
;LARA IS IN ROOM... (LARA ESTA EN EL CUARTO…)
MultEnvCondition=1,
;LARA AT THE END OF HER ANIMATION (LARA AL FINAL DE SU
ANIMACION)
MultEnvCondition=2,
;CONDITIONS FOR GLOBAL TRIGGER (CONDICION PARA EL GLOBAL
TRIGGER)
Triggergroup=1,
;TRIGGERED BY GLOBAL TRIGGER (ACTIVADO POR EL GLOBAL
TRIGGER)
TriggerGroup=2,
GlobalTrigger=1,
;--------------------------------------
• Vamos a ver todo esto uno por uno
• Después de MultEnvCondition=1, introduce ENV_ROOM_IS,
0, IGNORE , reemplaza el 0 con el número del cuarto que
pusiste anteriormente.
• Esta línea le dice al juego que tiene que comprobar si
Lara está en el cuarto que acabamos de crear.
• Después de MultEnvCondition=2, introduce
ENV_ANIM_COMPLETE, IGNORE, IGNORE, esto hace activar los
triggers configurados en la última frame de la animación.
• Después de Triggergroup=1, introduce todos los códigos que
tomastes para los pasos 2 y 3 separados por comas, debe
verse algo así...
• Triggergroup=1, $8000, 1, $10, $8000, 2, $10, $8000,
63, $1E
• Después de Triggergroup=2, introduce el código del paso 4
que debe quedar algo así...
• Triggergroup=2, $5000, 1107, $2B
• Después de GlobalTrigger=1, introduce IGNORE,
GT_CONDITION_GROUP, IGNORE, 1, 2, IGNORE
• El GT_CONDITION GROUP le dice al juego que compruebe si
todos las condiciones del triggergroup 1 son verdaderos.
• El 1, 2 apunta a los ID’s del triggergroup, de forma que
el juego se pregunta si todas las condiciones del
triggergroup 1 son verdaderas y de serlo, activará el
triggergroup 2.
• Ahora debe verse algo parecido a lo de abajo
;--------------------------------------
;FALLING BLOCK SET UP (CONFIGURACION DEL FALLING BLOCK)
;LARA IS IN ROOM...
(LARA ESTA EN EL CUARTO…)
MultEnvCondition=1, ENV_ROOM_IS, 0, IGNORE
;LARA AT THE END OF HER ANIMATION (LARA AL FINAL DE SU
ANIMACION)
MultEnvCondition=2, ENV_ANIM_COMPLETE, IGNORE, IGNORE
;CONDITIONS FOR GLOBAL TRIGGER (CONDICION PARA EL GLOBAL
TRIGGER)
Triggergroup=1, $8000, 1, $10, $8000, 2, $10, $8000, 63, $1E
;TRIGGERED BY GLOBAL TRIGGER (ACTIVADO POR EL GLOBAL
TRIGGER)
TriggerGroup=2, $5000, 1107, $2B
GlobalTrigger=1, IGNORE, GT_CONDITION_GROUP, IGNORE, 1, 2,
IGNORE
;--------------------------------------
Ahora,
si todo a ido bien ya puedes compilar tu script y probarlo
en el juego.
Activa el interruptor y Lara caerá del falling block :D
NOTAS
Esta es solo una de muchas posibles configuraciones; puedes
exportar cualquiera de los triggers ACTION y FLIPEFFECT que
quieras y ponerlas en tu triggergroup 2, cualquier trigger
que normalmente pondrías bajo el trigger del switch las
puedes encontrar aquí y exportarla, recuerda ponerlas todas
en una sola línea en tu script y separadas por comas. El
límite es interminable.
Cualquier cosa después del signo; es ignorado en el
juego, así que las líneas que he empleado en mi script tales
como (;TRIGGERED BY GLOBAL TRIGGER) pueden ser eliminadas o
renombradas de la manera que quieras, solo me sirven como
información para ayudarme a seguir la pista y comprender lo
que estoy haciendo.
El único inconveniente, es que si existen en el mismo cuarto
otros interruptores con el mismo slot, también activan el
mismo globaltrigger, para evitarlo existen varios trucos,
• Coloca la configuración en un cuarto pequeño fuera de
otros interruptores
• Usar diferentes tipos de interruptores (que usen otros
números de animación)
• Con la última versión del NGLE puedes colocar la animación
que Lara usa, de manera que puedes copiar la animación del
interruptor en un slot vacío en Wadmerger y usar esa.
Esta clase de configuración también funciona con puzzles y
objetos a recoger pero las opciones son algo más limitadas
ya que los objetos puzzle_hole normalmente usan la misma
animación, así que solo uno por cuarto es lo recomendable.
Con la animaciones de recogida de objetos, tienes alguna
selección dependiendo del OCB del objeto.
Interruptores como el que yo he usado no pueden ser
desactivados sin un trigger estándar del interruptor y por
ello no puede ser usado más de una vez. Es muy probable que
puedas resolverlo usando los nuevos OCB’s de los
interruptores o usando un trigger Action en el juego para
forzar que el interruptor vuelva a su posición original.
Para mover un interruptor y darle una nueva finalidad puedes
usar un trigger ACTION para moverlo a otro cuarto donde Lara
activará un GLOBALTRIGGER diferente.
Espero que este tutorial sirva para alguien :D, Me doy
cuenta que quizás sea algo tedioso, lo fue para mí pero con
algo de práctica es un trabajo de 2 minutos, como muchas
otras cosas, actualmente con el NGLE es más fácil de lo que
parece.
Unos cuantos tutoriales que pueden tener relevancia para la
configuración de este tutorial.
Flipeffects
Basic script editing
NGLE global triggers
NGLE multiple condition triggers
Script and triggergroup commands
NGLE moving objects
Back to Top
|
|