ACTIVADO:1 DESACTIVADO:0 IGNORAR:-1 OBJ_RUBBER_BOAT:1 ;Define el slot (ranura) del OBJETO Zodiac OBJ_MOTOR_BOAT:2 ;Define el slot (ranura) del OBJETO Lancha motora OBJ_RUBBER_BOAT_ANIM:5 ;Define el slot (ranura) de las ANIMACIONES de Lara para la Zodiac OBJ_MOTOR_BOAT_ANIM:6 ;Define el slot (ranura) de las ANIMACIONES de Lara para la Lancha motora CL_BLINKING_WHITE:1;Blanco intermitente CL_WHITE:2;Blanco CL_RED:3;Rojo CL_BLUE:4;Azul CL_METAL:5;Metálico CL_GOLD:6;Oro CL_DARKMETAL:7;Metal Oscuro CL_YELLOW:8;Amarillo TT_ITEM_NAME:0 ;Nombre del ítem seleccionado en el inventario TT_ACTION_INVENTORY_MENU_OFF:1 ;Combinar, Examinar, Separar, etc. TT_ACTION_INVENTORY_MENU_ON:2 ;Combinar, Examinar, Separar, etc. TT_AMMO:3 ; Texto de la cantidad de munición TT_EXAMINE1_TOP:4 ;Encabezado del texto para el ítem Examine1 TT_EXAMINE1_BOTTOM:5 ;Texto en la parte inferior para el ítem Examine1 TT_EXAMINE3:6 ;Texto del ítem Examine3 TT_SELECT_LEVEL:7 ;Titulo "Seleccionar Nivel" en la pantalla de Nuevo Juego TT_NEW_LEVEL_ARROWS:8 ;Desplazarse con las flechas arriba/abajo en la pantalla de Nuevo Juego TT_LEVEL_NAME_OFF:9 ;Nombre del Nivel en la Pantalla de Carga TT_LEVEL_NAME_ON:10 ;Nombre del Nivel en la Pantalla de Carga TT_MAIN_MENU_OFF:11 ;Texto del menú principal sin seleccionar, Nuevo Juego/Cargar Juego/Opciones/Salir TT_LEGEND:12 ;Texto de la Leyenda al comenzar el nivel TT_CREDITS:13 ;Texto de los créditos al final de la aventura TT_SCREEN_TIMER:14 ;Texto del cronómetro como en el nivel Angkor wat TT_SAVEGAME_PANEL_TITLE:15 ;Título del panel de partidas guardadas. "Cargar Partida" o "Guardar Partida" TT_SAVEGAME_DESCRIPTION_OFF:16 ;Texto de la descripción de la línea para la partida guardada "012 Coastal Ruins 3 day 22:13" cuando no está activa TT_SAVEGAME_DESCRIPTION_ON:17 ;Descripción de la partida seleccionada TT_OPTION_DESCRIPTIONS:20 ;Texto usado para describir la opción, como "Modo de Control" TT_OPTION_VALUES:21 ;Texto del posible valor en opciones, como "Joystick/Teclado" TT_STATISTICS_DESCRIPTIONS:22 ;Texto usado para describir las estadísticas, como "Distancia Recorrida" TT_STATISTICS_VALUES:23 ;Texto del valor de la estadística, como "43" TT_PAUSED_MENU_TITLE:24 ;Título del menú "Pausa". Este texto es la palabra "Pausa" TT_PAUSED_MENU_ITEMS:25 ;Texto del menú en pausa, "Estadísticas", "Opciones", "Salir a la Pantalla de Carga" TT_MAIN_MENU_ON:26 ;Texto del menú principal TT_CAMERA_VIEW:27 ;Texto mostrado cuando el jugador durante el juego pulsa la tecla F1, para ver los datos del LoadCamera STATE_WALK:0 ;State-id de la animación STATE_RUN:1 ;State-id de la animación STATE_STOP:2 ;State-id de la animación STATE_FORWARD_JUMP:3 ;State-id de la animación STATE_FAST_TURN:4 ;State-id de la animación STATE_FAST_BACK:5 ;State-id de la animación STATE_TURN_RIGHT:6 ;State-id de la animación STATE_TURN_LEFT:7 ;State-id de la animación STATE_DEATH:8 ;State-id de la animación STATE_FAST_FALL:9 ;State-id de la animación STATE_HANG:10 ;State-id de la animación STATE_REACH:11 ;State-id de la animación STATE_SPLAT:12 ;State-id de la animación STATE_TREAD:13 ;State-id de la animación STATE_FAST_TURN_14:14 ;State-id de la animación STATE_COMPRESS:15 ;State-id de la animación STATE_BACK:16 ;State-id de la animación STATE_SWIM:17 ;State-id de la animación STATE_GLIDE:18 ;State-id de la animación STATE_NULL_19:19 ;State-id de la animación STATE_FAST_TURN:20 ;State-id de la animación STATE_STEP_RIGHT:21 ;State-id de la animación STATE_STEP_LEFT:22 ;State-id de la animación STATE_ROLL_23:23 ;State-id de la animación STATE_SLIDE:24 ;State-id de la animación STATE_BACK_JUMP:25 ;State-id de la animación STATE_RIGHT_JUMP:26 ;State-id de la animación STATE_LEFT_JUMP:27 ;State-id de la animación STATE_UP_JUMP:28 ;State-id de la animación STATE_FALL_BACK:29 ;State-id de la animación STATE_HANG_LEFT:30 ;State-id de la animación STATE_HANG_RIGHT:31 ;State-id de la animación STATE_SLIDE_BACK:32 ;State-id de la animación STATE_SURF_TREAD:33 ;State-id de la animación STATE_SURF_SWIM:34 ;State-id de la animación STATE_DIVE:35 ;State-id de la animación STATE_PUSH_BLOCK:36 ;State-id de la animación STATE_PULL_BLOCK:37 ;State-id de la animación STATE_PUSH_PULL_READY:38 ;State-id de la animación STATE_PICK_UP:39 ;State-id de la animación STATE_SWITCH_ON:40 ;State-id de la animación STATE_SWITCH_ON_41:41 ;State-id de la animación STATE_USE_KEY:42 ;State-id de la animación STATE_USE_PUZZLE:43 ;State-id de la animación STATE_UNDERWATER_DEATH:44 ;State-id de la animación STATE_ROLL_45:45 ;State-id de la animación STATE_SPECIAL:46 ;State-id de la animación STATE_SURF_BACK:47 ;State-id de la animación STATE_SURF_LEFT:48 ;State-id de la animación STATE_SURF_RIGHT:49 ;State-id de la animación STATE_NULL_50:50 ;State-id de la animación STATE_NULL_51:51 ;State-id de la animación STATE_SWAN_DIVE:52 ;State-id de la animación STATE_FAST_DIVE:53 ;State-id de la animación STATE_NULL_54:54 ;State-id de la animación STATE_WATER_OUT:55 ;State-id de la animación STATE_CLIMB_START_AND_STANDING:56 ;State-id de la animación STATE_CLIMB_UP:57 ;State-id de la animación STATE_CLIMB_LEFT:58 ;State-id de la animación STATE_CLIMB_END:59 ;State-id de la animación STATE_CLIMB_RIGHT:60 ;State-id de la animación STATE_CLIMB_DOWN:61 ;State-id de la animación STATE_NULL_62:62 ;State-id de la animación STATE_NULL_63:63 ;State-id de la animación STATE_NULL_64:64 ;State-id de la animación STATE_WADE:65 ;State-id de la animación STATE_WATER_ROLL:66 ;State-id de la animación STATE_PICK_UP_FLARE:67 ;State-id de la animación STATE_NULL_68:68 ;State-id de la animación STATE_NULL_69:69 ;State-id de la animación STATE_DEATH_SLIDE:70 ;State-id de la animación STATE_DUCK:71 ;State-id de la animación STATE_DUCK_72:72 ;State-id de la animación STATE_DASH:73 ;State-id de la animación STATE_DASH_DIVE:74 ;State-id de la animación STATE_MONKEY_STILL_OR_HANG_SWING:75 ;State-id de la animación STATE_MONKEY_FORWARD:76 ;State-id de la animación STATE_MONKEY_LEFT:77 ;State-id de la animación STATE_MONKEY_RIGHT:78 ;State-id de la animación STATE_MONKEY_180:79 ;State-id de la animación STATE_ON_ALL_FOURS_STANDING:80 ;State-id de la animación STATE_ON_ALL_FOURS_FORWARD:81 ;State-id de la animación STATE_HANG_TURN_LEFT:82 ;State-id de la animación STATE_HANG_TURN_RIGHT:83 ;State-id de la animación STATE_ON_ALL_FOURS_TURN_LEFT:84 ;State-id de la animación STATE_ON_ALL_FOURS_TURN_RIGHT:85 ;State-id de la animación STATE_ON_ALL_FOURS_BACK:86 ;State-id de la animación STATE_NULL_87:87 ;State-id de la animación STATE_ON_ALL_FOURS_TO_HANG:88 ;State-id de la animación STATE_CONTROLLED:89 ;State-id de la animación STATE_ROPE_LEFT:90 ;State-id de la animación STATE_ROPE_RIGHT:91 ;State-id de la animación STATE_CONTROLLED_92:92 ;State-id de la animación STATE_CONTROLLED_93:93 ;State-id de la animación STATE_CONTROLLED_94:94 ;State-id de la animación STATE_CONTROLLED_LET:95 ;State-id de la animación STATE_CONTROLLED_LET_96:96 ;State-id de la animación STATE_CONTROLLED_97:97 ;State-id de la animación STATE_PICK_UP_98:98 ;State-id de la animación STATE_POLE_STATIC_99:99 ;State-id de la animación STATE_POLE_UP:100 ;State-id de la animación STATE_POLE_DOWN:101 ;State-id de la animación STATE_POLE_LEFT:102 ;State-id de la animación STATE_POLE_RIGHT:103 ;State-id de la animación STATE_PULLEY:104 ;State-id de la animación STATE_DUCK_LEFT:105 ;State-id de la animación STATE_DUCK_RIGHT:106 ;State-id de la animación STATE_EXTERNAL_CORNER_LEFT:107 ;State-id de la animación STATE_EXTERNAL_CORNER_RIGHT:108 ;State-id de la animación STATE_INTERNAL_CORNER_LEFT:109 ;State-id de la animación STATE_INTERNAL_CORNER_RIGHT:110 ;State-id de la animación STATE_ROPE:111 ;State-id de la animación STATE_ROPE_CLIMB_UP:112 ;State-id de la animación STATE_ROPE_CLIMB_DOWN:113 ;State-id de la animación STATE_ROPE_114:114 ;State-id de la animación STATE_ROPE_115:115 ;State-id de la animación STATE_NULL_116:116 ;State-id de la animación STATE_CONTROLLED_117:117 ;State-id de la animación FT_SIZE_HALF_WIDTH:$0010 FT_SIZE_HALF_HEIGHT:$0020 FT_SIZE_HALF_CHAR:$0030 FT_SIZE_DOUBLE_WIDTH:$0040 FT_SIZE_DOUBLE_HEIGHT:$0080 FT_SIZE_DOUBLE_CHAR:$00C0 FT_SIZE_MICRO_CHAR:$0100 ;Diferente de la otra constante ft_size, este ignora todas las formas y tamaños pre ajustados de la fuente actual y fuerza siempre la fuente del mismo tamaño: centrada y muy pequeña, el mismo tamaño de fuente usado para mostrar dígitos en el interruptor del Panel Numérico FT_SIZE_NO_BORDER:$0400 ;Solo un color FT_SIZE_ATOMIC_CHAR:$0800 ;Este tamaño es aún más pequeño que el del micro_char (FT_SIZE_MICRO_CHAR). El tamaño atómico es el más pequeño, pudiéndose leer en todas las resoluciones de pantalla. FT_NARROW_CHARS:$1000 FT_BLINK_CHARS:$2000 FT_BOTTOM_CENTER:1 FT_TOP_CENTER:2 FT_CENTER_CENTER:3 FT_TOP_LEFT:4 FT_TOP_RIGHT:5 FT_BOTTOM_LEFT:6 FT_BOTTOM_RIGHT:7 FT_UNDER_LEFT_BARS:10 ;Empezará el texto desde la parte superior izquierda de la pantalla, por debajo de la barra inferior (Barra de Daño) (Damage bar) FT_UNDER_RIGHT_BARS:11 ;Empezará el texto desde la parte superior derecha, por debajo de la barra inferior (Barra Gélida) (Cold bar) WEAP_DISABLE_AUTO_SHOT:$0001 ;Deshabilitar la función de repetir el disparo. Por defecto cuando el jugador deja pulsada la tecla acción el arma sigue disparando, mientras que, si se usa este flag, el arma solo disparará una sola vez y el jugador deberá soltar y volver a pulsarla si desea volver a disparar. WEAP_DISABLE_CHANGE_WEAPON:$0002 ;Por defecto, el motor del juego cambiará el arma actual por las pistolas cuando se quede sin munición. Si añades este flag, el cambio de arma quedará desactivado y Lara seguirá con la misma arma aunque se quede sin munición. AMMO_PUSH_TARGET:$0002 ;Cuando el disparo alcance al enemigo, será empujado (movido) como si el impacto de la munición lo desplazase. Debes introducir en el campo Extra la distancia de desplazamiento. Las unidades de distancia son: 1024 = un sector, 256 = un click. AMMO_PUSH_LARA:$0004 ;Cuando Lara dispare el efecto retroceso la moverá hacia atrás. Usa este flag con munición pesada como la granada. Debes introducir en el campo Extra la distancia de desplazamiento. Las unidades de distancia son: 1024= un sector, 256= un click. AMMO_SET_GRENADE_TIMER:$0008 ;Usado solamente con la munición de la granada. Puedes cambiar el número de segundos que se requieren para que explote. El valor por defecto es de 4 segundos. Debes introducir el número de segundos en el campo Extra. AMMO_ADD_GUN_SHELL:$0010 ;Usado en el comando Customize=CUST_AMMO Es usado para añadir los cartuchos de las balas que caen después de disparar. Si usas este flag, se usará el mesh de la bala de la ranura del GUNSHELL. AMMO_ADD_SHOTGUN_SHELL:$0020 ;Usado en el comando Customize=CUST_AMMO Es usado para añadir los cartuchos de las balas que caen después de disparar. Si usas este flag, se usará el mesh de la bala la ranura del GUNSHELL. AMMO_REMOVE_SHOTGUN_SHELL:$0040 ; Usado en el comando Customize=CUST_AMMO Este flag retira el efecto de caída de cartuchos. Solo ha de ser usado con la munición de la escopeta. DTF_NONE:0 DTF_SWINGING_POINTER:$01 ;Este flag solo funciona en modo Pointer. Por defecto el pointer apunta exactamente al objetivo, también puedes incluir una aguja en movimiento como la brújula del inventario para obtener un detector más realístico. DTF_RADAR_MODE:$02 ;Este flag configura el detector en modo radar. Si omites configurar este flag, el detector funcionará en el modo Pointer. Hay grandes diferencias entre los dos modos y algunos campos y flags solo funcionan para un modo de detector específico. En modo Pointer el detector tiene una aguja como la de una brújula que muestra donde se encuentra el objetivo actual (el objetivo actual es el primer objetivo de la lista presente en el juego). En el modo Pointer solo funciona con un objetivo a la vez: cuando el primer objetivo ha sido recogido (o matado) el detector comienza a apuntar al segundo objetivo de la lista y así sucesivamente. En el modo radar el detector es capaz de escanear todos los objetivos al mismo tiempo si se encuentran dentro del rango del radar. Nota: recuerda que el rango del radar es diferente del rango de activación. El rango del radar es dado por la formula 6 * Escala Métrica, donde la cifra "6" es el número (fijo) número de sectores del radar. Por ejemplo, si configuras 2 metros para la escala métrica, el objetivo solo se mostrará en el radar cuando esté a 12 metros o menos de distancia de Lara. Para comprender el modo radar es algo más difícil que el modo Pointer ya que el objetivo en el modo radar siempre es mostrado al contrario= norte, mientras que el modo Pointer siempre es mostrado de forma relativa hacia donde mira Lara. De hecho, en el modo pointer, cuando la aguja se muestra en rojo quiere decir que Lara está mirando en la dirección correcta hacia el objetivo, mientras que en el modo radar es aconsejable que Lara mire hacia el norte para entender si los objetivos están a su izquierda o a su derecha. DTF_ENGAGE_INVENTORY:$04 ;Lara debe recoger el objeto detector, para utilizarlo, ha de ir al inventario y seleccionarlo. DTF_ENGAGE_IN_RANGE:$08 ;El detector se mostrará de forma automática cuando Lara se encuentre cerca de algún objetivo dentro del rango introducido (ver los siguientes campos.>Con engage_in_range puedes configurar 50 metros y el detector se mostrará cuando Lara se encuentre a 50 metros o menos del objetivo más cercano.>Cuando Lara esté más alejada, el detector se ocultará. DTF_REQUIRED_ITEM:$10 ;El Detector solo funciona si Lara lo ha recogido, o si ya lo tiene en el inventario al comienzo del nivel. DTF_ENGAGE_ALWAYS:$20 ;El Detector siempre estará presente en la pantalla, por lo menos hasta que siga habiendo objetivos en el nivel. DTF_FAST_RADAR_SCAN:$40 ;La aguja se moverá muy rápidamente DTF_INVERSE_VPOINTER:$80 ;El flag actual solo funciona en el modo pointer.>Puedes invertir la posición en línea en escala vertical (a la derecha del detector)> Por defecto (cuando NO uses este flag) la línea flotante muestra donde se encuentra Lara, mientras que la marca de línea roja fija del centro muestra la posición del objetivo.>Si crees que esta relación es ilógica, puedes usar este flag para invertir la situación. Con el flag DTF_INVERSE_VPOINTER el punto flotante es la posición vertical del objetivo, mientras que la línea fija roja es la posición vertical de Lara. DMG_INDIRECT_BAR:$01 ;Si quieres tener una barra progresiva en pantalla para mostrar el nivel del daño actual en el cuarto actual, es necesario usar siempre este flag.>Con la barra indirecta la vitalidad de Lara se mantiene intacta hasta que la barra indirecta se vacíe (o llena si configuras el flag DMG_INCREASE_BAR) DMG_ONLY_PAD:$02 ;Solo le causa daño a Lara mientras sus pies estén en contacto con el suelo del cuarto actual. Puede ser usado como simulación de un suelo electrificado o muy caliente. DMG_INCREASE_BAR:$04 ;Por defecto la barra de daño (se muestra solo usando DMG_INDIRECT_BAR) comienza llena y va decreciendo hasta vaciarse, cuando se vacíe, el daño de Lara será muy rápido.>Si quieres cambiar esta situación para tener un barra progresiva de incremento, empezando desde vacía a conseguir llenarla, debes usar este flag. DMG_COLD_WATER:$08 ;Especifica que estas usando el comando actual para configurar el comportamiento por defecto de todos los cuartos de aguas gélidas en el nivel actual. DMG_POISON_LARA:$10 ;Tan pronto como Lara entre en el cuarto actual será envenenada, con efecto de deformación de la pantalla y la barra de vida con el color amarillo. DMG_BURNING_DEATH:$20 ;Cuando el tiempo de la barra de daño se complete, Lara morirá envuelta en llamas.>Para usar solo en cuartos de daños sin agua.>Si es activado este flag, Lara se quemará cuando:>La barra indirecta se vacíe (si la barra indirecta está presente)>Si la barra de vida está vacía (si no activas la barra indirecta para el cuarto de daños)> puedes usar este flag para simular un cuarto donde aumenta la temperatura hasta quemar a Lara. DMG_SLOW_DISAPPEARING:$40 ;Configura el comportamiento de la barra de daño cuando Lara sale del cuarto dañino para pasar a un cuarto seguro. Si omites este flag la barra de daños desaparece de forma instantánea, mientras que si usas el flag DMG_SLOW_DISAPPEARING la barra de daño invertirá su dirección de llena/vaciándose y desaparecerá solamente cuando alcance su estado de llenada (como al principio de entrar en el cuarto dañino) DMG_BURNING_SCREAM:$80 ;Para usar solo con el flag DMG_BURNING_DEATH.>Si configures el flag DMG_BURNING_DEATH puedes también configurar este flag para forzar a Lara a gritar cuando se envuelva en llamas.>Nota: este flag solo funciona con la barra indirecta, por que cuando la barra indirecta no se ha configurado, Lara será quemada muriendo inmediatamente y por eso no tiene tiempo para gritar. DMG_ALERT_BEEP:$100 ;Para usar solo con el flag DMG_INDIRECT_BAR>Si configuras este flag, cuando la barra disminuya hasta el 15 % (o menos) del valor completo, la barra parpadeará y un pequeño "bip" de sonido, será reproducido junto con el parpadeo.>Nota: También cuando este flag no esté presente la barra parpadeará pero no se reproducirá el sonido. DMG_LITTLE_TEXT:$200 ;Cuando uses un BarName en tu comando Damage= puedes elegir este flag para introducir un pequeño texto a mostrar con el nombre de la barra. MIST_COL_WHITE:0 MIST_COL_RED:1 MIST_COL_GREEN:2 MIST_COL_BLUE:3 MIST_COL_YELLOW:4 MIST_COL_AZURE:5 MIST_COL_PURPLE:6 TCF_CREATURE:$0002 ;Un moveable es una criatura: nace, vive y muere. Tiene su AI para poder moverse TCF_SAVEPOS:$0008 ;Guarda información sobre el actual moveable en la partida guardada TCF_LAND_CREATURE:$0010 TCF_ONLY_EXPLODE:$1000 ;Este moveable solo se le puede matar con una explosión (como a la momia o esqueleto) NEF_NONE:0 NEF_EXPLODE:$0001 ;Cuando al enemigo no le quede vida explosionará NEF_EXPLODE_AFTER:$0002 ;Explotar al finalizar la animación de muerte NEF_NON_TARGET:$0004 ;Lara no podrá apuntar a este moveable NEF_SET_AS_CREATURE:$0010 ;Experimental: usado para dar a un moveable común algunas otras características NEF_SET_AS_BRIDGE_FLAT:$0020 ;Usado en el comando Enemy>Fuerza el Animating en cuestión a que funcione como un ítem BRIDGE_FLAT>Puedes colocar debajo de él un trigger Dummy y Lara podrá andar encima de él.>Nota: >Con este flag, es aconsejable usar un ítem Animating. >De una manera en particular, en algunos moveables no funciona debido a que tienen más de un mesh o un pivote para la primera frame no siendo compatible su funcionamiento como un ítem Bridge.>Una buena manera de evitar estos problemas es copiando un objeto BRIDGE_FLAT original en el slot de un Animating con el programa Wad Merger (el botón Copy + tecla MAY. Para reasignar la ranura de destino).>Una vez que hayas copiado el BRIDGE_FLAT original en tu objeto entonces puedes modificarlo con el programa Metasequoia. NEF_SET_AS_BRIDGE_TILT1:$0040 ;Usado en el comando Enemy> Fuerza el Animating en cuestión a que funcione como un ítem BRIDGE__TILT1>El ítem Tilt1 está un poco inclinado con una diferencia de 1 click entre los extremos.>Nota: ver también la descripción del flag NEF_SET_AS_BRIDGE_FLAT para más información. NEF_SET_AS_BRIDGE_TILT2:$0080 ;Usado en el comando Enemy> Fuerza el Animating en cuestión a que funcione como un ítem BRIDGE_TILT2> El ítem tilt2 está un poco inclinado con una diferencia de 2 click entre los extremos.>Nota: para más información, ver también la descripción del flag NEF_SET_AS_BRIDGE_FLAT. NEF_EASY_HEAVY_ENABLING:$0100 ;Usado en el comando Enemy>Este flag permite al tipo de enemigo actual la habilidad para activar de manera inmediata cualquier heavy triggers.>Por defecto solo algunos moveables activan heavy triggers y es necesario colocar un objeto AI_ en el sector destinado donde se encuentra el heavy trigger a activar.>Diferente es con el flag NEF_EASY_HEAVY_ENABLING el enemigo activará todos los heavy triggers por los que se mueva. NEF_HIT_DEFAULT:$0008 ;Permite un comportamiento estándar NEF_HIT_BLOOD:$0400 ;Mostrar sangre cuando es alcanzado NEF_HIT_SMOKE:$0800 ;Mostrar humo cuando es alcanzado NEF_HIT_FRAGMENTS:$0C00 ;Mostrar fragmentos al ser alcanzado NEF_ONLY_EXPLODE:$1000 ;El enemigo se convertirá tan duro de eliminar como la momia o el esqueleto.>Aparentemente la munición normal no tiene efecto en ellos pero la munición explosiva si puede destruirlos. NEF_SET_AS_MORTAL:$2000 ;Este flag puede ser usado en el slot del Demigod para transformarlos en enemigos mortales.>Cuando configuras este flag el enemigo puede ser eliminado también con munición normal. EF_NONE:0 EF_MULTI_DOORS:$0001 ;Varias Puertas, Si quieres que el motor del TRNG manipule por ti todas las puertas que se encuentren delante en un piso puedes configurar este flag y luego configurar en el IndexFirstDoor el índice de la puerta en el primer piso.>La gestión del motor del juego es muy sencilla: Cuando el ascensor llega a un piso, la puerta en ese piso se abrirá.>Cuando el ascensor se aleja de ese piso la puerta se cerrará.>Si empleas esta opción de manipulación de multi-puertas, es importante colocar en tu proyecto todas las puertas exactamente a la misma distancia vertical que has introducido en el campo ClickFloorDistance. Es importante ya que si colocas alguna puerta a una distancia diferente, esa puerta no la encontrará el motor del TRNG y tendrás problemas.>Prácticamente solo has de colocar cada puerta a la misma altura donde parará el ascensor, piso por piso. EF_SINGLE_DOOR:$0002 ; Puerta Individual. Si usas el modo de single door no puedes configurar al mismo tiempo el flag multi-door.>En el modo single door, el ascensor tiene una sola puerta enlazada con la jaula del ascensor.>Esta puerta será movida hacia arriba y abajo de acuerdo con el movimiento del ascensor.>Cuando el ascensor llega a un piso la puerta se abrirá, cuando el ascensor empieza desde un piso la puerta se cerrará.>Si configuras este flag, debes introducir en el campo FirstDoorIndex el índice para la puerta que has colocado cerca del ascensor.>Nota: también puedes usar una puerta "falsa" ("fake") que puedes encontrar en el slot del Animating2 en el ng2.wad>Este Animating se moverá, como una puerta corredera horizontal por el motor del TRNG, si usas el modo single-door y configuras su índice en el campo FirstDoorIndex>Hay una razón para usar una puerta "falsa" ("fake") como esta: cuando haces uso de una puerta real, de hecho, en algunas circunstancias (depende del tipo de puerta y de su posición con respecto a la colocación del cuarto) el motor añadirá un sector de colisión invisible delante de la puerta cuando esté cerrada. En alguna ocasión puede ser aburrido y puedes usar la puerta fake del Animating para evitar este problema. EF_INNER_KEYPAD:$0004 ;Teclado Numérico. Si deseas insertar en el interior del ascensor el teclado para elegir el piso deseado, debes configurar este flag y (en el Ngle) colocar el teclado orientado en la pared del ascensor deseada. Luego introduces el índice del teclado en el campo del InnerKeyPadIndex.>Recuerda usar el "fake" keypad “falso” teclado que puedes encontrar en el Animating16_mip del ng.wad o del ng2.wad y no el teclado real en switch_type1.>La cuestión de esta elección se dá por razones de un problema técnico: el switch_type necesita de un switch trigger para que funcione, como también es necesario colocar en el suelo del ascensor un trigger dummy, ya que no es posible colocar ambos triggers especiales en los mismos sectores.>Es por esta razón el uso del "fake" keypad (del Animating16_mip)será realizado en modo codificado por el motor.>Aparentemente el Teclado Numérico funcionará en la misma forma que lo hace el switch_type1 pero sin la necesidad de usar un trigger especial para ello. EF_MODE_YO_YO:$0008 ;El modo Yo-yo es algo curioso: El ascensor se moverá de arriba abajo de forma continua sin parar en los pisos.>Con el uso de este método no se pueden utilizar puertas, ya que no hay tiempo suficiente para poder abrirlas y cerrarlas. >Lara deberá saltar mientras que está el ascensor en funcionamiento.>Una aplicación interesante del uso de modo yo-yo, es también darle al ascensor la posibilidad de usarlo como trampa, ya que si Lara es tocada por el ascensor, morirá (Si se encuentra debajo del ascensor cuando está bajando, o por encima del ascensor cuando está subiendo y si existe un techo) o "molestada" si está escalando una pared cuando el ascensor la toque (Lara no será tocada por la pared)>Notas:>1) No puedes mezclar el modo yo-yo con el modo stop and go.>2) Si configuras el ascensor como el modo yo-yo, el número del piso siempre será dos (2) y la distancia entre pisos será la altura del movimiento total que el ascensor ha de cubrir antes de cambiar su dirección. EF_MODE_STOP_AND_GO:$0010 ;Parar y continuar: El modo Stop and go es similar al del modo yo-yo, pero en este caso el ascensor parará durante algunos segundos (2 para un ascensor sin puertas y 3 segundos con puertas) en cada piso.>A diferencia del modo yo-yo, puedes usar las puertas, varias o individuales (multi o single) y puedes introducir varios números de pisos.>El modo stop and go puede herir a Lara (como todos los ascensores) EF_DOUBLE_DOOR:$0020 ;Used in Elevator command.>Please don't confuse this flag with flags like EF_SINGLE_DOOR or EF_MULTI_DOORS.>While those flags say the number of doors to use, if a single door to move up/down with elevator, or multiple door, one for each floor, the double door specify the TYPE of a single (or multi) door, and then this door could be a single_door or a multi-door.>The double door is a door composed by two (separated) doors.>For this reason the double door is able to cover two sectors of width, like the width of elevator.>The reason to use this flag is to have two different door opening in same moment when the elevator reach a floor, to be able to cover whole width of elevator.>This flag has been added own to get above target and it requires some attemption to work correctly.>If you set the EF_DOUBLE_DOOR flag, it's necessary that the secondary door had always a ngle index higher by 1 than main door.>>I explain better:>>For "main" door we intend the door that has the index you type in Elevator= command.>While the "secondary" door is the other door (paired to main door) to open/close in same moment of main door.>This secondary door has to have an index exaclty +1 of main door.>For example if your main door at first floor (in a multi-door elevator) has index = 23, the secondary door should have an index = 24 (+1 of main door).>If this rule will be violated the double door will not work in game.>>If you have problems to get two consecutives indices you could use this simple trick:>Place a door in some free zone of your room, this zone is not in front of elevator, it will be only a "store" temporary zone.>>Continue to place doors in this zone, checking the index assigned from ngle for each new door.>When you get two doors with consecutive indices, delete these two doors, and now place the two doors in correct position in front of elevator. In this moment you can place also other double doors for other floors of elevator (if you are using multi-door elevator).>When you completed the placement of the double doors you can come back to temporary zone and delete all no useful doors you placed to realize this trick.>>Remark: if you are using like "single-door" an animating door (just place like door any animating with correct collisions) the behavior of this animating door will be different in according with usage or less of the EF_DOUBLE_DOOR flag.>If the EF_DOUBLE_DOOR flag is missing the animating door will be moved (sliding) in internal direction, i.e. the door will be opened moving the door over other panel of elevator.>Differently, when you use EF_DOUBLE_DOOR flag, the two door will be opened with external movement: the left door will be moved furtherly to left, while the right door will be moved at its right.>Also for animating doors you have to use the rule of consecutives indices: the secondary door should have the index of main door + 1.>In the case of animating double doors it's also important that the two doors should have same orienting (facing).>Another rule about animating doors is that the door you have to set as main door (the index you type in Elevator command), it should be always the door at left of elevator, looking the elevator from door side. This last rule it's not important when you use real doors. FAN_KEYS_AS_SCANCODE:$0008 ;Si lo que quieres es usar el KeyBoard scan code en los campos Key1 y Key2, debes añadir este flag FAN_KEYS_AS_SCANCODE en los campos FAN_.>Cuando no uses este flag el valor a introducir en los campos Key1 y Key2 será interpretado como un comando tipo Game (Juego), eje. mnemonic constants KEY1_.. y KEY2_...>Nota: Este comportamiento es opuesto con respecto a la primera versión del Ng_Center. En las versiones anteriores tenías que configurar este flag para especificar el uso del los comandos del juego, pero ahora los comandos del juego son los ajustes por defecto. FAN_SET_FREE_HANDS:$0001 ;Manos Libres: El actual flag FAN_SET_FREE_HANDS realice una acción específica para informar al motor del juego que las manos de Lara están libres, por ello, podrá escalar, subirse, colgarse y recoger objetos o armas.>Nota: Esta operación de manos libres, será realizada SOLO si tu animación especial realmente ha comenzado.>>deberás usar este flag solo cuando tu animación especial empieza desde una posición donde Lara tiene las manos ocupadas (estaba escalando, o colgada) pero, tu animación es moverla de la pared y hacerla saltar. En esta situación debes informar al motor del juego que ahora se encuentra con las manos liberadas, ya que si no Lara no podrá agarrarse a una pared escalable después del salto. FAN_START_FROM_EXTRA_FRAME:$0002 ;Si lo que quieres es que tu animación no comience desde la primera frame (0) pero desde un número de frame específico, puedes incluir el flag FAN_START_FROM_EXTRA_FRAME en el campo FAN_ y luego introducir en el campo Extra el número de frame desde el cual quieres que comience la animación. FAN_SET_NEUTRAL_STATE_ID:$0004 ;This value forces the engine to change the real state-id number of your animation, replacing it with a neutral state-id.>The advantage is to avoid some interference created by tomb4 engine in some circustances.>You should use this FAN_ value when your special animation was breaked before reaching the last frame, only because lara is in the empty or she has problems with collisions or for status (water, falling, climbing)>When an animation is performed with neutral state id (69 number) the game engine checks only for basic collisions but it doesn't perform any specific controll about what lara is doing and where she is. FAN_RANDOM:$2000 ;Used by Animation script command.>With this flag you can perform different animation in random way.>You have to type in Extra field the number of random animations.>For example if you want perform one of following animations: 512, 513 or 514, when all condition in animation command are true, you'll have to type in AnimIndex field the first animation 512, while in Extra field you type 3 to inform there is a block of three random animations, starting from animation 512.>When all conditions will be true it will be performed the animation 512 or 513 or 514.>The target of this feature is to create a simulation of random events also in animations of lara. For example if you want create a falling animation you can create different kinds of falling to choose in random way. FAN_KEEP_NEXT_STATEID:$0020 ;This is a very technical flag.>My suggestion about to use it or less, it's simply to try...>At start you should create an Animation command without using this flag, because it's more common don't use it, but if you see somewhat don't work, you could try adding this flag to see the result.>Technically you should use this flag when your animation is for single execution and then Lara will come back to some standard animation.>While you should not use this flag when your animation has to be performed in loop, like an upward jump and many other fluid animations. FAN_ENABLE_GRAVITY:$0040 ;Este flag permite para tu animación calcular la gravedad.>Cuando Lara está volando o cayendo, el motor guarda un flag para recordar que debe aplicar las normas de gravedad de Lara. En algunas circunstancias, puede que necesites activar la gravedad de tu animación usando este flag. FAN_DISABLE_GRAVITY:$0080 ;Este flag funciona de forma similar al del FAN_ENABLE_GRAVITY pero en este caso es para desactivar el cálculo de la gravedad. > Para más información, ver la descripción de FAN_ENABLE_GRAVITY. FAN_PERFORM_TRIGGER_GROUP:$0100 ;This flag changes fully the working mode of Animation command.>When you add this flag the value you typed in first field of Animation command, i.e. the field named "AnimIndex", will be seen as an IdTriggerGroup to perform when all conditions set in Animation command are true.>This means you could start you custom animation typing in a triggergroup a flipeffect to start a specific animation of lara, adding in same triggergroup also many other effects, and then to use an Animation command to start the trigger group when player hit correct key and all conditions are true.>In many circustances, other to perform a custom animation, you wish also to perform some special effect to change somewhat in game, in this way you add new skills for lara. >A way to realize this target is to create a custom animation where you set in some frame a NG AnimCommand to perform these "special effects" (i.e. exported triggers to perform somewhat). When animation command start your custom animation, the NG Anim command of custom animation will be performed and it could perform many changes in game.>Well, using the FAN_PERFORM_TRIGGER_GROUP flag you can get same result but in a different way.>You can create a trigger group with many exported triggers to change some situation in game, and then, in same trigger group, to have also a flipeffect to perform the wished custom animation.>The difference between two above methods is that, using the triggergroup method, you can perform somewhat before the animation will be started, while with NGAnimCommand in custom animation, these effects could be done only while the custom animation has been started.>Remark:>Theorically you could don't add any "perform animation" flipeffect in the TriggerGroup, in this way you'll use the Animation command to perform some operations when player hits some keystrokes.>Anyway you follow this method remember to find a way to avoid the triggergroup was continuously performed a lot of times untile the conditions are true.>TRNG engine uses as method to avoid multiple performing, to disable temporary this Animation/Triggergrop until the key used to perform it first time, remains yet down, but it should be better if you place some trigger in TriggerGroup to change some condition to avoid the furhter repetitions of this triggergroup. FAN_SET_FREE_HANDS_TEMP:$0200 ;Este flag funciona como el de FAN_SET_FREE_HANDS pero en este caso solo de forma temporal el estado de "Free Hands". El anterior estado de (cuando Lara está colgada) será restaurado al final de tu animación.>El "free hands" es necesario cuando realices tu animación personalizada, mientras Lara tiene en sus manos una antorcha o un arma, de hecho, cuando falta lo de "Free hands", el brazo de Lara no seguirá tu animación personalizada.>Otra diferencia sobre el antiguo FAN_SET_FREE_HANDS es que el FAN_SET_FREE_HANDS_TEMP arregla el bug donde el comando "free hands" no funcionaba cuando Lara llevaba la antorcha. FAN_SET_BUSY_HANDS:$0400 ;Este flag funciona de forma similar al del FAN_SET_FREE_HANDS pero por supuesto con un objetivo opuesto.>Si usas este flag, cuando se realice tu animación, el motor del juego será informado de que ahora las manos de Lara las tiene ocupadas y no podrá agarrase a la pared.>Nota: Solo esporádicamente necesitarás usar este flag, porque por defecto cuando tu animación tiene el state-id correcto (por ejemplo, para escalar o trepar) el motor del juego ajusta este flag el mismo. FAN_ALIGN_TO_ENV_POS:$0800 ;From version 1.1.9.8 this FAN has new properties.>When you add this flag and you set some valid ENV_POS_... flags in Environment field (see following description) the position of lara will be forced to be the ideal position in according with ENV_POS_ values before performing your custom animation.>For example if you set ENV_POS_HORTOGONAL, an instant before starting the special animation the Lara orientation will be aligned with hortogonal axis.>Remark: by default the alignment operation is a bit poor, since TRNG move immediately lara in ideal position without any progressive movement. >Anyway from version 1.1.9.8, when you set FAN_ALIGN_TO_ENV_POS in according with ENV_ITEM_TEST_POSITION condition, you can get a progressive self adjustment in game like you see in default tomb4 when lara open a door or push a pushable object.>This feature will use the data you set in TestPosition command and extracts from it the ideal position to reach, using intermediate values for each difference range you set.>This feature don't work fine if lara was performing a state id different by stand-up position or swimming underwater.>Warning: when you set ENV_ITEM_TEST_POSITION and the FAN_ALIGN_TO_ENV_POS the orient information will be read only from TestPosition command, so the further ENV_POS_... FLAGS you add in EnvCondition will be ignored. FAN_SET_ADDEFFECT:$1000 ;You can add a particle effect when your animation will be performed.>You have to create a AddEffect= script command to specify what particle effect to use. Then you add current flag FAN_SET_ADDEFFECT in FAN field, and you type the number of AddEffect command in Extra field of Animation= command.>Remark: by default the effect will have an infinite durate, anyway you can override this setting using correct flag in AddEffect= command to have the durate of effect only when some stateid or animation number is on. FAN_SET_LARA_PLACE:$4000 ;Used in Animation command.>This fan flag could be used when your custom animation move lara between two different places, like from "ground" to "water", or vice-versa.>You have to type the new place (where lara should be at end of your animation) in Extra field.>You can type one PLACE_ value in extra field to set the new environment of Lara.>>Remark: when you create an animation to move lara between different places it's very probable you need to add a standard [SetPosition] command to move lara in new position but also to adjust the different pivot position used in according with ground, underwater, floating ect. PLACE_GROUND:0 ;Usado en el comando Animación.>Lara está en el "suelo", ej. está fuera del agua. El significado "suelo" también se refiere a cuando Lara está cayendo, a diferencia de trepar, escalar, saltando.>Lo más significativo de la descripción para "suelo" es: "no está en el agua" PLACE_UNDERWATER:1 ;Usado en el comando Animación.>Lara está bajo el agua, por favor no confundir esta situación con PLACE_FLOATING.>El significado de Lara está bajo el agua, es solo cuando está por debajo de la superficie y no puede respirar. PLACE_FLOATING:2 ;Usado en el comando Animación.>Lara está flotando en la superficie del agua. PLACE_SPECIAL:3 ;Usado en el comando Animación.>No estoy del todo seguro de este estado para Lara. Seguramente sea para usar cuando Lara se encuentra en algún vehículo o en modo DOZY.>Probablemente este estado quiera decir: Lara está realizando animaciones codificadas donde las normas relacionadas con las Físicas sobre gravedad o flotación en el agua son ignoradas. PLACE_LOW_WATER:4 ;Usado en el comando Animación.>Lara está en agua con poca profundidad. Agua de poca profundidad es, cuando Lara está dentro del agua con los pies en contacto con el suelo y puede andar. EXTRA_TEETH_NO_DAMAGE_ON_WALKING:$0001 ;Usado en el comando Enemy=>Puedes activar el no-damage (no-daño) a Lara cuando se mueve lentamente (andando).>Si configuras este flag en el campo Extra del comando Enemy= con el slot de los TEETH_SPIKES, Lara podrá andar a través de los pinchos sin que la cause ningún daño. EXTRA_WRAITH_BURN_LARA:$0001 ;Usado en el comando Enemy=>Cuando introduces en el script el comando Enemy para personalizarlo con algún slot del tipo wraith, puedes usar este flag para activar que si el wraith contacta con ella en varias ocasiones, Lara prenderá en llamas. EXTRA_MUTANT_NO_LOCUSTS:$0001 ;Usado en el comando Enemy=>Si personalizas el slot del MUTANT en el script con el comando Enemy, puedes desactivar el ataque del enjambre de langostas incluyendo este flag en el campo Extra del comando Enemy. ENV_NO_BLOCK_IN_FRONT:1 ;Realiza tu animación especial solo si Lara NO tiene un bloque delante de ella. En el campo "Distance for Env" introduces la altura del bloque. Por ejemplo, 1024 (altura de un sector) El TRNG considerará esta condición como verdadera (true) "no hay bloque delante" si el suelo delante de Lara es menor en altura a 1024 unidades con respecto al suelo donde se encuentra Lara. Mientras que si el suelo delante de Lara es superior en altura de 1024 unidades o más, se detecta como un bloque delante de Lara. ENV_HANG_WITH_FEET:2 ;Usar solo cuando Lara se encuentra colgada en la esquina de una pared. La condición es verdadera (true) solo cuando la pared de la que está colgada Lara tiene la suficiente altura para alojar los pies de Lara. >En el campo Distance puedes cambiar la altura de esta pared, el valor por defecto es $300 (3 clicks) pero en algunas circunstancias es mejor usar en Distance un valor menor, como $200 (2 click) ENV_HOLE_FLOOR_IN_FRONT:3 ;La condición es verdadera (true) cuando hay un hueco, ej. Una zona donde Lara es capaz de bajar o caer.>Diferente es ENV_HOLE_FLOOR. que define la posición del sector colindante con respecto a donde se encuentra Lara.>En el campo Distance puedes definir la altura (o profundidad) del hueco. ENV_MONKEY_CEILING:4 ;La condición es verdadera (true) cuando Lara está debajo de un techo escalable.>En el campo Distance puedes definir el rango de la distancia del techo escalable.>La Distance (Distancia)en este caso es diferente a lo habitual: la formula es.>MinClick + MaxClick * 256>Por ejemplo si deseas que la condición sea verdadera cuando el techo escalable está en un rango 5 (min) clicks hasta 7 (max) clicks, debes introducir en el campo Distance el valor (7*256 + 5) = 1797 >Nota: en hexadecimal (con el signo '$') es más fácil de entender el valor Min y Max, por ejemplo; el número 1797 en hexadecimal es $0705 donde tomar la lectura de Max click ("07) y el Min click ("05")>>Nota: Si Lara está debajo del techo escalable pero la altura está fuera del rango que has definido en el campo Distance, la condición será falsa (false) y no se realizará la animación. ENV_CLIMB_WALL_IN_FRONT:5 ;Pared Enfrente: La condición es verdadera (true) cuando la pared en concreto en el mismo sector que se encuentra Lara, es escalable. ENV_CLIMB_WALL_AT_RIGHT:6 ;Pared a la Derecha: La condición es verdadera (true) cuando la pared en concreto en el mismo sector que se encuentra Lara, es escalable. ENV_CLIMB_WALL_AT_LEFT:7 ;Pared a la Izquierda: La condición es verdadera (true) cuando la pared en concreto en el mismo sector que se encuentra Lara, es escalable. ENV_HOLE_IN_FRONT_CEILING_CLIMB:8 ;Solo debes usar la condición de arriba cuando Lara está trepando por el techo y quieres crear una animación que permita a Lara pasar desde el techo actual a una pared escalable que se encuentra más arriba, pasando directamente desde el techo a la pared escalable. ENV_HOLE_BACK_CEILING_CLIMB:9 ; Solo debes usar la condición de arriba cuando Lara está trepando por el techo y quieres crear una animación que permita a Lara pasar desde el techo actual a una pared escalable que se encuentra más arriba, pasando directamente desde el techo a la pared escalable. ENV_NO_BLOCK_AT_RIGHT:10 ;La condición es verdadera solo si no hay pared en el sector a la derecha de Lara.>En Distance (siguiente campo) puedes introducir la altura de la pared. Ver "Distance for Env field" ENV_NO_BLOCK_AT_LEFT:11 ; La condición es verdadera solo si no hay pared en el sector a la izquierda de Lara.>En Distance (siguiente campo) puedes introducir la altura de la pared. Ver "Distance for Env field" ENV_HOLE_FLOOR_AT_RIGHT:12 ;La condición es verdadera cuando hay un agujero, ej. Una zona donde Lara es capaz de bajar o caer.> Diferente de ENV_HOLE_FLOOR.. configura la posición del sector adyacente con respecto a donde está Lara.> En el campo Distance, puedes configurar la altura (o profundidad) del agujero. ENV_HOLE_FLOOR_AT_LEFT:13 ; La condición es verdadera cuando hay un agujero, ej. Una zona donde Lara es capaz de bajar o caer.> Diferente de ENV_HOLE_FLOOR.. configura la posición del sector adyacente con respecto a donde está Lara.> En el campo Distance, puedes configurar la altura (o profundidad) del agujero. ENV_HOLE_FLOOR_BACK:14 ; La condición es verdadera cuando hay un agujero, ej. Una zona donde Lara es capaz de bajar o caer.> Diferente de ENV_HOLE_FLOOR.. configura la posición del sector adyacente con respecto a donde está Lara.> En el campo Distance, puedes configurar la altura (o profundidad) del agujero. ENV_NO_BLOCK_BACK:15 ;La condición es verdadera si no existe una pared en un sector a la espalda de Lara.>En Distance (siguiente campo) puedes poner la altura de la pared. Ver "Distance for Env field" ENV_CLIMB_WALL_BACK:16 ;La condición es verdadera cuando la pared específica en el sector donde se encuentra Lara, es escalable. ENV_SUPPORT_IN_FRONT_WALL:17 ;All ENV_SUPPORT_... check for a support where lara could hang in wall in front (or back, left, right)>You can use this condition to start some animation where lara jumps and hang on wall in front of her, to verify if there is a wall with correct height in front of lara.>For example by default the game engine allows to lara to hang to a wall if this wall has an height in range between 4 click to 7 click.>If the wall is heigher (from 8 click respect to lara's feet) lara will be not able to hange with a up jump.>Well, if you want set same condition you have to insert in Distance for Env field this value: $0174>For ENV_SUPPORT condition the distance env is a bit complex.>The values you have to set are:>The min height acceptable (4 click in our example)>The max height acceptable (7 click in our example)>The minimum space present over the support to place lara hands (1 click)>>The he formula is: MinHeight + MaxHeight*16 + ClickSPace * 256>In decimal this value is misterious: 4 + 7 * 16 + 1*256 = 372>Anyway if you type in in hexadecimal format is more easy understand the position of each sub-field: 372 decimal = $174 in hexadecimal.>I.e. in hexadecimal the digits are: >>$0BCA >>where:>'A' is click of minimum height required>'B' is click of minimum height acceptable>'C' is number of click of space over the support>>About hexadecimal notions remember the numbers, usign a single digit, have following sequence: >0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (10 decimal), B (11 decimal), C (12 decimal), D (13 decimal), E (14 decimal) and F (15 decimal) >In this way you can set number of click between 0 and 15 click for each sub-field of Distance for env.>>Another sample we could do, it's that to verify if, while lara is hang to support, she has enough space to move up over the new floor.>For this target we'll use a distance like $333 because:>>3 click for min and max height, because the support has to be in a specific position, where are the hands of lara.>The value 3 is the distance from feet of lara, about 3 clicks>The last "3", for space, is the space necessary to host lara in stand up position.>In this way above condition will be true only if the height of space over the support where lara hanged is at least 3 click of heigth. ENV_SUPPORT_IN_RIGHT_WALL:18 ;ver la descripción para ENV_SUPPORT_IN_FRONT_WALL ENV_SUPPORT_IN_LEFT_WALL:19 ; ver la descripción para ENV_SUPPORT_IN_FRONT_WALL ENV_SUPPORT_IN_BACK_WALL:20 ; ver la descripción para ENV_SUPPORT_IN_FRONT_WALL ENV_ITEM_EXTRA_IN_FRONT:21 ;Verifíca si hay un objeto (moveable) con el número de slot= número introducido en el campo ExtraSlot del comando Animation. Como en DistanceForEnv debes introducir la distancia donde quieres el objeto. (1024 = sector) ENV_ITEM_EXTRA_OVER:22 ;Similar to ENV_ITEM_EXTRA_IN_FRONT but in this case the object should be over lara, on same sector. In DistanceForEnv you type the height over lara (See description of ENV_ITEM_EXTRA_IN_FRONT for more infos). ENV_ITEM_EXTRA_UNDER:23 ;Similar to ENV_ITEM_EXTRA_OVER but in this case the object should under lara. If you set the DistanceForEnv field to 0 the object should be near to feet of lara. ENV_MULT_CONDITION:24 ;Signal a multiple condition. The effective ENV condition flags will be stored in a MultEnvCondition script command, and in DistanceForEnv you have to type the ID of MultEnvCondition command will be used.> The final condition will be true only if all conditions in MultEnvCondition command will be true in same time.>Examples:>>If you want set in your animation command two Env condition, like: ENV_CEILING_HEIGHT with height (distance env) = $300 (3 clicks) + other condition: ENV_HOLE_FLOOR_AT_LEFT with depth (distance env) = $400 (4 clicks) you can as first step create this MultEnvCondition command:>>MultEnvCondition= 1, ENV_CEILING_HEIGHT, $300, ENV_HOLE_FLOOR_AT_LEFT, $400>>and then type in Animation command the reference for Id of above MultEnvCondition (1) and the ENV_ condition: ENV_MULT_CONDITION>>For example:>>Animation=447, KEY1_LEFT, IGNORE,IGNORE,ENV_MULT_CONDITION, 1,IGNORE,-445, -448 ENV_HANG_LEFT_IN_CORNER:25 ;Verify if lara is near to corner at her left while she is hang mode. In DistanceForEnv you type the min distance from corner to be the condition true.>Remark: the "_IN_" means internal corner. The internal corner are that you find inside a box, while the "_OUT_" (outside) corners are them you find outside of a box. ENV_HANG_LEFT_OUT_CORNER:26 ;Same mean of ENV_HANG_LEFT_IN_CORNER but with reference to an Outside corner. See description of ENV_HANG_LEFT_IN_CORNER to have more infos about internal and outside corners. ENV_HANG_RIGHT_IN_CORNER:27 ;Same mean of ENV_HANG_LEFT_IN_CORNER but for right side. See description of ENV_HANG_LEFT_IN_CORNER costant. ENV_HANG_RIGHT_OUT_CORNER:28 ;Same mean of ENV_HANG_RIGHT_IN_CORNER but for outside corners. See description of ENV_HANG_LEFT_IN_CORNER costant ENV_HANG_LEFT_SPACE:29 ;Verify if there is yet space at left of Lara in hang mode. In DistanceForEnv you type the space required at left to have the condition true.>Remark: you can't specify a value for distance that passes over the current sector. If you type a too big value the engine will reduce it to reach only the left border of current sector. ENV_HANG_RIGHT_SPACE:30 ;Same of ENV_HANG_LEFT_SPACE but for right side. See description of ENV_HANG_LEFT_SPACE for more infos. ENV_DISTANCE_CEILING:31 ;Condition is true if distance from lara to ceiling is greater or equal to value typed in DistanceForEnv. >For example type in DistanceForEnv the value $300 (3 clicks) the condition will be true if the coordinateY of lara (on her feet when she is stand up) is distance from Ceiling 3 click or more in current sector where lara is. ENV_CLIMB_LEFT_IN_CORNER:32 ;Verify if lara is near at an internal corner al left. See description of ENV_HANG_LEFT_IN_CORNER constant to understand the difference between internal and outside corners. ENV_CLIMB_LEFT_OUT_CORNER:33 ;Lo mismo que ENV_CLIMB_LEFT_IN_CORNER pero para la esquina exterior. ENV_CLIMB_RIGHT_IN_CORNER:34 ; Lo mismo que ENV_CLIMB_LEFT_IN_CORNER pero para el lado derecho. ENV_CLIMB_RIGHT_OUT_CORNER:35 ; Lo mismo que ENV_CLIMB_ RIGHT _IN_CORNER pero para la esquina exterior. ENV_CLIMB_LEFT_SPACE:36 ;Works like ENV_HANG_LEFT_SPACE but it should be used when lara is in climb mode ENV_CLIMB_RIGHT_SPACE:37 ;Works like ENV_HANG_RIGHT_SPACE but it should be used when lara is in climb mode ENV_MULT_OR_CONDITION:38 ;Works like ENV_MULT_CONDITION but the final condition will be true if just a single condition of MultEnvCondition command is true.>See description of ENV_MULT_CONDITION for more infos. ENV_DISTANCE_FLOOR:39 ;Verify if the distance between lara and floor under her is greather or equal than set in DistanceForEnv field>Remar: if you want the opposite condition, i.e if distance from floor is less or equal than DistanceForField, just you add to ENV_DISTANCE_FLOOR the special flag ENV_NON_TRUE. This method work for all other condition where you want inverte the condition. ENV_FRAME_NUMBER:40 ;When you set in StateId Animation array a specified number for animation current (as negative value) you can specify also the precise frame when the condition will be true.>For example if you want you special animation starts only when lara is performing the frame number 21 of the animation 325, you type "-325" in state-id animation array (last field of Animtion command) and to set the frame 21 just set the envcondition ENV_FRAME_NUMBER while in Distance for env type 21. ENV_VERTICAL_ORIENT:41 ;Very particular flag. >You can set a condition in according with current vertical orienting of lara. >Normally lara has always zero like vertical orienting but in some animation this value could change.>You can set a condition about current vertical orienting using the condition ENV_VERTICAL_ORIENT and setting in "Distance for env" field the range of orienting values computed in this way:>MinValue + MaxValue * 256>Typing in hexadecimal value it's more easy to understand. For example if you want set a range like from 3 to 8, just type $83>The values are 16, from 0 to 15 moving in clockwise direction.>Remark: if you want crate a range enclosing the zero (0) you have to invert max and min value, looking the values like hours on the clock.>For example to enable range accepting following values: 13, 14, 15, 0, 1, 2, 3 you have to type 13 like min value and 3 like max value, i.e. in hexadecimal should be: $D3 (D = 13) ENV_ON_VEHICLE:42 ;By default the start of animation cann't happen if Lara is driving some vehicle.>Anywya if you want create new animation for lara while she is on some vehicle you have to use this ENV condition and typing in Extra field the Slot number of vehicle. >Remark: In Extra field you cann't type the name of slot but you can type the number you read at left of slot name in Slot moveable list of reference panel. ENV_FREE_HANDS:43 ;Animation will be started only while Lara has no object in her hands.>If she's taking, weapons, crowbar or she is hanging on wall (climb or monkey) the animation will be NOT performed>Note: this flag ignores the flare, since when lara has in her hand only the flare the game engine considers lara with free hands. ENV_UNDERWATER:44 ;Realiza la animación solamente cuando Lara se encuentra sumergida ENV_FLOATING:45 ;Realiza la animación solo cuando Lara se encuentre flotando en la superficie del agua ENV_ONLAND:46 ;Realiza la animación solamente cuando Lara se encuentra en tierra ENV_IS_STILL:47 ;Realiza la animación solamente cuando Lara no tenga velocidad horizontal ni vertical ENV_ANIM_COMPLETE:48 ;Funciona en la actual animación de Lara, la condición es verdadera (true) solo si la animación está en la última frame. ENV_FLYING_UP:49 ;Realiza la animación solamente cuando Lara esté saltando y se encuentre en la fase hacia arriba ENV_FLYING_DOWN:50 ;Realiza la animación solamente cuando Lara esté saltando y se encuentre en la fase hacia abajo ENV_WALL_HOLE_IN_FRONT:51 ;This condition works in very similar way of ENV_SUPPORT_IN_FRONT_WALL condition, but in this case, other to check for a support in front wall, the engine will check also the height of this hole in the wall, allowing to set the min height and the max height limits of this hole.>>The {distance env} field for ENV_WALL_HOLE_IN_FRONT is like that for ENV_SUPPORT_IN_FRONT_WALL condition, but there is a value in more to set the height of the hole in the wall: >The values you have to set are:>The min height acceptable (4 click in below example)>The max height acceptable (7 click in below example)>The minimum space present over the support to place lara hands (example 1 click)>The max space present over the suppot (height of hole) (example 2 clicks)>>>The formula is: MinHeight + MaxHeight*16 + MinSpace * 256 + MaxSpace * 4096>In decimal this value is misterious: 4 + 7 * 16 + 1*256 + 2 * 4096 = 8564>Anyway if you type in in hexadecimal format is more easy understand the position of each sub-field: 8564 decimal = $2174 in hexadecimal.>I.e. in hexadecimal the digits are (using literal A, B, C, and D as references): >>$DCBA >>where:>'A' is click of minimum height required>'B' is click of minimum height acceptable>'C' is number of click of min space over the support>'D' is number of click of max space over the support>>About hexadecimal notions remember the numbers, using a single digit, have following sequence: >0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (10 decimal), B (11 decimal), C (12 decimal), D (13 decimal), E (14 decimal) and F (15 decimal) >In this way you can set number of click between 0 and 15 click for each sub-field of Distance for env. ENV_IN_LEFT_SIDE_SECTOR:52 ;This condition checks only the position of lara respect current sector where she is.>If lara is near to left border of current sector the condition is true.>Since we are speaking of "left side" this means this condition is true when lara is (virtually) touching with her left arm the (further) wall in sector at left of the sector where she is.>In DistanceForEnv you can change the comput for distance. If you set big values the condition is true also when lara is not very closed to left border of current sector, while if you set a little value the conditon will be true only when lara is very closed to left border of current sector.>Remark: probably you should use this condition togheter with other because alone is not very useful, since it doesn't check if in sector at left of current sector there is really a wall that lara could touch. So you should use this condition togheter with [ENV_NON_TRUE+ENV_NO_BLOCK_AT_LEFT] condition to verify if really lara could touch with her left arm the wall in left side.>Remark: the default value for DistanceForEnv is 128 (1024 = one sector), this is a good value to compute touching of left wall when lara is in stand up position. If you type IGNORE in distance for env will be used 128. ENV_IN_RIGHT_SIDE_SECTOR:53 ;Esta condición funciona de forma parecida a la condición ENV_IN_LEFT_SIDE_SECTOR pero en este caso funciona para el lado derecho.>Lee la condición de la constante ENV_IN_LEFT_SIDE_SECTOR para comprender la lógica de esta condición. ENV_ITEM_EXTRA_AT_LEFT:54 ;Esta condición funciona como ENV_ITEM_EXTRA_IN_FRONT pero analiza un ítem a la izquierda de Lara. Debes insertar el slot del deseado ítem en el campo Extra y la distancia en DistanceForEnv. ENV_ITEM_EXTRA_AT_RIGHT:55 ;Esta condición funciona como ENV_ITEM_EXTRA_IN_FRONT pero analiza un ítem a la derecha de Lara. Debes insertar el slot del deseado ítem en el campo Extra y la distancia en DistanceForEnv. ENV_ITEM_TEST_POSITION:56 ;This condition used to detect if there is an object of given TestPosition command is in correct position with respect to Lara.>The ENV_ITEM_TEST_POSITION has same target of ENV_ITEM_EXTRA_.... conditions but in this case you can accurately compare for an item in any position with respect to Lara and in absolute precise mode.>The other env conditions have some problems to detect the exact distance when the pivot of Lara and the item are too different.>To use the ENV_ITEM_TEST_POSITION you have to type in script a "TestPosition=" script command with all data necessary for the detection, and then you'll type in DistanceForEnv field of Animation= or MultEnvCondition= commands the IdTestPosition (first argument of TestPosition).>>Remark:>The ENV_ITEM_TEST_POSITION condition (like other ENV_ITEM_EXTRA_... conditions) has the limit to check only for items in same room where lara is. >If you want detect an item in a room different than Lara room, the only way is to set in TestPosition command the flag TPOS_TEST_ITEM_INDEX in this way you can set in Slot field (of TestPosition) an index of specific item instead a generic slot type.>>See description of TestPosition script command in the list "SCRIPT NEW commands" of Reference panel of NG_Center program, to have more informations. ENV_HOLD_EXTRA_ITEM_IN_HANDS:57 ;Esta condición es verdadera (true) cuando Lara sujeta en sus manos el HOLD_... ítem introducido en el campo Extra.>Ver la descripción de las constantes HOLD_ en MNEMONIC LIST del panel, Referencia. ENV_CONDITION_TRIGGER_GROUP:58 ;Esta condición de Env permite realizar un TriggerGroup donde has guardado algún exported condition triggers. En DistanceForEnv introduces el Id del TriggerGroup para comprobar si el final de la condición del TriggerGroup es verdadero y también la condición Env para tu comando Animation. ENV_ROOM_IS:59 ;Used in Animation= command.>This condition check if current room (where Lara is) is the same of number typed in DistanceForEnv field.>Using this condition you can create a custom animation that it will work only in some room of the level.>If you need to check for more than one room, you should insert the ENV_ROOM condition list in a MultEnvCondition command.>>Remark:>In DistanceForEnv you can type the room number you wish check, but you can also write some special constants to verify the type of room, indifferently by its number.>You can type one of ROOM_... constant to test if lara is in that moment in that wished room type.>See description of ROOM_... constants for more infos. ENV_PLAYER_IS_SLEEPING:60 ;Used in Animation= command.>This is a very original condition. Pratically it verifies from how much time are missing keyboard commands.>You have to type in DistanceForEnv the number of tickframes (one second= 30 tickframes) required to enable this condition.>For example if you want have true this condition when the player doesn't perform game commands from 3 seconds, you have to type in DistanceForEnv field the value 90 (because 3 * 30 = 90) >This condition could be used to start nice animation in stand-by mode, i.e. when the player is not playing activly (no keyboard signals) you can show an animation where lara scratches one's head, or she turns her face to look player saying: "Are you sleeping?" >If you mean use this nice animation in standby you should remember to set in this animation a state id different by standard state-ids, for example you can use the state id STATE_CONTROLLED, to avoid that some new game command cause a bad change between current (custom animation) and new standard animation.>When you use the state id neutral no new animation will be performed until lara comes back to some standard state id. >So you could create an animation with state id = STATE_CONTROLLED and as next animation the default animation of still stand-up. >You'll have to create a custom animation where Lara starts from stand-up position, it performs the nice move, and then comes back to stand-up animation, with the next animation having the standard stand-up animation. ENV_PLAYER_WOKE_UP:61 ;Used in Animation= command.>This env condition is the opposite of ENV_PLAYER_IS_SLEEPING. It happens when there is any game command.>In ENV_PLAYER_IS_SLEEPING description has been described a way to create stand-by animations in death times of the game.>There is also another method, a bit more complicated, and it's in this situation you need of ENV_PLAYER_WOKE_UP.>If you want perform a custom animation when there is no game commands (player is sleeping) you could put in continue mode Lara in a new position, for example that she sit down and wait.>In this situation, since you used a non-standard state-id, no keyboard command will be accepted, so it should be you with an Animation command and condition ENV_PLAYER_WOKE_UP, to force another custom animation having the target to move Lara from sit down position to common stand-up position. In this new animation it will be set like next animation the standard still stand-up animation, so from this moment Lara will be newly able to receive game commands.>In game the player could see this little show:>Lara (bored) sit down, and looks at left and right, then, when player hit some game command like for example the JUMP, Lara will no jump, but she'll back to stand-up position, and if player hit newly jump (or other commands) Lara will come back to respond to these commands. ENV_DISTANCE_NORTH_WALL:62 ; Usado en el comando StandBy (Pausa).>This condition verify if at given distance (set in DistanceForEnv field) there is a wall to north of Lara.>WARNING: this condition works in absolute way looking only for cardinal point, ignoring the current facing of Lara so it should be used only with other env conditions to apply only for some specific room in hardcoded way.>This condition considers like "wall" any floor higher than current Lara position. ENV_DISTANCE_SOUTH_WALL:63 ;Usado en el comando Animation.>Comprueba si a una distancia especificada en la dirección Sur existe una pared. >Para más información ver la descripción ENV_DISTANCE_NORTH_WALL . ENV_DISTANCE_EAST_WALL:64 ; Usado en el comando Animation.>Comprueba si a una distancia especificada en la dirección Este existe una pared. >Para más información ver la descripción ENV_DISTANCE_NORTH_WALL . ENV_DISTANCE_WEST_WALL:65 ; Usado en el comando Animation.>Comprueba si a una distancia especificada en la dirección Oeste existe una pared. >Para más información ver la descripción ENV_DISTANCE_NORTH_WALL . TSB_NO_CHANGE_CAMERA:0 ;Usado en el comando StandBy (Pausa).>Este tipo de Pausa desactiva cualquier cambio de enfoque de cámara. Solo deberías usarlo cuando uses tu triggergroup para personalizar el modo de Pausa. TSB_MATRIX:1 ;Usado en el comando StandBy (Pausa).>El efecto matrix crea una cámara giratoria alrededor de Lara. TSB_PORTRAIT:2 ; Usado en el comando StandBy (Pausa).>En este tipo de Pausa, la cámara se centra delante de Lara.>Con este modo, puedes usar un valor de distancia pequeña para ver la belleza de los ojos de Lara. TSB_PANORAMA:3 ;Used in StandBy command.>The panorma type works like a matrix type but where the distance, the vertical angle, and the speed of rotation will continue to change in random way.>With Panorama you can create big ranges for distance while with Matrix type the max difference between min and max limits are only +/- 50% of given distance.>>In Panorma type some settings on StandBy command will be interpreted in particular way:>>The further settings for FSB_FLIP_DISTANCE, FSB_FLIP_SPEED and FSB_FLIP_V_ANGLE flags will be ignored, since Panorama type flip always the distance and vertical angle.>The value in "Distance" field will be used like Max Distance, while the min distance will be always 400 (very closed to lara).>>The value in "VAngle" field will be used like Max Vertical Angle allowed. Remember that negative numbers in VAngle mean "the camera is upper and look the lara that she is under it". >When you set a big max distance you should avoid to allow big positive values for vangle because the risk is that the camera tried to go underground. The only exception is when lara is on the top of a pyramid, where around to her the ground is lower than her position. FSB_DISABLE_ON_CRAMPED_SPACE:$0001 ;Used in StandBy command.>This flag is strongly suggested when you use stand-by in native mode, i.e. with automatic activation after a time of inactivity.>Since you cann't know where Lara will be when the stand-by starts, it could happen that lara, in that moment, is in a cramped space. In this situation the rotation of camera could be very difficultous. To avoid this problem you can set the FSB_DISABLE_ON_CRAMPED_SPACE flag and in this way the stand-by will NOT begin when lara has around to her some too closed wall.>Remark: this method works fine only when the distance you set is less than 2048, while with higher values some very far wall could be not correctly computed and it could create problems. FSB_DISABLE_ON_COMBAT:$0002 ; Usado en el comando StandBy (Pausa).>Cuando incluyes este flag la Pausa no será activada mientrás que Lara se encuentre en modo de combate, ej. Cuando ha desenfudado sus armas.>La razón para usar este flag es para dar al jugador la posibilidad de desactivar el modo Pausa cuando no le gusta, de hecho, deja que Lara tenga en sus manos las armas para desactivar la Pausa. FSB_EXIT_ON_ATTACK:$0004 ; Usado en el comando StandBy (Pausa).>Esta configuración desactiva el modo Pausa cuando Lara está recibiendo daño por parte de enemigos o trampas. FSB_FLIP_DISTANCE:$0008 ;Used in StandBy command.>This flag influences matrix and portrait modes, changes in sweet way the distance.>The distance will be increased and decreased with a floating range from (Distance - 50%) to (Distance + 50%) FSB_FLIP_V_ANGLE:$0010 ; Usado en el comando StandBy (Pausa).>Este flag cambia lentamente el angulo vertical moviendolo desde el angulo minimo del (VAngle - 50%) a un max del (VAngle + 50%) FSB_FLIP_H_ORIENT:$0020 ; Usado en el comando StandBy (Pausa).>This flag do sliding the horizontal orienting of camera in a range from -45 degrees to +45 degrees.>Remark: this setting could be used only with portrait mode, since it should have no sense using it with a matrix effect, since the matrix changes continuosly the horizontal orienting byself. FSB_FLIP_SPEED:$0040 ; Usado en el comando StandBy (Pausa).>This setting changes the rotation speed in random way. >The range will be beteen (RotateSpeed - 50%) to (RotateSpeed + 50%)>It's better usign this setting only with matrix effect. FSB_FREEZE_ENEMIES:$0080 ; Usado en el comando StandBy (Pausa).>To avoid that lara was attacked during the stand-by mode you can use the FSB_FREEZE_ENEMIES flag to stop the activity of all enemies.>The baddy will become frozen until the standby is on. FSB_FREEZE_LARA:$0100 ; Usado en el comando StandBy (Pausa).>With this setting the game input will be stopped during the stand-by mode.>Since in this way the player will have no chance to move lara and therefore to exit from stand-by mode, this setting should be used only with a stand-by started with the flipeffect trigger "Perform <&>StandBy mode for (E)seconds" FSB_OVERLAP_AUDIO:$0200 ; Usado en el comando StandBy (Pausa).>When you set a valid value in AudioTrack field, you have to decide if the standby audio will replace (temporary) the current audio track, or if the new audio will be overlapped to old audio without stopping it.>When you want that the standby audio was overlapped to old audio track you add the FSB_OVERLAP_AUDIO flag, differently, if you wish the old audio track was stopped before playing the new standby audio track, just you omit the FSB_OVERLAP_AUDIO flag.>Remark: reasonably, you should use the FSB_OVERLAP_AUDIO flag only when the audio track in the level is only a list of environment sounds, like wind, sea song ect, while if the level audio is a music, it's better stop it before playing the standby audio since two musics in same moment could be chaotic. FSB_IMMEDIATE:$0400 ; Usado en el comando StandBy (Pausa).>Usually the camera will start from current standard position and it will move slowly to reach the position required from the settings of StandBy command.>If you wish the camera starts immediatly in new required position you can use the FSB_IMMEDIATE flag,and the camera will be moved immediatly in the new position. ROOM_WATER:-1 ;CUARTO DE AGUA. Usado en conformidad con la condición de ENV_ROOM en los comandos Animation o MultEnvCondition.>Lara está en un cuarto de agua. Por favor ten en cuenta que Lara está en un cuarto de agua cuando está flotando en el agua o cuando está sumergida, pero NO lo está cuando simplemente puede andar por aguas de bajo nivel. ROOM_QUICKSAND:-2 ;CUARTO DE ARENAS MOVEDIZAS. Usado en conformidad con la condición de ENV_ROOM en los comandos Animation o MultEnvCondition.>Lara está en un cuarto de arenas movedizas. ROOM_DAMAGE:-3 ;CUARTO DAÑINO. Usado en conformidad con la condición de ENV_ROOM en los comandos Animation o MultEnvCondition.>Lara está en un cuarto de Dañino. ROOM_COLD:-4 ;CUARTO GÉLIDO. Usado en conformidad con la condición de ENV_ROOM en los comandos Animation o MultEnvCondition.>Lara está en un cuarto Gélido. ROOM_RAIN:-5 ;CUARTO DE LLUVIA. Usado en conformidad con la condición de ENV_ROOM en los comandos Animation o MultEnvCondition.>Lara está en un cuarto de Lluvia. ROOM_SNOW:-6 ;CUARTO DE NIEVE. Usado en conformidad con la condición de ENV_ROOM en los comandos Animation o MultEnvCondition.>Lara está en un cuarto de Nieve. ROOM_OUTSIDE:-7 ;CUARTO EXTERIOR. Usado en conformidad con la condición de ENV_ROOM en los comandos Animation o MultEnvCondition.>Lara está en un cuarto Exterior (la coleta se mueve al viento) ROOM_REFLEX:-8 ;CUARTOS CON REFLEJO. Usado en conformidad con la condición de ENV_ROOM en los comandos Animation o MultEnvCondition.>Lara está en un cuarto con reflejo del agua (el botón [R] del mapa 2d).>Normalmente los cuartos reflejados son los que están por encima del cuarto de agua. ROOM_MIST:-9 ;CUARTO CON NIEBLINA. Usado en conformidad con la condición de ENV_ROOM en los comandos Animation o MultEnvCondition.>Lara está en un cuarto marcado como Neblina (el botón [M] del mapa 2d) ENV_POS_STRIP_1:$8000 ;Lara está en el primer (más adelantada) strip de tres strips ideales del sector actual respect hacia donde mira.>Puedes usar este flag si deseas cuando Lara está cerca de un interruptor o una puerta u otros items acoplados a una pared con Lara inmediatamente en frente de ellos.>Nota: siempre puedes añadir a la actual condición ENV uno o más flags ENV_POS_ para especificar la posición de Lara con respecto al sector actual. ENV_POS_STRIP_2:$4000 ;Igual al de arriba, pero en este caso Lara está en el strip central de los tres strips del sector actual. Para más información ver la descripción sobre ENV_POS_STRIP_1. ENV_POS_STRIP_3:$2000 ; Igual al de arriba, pero ahora está en el tercer strip. Para más información ver la descripción sobre ENV_POS_STRIP_1. ENV_POS_IN_THE_MIDDLE:$1000 ;Lara está (casi) exactamente en el centro del sector actual. Esta es la posición para Lara cuando es capaz de hacer un salto hacia una cuerda, por ejemplo. ENV_POS_HORTOGONAL:$0800 ;For hortogonal we mean :non diagonal. >For many animation it's necessary lara is facing exaclty a wall otherwise she will be not able to climb, hang ect.>If you add this ENV_POS flag the condition will be false if lara is too diagonal respect to wall lines. ENV_POS_CENTRAL:$0400 ;Please don't confuse this flag with previous >ENV_POS_IN_THE_MIDDLE.>The ENV_POS_CENTRAL works fine togheter with some >ENV_POS_STRIP.. field, to set a central position in specific strip you chose.>While the ENV_POS_IN_THE_MIDDLE cann't used with ENV_POS_STRIP because that flag already set exactly the position in sector (at center). ENV_POS_RIGHT_CORNER:$0200 ;The corner is that of current sector where lara is. This condition is true when Lara is in right corner of current sector using as reference the direction where she is looking. ENV_POS_LEFT_CORNER:$0100 ;Works like ENV_POS_RIGHT_CORNER but for left side. See descrition of ENV_POS_RIGHT_CORNER for more infos. ENV_NON_TRUE:$80 ;Invert the current ENV condition. You have to add this value to some ENV condition when you want have that when the condition is true it will be false, and viceversa.>For example looking belove ENV conditions you'll find the ENV_NO_BLOCK_IN_FRONT condition.>If you use this alone it means "perform my special animation only if lara has NO block in front of her face".>But if you want perform an animation requiring a block in front of lara, you can use that same conditon (ENV_NO_BLOCK_IN_FRONT) linked with + ENV_NON_TRUE, to inverse the condition.>In this combination (ENV_NON_TRUE + ENV_NO_BLOCK_IN_FRONT) we have an (ugly) double negation that it means: "when lara HAS a block in front.. . perform my special animation".>You can add ENV_NON_TRUE flag to any ENV condition, anyway remember that the ENV_NON_TRUE flag has NO effect on ENV_POS ... flags, this means the ENV_POS flags will be valued always in direct way, indifferntly if you set or less an ENV_NON_TRUE flag. DENV_FLAG_FACE2FACE:$8000 ;Work togheter with ENV_ITEM_EXTRA... conditions, but you have to add this flag to DistanceForEnv field and not to field EnvCondition. You use it to require a specific couple of orienting (facing) for Lara and object to check.>For example if you want start your animation only when lara is face to face with SKELETON (slot id = 35) and distance is about half sector (512) you have to type:>In field ENV Condtion: ENV_ITEM_EXTRA_IN_FRONT >In field Distance for env: 512 +DENV_FLAG_FACE2FACE>In field Extra : 35>>>Remark: the flags DENV_... are DistanceENV flags you can add to distance value to set some other settings.>About ENV_ITEM_EXTRA conditions you can add two flags DENV_ to Distance for env, to set the position about orientation of lara respect to object.>You can choose two DENV_ flags:>>DENV_FLAG_FACE2FACE (lara and object were looking face to face)>DENV_FLAG_FACE2BACK (lara is looking object while it gives the back to lara)>>Remark: if you don't add any DENV_FLAG to distance, this means that the facing will be ignored. DENV_FLAG_FACE2BACK:$4000 ;Works in same way of DENV_FLAG_FACE2FACE flag but in this case the condition is true when lara is back of object. See description of DENV_FLAG_FACE2FACE flag for more information. KEY1_UP:1 ;TECLA1 ARRIBA:1 KEY1_DOWN:2 ;TECLA1 ABAJO:2 KEY1_LEFT:4 ;TECLA1 IZQUIERDA:4 KEY1_RIGHT:8 ;TECLA1 DERECHA:8 KEY1_JUMP:$10 ;TECLA1 SALTAR:$10 KEY1_DRAW_WEAPON:$20 ;TECLA1 SACAR ARMA:$20 KEY1_ACTION:$40 ;TECLA1 ACCION:$40 KEY1_WALK:$80 ;TECLA1 ANDAR:$80 KEY1_LOOK:$200 ;TECLA1 MIRAR:$200 KEY1_ROLL:$1000 ;TECLA1 VOLTERETA:$1000 KEY1_RELEASED:$8000 ;TECLA1 SOLTAR:$8000 KEY2_USE_FLARE:8 ;TECLA1 USAR BENGALA:8 KEY2_DUCK:$2000 ;TECLA1 AGACHARSE:$2000 KEY2_DASH:$4000 ;TECLA1 ESPRINTAR:$4000 SC_NORMAL:0 SC_HALF_WIDTH:1 ;Los signos son reducidos a la mitad de su ancho, mientras que la altura no variará. SC_HALF_HEIGHT:2 ;Los signos son reducidos a la mitad de su altura, mientras que el ancho no variará. SC_HALF_SIZE:3 ;Este valor reduce a la mitad el ancho y alto del signo SC_DOUBLE_WIDTH:4 ;Hace que los signos sean de doble anchura, sin variar la altura SC_DOUBLE_HEIGHT:5 ; Hace que los signos sean de doble anchura, sin variar el ancho SC_DOUBLE_SIZE:6 ;Hace que los signos tengan el doble de ancho y alto. MIR_WEST_WALL:0 ;Espejo en la pared Oeste del cuarto actual. Este era por defecto la configuración (solo) en el antiguo motor del tomb4 MIR_FLOOR:1 ;Espejo en el suelo MIR_CEILING:2 ;Espejo en el techo.>Nota: Si deseas que se vea el reflejo de Lara en el techo, debes usar un cuarto pequeño en altura o usar una cámara fija para ver a ambas Laras al mismo tiempo, ya que no es posible que Lara gire lo suficiente su cuello para verse en el techo. MIR_INVERSE_WEST:3 ;Espejo en la pared Oeste pero cada movimiento o desplazacimento de Lara u otro Moveable será invertido, como en el TR1 donde Lara se encuentra con la Lara alieníjena (Lara beacon). ADD_FLAME:1 ;Añade fuego al objeto actual. ADD_SMOKE:2 ;Añade humo al objeto actual. ADD_BLOOD:3 ;Añade sangre (vlady) al objeto actual. ADD_MIST:4 ;Add mist to current object. Mist are sprays of water. You see the mist in waterfall. >When you use ADD_MIST there are four additional fields in AddEffect command and the new syntax of AddEffect command becomes the following:>>Syntax: AddEffect=Id, EffectType (ADD_), FlagsEffect (FADD_), JointType (JOINT_), DispX, DispY, DispZ, DurateEmit, DuratePause, Extra1 SizeMistBall, Extra2 NumberOfMistBalls, Extra3 ColorMist, Extra4 PersistenceOfMist>>These are the descriptions of extra parameters:>>Extra1 = Size of mist ball. Default value is 12>Extra2 = Number of mist balls. Default is 1. You can set a max of 4 mist balls, they will be placer over an ideal line. The mist line will be oriented following facing of current moveable,anyway you can rotate the facing of mist line using rotate flags.>Extra3 = Color of mist. You can set a MIST_COL_ value. You find all colors in reference panel of NG_Center program>Extra4 = Persistence time of mist. Default value = 6. You should use this field only if the moveable is moving fastling and you want let a wake. Bigger values, longer wakes. ADD_LIGHT_FLAT:5 ;Usado en el comando AddEffect>Con este valor añades a un moveable una luz de un color deseado.>Que queremos decir con lo de "flat light", una luz común sin parpadeo, ni tampoco un spot light.>Es como un light-bulb.>En cualquier caso también puedes crear un ritmo de luz parpadeante con un ajuste correcto de flat light en los campos DurateEmit y DuratePause.>Si usas este método de parpadear será en cualquier caso diferente del de ADD_LIGHT_BLINK ya que en ese caso el parpadeo es aleatorio para simular un fuego, mientras que el parpadeo que obtienes con una flat light + durate emit y durate pause siempre será un parpadeo perfecto, como ocurren con algunas maquinas eléctricas. ADD_LIGHT_BLINK:6 ;Usado en el comando AddEffect>Con este valor añades una luz parpadeante a un moveable.>La blinking light (luz parpadeante) es igual a la luz de la bengala, donde la intensidad de la luz cambia algo de forma aleatoria. ADD_LIGHT_SPOT:7 ;Used in AddEffect command>This light works like a light-spot, i.e. it generates a cone of light following a given direction like the headlight of sidecar.>For this light type it's important the facing to choose the direction of the light cone.>The default facing is that of moveable where you add this effect, anyway you can change this facing using the FADD_ flags in FlagsEffect (FADD_) field.>>Remarks: >- You could have trouble if there is in same time the jeep or boats using headerlight, because this add effect uses the same light resources to generate this light-spot.>- With this kind of light you have to type a very high Intensity value, about 200.>- You cann't change the standard yellow-white color for spot light. FADD_NONE:0 ;Si no deseas usar ninguna constante FADD_ puedes usar la constante FADD_NONE en el campo FADD FADD_NO_SOUND:$0001 ;Usado en el comando AddEffect>Este flag desactiva cualquier sonido enlazado con algunos efectos como el del mist o el del fuego. FADD_IGNORE_STATUS:$0002 ;Used in AddEffect command.>By default the add effect trigger will ignore the comand of add effect if the moveable has not yet been enabled in game or if it has already killed/removed.>Anyway in some circumstance this compute could be wrong and with some special items the result could be to fail the adding effect operation.>If you work with some of these special items (like some pickups) you can add the > FADD_IGNORE_STATUS flag. When trng finds this flag it ignores the status of moveable and it will apply always the effect also if item appears invisible or disabled. FADD_FIRE_STRIP:$0004 ;Used in AddEffect command.>This flag may be used together with ADD_FLAME type.>By default the ADD_FLAME type shows a little fire in common way, while if you use the FADD_FIRE_STRIP flag it will be created an horizontal strip of fire like if the flames were shooted from a dragon (from front) or from a air-jet (from back, using also the FADD_ROTATE_180 flag). FADD_VORIENT_90:$0008 ;Used in AddEffect command.>This flag rotate (in temporary way) the item of 90 degrees in clockwise direction on vertical axis.>>This temporary change is useful with some particular moveables where the position of the meshes has a different vertical orienting respect than their position in first animation.>You can discover this situation using Wad Merger and verifying the mesh when there is no animation selected respest when it has been selected the first animation.>>It's important understand that all FADD_VORIENT... flags are very different than the FADD_ROTATE... flags, since the FADD_ROTATE flags will be used to give an horizontal direction (facing) for those effects moving on some ideal line, like the mist strip or fire strip.>Differently, you can’t change the direction of effects using the FADD_VORIENT flags, but you'll use these flags only when you have to fix the bad vertical orienting of some moveables (like the jeep for example). FADD_VORIENT_180:$0010 ;Used in AddEffect command.>Change vertical orienting by 180 degrees of moveable in temporary way before apply the compute of DispX, DispY, DispZ.>See also the description of FADD_VORIENT_90 flag to understand the particular situation when you should use these flags. FADD_VORIENT_270:$0020 ;Used in AddEffect command.>Change vertical orienting by 270 degrees of moveable in temporary way before apply the compute of DispX, DispY, DispZ.>See also the description of FADD_VORIENT_90 flag to understand the particular situation when you should use these flags. FADD_CONTINUE_EMIT:$0100 ;If you use this flag, the values typed in DurateEmit and DuratePause will be ignored.>You should use this flag for effect types requiring a continue emission, like mist and flames. FADD_DURATE_STATEID:$0200 ;If you want you can keep this effect active until moveable is in current state id.>Using this flag the time durate set in trigger window will be ignored, and the effect will be removed only when moveable will change its state Id with a value different than that used at start of effect. FADD_SMOKE_EXHAUST:$0400 ;This flag will be used only for ADD_SMOKE type effect.>There are two different smoke emitters: the default is a common smoke will go up and disappear in fast time, while other is the exhaust smoke you see also in jeep or sidecar. If you want use exhaust smoke set this flag, while you want a more traditional smoke don't use this flag. FADD_ROTATE_270:$0800 ;It works like FADD_ROTATE_90 flag but using a rotation of 270 degree. See description of FADD_ROTATE_90 flag for more infos. FADD_ROTATE_90:$2000 ;The fadd_rotate flags are used only in particular circumstances, when you use an effect type that use the orientation (horizontal) of object to compute the direction of emitting.>In this case you can alterate the orienting of emit adding one of above flags. For example if you want the mist strip will be oriented in side instead of in front of object facing, you can use FADD_ROTATE_90 flag. FADD_ROTATE_180:$4000 ;It works like FADD_ROTATE_90 flag but using a rotation of 180 degree. See description of FADD_ROTATE_90 flag for more infos. FADD_DURATE_ANIMATION:$8000 ;This flag work in very similar way of above flag fadd_durate_stateid, but in this case the value to check for condition emit/disable is the animation number. FADD_DURATE_SINGLE_FRAME:$1000 ;This flag force the emitting to work only for single frame. There will be a single emitting and then the effect will be disabled.>I think only blood can work with this flag. TPOS_DOUBLE_HORIENT:$0001 ;Used in TestPosition command>If you want that the correct position to detect could be in front of object (with given H Orient) but also in the opposite side, you can set this flag.>When in TestPosition there is the TPOS_DOUBLE_HORIENT flag, the testposition condition will be true also if lara is in opposite side for what you set the ranges of testposition.>For example using an item like a gate, you can use TPOS_DOUBLE_HORIENT to permit to lara to be in correct position for both side of the gate.>>Remark: this flag works fine only if the item has its pivot in same position of visible mesh. >Unfortunately, in many circumstances the pivot (origin x,y,z of object) is not at center of its mesh but in a corner of sector where it will be placed. TPOS_FOUR_HORIENT:$0002 ;Used in TestPosition command>With this flag the correct position will be each position for each side of object.>The example could be a cube like a squared pushable object, where lara is able to interact with every side of the pushable.>Remark: To work fine, it's necessary that the object had its pivot (origin x,y,z of object) exactly in central position of object mesh. TPOS_TEST_ITEM_INDEX:$0004 ;Used in TestPosition command>Adding this value in Flags of TestPosition you change the mean of "Slot Moveable" field.>When you use TPOS_TEST_ITEM_INDEX flag, trng engine will consider the value in "Slot Moveable" field like an index of item to check.>You find the index in NGLE program, clicking on wished item, you'll see the index in yellow frame.>The advantage to use an index is to can test a moveable also if it is extern a lara room, while in other case (checking for slot) the testposition detects only items in same room where lara is.>By other hand, the disadvantage to use this flag is that, in this way, you can’t detect all object in general way but you have to specify only one item index. TPOS_FAST_ALIGNMENT:$0008 ;Used in TestPosition command>In the reality this flag affects the (furhter) alignment phase when you used the FAN_ALIGN_TO_ENV_POS constant in the Animation command that called this TestPosition command.>When you use an Animation command and you used also the FAN_ALIGN_TO_ENV_POS, when Lara is in a good position for TestPosition command, she will be moved in perfect ideal position before performing the animation.>Well, in some circumstances the old method used to move lara byself in ideal position had a problem of continuous loop when she was too closed to target position to reach.>To solve this problem you could use in TestPosition command the TPOS_FAST_ALIGNMENT flag, and in this case Lara will be moved very fastly in correct position avoiding the risk of looping.>Remark: you should use the fast alignment only when you set a very low tolerance in TestPosition command, i.e. when the condition of testpostion will be true when Lara is really very closed to ideal position. TPOS_OPPOSITE_FACING:$0010 ;Used in TestPosition command.>The alignment with some objects could fail because the main mesh has an opposite facing respect to animation 0 displacement.>You can discover this situation with Animation Editor of Wad Merger: when the position of mesh with "No Animation" is the opposite of mesh in "Animation 0" you are in this situation and the self alignment could fail.>To fix this bug you can use the TPOS_OPPOSITE_FACING flag in the TestPosition command used by your Animation command. JOINT_SINGLE_MESH:0 ;UNIR UN MESH:0 JOINT_PUBIS:0 ;UNIR PUBIS:0 JOINT_LEFT_THIGH:1;UNIR MUSLO IZQUIERDO:1 JOINT_LEFT_KNEE:2;UNIR RODILLA IZQUIERDA:2 JOINT_LEFT_ANCKLE:3;UNIR TOBILLO IZQUIERDO:3 JOINT_RIGHT_THIGH:4;UNIR MUSLO DERECHO:4 JOINT_RIGHT_KNEE:5;UNIR RODILLA DERECHA:5 JOINT_RIGHT_ANCKLE:6;UNIR TOBILLO DERECHO:6 JOINT_ABDOMEN:7;UNIR ABDOMEN:7 JOINT_NECK:8;UNIR CUELLO:8 JOINT_LEFT_SHOULDER:9;UNIR HOMBRO IZQUIERDO:9 JOINT_LEFT_ELBOW:10 ;UNIR CODO IZQUIERDO;10 JOINT_LEFT_WRIST:11;UNIR MUÑECA IZQUIERDA:11 JOINT_RIGHT_SHOULDER:12;UNIR HOMBRO DERECHO:12 JOINT_RIGHT_ELBOW:13;UNIR CODO DERECHO:13 JOINT_RIGHT_WRIST:14 ;UNIR MUÑECA DERECHA:14 SET_DISABLE_CHEATS:$0001 ;Desactiva todos los trucos para saltar el nivel, armas infinitas o ítems.>Nota: Para desactivar el flycheat debes usar el antiguo comando FlyCheat = DISABLED SET_BLIND_SAVEGAMES:$0002 ;If you want forbid players of your game to use savegame editor to change savegames, just you add this flag in Settings command.>Any attempt of players to modify savegames will cause immediate crash at reload. SET_PERFORM_FROM_CD:$0004 ;With this constant your game will be able to be performed from CD / DVD and generally from only-read storage support.>Pratically the reason to use this setting is when you want give your game to some friend, stored on cd and playable directly from CD with no need of installation of level editor (TRLE) folder on local disk.>When this setting is present the trng engine will save and load savegame not from current TRLE folder where is has been store, but in/from new folder in local drive C: with same name of first level description different by title.>For example if you use this option with a level described in script.txt like "City Of The Dead", trng will create a folder named:>>C:\City_Of_The_Dead>>and it will save and load savegames in/from this folder.>>Remark:>If you want create an autostart CD in this way, you have to perform following steps:>>1) Add in script.txt file in [Options] section the command:>>Settings = SET_PERFORM_FROM_CD >>(You can also add other SET_ flag to above line, of course)>>2) Build script.txt>>3) When you have in TRLE folder all level files (.dat , .tr4) necessary to play your game, you can save whole TRLE folder, including also the name of TRLE folder, in CD image to burn on cd support.>>4) Before burning image you should add to image also following files, you find in Extra_NG_File.zip:>>START.exe>autorun.inf>>>5) Now you can burn the CD and, at end, you should get following list browsing the new created CD:>>START.exe>autorun.info>TRLE (Folder)>>Remark: the start.exe and autorun.inf files should be in root of CD, i.e. outside of TRLE folder>>6) Now just inserting this cd in some CD reader and the game will be started and played byself, without need of installation on local disk (of target computer) of TRLE or other files or programs. SET_CRYPT_SCRIPT:$0008 ;Setting this flag the script.dat file will be crypted to forbid decompilation with some utilities.>If you set some security issues, like SET_DISABLE_CHEATS, it's advisable set also crypting of script.dat, otherwise some guy could simply decompile the script.dat and recompile it removing the SET_DISABLE_CHEATS flag. SET_SOFT_FULL_SCREEN:$0010 ;Used in Settings= command.>There are complicated questions about this setting.>When the game (tomb4) works in full screen it's difficultous for trng starts a movie (FMV) because this screen mode, known as "full screen", is really an Exclusive mode, i.e. the game catches the screen and don't wish release it to other directx task (like the FMV viewer).>From version 1.2.0.9 I tried a way to stole to tomb4 the screen to play the FMV but this fight is complicated and so on some computers you could see some blinking at start and at end of FMV viewing.>If you think that these blinking are too boring you can use the SET_SOFT_FULL_SCREEN setting in the Settings= command.>With this setting the Exclusive Full Screen Video Mode will be converted at fly in a Software (cooperative) Full Screen mode.>Pratically the game will be showed in full screen, too, but the directx mode will be not exclusive and therefore the FMV will be showed with no need to fight. So no blinking or slow time at start or end the FMV.>>Remark: This setting will have no effect if the user set tomb4 to work in windowed mode. This settings works only when tomb raider has been set to work in full screen mode. SET_ACCEPT_EXTRA_TAILINFOS:$0020 ;Used in Settings= command.>This setting forces trng engine to accept upto 32767 tail infos in the tr4 files.>Also using this setting the limit for ngle remains the old limit of 1024 tail infos, therefore the only reason to use this setting is when you use the program meta2tr to replace the room meshes directly in tr4 file.>Since meta2tr increases the number of tail infos you can use this setting to support the new extra tail infos.>Differently when you use the tr4 creadted by ng_tom2pc without changing, this setting is futile and probably also dangerous since it could create some trouble with animated range textures. RAIN_DISABLED:0 ;Es lo mismo que no insertar en el script el comando Rain= RAIN_SINGLE_ROOMS:1 ;Con esta configuración, la lluvia solo se verá en cuartos específicos marcados como "Rain" en el Ngle y que se>introduzca la condición de exterior [O] (outside). RAIN_ALL_OUTSIDE:2 ;Si quieres tener lluvia en todos los cuartos exteriores sin necesidad de definir cada uno de ellos en el NGLE con el botón de lluvia "Rain", debes usar la definición rain_all_outside.>Nota:>(1) si usas el campo RAIN_ALL_OUTSIDE el truco para definir la intensidad de la lluvia, simplemente es activar el botón "Rain" en el primer cuarto que visite Lara y definir en el campo de la intensidad (a la derecha del botón multiestado (agua/lluvia/nieve...) water/rain/snow...) la intensidad (desde 1 a 4)>De esta manera la intensidad para todo el nivel será la que hayas elegido para ese cuarto.>En cualquier caso, si defines otro cuarto con otra intensidad diferente de lluvia "rain", cuando Lara entre en ese cuarto la intensidad cambiará a la que hayas definido.>>(2) Si no quieres usar cuartos de lluvia en el nivel es mejor usar el comando "Rain=RAIN_DISABLED" (u omite introducir el comando Rain=) para decirle al motor del TRNG que evite buscar cuartos de lluvia. SNOW_DISABLED:0 ;Con esta configuración, es lo mismo que no insertar en el script el comando Snow=>Los siguientes cuartos seleccionados como "Snow" en el NGLE serán ignorados, ej. el efecto snow no se realizará. SNOW_SINGLE_ROOM:1 ;Solo el cuarto con selección "Snow" en el NGLE y con el estado [O] (exterior) tundra nieve en el juego.>Cada cuarto tendrá su propia intensidad según lo introducido en el campo Water Intensity a la derecha del botón multiestado Water/Rain/Snow ... SNOW_ALL_OUTSIDE:2 ;La nieve (snow) se tendrá en todos los cuartos exteriores ignorando el botón multiestado. Esto quiere decir que un cuarto exterior que no tenga atribuido con el botón el estado de "snow" tendrá nieve si es diferente a un cuarto de Agua (Water) y tiene el estado de [O] Exterior.>>Notas:>(1) Si usas la configuración de SNOW_ALL_OUTSIDE y quieres introducir la intensidad para la nieve en todo el nivel, puedes configurar un cuarto con el atributo de "Snow" en el Ngle e introducir en el campo de la intensidad de agua el valor de la intensidad de la nieve. Ese valor será usado para todo el nivel.>>(2) Si no quieres usar la nieve en todo el nivel, es mejor usar el comando "Snow=SNOW_DISABLED" para informar al motor del TRNG, evitando que esté buscando más cuartos con atributos de nieve. SEQ_LOOP:$0001 ;La secuencia será reproducida de forma continuada Si usas este flag, debes usar un flipeffect específico para detener la secuencia, en caso contrario será reproducida ininterrumpidamente. SEQ_LOOP_INVERSE:$0002 ;This flag works only if you set also SEQ_LOOP flag.>While the single SEQ_LOOP flag set an infinite loop with this sequence (supposing 4 textures from 0 to 3):>>0 1 2 3 0 1 2 3 0 1 2 3 ....>>When you set also the SEQ_LOOP_INVERSE flag, the sequence will be:>>0 1 2 3 2 1 0 1 2 3 2 1 0 .. SEQ_STOP_AT_FIRST:$0004 ;If you set this flag you force engine to set always the first texture of range when the animation will be completed.>Differently, if you omit this flag the last texture showed depends by type of animation.>If you have set no loop, the last texture showed will be the texture of last index of array sequence.>If you have set a loop, the texture showed will depend by the moment when you perform the Stop texture sequence flipeffect. CUST_DISABLE_SCREAMING_HEAD:1 ;The CUST_DISABLE_SCREAMING_HEAD disable the change of normal Lara head (from Lara Skin slot) with screaming head when she is shooting (from Lara Scream slot).>>Syntax: Customize=CUST_DISABLE_SCREAMING_HEAD>>The reason to disable the change of heads could be when you perform a standard swap mesh for Lara but the screaming head remain untouched. In this circumstance when player will shoot the new Lara Head will be replaced with the old screaming head of Lara ruining the new mesh coherence. >Differently if you set this CUST value, Lara will have always a single head avoiding above problem after a swap mesh operation.>Remark: another way to solve the problem is to use an advanced Swap mesh, replacing also the mesh in Lara Scream slot, using a swap mesh where is present also "Shooting Head". CUST_SET_SECRET_NUMBER:2 ;Arguments: NumberOfSecrets>With this customize you can substitute the text in Statics screen of game where is the row: Secrets Found ".. / 70">The value you type (NumberOfSecrets) will substitute the default "70" for max amount of secrets.>>You can use this customize in two way:>* If you want show a different max amount of secrets, levels for leves, i.e. in each level a different amout of secrets for that level, you have to place a row:>>Syntax:Customize=CUST_SET_SECRET_NUMBER, NumberOfSecrets>>In each level of your script dat (excluding Title level)>In this way you can set different values to specify the amount of secrets for each level.>>While other chance is:>>* Modify the global amount of secrets it will be the same for all levels.>In this case you have to use a single Customize line and place it in level section of Title level.>Typing a single CUST_SET_SECRET_NUMBER in title level it will affect this setting for all levels. CUST_SET_CREDITS_LEVEL:3 ;The credit level should be the last level of your adventure.>In The Last Revelation the number was 39.>The target to reach is to have scrolling text with credits at end of your level.>You should also substitute the credit texts with your custom texts.>You find this text in [PSXString] of any language text file. The first text is "Programmers" (index =246)and the credit list continues until the end of [PSXString] section.>Syntax: Customize=CUST_SET_CREDITS_LEVEL, NumberOfEndLevel> CUST_DISABLE_FORCING_ANIM_96:4 ;By default, when lara is moving left or right in hang mode and reach a corner the engine force the animation 96.>>Syntax: Customize=CUST_DISABLE_FORCING_ANIM_96>>This behavior is good of course, but if you are writing new hanging animation that forcing of animation 96 could create troubles to your new hanging management.>Using this cust value the engine will not force anim 96, allowing to use custom animation to round the corner CUST_ROLLINGBALL_PUSHING:5 ;You can change features activated with OCB 4 or 8 in RollingBall.>Using 4 or 8 in OCB of rollingball you enable the skill of lara to activate or moving rollingball pushing it like it was a pushing object.>With CUST_ROLLINGBALL_PUSHING you can customize this effect: used animations, time for moving, distance for activation of pushing ect.>>Syntax: Customize=CUST_ROLLINGBALL_PUSHING, Distance, PushAnim, FailedAnim, FrameOfMoving, FrameOfActivation, FramesOfInvulnerability, Speed>>Remark: if you want omit to change some values just you type IGNORE in that field and the engine will use the default value preset in hardcoded mode.>>Description of fields:>>Distance>-------->Distance is the distance between Lara and the center of rolling ball.>Only when lara is at correct distance she will be able to push it.>The default value for distance is 600, where 1024 is the size of a single sector of game and 1 click is 256 units.>The default distance (600) is good for spiked rolling ball you find in tut1.wad.>Differently, if you use a non spiked rolling ball, pheraps you should increase the distance, because lara will be keeped far from collision rolling ball.>>PushAnim>-------->With this field you can change the animation used to show lara is pushing rolling ball.>By default the animation is the anim number 316, i.e. the same use to push the big pushable button used as switch.>>FailedAnim>----------->This is another animation number. It used when lara is not able to move the rollingball because there is some obstacle in oppisite side of rollingball.>The default value for FailedAnim is the animation 120>>FrameOfMoving>------------->FrameOfMoving is the frame number of PushAnim animation from that the engine will move in passive way the rollingball.>For "passive way" I mean the rolling ball is not moving byself (since it's not yet activated) but it was moving by the pushing of lara.>The default value is 20th frame of PushAnim animation.>The interval while the rolling ball will be moved in passive way, it the range between FrameOfMoving and FrameOfActivation.>If you type as FrameOfMoving a number bigger than FrameOfActivation the rolling will be never moved in passive way.>>FrameOfActivation>----------------->FrameOfActivation is the frame number of PushAnim animation when the rolling will be really enabled, and it will begin to move byself.>The default value is 50th frame.>>FramesOfInvulnerability>----------------------->FramesOfInvulnerability is the number of frame of animation following the PushAnim animation, while Lara will be invulnerable.>This invulnerability it's necessary because otherwise lara should be always killed by rolling not just it has been enabled (since she is very closed to rolling ball in that moment)>So to give to lara some time to go away from rolling ball, there is some time of invulnerability.>The default value is 30 frames, where 1 second = 30 frames.>Remark: while lara is performing the PushAnim animation she is always invulnerable.>>Speed>------>The "speed" is the increment used to move rolling ball when lara push it in passive mode. Each frame will be added the "speed" increment to correct coordinate (x or z).>The default value is 6.>If you increase this value the pushable will be moved fastly by Lara.>For example if you have the trouble to see lara enter in rolling ball in pushing phase this means you should: reduce the FrameOfMoving value to move immediately rolling ball, and/or, you can increase the speed to move more fastly the rolling avoiding that lara, in her movement, enters in rollingball. CUST_NEW_SOUND_ENGINE:6 ;Syntax: Customize=CUST_NEW_SOUND_ENGINE, NewSoundEngine flags (NSE_...), SoundExtension (SEXT_...), LongFadeOut, ShortFadeOut>>You can customize some features of new sound engine based on bass.dll created by Un4seen Developments Ltd and supported by TRNG engine.>Remember that the new sound engine will be enabled at least you don't disable it explicity using script command:>NewSoundEngine= DISABLED>Field description for CUST_NEW_SOUND_ENGINE:>NewSoundEngine flags (NSE_...) field>--------------------------------------->You can change some features of new sound engine adding one or more NSE_ flags.>See description for specific NSE_ values in _MNEMONIC CONSTANTS list of Reference Panel of Ng Center program.>Remark: currently there are no NSE_ values available, but some new NSE_ value will be added in future. Now you can type IGNORE in this field>>SoundExtension (SEXT_...) field>------------------------------->This field is now obsolete and typing some value in this field will have no effect.>In trng previous than 1.2.0.2 in this field was possible choose the extension of audio track (.wav, .mp3, .ogg) but now trng uses an automatic method to detect the audio tracks to play.>Now trng checks for each track number (the first three digits "020" ...) what extension is really available.>If there is a single file with that track number this audio track will be played.>When there are two or more audio files for same track number, trng will play the first found file in following extension sequence: ".ogg", ".mp3", ".wav" ... all other supported audio format from bass.dll>For example if in audio folder there are the following files:>>034.wav>034_Interlude.mp3>>159_FlyBy.mp3>159_TopView.ogg>>005.wav>>Trng will play the audio files:>>034_Interlude.mp3>159_TopView.ogg>005.wav>>>This happens because the priority is for ".ogg" files, if .ogg file is missing it will be searched a .mp3 file, while if it's missing either .ogg and .mp3 extension, will be played the .wav file or other audio extensions (.mp2, .aiff ecc.)>>Remark: when there are two audio tracks with same number and same .wav extension, trng will play the long name audio track.>For example:>>If in audio folder there are following files:>>005.wav>005_Secret.wav>>Trng will play the file "005_Secret.wav">>LongFadeOut field>------------------->For "Fade out" we mean a gradual reduction of volume upto reach the null volume.>The fade out used to stop a sound in sweet way.>The value you type in this field is in microsecond units and it should be the time require to pass from current volume to zero volume.>The "long" fade out it is used when a sound will be stopped for some change in game like loading of new level.>The default value for long fade out is 1000 ms, i.e. one second.>If you don't want change this value you can type IGNORE in this field.>>ShortFadeOut field>------------------->About the mean of "Fade out" read the above description for LongFadeOut field.>The "short" fade out it's used when a CD sound should be stopped to permit to other CD sound to start in same channel.>In this situation the fade out should be shorter and in fact the default value is of 300 ms.>If you don't want change this value you can type IGNORE in this field.>>Remark: This customize command, like all other customize commands, works both for all levels, if you place it in [Title] section, that for single specific levels, if you place many instances of it, one for each [Level] section.>You can do this, to place many Customize=CUST_NEW_SOUND_ENGINE in different levels, anyway it's better to do not change the default extension for audio files otherwise you could have some trouble. Differently, you can change the values for fadeout, level for level. >About the chance to use different NSE_ flags in different level, you should read the specific description of any specific NSE_ flags. CUST_SPEED_MOVING:7 ;Syntax: Customize=CUST_SPEED_MOVING, Speed>When you use some ACTION trigger to move animating or other moveables, the engine uses as default speed the value 32.>A way to use a speed different than 32 is to type in OCB of that object a different speed, anyway this method works only for Animating objects becase other moveables have (or could have) some usage of OCB field and for this reason the TRNG engine will ignore the OCB field of object different than Animating.>If you want modify the default speed (used by all moveables different than Animating) you can use the CUST_SPEED_MOVING constant.>For example:>>Customize=CUST_SPEED_MOVING, 50>>Above command will force to use as default speed the value 50. CUST_SHATTER_RANGE:8 ; Syntax: Customize=CUST_SHATTER_RANGE, FirstStaticAsShatter, LastStaticAsShatter>>By default you have only 10 statics with shatter attribute (from SHATTER0 to SHATTER9) but using this cust_ setting you can enlarge the number of shatter statics.>Default values are:>FirstStaticAsShatter = 50 (SHATTER0)>LastStaticAsShatter = 59 (SHATTER9)>>Looking "Static list" in reference panel you can see the name (and IDs) of all static meshes and you should choice if you want have more shatter as following statics or previous statics. >For example If you want have other 10 static meshes as shatter, and you want that becomes shatter the statics following the standard shatter objects, just you type this command:>>Customize=CUST_SHATTER_RANGE, 50, 69>>In this way the 10 following statics (from EXTRA00 to EXTRA09) will become shatter objects.>>Differently, if you don't want change EXTRA statics, and you prefer use as shatter the statics come first of standard Shatter, you can type following command:>>Customize=CUST_SHATTER_RANGE, 40, 59>>In this way all static from DEBRIS0 to DEBRIS9 will become shatters.>Use following short list as reference for above examples:> 40 $0029 DEBRIS0> 41 $0029: DEBRIS1> 42 $002A: DEBRIS2> 43 $002B: DEBRIS3> 44 $002C: DEBRIS4> 45 $002D: DEBRIS5> 46 $002E: DEBRIS6> 47 $002F: DEBRIS7> 48 $0030: DEBRIS8> 49 $0031: DEBRIS9> 50 $0032: SHATTER0> 51 $0033: SHATTER1> 52 $0034: SHATTER2> 53 $0035: SHATTER3> 54 $0036: SHATTER4> 55 $0037: SHATTER5> 56 $0038: SHATTER6> 57 $0039: SHATTER7> 58 $003A: SHATTER8> 59 $003B: SHATTER9> 60 $003C: EXTRA00> 61 $003D: EXTRA01> 62 $003E: EXTRA02> 63 $003F: EXTRA03> 64 $0040: EXTRA04> 65 $0041: EXTRA05> 66 $0042: EXTRA06> 67 $0043: EXTRA07> 68 $0044: EXTRA08> 69 $0045: EXTRA09 CUST_WEAPON:9 ;Customize a specific weapon.>>Syntax: Customize= CUST_WEAPON, SlotOfWeapon, Weapon flags (WEAP_..) , SoundForShot, FramesForRecharge, DurateFlash, Extra, MaxDistanceForAiming, FrameToTakeWeapon, FrameToLetWeapon, Random, VPositionOfWeapon, Unknown, FrameCounter, FrameMinRange, FrameMaxRange, OrigX, OrigY, OrigZ, OrigOrient>>Remarks: >*If you wish, you can omit last fields of this command and all omitted fields will be seen like IGNORE fields from trng engine, i.e. for omitted fields will be preserved the default value.>This feature is always present in all Customize commands from 1.1.8.1 dll version.>>*You can customize some features of weapon also using the CUST constant named CUST_AMMO. The current CUST_WEAPON works only for setting specific for weapons, while CUST_AMMO allows to customize the single ammos.>>>Description of fields>--------------------->>SlotOfWeapon field>------------------>In this field you set the slot corresponding to weapon you mean customize.>You can choose between following slot values:>>PISTOLS_ITEM>UZI_ITEM>SHOTGUN_ITEM>CROSSBOW_ITEM>GRENADE_GUN_ITEM>SIXSHOOTER_ITEM>>Weapon flags (WEAP_..) field>---------------------------->You can add none, one or more WEAP_ flags to set some special features for current weapon.>If you don't want set any flag you can type IGNORE in this field.>Read the description of WEAP_ constants in MNEMONIC CONSTANTS list in Reference panel of NG_Center program.>>SoundForShot field>------------------>This field allows to change the default sound effect for this weapon. This is the sound used when the weapon does fire and not the other sound when the shot hit some target.>You can type IGNORE if you want let unchanged this value.>>Default values:>>PISTOLS_ITEM = 8>UZI_ITEM = 43>SHOTGUN_ITEM= 45>CROSSBOW_ITEM = 235>GRENADE_GUN_ITEM (sounds are in shooting animation with playflip animcommand)>SIXSHOOTER_ITEM = 121>>FramesForRecharge field>----------------------->This value is the number of frames (30 for second) used for auto-shot.>When player keep continuosly down the action key the FramesForRecharge value will be used to set the pause between a shot and following.>Bigger values will cause a longer pause time and hence less shots for second.>>Default values:>>PISTOLS_ITEM = 9>UZI_ITEM = 3>SHOTGUN_ITEM = 9>SIXSHOOTER_ITEM = 16>CROSSBOW_ITEM (Fixed, you cann't change it, it dependes by recharge animation length)>GRENADE_GUN_ITEM Fixed, you cann't change it, it dependes by recharge animation length)>>DurateFlash field>----------------->To change the number of frames (30 for second) of durate for fire flash when the weapon shots.>>Default values:>>PISTOLS_ITEM = 3>UZI_ITEM = 3>SHOTGUN_ITEM = 3>SIXSHOOTER_ITEM = 3>GRENADE_GUN_ITEM = 2>CROSSBOW_ITEM = 2>>Extra field>----------->This field may host different values in according with some WEAP_ flag.>Read the descriptions of WEAP_ constants to discover the value to type in this field.>>MaxDistanceForAiming field>-------------------------->The automatic aiming allows to Lara to point an enmey when him is (about) in front to her and he is within a specific max aiming distance.>The default value for all weapons is 8 sectors, if you want you can set different aiming distance for each weapon.>For example if you set 0, when player will use this weapon he will be not able to have automatic aiming of enemies.>If you set 3 (sectors), using this weapon the automatic aiming will work with closed enemies, within 3 sectors of 3d distance, ect.>>Remark: Increasing too much this value it could compromise the speed of game engine because the compute to locate aimable enemies will be enlarged to very wide zones with meaningful wasting of CPU time.>>FrameToTakeWeapon and FrameToLetWeapon fields>--------------------------------------------->These two fields set the number of frame of get on, get off in Lara's hands animation.>You should change these values only when you are trying to change this animation to extract weapons.>For little weapons (pistols, uzi and sixshooter) you have to set the same frame for both field, and the game engine will use that frame -1 to place the weapon in holster, while that frame +1 to place the weapon in Lara's hands.>The reason of this method is because the game engine will use always the same animation to extract weapon or to place them in holsters, only the frame will change a bit +1 or -1 in according with extract or place-in animation.>>About the big weapons like shotgun, grenade-gun and crossbow you have two different frames to extract or place-in holders operation.>>>Following table shows the default values:>> PlaceWeaponInHand RemoveWeaponFromHand>----------------------------------------------------->Pistols 13 (it becomes 14) 13 (it becomes 12)>Revolver 15 (it becomes 16) 15 (it becomes 14)>UZI 13 (it becomes 14) 13 (it becomes 12)>>Shotgun 10 21 >grenadeGun 10 21 >CrossBow 10 21 >>Remark: looking the orginal animations to extract weapons it could seem weird the above numbers of frames since they seem bigger than total number of frame of above animations, anyway I presume there are a sort of "FrameRate" field, like you see in animation editor program, but in this case it is an hardcoded value.>I'm not sure and you should perform some attempts, anyway you can change that misterious value using the field named FrameCounter in this same Customize command.(see below)>>Random field>------------>I'm not sure about the meaning of this field.>It used to change (whereby a multiplication) a random value.>I presume it could be used to set randomly the direction or intensity for some shoting effect but I've not had the time to verify its usage.>>Default values:>>Pistols = 1456>Revolver= 728>UZI = 1456>Shotgun = 0 (probably for shotgun this field will be ignored)>GrenadeGun = 1456>CrossBow = 1456>>VPositionOfWeapon field>----------------------->This field apparently is a Cord Y value (up/down in 3d world) to compute the height of weapon (when lara has it in her hands) respect to water surface.>When game engine detects that the water is touching the weapon it will force the put off the weapon.>Anyway this is only an hypothesis.>>Pistols = 650>Revolver= 650>UZI = 650>Shotgun = 500>GrenadeGun = 500>CrossBow = 500>>Unknown field>------------->I've not any idea about what is the target of this field.>Anyway you should discover this target performing some attempts with different values.>In my experiments I discovered only that this value is not used when lara extracts the weapon and neither when she is shooting.>Pherpas it works about aiming.>>For all weapons the default value is 1820>>FrameCounter field>------------------>Another misterious field.>This value I presume is a number of frame and surely it will be decremented by 1 for each game cycle.>I suppose it could be a sort of "framerate" field to multiplicate the durate of animation to slow down extract weapon animation.>This field is used only for Pistol, UZI and revolver.>>Default values:>>Pistols = 4>Revolver = 7>UZI = 4>>FrameMinRange and FrameMaxRange fields>-------------------------------------->I've not yet discovered the precise usage of these two fields.>I have discovered only they are frame values and these two values were used like the min and max values of a range.>These two fields will be used only for Pistols, revolver and UZIs>If you change the frame to extract weapon (see above fields FrameToTakeWeapon and FrameToLetWeapon fields) you should remember that this number of change weapon has to be within this misterious range of FrameMinRange and FrameMaxRange fields, otherwise the animation will not change weapon in correct way.>>Default values:>>Pistols = min: 5 max: 24>Revolver= min: 8 max: 29>UZIs = min: 5 max: 24>>OrigX, OrigY, OrigZ, OrigOrient field>------------------------------------->These fields work only for weapon launching real (visible) ammo, like GrenadeGun and CrossBow.>If you change animation of shape of weapon meshes you could require to change also the origin of bullet at start of its movement.>The OrigX, OrigY and Origz are algebrical values (+ or - values) and they will added to default current position for bullet.>To understand how set these three values you could read the description of AddEffect script command where there are the DispX, DispY, and DispZ field that works in same way.>About the OrigOrient field, it set the degree about direction of bullet.>If you set 0 the direction will be not changed respect than default value, while if you set some positive or negative value the (horizontal) direction will be changed of wished degrees.>The way to set degree is particular.>>90 degrees to east will be 16384 ($4000)>90 degrees to west will be -16384 ($C000)>>You can set also intermediate values, of course, anyway you can use above example to understand how compute other values. CUST_AMMO:10 ;Used to customize ammo of weapons.>>Syntax: Customize=CUST_AMMO, SlotOfAmmo, Ammo flags (AMMO_....), Damage, ShotsForBox, ShotsWithWeapon, Extra, IdTriggerGroupWhenHitEnemy, DamageForExplosion, Speed, Gravity, IdAddEffectToAmmo, IdTriggerGroupAtEnd>>Description of fields>--------------------->>SlotOfAmmo field>---------------->You have to type in this field the slot of ammo you mean customize.>You can choose one of following values:>>PISTOLS_AMMO_ITEM>UZI_AMMO_ITEM>SHOTGUN_AMMO1_ITEM (normal)>SHOTGUN_AMMO2_ITEM (wideshot)>CROSSBOW_AMMO1_ITEM (normal)>CROSSBOW_AMMO2_ITEM (explosive)>CROSSBOW_AMMO3_ITEM (poisoned)>GRENADE_GUN_AMMO1_ITEM (normal)>GRENADE_GUN_AMMO2_ITEM (power)>GRENADE_GUN_AMMO3_ITEM (lightning)>SIXSHOOTER_AMMO_ITEM>>Ammo flags (AMMO_....) field>---------------------------->You can add in this field one or more AMMO_ flags to set different features of current ammo.>Type IGNORE if you don't want use any AMMO_ flag.>See description of AMMO_ flags in MNEMONIC CONSTANTS list of Reference panel of NG Center program.>>Damage field>------------>You can change the normal damage (to Lara) of this ammo.>If for this ammo is not foreseen a damage (like for GRENADE_GUN_AMMO3_ITEM (lightning)) the damage will be ignored.>Remark: this is a normal damage, while if this ammo in also explosive you have to set the damage for explosion in other field named DamageForExplosion (see below)>>Default values:>>Ammo Default MaxValue>----------------------------------->Pistols 1 255>UZI 1 255>Revolver 21 255>ShotGun normal 3 (*6) 255>ShotGun Wide 3 (*5) 1000>GrenadeGun Normal 20 255>GrenadeGun Power 20 1000>CrossBow Normal 5 255>CrossBow Explos. 5 1000>----------------------------------->>Remarks: >* Some ammo have 0 damage because their damage is only for explosion, anyway you can force also a common damage for them.>* The wide shot shotgun ammo are not really more powerful like the people thinks.>The damage for them is computed like a random rain of fragments where the wide property reduces the number of fragments reaching the target. Usually this number is only 5 while for normal shotgun ammo is 6, hence the normal shotgun ammo are most powerful than wide shot ammo, the only exception is when the enemy is really very big.>If you wish render really most powerfull the wideshot shotgun ammo just you set some value for damage in this field and it will be added to compute for damage.>>>ShotsForBox field>----------------->When Lara picks up an ammo box, a given number of single shots will be added in inventory for that ammo.>Using this field you can set what is the number of shots for each ammo box of this kind.>>Ammo Default MaxForBox >------------------------------------------------------------>PISTOLS_AMMO_ITEM Unlimited (-2) 1000>UZI_AMMO_ITEM 30 1000>SHOTGUN_AMMO1_ITEM 6 1000>SHOTGUN_AMMO2_ITEM 6 42>CROSSBOW_AMMO1_ITEM 10 1000>CROSSBOW_AMMO2_ITEM 10 255 >CROSSBOW_AMMO3_ITEM 10 255>GRENADE_GUN_AMMO1_ITEM 10 255>GRENADE_GUN_AMMO2_ITEM 4 255>GRENADE_GUN_AMMO3_ITEM 4 255>SIXSHOOTER_AMMO_ITEM 6 1000>------------------------------------------------------------>>Remarks:>>* If you want let unchanged this field type IGNORE >>* There are technical reasons (within the orignal tomb4 code) because some ammo have different max value you can set.>Please don't pass over the showed limits otherwise you'll have crashes or bad working of TRNG engine.>>* The value -1 should be mean "unlimited ammo" but really this is not possible because the -1 value is the same of IGNORE value used in NG_Center, for this reason if you want set as number of shot for box an "unlimited ammo" quantity you should type another negative number different than -1, for example -2.>>ShotsWithWeapon field>--------------------->Everytime Lara picks up a weapon (not ammo box , but a *weapon*) the tomb4 engine gives to her also some shots for that weapons. It's a present, pheraps to mean that shots are within the weapon when Lara pickups it.>Anyway you can change the number of given shots with weapon, using this field.>If you wish you can set also 0 (no shots "present") this value, and I retain more logical this choice, however you can use any value you wish.>>Default values:>>Given with weapon Number Shots MaxAllowedValue>---------------------------------------------------------------->Pistols Unlimited (-2) 1000>Revolver 6 255>UZI 30 255>ShotGun 6 (normal) 42>CrossBow 10 (normal) 255>GrenadeGun 10 (normal) 255>---------------------------------------------------------------->>Remarks:>>* If you want let unchanged this field type IGNORE >>* There are technical reasons (within the orignal tomb4 code) because some ammo have different max value you can set.>Please don't pass over the showed limits otherwise you'll have crashes or bad working of TRNG engine.>>* The value -1 should be mean "unlimited ammo" but really this is not possible because the -1 value is the same of IGNORE value used in NG_Center, for this reason if you want set as number of given shot with weapon an "unlimited ammo" quantity you should type another negative number different than -1, for example -2.>>Extra field>----------->This optional field could be used in some circustance for special ammo.>Read the AMMO_ constant descriptions to discover the possible usage of this field.>>>IdTriggerGroupWhenHitEnemy field>-------------------------------->You can perform a TriggerGroup script command, when this ammo hit some enemy.>If you wish use this feature you have to type the ID of TriggerGroup script command.>>Remarks: >* When the enemy will be reached by ammo, the game engine will perform the TriggerGroup you set and it will set as "Found item" the index of enemy hit by ammo.>If you want perform some special ACTION stored in trigger group on hit enemy, remember to add to exported trigger the flag TGROUP_USE_FOUND_ITEM_INDEX, in this way the action trigger you placed in trigger group will use the index of enemy hit by ammo, instead of moveable you had set originally in exported action trigger.>Using this method you can give special functions to this ammo.>>* If you don't want perform any trigger group type IGNORE in this field.>>DamageForExplosion field>------------------------->This field used to set damage for explosive ammo, like normal and powerfull grenade ammo or for explosive crossbow ammo.>Remark: when you customize crossbow poisoned dart you can use this field to set the intensity of poison. The default value for poison is 1>>Default value is 30 for all explsive ammo kinds.>Max value for damage is 1000.>>Speed field>----------->For the visible ammo (like grenades and crossbow darts) you can change the (horizontal) speed.>>Default values: Default MaxValue>------------------------------------------------->Grenade (all types): 128 1024>Darts (all types): 512 1024>------------------------------------------------->>Remark: you can set different speed for each grenade or dart type. This mean you can have, for example, a dart (like explosive) moving fastly than poisoned dart.>>Gravity field>------------->For the visible ammo (like grenades and crossbow darts) you can change the gravity.>>Default values: Default MaxValue>------------------------------------------------>Grenade (all types) 3 255>Darts (all types) 0 255>------------------------------------------------>>Remarks:>* The gravity is not simply a vertical (down) speed but it is an accelleration value used to incread the vertical speed.>* For darts it was not foreseen the usage of gravity, but you can use it if you wish>>IdAddEffectToAmmo field>----------------------->This setting works only for visibile ammo (grenade and dart).>If you wish you can set a special effect using a AddEffect script command, and then type in this field its id to attach that effect to this ammo everytime it will be shot.>For example if you create an AddEffect to add a blue mist wake and then type the id in this field, the ammo will have a blue mist wake.>>IdTriggerGroupAtEnd field>------------------------->This setting works only for visibile ammo (grenade and dart).>This field works in similar way of previous described field "IdTriggerGroupWhenHitEnemy" but in this case it's not important if the ammo hit or less some enemy. The TriggerGroup, of that you typed the id, will be performed non just the ammo hit anything: enemies, wall, floor, statics ect.>In this TriggerGroup the "found enemy index" will be the index of current ammo. If you place in the triggergroup some ACTION you can force to perform this action on ammo item (in final position) using the constant TGROUP_USE_FOUND_ITEM_INDEX.> CUST_SHOW_AMMO_COUNTER:11 ;You can use this cust value if you want enable the showing of number of current ammo yet available.>>Syntax: Customize=CUST_SHOW_AMMO_COUNTER, Color, FormatFlags (FT_...) , BlinkTime, SizeCharacter (SC_...), ShowCounterFlags (SHOWC_...)>>If you place a customize command with CUST_SHOW_AMMO_COUNTER, you'll have in game a text on screen showing in real-time the current number of ammo for current weapon.>Remark: the ammo counter will be showed only when lara extracted some weapon.>>>Color, FormatFlags (FT_...) , BlinkTime, SizeCharacter (SC_...) fields>---------------------------------------------------------------------->All above fields have the same usage and target of fields in TextFormat= script command. So you should read the description of above field in section NEW SCRIPT COMMANDS of Reference panel of NG Center program.>The fields are used to set color, size and position of text about ammo informations.>>ShowCounterFlags (SHOWC_...) field>---------------------------------->In this field you can set some SHOWC_... constant flags to furhterly customize the showing of ammo counter.>See description of SHOWC_... constants in Reference panel. SHOWC_OMIT_AMMO_NAME:$0001 ;Used in Cutomize=CUST_SHOW_AMMO_COUNTER command.>With this setting the current name of selected weapon/ammo will be omitter.>Therefor, instead reading "Normal CrossBow Ammo 12" you'll read only "12". SHOWC_USE_GRAPHIC_AMMO:$0002 ;Used in Cutomize=CUST_SHOW_AMMO_COUNTER command.>This setting remove the literal name of ammo and replace it with a single graphic character.>Using the TRNG font you can draw little images in some character of trng font set.>With the SHOWC_USE_GRAPHIC_AMMO the engine will print on screen one single character for each kind of ammo.>You can recognize the used graphic char for each ammo by following list:>>Name_in_font_Editor Ammo_Type>------------------------------------------------>127: [GRAPHIC] Pistol Ammo>129: [GRAPHIC] Revolver Ammo>138: S Uzi Ammo>140: OE Shotgun Normal Ammo>141: [GRAPHIC] Shotgun Wideshot Ammo>142: Z Grenadegun Normal Ammo>143: [GRAPHIC] Grenadegun Super Ammo>144: [GRAPHIC] Grenadegun Flash Ammo>154: s Crossbow Normal Ammo>156: oe Crossbow Poison Ammo>157: [GRAPHIC] Crossbow Explosive Ammo>------------------------------------------------>>Remark: to add your icons in your NG font character set, you should perform following operations:>>1) Go in [Tools] panel of NG_Center>2) Click on [NG Font Editor] button>3) In the NG Font Editor window click on [Choose Wad] button>4) Now select a wad where you have the NG font object.>5) Now select in combo box (belove the [START IMPORTING] button) some character, taking care to choose the correct number read from above list.>6) Now click on [Import BMP] button closed to little single character image, and select the bmp file where you stored the image for that char/ammo.>7) Select in the [Type] list the voice "Graphic" and now click the button [Recompute]>8) Repeat points 5, 6 and 7 until you assigned all images for all ammo.>9) At end click on [Exit and Save wad] button. SHOWC_USE_GRAPHIC_WEAPON:$0004 ;Used in Cutomize=CUST_SHOW_AMMO_COUNTER command.>This setting force the rimotion of literal name of ammo type and replace it with a graphic character to signal the current extracted weapon.>>The character used are the following:>>Name_in_font_Editor Ammo_Type>---------------------------------->127: [GRAPHIC] Pistol>129: [GRAPHIC] Revolver>141: [GRAPHIC] UZI>143: [GRAPHIC] Shotgun>144: [GRAPHIC] Crossbow>157: [GRAPHIC] Grenadegun>----------------------------------->>For infos about how inserting the weapon icons in the font see the description of SHOWC_USE_GRAPHIC_AMMO constant. CUST_SET_INV_ITEM:12 ;Permit to set an inventory items like INVARIABLE items, i.e. items that will remain always in inventory after to be used, like the binocular. >>Syntax: Customize= CUST_SET_INV_ITEM, SlotOfItem>>Remark: you can place one or more "Customize=CUST_SET_INV_ITEM" commands in same level section so to assign the invariable property to many inventory items. CUST_SET_JEEP_KEY_SLOT:13 ;Permit to change the slot used to store the jeep key.>>Syntax: Customize= CUST_SET_JEEP_KEY_SLOT, SlotForJeepKey>>The reason to modify the default slot (default slot was number 175, corresponding to PUZZLE_ITEM1)of jeep key, borns when you use jeep and side-car in same level, using the new features added in trng (from version 1.1.8.6).>>When you want use side-car and jeep in same level you must:>>* Use last version of wad merger (version 1.98.0.103 or higher, released in may 2008), and copy in its installation folder the new "TR4Objects.dat" file you find in Multiple Vehicles sample zip file.>* Copy the jeep slots (jeep and vehicle extra) in common way in your wad>* Copy the motorbike slot in your wad in common way>* Copy the vehicle_extra slot from wad with side-car, to new slot MOTORBIKE_LARA in your wad. >To perform this operation just you click on [Copy] button (in wad merger) keeping down the key SHIFT. It will be showed a list of all available slots and at bottom of this list you'll see the slot named MOTORBIKE_LARA, it's the new slot created to host the lara's animations for motorbike.>>Performing above operation you can have jeep and sidecar in same level, but there is yet a little problem: the slot used to host jeep key it's the same used to host the object "Nitrous Oxide Feeder" used to enhance the speed of side-car.>Since both above objects (jeep key ad Feeder) are in slot puzzle_item1, there is a conflict. To solve this problem you can use this customize command to set another slot for jeep key, in this way the old slot puzzle_item1 will work only for Nitrous Oxide Feeder, while the key to switch on the jeep will be stored where you wish with this cust command.>For example if you want store the jeep key in PUZZLE_ITEM2 (slot 176) you can type in [Level] section of your level the following script command:>>Customize= CUST_SET_JEEP_KEY_SLOT, 176>>or (same result):>>Customize= CUST_SET_JEEP_KEY_SLOT, PUZZLE_ITEM2 CUST_STATIC_TRANSPARENCY:14 ;Permit to change the values for transparency of static you can assign to some static with new flipeffect trigger "Static. Transparency. ..">Syntax: Customize=CUST_STATIC_TRANSPARENCY, GlassOpacity, IceOpacity>>To set transparence you have really to set the value of opacity. >The values you can set for GlassOpacity and/or IceOpacity are a percentage where:>>0 % = Opacity is none, the object is fully invisible>100 % = Opacity is full, there is no transparence for object>>You should type values different by 0 and 100, of course.>Using 50 % the object and background should have same presence (semi-transparent)>Using 90 % the object is almost normal (full opacity) but there is a lite transparence>Using 10 % the object is almost invisible but you can see it like a ghost.>You can type any value between 0 and 100.>The default values (used if you don't use any Customize=CUST_STATIC_TRANSPARENCY command) are:>>Glass = 50 %>Ice = 81 %>Remark: In above examples I used the percentage sign "%" but you don't type it in your script command. CUST_SET_STATIC_DAMAGE:15 ;Permits to change the value of damage or poison ocurring to Lara when she touches a static with ocb 32 or ocb 256>>Syntax: Customize=CUST_SET_STATIC_DAMAGE, Damage, PoisonIntensity>>Damage field>------------>You can type a value between 1 and 999.>If you set 999 lara will be killed immediatly.>If you don't change this value, the used default value is 10.>>PoisonIntensity>--------------->You can type any value for poison.>Anyway the reasonable values are within range 10 / 4096>A big scorpion and Harpy have a poison intensity of 2048, while a little scorpion is 512.>If you don't change this value the used default value will be 256. CUST_LOOK_TRASPARENT:16 ;Permit to disable the transparency of lara while she is looking.>>Syntax: Customize=CUST_LOOK_TRASPARENT, ENABLED/DISABLED>>If you want remove transparency for Lara use DISABLED CUST_HAIR_TYPE:17 ;Used to force the hair of lara in game. >>Syntax: Customize=CUST_HAIR_TYPE, HairType (HAIR_...)>>You choose the kind of hair setting an HAIR_ constant value.>You find all HAIR_ constants and their description in Reference panel of NgCenter in MNEMONIC_CONSTANTS list.>Remark: This command is not able to change byself the mesh of hair but simply it used to inform the engine about what kind of hair object you have copied in your wad file.>For example you can use a young lara (get from angkor wat) but don't set in script.dat the command YoungLara=ENABLED. In this way you'll be able to use young lara with correct hair type (using CUST_HAIR_TYPE)and keeping, in same time, also the weapons like for adult lara, because the engine will consider lara as adult lara since you have not type YoungLara=ENABLED.>Pratically, this customize value (CUST_HAIR_TYPE) is useful to divide the setting about hair from that about weapons. If you use old command YoungLara you cann't distinguish setting about hair from setting for weapons, or you choose "two plaits" of your lara but then you renounce also the weapons, otherwise, you choose adult lara and you have the weapons but you'll have always the single ponytail look.>Differently, using CUST_HAIR_TYPE you can use YoungLara only to set or less the weapons, while you'll use Customize=CUST_HAIR_TYPE to set the hair style. CUST_KEEP_DEAD_ENEMIES:18 ;Por defecto cuando un enemigo muere, desaparece. Si los deseas puedes evitarlo para que sigan viendose como en los anteriores tomb raider.>>Syntax: Customize=CUST_KEEP_DEAD_ENEMIES, ENABLED/DISABLED>>Nota: Los cuerpos eliminados con explosión NO serán preservados por razones evidentes. CUST_SET_OLD_CD_TRIGGER:19 ;Used to restore old behavior of CD trigger.>>Syntax: Customize=CUST_SET_OLD_CD_TRIGGER, ENABLED/DISABLED>>Using new bass sound engine the CD trigger changed its behavior. >The looped sounds play on channel1 while the single-shot cd (track number less than 105) play on channel2, letting on channel 1 the previous audio track.>If you don't want this method and you prefer restore old default method you can set following command in your [Level] section:>>Customize=CUST_SET_OLD_CD_TRIGGER, ENABLED>>The old method played always all CD trigger sounds on channel1 and when a single-playback sound stop the previous looped audio track, when this new single-playback sound was complete, the last looped audio tracked was restored always on channel1 from start. CUST_ESCAPE_FLY_CAMERA:20 ;Used to allow at player the break of some flyby camera sequence hitting the ESCape key.>>Syntax: Customize=CUST_ESCAPE_FLY_CAMERA, ENABLED/DISABLED, KeyBoardScanCode>>If you want allow the break of flyby sequence you have to set as ENABLED this customize.>About KeyBoardScancode value it will be the code of keystroke to use to exit from flyby sequence. You find the list of scan codes in "Reference" panel of NG_Center, in the section named "KEYBOARD SCANCODES list".>>If you type IGNORE in this field the default value will be 1 (ESCAPE key)>>Remark: if you want permit to skip the flyby cameras it's advisable set some print text in your level to inform the player about this new chance, otherwise nobody will try to hit escape during flyby sequences. CUST_PAUSE_FLY_CAMERA:21 ;Used to allow at player to stop temporary a flyby sequence keeping down the wished key.>>Syntax: Customize=CUST_PAUSE_FLY_CAMERA, ENABLED/DISABLED, KeyBoardScanCode>>About KeyBoardScancode value it will be the code of keystroke to use to freeze a flyby sequence. You find the list of scan codes in "Reference" panel of NG_Center, in the section named "KEYBOARD SCANCODES list".>>If you type IGNORE in this field the default value will be 25 (KeyP)>>Remark: it's necessary keep down continuously the key to freeze the flyby camera. CUST_TEXT_ON_FLY_SCREEN:22 ;Enables the printing of screen also during flyby camera sequence.>>Syntax: Customize=CUST_TEXT_ON_FLY_SCREEN, ENABLED/DISABLED> CUST_CD_SINGLE_PLAYBACK:23 ;Permits to customize the management of Cd audio track performed for a single playback.>>Syntax: Customize=CUST_CD_SINGLE_PLAYBACK, CdMode value (CDM_...)>>This customize work only about saving/reloading of single-playback audio tracks in progress while the player saved the game.>You can see the different choice looking for CDM_.. constant descriptions. CUST_ADD_DEATH_ANIMATION:24 ;Permits to add a dying animation for some semigod or other immortal creature.>>Syntax: Customize=CUST_ADD_DEATH_ANIMATION, SlotOfCreature, AnimNumber>>This command is useful above all to kill the immortal creatures changed with Enemy script comamnd using the NEF_SET_AS_MORTAL field.>> You should use Enemy command to set the NEF_SET_AS_MORTAL flag for this immortal.>Then you should also use CUST_ADD_DEATH_ANIMATION to set a new dead animation, where, with animation editor, you will have added a [Die] anim command.>For example to kill setha you could use following two rows in script.txt:>>Enemy= SETHA, 30, NEF_SET_AS_MORTAL+NEF_HIT_BLOOD, IGNORE, 0, IGNORE,IGNORE,IGNORE >Customize= CUST_ADD_DEATH_ANIMATION, SETHA, 17>>Where, the "30" in Enemy command is the starting vitality (HP) of Seth (very low but it's only an example) and the "17" in Customize command is the animation of seth we'll use to kill him when his vitality reaches zero.>In the wad of current level, I added to 17th animation of seth a [Die] anim command.>Remark: it should be better if you add really a new animation slot in seth as death animation, instead using an already present animation.>You could copy an existing animation and then add it as new animation, then you add a [Die] animcommand and you use this new (duplicated) animation (with [die] command) as new death animation.>>Differently, about usage of CUST_ADD_DEATH_ANIMATION with creature already owning a death animation this customize should be no useful since if you want change the death animation just you perform this operation using Animation Editor program.>>SlotOfCreature field>-------------------->In this field you set the number of slot (or its name) of creature to customize.>Remark: in the reality only some slot type will have some effect. You cann't use a slot of creature that has already a dying animation or a moveable that is not a creature.>Pratically the only slots will be elaborated correctly from this customize are:>>SKELETON>GUIDE>VON_CROY>SETHA>MUMMY>SPHINX>MUTANT>DEMIGOD1>DEMIGOD2>DEMIGOD3>HAMMERHEAD>AHMET>LARA_DOUBLE>SENTRY_GUN>>Remark: about above list, I've not had the time to verify it this customize works fine for each creature of above list, and neither to verify if it works on other creatures non present in the list.>Thorically you can try to use this customize on every creature but I'm not sure about results you'll get with creatures exlcuded from the list.>>AnimNumber field>---------------->AnimNumber is the number of animation to set when the creature reachs vitality = 0.>This value works like in Animation Editor, it starts from zero.>>WARNING: differently by other cutstomize types, the CUST_ADD_DEATH_ANIMATION constant cann't to be used in [Title] level to extend its setting to all [Level] sections. CUST_BAR:25 ;It allows to customize all default tomb4 bars (like air bar, hp bar,loading bar ect) setting position, size, colors and animation mode.>>Syntax: Customize=CUST_BAR, BarType (BAR_...), FlagsBar (FBAR_...), XOrigin, YOrigin, XSize, YSize, IdColor1, IdColor2, Extra>>BarType (BAR_...) field>----------------------->In this field you type a BAR_ constant to specify what is the bar you are customizing.>See the BAR_ values in MNEMONIC CONSTANTS of Reference panel of NG_Center.>>FlagsBar (FBAR_...) field>------------------------->You can add two or more FBAR_ flags to specify some animation mode (the variation of color in dynamic bars) >If you don't wish to use any flag type IGNORE>>XOrigin, YOrigin, XSize, YSize fields>------------------------------------->These four fields permit to change the position and size of current bar on the screen.>Remember that you are not forced to modify really these fields, if you want preserve the original position and size of the bar just you type four IGNORE values in these fields.>>All values you type in these fields are in pixel and they are computed to work with game screen of 640x480.>This method is necessary since you cann't know what it is will the effective game screen size while the game will be played (the player could change the settings in tomb4 setup).>So you compute the position and size using as reference when the game is working at 640x480 pixels, then, when the game will change its size, the trng engine will adapte in proportional way the coordinates you set.>>Following are the default values:>>TypeBar OrgX OrgY SizeX SizeY>------------------------------------->HealthBar 8 8 150 12>DashBar 481 8 150 12>AirBar 481 26 150 12>LoadBar 20 444 600 15>------------------------------------->>Remark: there is some rounding in change between full screen and windowed mode, usually with gaps of 1 or 2 pixels.>>IdColor1 field>-------------->In this field you have to type a Id to identify a ColorRGB= script command with rgb color to use as main color for bar.>For example if you want have a pure red you can type:>ColorRGB=3, 255,0,0>The ID is 3, so you'll type the value 3 in IdColor1 field to set the red as main color (the main color is the color of full bar).>>WARNING: about the ColorRGB command you reference with IdColor it's necessary it was typed FIRST of Customize=CUST_BAR command otherwise when TRNG engine is parsing the CUST_BAR command the ColorRGB (if you type it down) will result as missing and it will be used a black color.>>The default colors for main color are:>BarType Red Green Blue>-------------------------->HealthBar 255 0 0>DashBar 0 255 0>AirBar 0 0 255>-------------------------->>>IdColor2 field>-------------->This field work like IdColor1 (See above description) but to set the background color of bar>Default value in tomb4 for this color is black (0,0,0)>>Extra field>----------->This field may accept different values in according with further FBAR_ flags.>Read the description of FBAR_ constants to discover the usage of Extra field CUST_NO_TIME_IN_SAVELIST:26 ;This setting permits to disable the text about game time in savegame list screen.>>Syntax: Customize=CUST_NO_TIME_IN_SAVELIST, ENABLED/DISABLED>>If you want remove the time game info type:>Customize=CUST_NO_TIME_IN_SAVELIST, ENABLED>>This option is useful only when you set a font text very big (in width size), in fact, when the font is too big the level name could result overlapped to time infos with a very nasty effect.>If you remove the time info you'll be able to use more wider characters CUST_PARALLEL_BARS:27 ;You can customize the PARALLEL_BARS item in current level.>>Syntax: Customize=CUST_PARALLEL_BARS, FlagsParallelBar (PB_...), SpeedForSlide, MaxTurns>>FlagsParallelBar (PB_...) field>-------------------------------->You can use add one or more PB_ flags to customize all parallel bars in your level.>See the description of PB_ constants in [Reference] panel of NG_Center, in _MNEMONIC CONSTANTS section.>>SpeedForSlide field>------------------->If you have used the flag PB_LARA_CAN_SLIDE, you can set also the speed for sliding left/right of lara.>The value has like unit one block = 1024. >The defaul value is 6, if you don't want change the default value type IGNORE in this field.>>MaxTurns field>-------------->By default the max meaningful number of turns is 10.>You can change this value to force the max power increasing adding turns.>Reasonable values are enclosed in the range 3 - 10>>If you don't want change this value you can type IGNORE. CUST_CAMERA:28 ;You can customize many properties of Game Camera with this customize setting.>>Syntax: Customize=CUST_CAMERA, Flags (FCAM_...), DistanceChaseCam, VOrientChaseCam, HOrientChaseCam, DistanceCombatCam, VOrientCombatCam, DistanceLookCam, HeightLookCam, SpeedCamera>>Remark: you can customize different automatic camera modes with this customize: the "chase" camera, that is the camera that always follows lara, the "combat" camera, that works like the "chase" camera but it will be engaded when lara extracts the weapons, and the "look" camera that is when the player enables lara looks byself choosing the direction. The combat has some settings a bit different respect than "chase" camera.>>Flags (FCAM_...) field>---------------------->You can type in this field one or more FCAM_ flags to change some behavior of Camera.>See the list of FCAM_ values in MNEMONIC CONSTANTS list of Reference panel of NG_Center program.>Remark: you can type IGNORE in this field if you don't wish set any flag.>>>DistanceChaseCam field>---------------------->This value works for "chase" camera or "follow me" we could say. >This field is the distance (behind lara) where is the camera.>The default value is 1536 ($600), where 1024 ($400) is one game sector.>If you reduce this value the camera will be closest to lara and all level (and lara) will seem more near. If you increase this value the distance from lara will be larger and lara will appear littler.>>Remark: if you type a negative value in this field, the camera will be in front of lara instead of at her back.>It's interesting note as the HOrientChaseCam field with $8000 value and the DistanceChaseCam with a negative value get the same target but only using only one of them in same time. In fact, if you set $8000 as HOrient see description below) and also a negative Distance you'll get newly the usual camera following lara from back.>>You can type IGNORE in this field if you don't wish change this value>>>VOrientChaseCam field>-------------------->This field works for "chase" camera, and it is the vertical difference of orientation (facing) of camera respect to lara.>To understand what it "vertical orientation" try to look the tutorial for animation and testposition commands. In that help file there is an image showing own the Vertical Orientation.>The default value is -1820 and, since it is a difference (like degrees difference respect to a line parallel to floor) this means the cam is a bit higher than lara. >If we choose +1820 the camera should be a bit lower than lara.>If we type -16384 the camera should exactly overt the top of lara (90 degrees respect to line parallel to floor passing for lara)>If we type +16384 the camera should below lara with 90 degrees angle, but this setting could work only when lara is monkey or she is falling down.>If we type 0 (zero) the camera will be exactly with same Y origin of lara, because the camera and lara should be on same line parallel to floor.>>Remark: some settings in this field could be ignored when the value is so much big ( in absolute value) to cause to show lara upside down. For example the value -32767 should get a camera looking lara in the face but with lara appears upside down. In the reality, using this value (-32767) you'll get the same result typing -16384 and this happens because the game engine uses a cut-off function to forbid to show lara upside down. For above reason the valid range for this field is from -16384 to +16384>>You can type IGNORE in this field if you don't want change it.>>HOrientChaseCam field>--------------------->This field is a bit complicated to explain. >It works like HOrientDifference of TestPosition command.>The orientantion is also named "facing" i.e. where an object is looking.>This value changes the facing of Source camera. The values used could be: 0 (default, the cam looks lara from back), $4000 (the cam looks lara from her left), $c000 (the cam looks lara from her right), $8000 (the cam looks lara in front).>>You can type IGNORE to let the default value.>>>DistanceCombatCam field>----------------------->This field set the distance when lara is in modality combat camera.>The description about the concept of "cam distance" is the same you can read for above field about DistanceChaseCam field.>>Default value was $600>>VOrientCombatCam field>--------------------->This field works like the VOrientChaseCam field.>The default value is -2730>>See description of VOrientChaseCam field to understand how it works.>>Remark: There is no "HOrientCombatCam" field for Combat camera because in "combat camera" mode the horient will be always set by engine in according with position of selected enemy and lara, for this reason no good result could be get forcing the HOrient in combat camera mode.>>DistanceLookCam field>--------------------->This field works like other "Distance ..." fields but with an opposite sign.>For example, the defult value for DistanceLookCam is -1024 and it means that the camera is exactly one sector behind lara.>If you used +1204 the look camera will be forward than lara and lara should be not showed in game screen.>>HeightLookCam field>------------------->This field don't work like VOrient field in this case you type an Y displacment from lara's neck >>The default value is +16, and it means that the Y position of camera it's a bit lower the center of the lara's neck.>>Remark: I discourage to change this value, using little values you cann't notice the difference while using big values the results are not good.>>>SpeedCamera field>----------------->The speed of camera set the time required to move camera from current (any) position to ideal position set by above field.>If you set a high speed the camera will move fastly to reach ideal position but the disadvantage could be an jerkily movement.>With low speed the camera will have a moving but it could remain back to lara when she move fastly.>>You can type IGNORE in this field to let the default value.>>Remark: I discourage to modify this value because the default setting is an ideal value and, more, the speedcamera changes in many circustances everytime the engine requires to pass from a camera mode to another. CUST_DISABLE_MISSING_SOUNDS:29 ;used in Customize command.>>Syntax: Customize=CUST_DISABLE_MISSING_SOUNDS>>This setting, disable in old tomb4 code the playing of obsolete sound effects like the sound for bubbles (37 - LARA_BUBBLES) and that for pickup item (62 - LARA_PICKUP).>You should use this setting when you use Boats or other new object that uses some of above old sounds. In fact, in old example about boats on Trng website, there was a boring bad sound when lara swims underwater, and also when she picked up some item. The reason was the new boat object required to use some new sounds but, since there was way to add new sound slot, I tried to use unused sound effect of old tomb4. Unfortunately, also these (missing) sounds had a code in tomb4 to play them, so when I added the sounds for boats, the tomb4 engine played some of these sounds also as bubbles or pickup.>Setting CUST_DISABLE_MISSING_SOUNDS, the old codes for bubbles and pickup will no more play sound s62 and 37, but new objects like boats or other, will be able to play the new sounds assigned for above sound slots. CUST_INNER_SCREENSHOT:30 ;Used to enable the saving of game image in all savegames>Syntax: Customize=CUST_INNER_SCREENSHOT, QualityScreenshotFlags (QSF_...)>When you use CUST_INNER_SCREENSHOT in a level section, in all savegames will be saved also a little image of current game image.>This option will be used by TRLM2009 to see image corresponding at all savegames, and also for new savegame panel to set the quality of inner images.>>QualityScreenshot (QSF_...) field>-------------------------------->You can set in this field two QSF_ flags. One QSF_SIZE_... flag and (optional) a QSF_TRUE_COLOR flag.>About the settings to use for inner screenshots you should decide if you want a good quality but with also a big size of savegame, or a low quality with a little savegame.>See description of QSF_ flags in Reference panel for more infos. CUST_FMV_CUTSCENE:31 ;Used to enable to customize the viewing of FMVs (cutscenes base on videos) in >>Syntax: Customize=CUST_FMV_CUTSCENE, FMV_ flags>>You can type one or more FMV_... flags to set some features about the showing of videos (FMVS) in game.>See the description of FMV_... constants in [Reference] panel of NG_Center for more infos. CUST_FIX_WATER_FOG_BUG:32 ;Usado para corregir el bug en las texturas del agua cuando está el distance fog enabled en el nivel.>>Syntax: Customize=CUST_FIX_WATER_FOG_BUG, ENABLED/DISABLED>>Cuando lo tienes enabled esto soluciona las texturas del agua ignorando la densidad de la niebla.>Deberías usarlo cuando en tu nivel tengas una densa niebla, también puede crear algún problema cuando existan fog bulbs cerca del agua. CUST_SAVE_LOCUST:33 ;Used in Customize script command.>>Syntax: Customize= CUST_SAVE_LOCUST, ENABLED>>This customize permits to fix an old bug of tomb4 engine: when the locust swarm has been enabled, and player save the game, at reload the locusts are missing.>The reason of this bug is that the Eidos' programmers probably prefered omit the saving of data about the locusts since they are about large and with playstation 1 version it was important reduce the size of savegames.>Anyway now you can save all data about current particle of LOCUST_EMITTER slot, just you add in [Title] (for all levels) or in a specific [Level] section the row:>>Customize=CUST_SAVE_LOCUST, ENABLED>>Remark:>The savegame will be bigger than about 2000 bytes if you enable the saving of locusts. CUST_LIGHT_OBJECT:34 ;Used in Customize command.>Syntax: Customize=CUST_LIGHT_OBJECT 34, SlotLight, Red, Green, Blue, Intensity, Time>With this customize you can modifiy colors and light intensity of light objects:>AMBER_LIGHT>WHITE_LIGHT>BLINKING_LIGHT>You can change the main color of these objects, their light intensity and in some circustance the blinking time or other timing parameter.>>SlotLight field>--------------->In this field you can type the slot name or number of light object to customize.>Currently the only light objects allowed are: AMBER_LIGHT, WHITE_LIGHT, BLINKING_LIGHT>>Red, Green, Blue fields>----------------------->Type in these three fields the intensity of red, green and blue.>Each color intensity works in the range 0 - 255, where 255 is higest intensity and 0 is null.>>Intensity field>--------------->This field set the brightness and widness of the light.>If you type IGNORE in this field it will be used the default value 18.>>Time field>---------->All lights have some blinking and this field permits to change the time of blinking.>These are default values of Time for the different light objects:>>AMBER_LIGHT = -2048>WHITE_LIGHT = 160>BLINKING_LIGHT = 30 CUST_HARPOON:35 ;Used in Customize command.>Syntax: Customize=CUST_HARPOON, HarpoonFlags (HRP_...), TopBorder,DistanceFromCam,Orient_X, Orient_Y, Orient_Z, HarpoonSpeed, HarpoonGravity>>This customize enable the change of Crossbow to get an Harpoon weapon like tomb raider 3 adventure.>To use this customize it's necessary also you copy in your wad file the >CROSSBOW_ANIM slot you find in harpoon.wad (you can find it in http://www.trlevelmanager.net/ng.htm in Source Sample section).>That slot has been changed with the original HARPOON_ANIM get from Tomb Raider 3 level.>>HarpoonFlags (HRP_...) field>---------------------------->You can add one or more HRP_ flags to enable specific settings of new Harpoon gun.>>TopBorder field>--------------->Adjust the position of harpoon moving up or down in 2d view.>If you want move up the harpoon decrease this number, while if you want move down the harpoon increase this number>You can type IGNORE in this field and it will be let the default value =0.>>DistanceFromCam field>---------------------->Distance from (virtual) cam>This argument is useful to increase or reduce the size of object in inventory.>If you increase the distance the object will become more little>If you decrease the distance the object will become more big.>This value is in game units (1 square = 1024 units)>>You can type IGNORE in this field to let the default value: $400>>Orient_X, Orient_Y, Orient_Z fields>----------------------------------->These 3 fields set the orientation of cam on X, Y and Z axis.>It's complicated to explain but if you try to change this value you'll understand what I mean.>The values for this argument could be go from $0000 to $FFFF but usually will be used only four values:>>$0000 = North (top view)>$4000 = East (right view)>$8000 = South (bottom view)>$C000 = West (left view)>>You can type IGNORE in these fields and it will be used the default values:>Orient_X = $B000>Orient_Y = $C000>Orient_Z = $C000>>HarpoonSpeed field>------------------>You can change the speed of harpoon.>If you type IGNORE in this field, it will be used the default value, that it is different in according with current inclination respect to the ground.>Reasonable values for this field are enclosed in the interval 100 / 300.>The spees will be different when the harpoon travels in air or in water.>The speed in water will be a 1/4 less than value used for air.>For example if you type 200 in this field, the spees in air will be 200, while underwater it will be 150>>HarpoonGravity field>-------------------->The gravity is an increent to move the harpoon down, to simulate the gravity.>The value you type will be used in different way in according if the harpoon is moving in the air on in the water.>When the harpoon is in the air it will be used the original HarpoonGravity value.>While when the harpoon is travelling in the water the gravity will be divided by 2 before using it.>For example if you type in this field the value 16, the gravity in hair will be 16, while in the water it will be 8.>If you type 0 in this field the harpoon will be no affected by gravity force.>You can type IGNORE in this field to let the default value (24). CUST_SCREENSHOT_CAPTURE:36 ;Used in Customize command.>Syntax: Customize=CUST_SCREENSHOT_CAPTURE, SecondsOfDurate, FrameGap, QualityScreenshotFlag (QSF_...)>>This command should be used only in temporary way since it could slow down the game.>By default when you hit F3 key (or "." key on US keyboards) the game save the current screen in an image file with progressive names "shot1.bmp", "shot2.bmp" ect.>Using the CUST_SCREENSHOT_CAPTURE setting you can have a long serie of captured frames instead a single image like in the past.>This feature is useful when you wish find the best image in a very fast action in the game.>>SecondsOfDurate field>--------------------->In this field you can set for how much time the capture sequence will work.>For example if you type 3 in this field, the screens of game will be captured for 3 seconds continuosly.>>FrameGap field>-------------->If you want reduce the number of captured images you can set in this field an interval in capture phase.>If you type 0 in this field, the game will create images for each frame (so, no gap in this case)>If you type 1 it will be captured one frame each two.>If you type 2 it will be captured one frame each three, ect.>>QualityScreenshotFlag (QSF_...) field>------------------------------------->Another reason to capture a sequence of images is to show to some friend a dynamic action without using a movie.>In this situation, sending many images via internet it's advisable reduce their size.>If you type in this field some QSF_ value, you can reduce the size or the quality (omitting the QSF_TRUE_COLOR flag) of the captured images.>Remark: differently, if you want get a full screen image with max quality you should type IGNORE in this field. CUST_RAIN:37 ;Used in Customize= command.>Syntax: Customize=CUST_RAIN, FlagsForRain (FR_...), DropSize, SprinklerAmount, MaxRain, MinRain, Float1, Float4, Float8, Float16, Extra>>This command it's not necessary to do work the rain. You can also omit this command.>You could use CUST_RAIN only when you set RAIN_ALL_OUTSIDE in the Rain= command, and you omit to type [Rain] intensity in rooms of your level. In this situation you can use the CUST_RAIN customize to set the features of the rain for your level.>>FlagsForRain (FR_...) field>--------------------------->In this field you can type on more flags FR_...>You can type IGNORE in this field to omit FR_ flags.>>DropSize field>-------------->This value is the width of water drop. Each drop is like a triangle where the base is the DropSize value. >You can type IGNORE in this field to preserve the default value 2.>>SprinklerAmount field>------------------>This field should be the number of Sprinkler for each drop when it touches the ground.>You can type IGNORE in this field to preserve the default value 1.>Remark: if you increase too much this value you could create troubles with ohter particle resoruces like smoke and flames.>>MaxRain and MinRain fields>-------------------------->I'm not sure about the meaning of these two fields, but I suppose they are a range to set the density of rains, i.e. the number of drops (MinRain) in a given space (MaxRain).>You can type IGNORE in these fields to preserve the default values: MaxRain = $800, MinRain=$80>>Float1 field>------------>Unknown>>Float4 field>------------>Unknown>>Float8 field>------------>Unknown>>Float16 field>------------->Unknown>>Extra field>----------->You can set in this field some extra value required by some FR_ flags.>See the description of FR_ constnats to discover how using the Extra field. CUST_TR5_UNDERWATER_COLLISIONS:38 ;Usado en Customize= comando.>Syntax: Customize=CUST_TR5_UNDERWATER_COLLISIONS>>Añadiendo este customize en tu nivel, te permite activar el método de colisión usado en el motor del TR5 con respecto a la colision bajo el agua de Lara.>La diferencia con respecto al TR4, es que en el TR5, Lara no sera frenada cuando contacta con una pared, sino que se moverá o girará para irse por una dirección mejor.>Diferente es en el tomb4, cualquier contacto frena aLara. CUST_DARTS:39 ;Used by Customize= command.>>Syntax: Customize=CUST_DARTS, IdCustDarts, Dart Flags (DRT_ ...), IdAddEffect, Speed, EmittingTimer, PrimaryColorIDRgb, SecondaryColorIDRgb, IdTriggerGroup>>With this customize you can change speed and color of darts. Someone believes the darts are not visible but in the reality they are not very well visible only because they are too fast. Just you reduce the speed and change the color to see them very well.>With this customize you can also restyle fully the dart: using some add effect or using them like a laser sensory ray. >>IdCustDarts field>----------------->Differently by other customizations you can set two or more customize profile for dards and then enable in same time one or another typing in OCB field of dart emitter object the IdCustDarts value to locate the customization to use.>For example if you create a command like:>>Customize=CUST_DARTS, 3, ....>>When you want customize in NGLE a dart emitter with these settings just you type in OCB field of this emitter the number "3">>Remark: the IdCustDarts value should be always greather than 0 becuae the 0 in OCB field will be read with the mean of: "no customize for this dart emitter">>Dart Flags (DRT_ ...) field>--------------------------->You can add one or more DRT_ flags to enable different features for darts.>Read the description of DRT_ constants in Reference panel of NG_Center program.>If you don't wish use any flag you can type IGNORE in this field.>>IdAddEffect field>----------------->If you use the DRT_ADD_EFFECT flag, you have to type in IdAddEffect field the ID of AddEffect script command to add to each dart.>>Speed field>----------->The speed value set the value to add to coordinates of dart to move it in the space.>Bigger values mean bigger speed.>The default value is 256 ($100) and this is a very fast speed.>So probably if you wish change it, you'll decrease it to have the chance to see the darts.>You can type IGNORE in this field to let unchanged the speed.>>EmittingTimer field>------------------->This value is in tick frames, where one second = 30 tick frames.>The default value is 24 tick frames, and this means the engine wait 24 tick frames (a bit less than one second) before shooting another dart.>If you increase this value there will be more time between a shooting and following.>You can type IGNORE in this field to let unchanged this value.>>PrimaryColorIDRgb field>----------------------->If you want change the main color of dart you can type in this field the ID of some ColorRGB= command with the rgb values to use.>The default color is like cream.>You can type IGNORE in this field to preserve standard color.>>SecondaryColorIDRgb field>------------------------->If you want change the secondary color of dart you can type in this field the ID of some ColorRGB= command with the rgb values to use.>The secondary color is black and it used for the borders. It is a good color for border anyway if you use this dart in very dark room you could use the white for border to give the idea of brightness of the darts.>You can type IGNORE in this field to preserve standard color.>>IdTriggerGroup field>-------------------->If you use the DRT_PERFOM_TRIGGERGROUP flag you have to type in IdTriggerGroup field the ID of triggerGroup to perform when a dart touches Lara.>See description of DRT_PERFOM_TRIGGERGROUP flag for more informations. CUST_FLARE:40 ;Used in Customize= command.>Syntax: Customize=CUST_FLARE, Flags for Flare (FFL_....), SecondsOfLifeTime, Red, Green, Blue, Intensity>>Flags for Flare (FFL_....) field>--------------------------------->You can add one or more FFL_ flags to enable special features about flare.>You can type IGNORE in this field you are not interested to set flags.>See description of FFL_ constants in [Reference] panel of NG_Center program.>>SecondsOfLifeTime field>----------------------->If you wish override the durate of flare you can type in this field a value in seconds for life-time of lightning flare.>The default value was 30 seconds.>You can type IGNORE in this field to preserve the default value.>>Red, Green, Blue fields>----------------------->In these three field you can set the middle color of flare light.>Remark: this color will be not applied in first and last phase of the life-time of flare: the switching on and the switching off phases.>You can type IGNORE in these three field to preserve their default values (red = 128 , Green = 192, Blue=0)>>Intensity field>--------------->You can change the middle light intensity of flare.>The default value was 16.>You can type ignore in this field to preserve default value. CUST_SET_TEXT_COLOR:41 ;Used in Customize= command.>Syntax: Customize=CUST_SET_TEXT_COLOR, Text Type (TT_ ...), Color for Text (CL_ ...)>This customize allows to change the default color for many texts in menu, options screen, inventory mode, statistics screen ect.>You can set a new color for wished text type simply typing the text to change, with a TT_ constant value, and typing the CL_ .. color.>For example to have the main menu drawn in red color just type in your [Level] section this command:>>Customize=CUST_SET_TEXT_COLOR, TT_MAIN_MENU, CL_RED>>You can type two or more Customize=CUST_SET_TEXT_COLOR commands in same [Level] or [Title] section.>>Remark: it's advisable place this customize in [Title] level when you want change text of main menu, option or new level screens.>The customize typed in [Title] section will work also for all other levels until you don't place another specific customize in some [Level] section. CUST_SET_STILL_COLLISION:42 ;Used in Customize= command.>Syntax: Customize=CUST_SET_STILL_COLLISION, Collision Flags (COLL_...), LowerHeight, MoveableArray>>This customize allows to enable a still collision method when Lara touches static or moveable items.>>Remark: some people calls the "still" collision as "hard" collision.>>By default, Lara, when she touches some item, continues to move legs and arms. This behavior is different than that you see when Lara touches a wall, where she stop her immediatly.>Using CUST_SET_STILL_COLLISION customize, you can give to item collision same behavior you see in wall collision.>>CollisionFlags (COLL_....) field>-------------------------------->In this field you can type, one, two or more COLL_ flags to enable the still collision with different types of items.>>See the descriptions of COLL_.. constants in MNEMONIC CONSTANTS section of Reference panel.>>LowerHeight field>----------------->In this field you can type the lower (acceptable) hight that an item may have to enable the still collision.>Theorically you can also type 0 in this field, and in this way all selected items will enable the still collision.>>Anyway you should think about this little problem: when lara touches a very little (low) item with her feet, like an one-click height item, it should be weird see her stopped immediatly like wheter that little item was an unpassable obstacle.>In this situation pheraps it's better let the old "sliding" collision, used with items.>The reason of above speech, is that, when a little (low) obstacle is a moved up floor (like a little wall) lara could be able to walk over it, while with statics and moveables this is not possible, therefore we have our problem about the realism to solve.>>If you type IGNORE in this field, it will be used the (reasonable) value of 300 units as lower acceptable height.>>Remark: Remember the units used in this field have these references: one click = 256 units, one sector = 1024 units.>>MoveableArray field>------------------->From this field you can type one or more moveable slot using the still collision.>You can also let empty this field, of course.>>Remember that you can select different moveable class using some COLL_ flag, so my suggeston is to use these COLL_ flags and only when you find some moveable not enclosed in COLL_ flags you should use the MoveableArray.>>For example if you want having still collision also with the moveable POLEROPE and with the ROLLINGBALL, you type a customize command like this:>>Customize=CUST_SET_STILL_COLLISION, COLL_STATICS+COLL_DOORS, IGNORE, POLEROPE, ROLLINGBALL>>In this way, other to have still collision with statics and doors, you'll have still collision also with pole rope and rollingball.>>Another interesting usage of MoveableArray array, is when you want exclude some moveable from still collision.>This trick will have a sense only when you had typed some COLL_ moveable types, of course.>>For example, we suppose you enabled the still collision for all doors (COLL_DOORS) but you discovered that there is some problem with a door you used for a "race vs time". In this situation when lara touches the door while it is closing, lara froze immediatly.>Since you are a good boy, you want let to the player the chance to "slide" over the closing door and for this reason, you disable the still collision only for that type of door, preserving the other doors.>>In this case you have to type the number of slot to exclude as a negative number.>>For example if you want exclude the DOOR_TYPE4 with slot number 325, you can type this script command:>>Customize=CUST_SET_STILL_COLLISION, COLL_STATICS+COLL_DOORS, IGNORE, -325>>Remark: it's better don't use the syntax "-DOOR_TYPE4" because the mixing of mnemonic constant and aritmetic sign "-" minus, could confuse NG_Center in some circustances. CUST_WATERFALL_SPEED:43 ;Used with Customize= command.>Syntax: Customize=CUST_WATERFALL_SPEED, PixelScroll>>With this customize you can change the speed of waterfall textures.>The default value is -7, if you set higher absolute values, like -12, the speed will be increased.>If you use a positive sign the direction of scrolling will be inverted (from down to upstairs).>The max values are -63 / +63 but in the reality the meaningful max values are -31 / +31 CUST_ROLLING_BOAT:44 ;Used with Customize = command.>Syntax: Customize=CUST_ROLLING_BOAT, SlotBoat, FlagsRollingBoats (FRB_), SwingingSpeed, PitchingSpeed, RollingSFX>>By default, all boats when Lara is not on board are fully still, this is not very normal when there are waves on water surface.>With this customize you can set a swinging and/or pitching movement to get more realistic the boats on the water.>You can use one or more Customize=CUST_ROLLING_BOAT commands in same level section, to have different rolling for different boats if you wish.>>SlotBoat field>-------------->In this field you type the slot of boat to roll.>>Remark: teorically you could use also a slot different than boats, for example if you created a fake boat in an animating slot and you wish move it in realistic way.>>Note: when you set KAYAK for slotboat remember that the rolling will be performed only when the kayak is in most of its part on the water.>>FlagsRollingBoats (FRB_) field>------------------------------>You can add two or more FRB_ flags to set the level of the rolling movement.>The most of FRB flags set the wideness of rolling movement for pitching or sliding.>For example using the FRB_PITCHING_HIGH flag the boat will move upper the peak about the water surface than the FRB_PITCHING_LOW flag, where the peak will move only a bit over the water surface.>>See the description of FRB_ constants for more infos>>SwingingSpeed field>------------------->The swinging rolls the boat for the waves hit the boat on the sides.>If you don't wish any swinging type 0 in this field.>>The speed value to type in this field works like degrees but in a specific format of tomb4 where 90 degrees = $4000.>You have to type not too exagerate values because this value will be added (or subtracted) by current facing 30 times for second.>Reasonable values are enclosed in the range $08 / $100 (or, in decimal: 8 / 256)>>Tips: >* When you set a LOW value for swinging it's better reduce also the swing speed to compensate the reduction of "distance" covered in the swinging. >* Normally the swinging is less visible than pitching because the shape of the boat is slim, for this reason it's better set higher values for swing speed.>>PitchingSpeed field>------------------->The pitching rolls the boat for the waves hit the boat on the peak>If you don't wish any pitching type 0 in this field.>>About the values to type read the description of SwingingSpeed field>>RollingSFX field>---------------->You can type in this field the number of some SFX sound.>This sound will be played when the rolling is to max value, creating the effect of boat touches other boats or the water surface refalling down.>If you don't wish any sound type IGNORE in this field. FRB_SWINGING_NORMAL:0 ;Usado con el comando Customize=CUST_ROLLING_BOAT>Nivel Normal de balanceo. >Nota: si omites introducir cualquier valor FRB_SWINGING_... el valor NORMAL sera el usado por defecto. FRB_SWINGING_LOW:$0001 ; Usado con el comando Customize=CUST_ROLLING_BOAT>Se configura un bajo nivel de balanceo de la embarcación. La embarcación tendrá un movimiento muy pequeño. FRB_SWINGING_HIGH:$0002 ; Usado con el comando Customize=CUST_ROLLING_BOAT>Se configura un alto nivel de balanceo de la embarcación. La embarcación tendrá un gran movimiento. FRB_PITCHING_NORMAL:0 ; Usado con el comando Customize=CUST_ROLLING_BOAT>Nivel Normal de cabeceo. >Nota: si omites introducir cualquier valor FRB_PITCHING_... el valor NORMAL será el usado por defecto. FRB_PITCHING_LOW:$0004 ; Usado con el comando Customize=CUST_ROLLING_BOAT>Se configura un bajo nivel de cabeceo de la embarcación. La embarcación tendrá un movimiento muy pequeño. FRB_PITCHING_HIGH:$0008 ; Usado con el comando Customize=CUST_ROLLING_BOAT>Se configura un alto nivel de cabeceo de la embarcación. La embarcación tendrá un gran movimiento. FRB_ALLOW_DRIFT:$0010 ;Used with Customize=CUST_ROLLING_BOAT command>When you enable swinging or pitching on some boat you can enable on them the drift effect, too.>The drift is when the boat moves byself a bit its position in the time, sliding in some direction.>In spite this effect is a nice simulation of real beahavior of the non-moored boats, you should take care using this effect because the boat, from the start position where you placed it in the level map, it could move very far from that start point in the time necessary to the player to reach it. >So in this case you should place some barrier to stop the drift movement at least in this start point.>It's not easy to know or set the direction of drift, because this movement borns like collateral effect of pitching/swinging of original tr2/3 code.>Probably, changing the value of pitch/swing speed and heightness of the rolling, you could change also the direction of the boat. In some (few) experiment of mine, the boats move in direction of them left side but this could change using other setting for rolling effect.>>Remark: while for rubber boat and motor boat there is a native procedure for drift, for the kayak (and further fake boats in animating slots) the drift procedure has been created in trng engine.>This drift simulation, to avoid risks to move kayak in positions not reachable from lara to go in newly in the kayak, tries to avoid problems keeping the kayak to at least one sector from walls (or beatch) and it avoids also to move in low depth water, one click or less.>Knowning above features you could creare an invisible barrier to stop drift from start position simply creating a low water around the kayak, or walls in at least three sides around the kayak and in this way the drift will be temporary disabled. COLL_STATICS:$0001 ; Usado con el comando Customize =CUST_SET_STILL_COLLISION.> Permite la colisión de la posición de quedarse quieta cuando Lara contacta un item estático. COLL_DOORS:$0002 ; Usado con el comando Customize =CUST_SET_STILL_COLLISION.> Permite la colisión de la posición de quedarse quieta cuando Lara toca una puerta.>Nota: esto no funciona con puertas bajo el agua ni con trap-doors. COLL_ANIMATINGS:$0004 ; Usado con el comando Customize =CUST_SET_STILL_COLLISION.> Permite la colisión de la posición de quedarse quieta cuando Lara contacta un item de un animating slot. COLL_PANELS:$0008 ;Used with Customize=CUST_SET_STILL_COLLISION command.>It enables the still collision when Lara touches some (moveable) PANEL item.>>Remarks: >>1) The PANEL_... items have been added with the TRNG engine. They are some invisible moveables used only to set specific collision in some side of the rooms.>They have slot enclosed in the range 472 - 479 and names like PANEL_BORDER, PANEL_CORNER ect.>>2) The still collisions have some problems when it is necessary decide about sliding/stopping with an item having a diagonal facing (with 45 degrees angle).>These troubles are given by the difficulty to value correctly the diagonal shape of the item, anyway using the specific items: PANEL_DIAGONAL or PANEL_MIDDLE_CORNER, you can enjoy of a specific code to manage in correct way at least these diagonal items. Therefore, if you have troubles with some diagonal item (when lara continues to move legs/arms) you could try to solve the problem in this way:>- Disable the collision for this item>- Place in same position a PANEL_DIAGONAL item to cover same collision position COLL_VEHICLES:$0010 ;Used with Customize=CUST_SET_STILL_COLLISION command.>It enables the still collision when Lara touches some (earther) vehicle like jeep or sidecar.>>Remark: This settings has no effect on water vehicles like boats. COLL_FAKE_WALLS:$0020 ;Used with Customize=CUST_SET_STILL_COLLISION command.>This flag enable the still collision on some moveables used in game to simulate walls, ceiling or floor: >>SMASHABLE_BIKE_WALL, SMASHABLE_BIKE_FLOOR, FALLING_CEILING, FALLING_BLOCK, FALLING_BLOCK2, BURNING_FLOOR, ONEBLOCK_PLATFORM, TWOBLOCK_PLATFORM, RAISING_BLOCK1, RAISING_BLOCK1, EXPANDING_PLATFORM, BRIDGE_FLAT, BRIDGE_TILT1, BRIDGE_TILT2 and all PUSHABLE OBJECTS.>>Remark: about some moveable used as "floor" or "ceiling", the still collision will be applied only in horizontal movement, for example when lara splats her face vs the edge of a bridge. COLL_STOP_ON_45_DEGREES:$0040 ;Used with Customize=CUST_SET_STILL_COLLISION command.>Since the still collision method tries to simulate same behavior of wall collision, also in still collision, in some circustances, lara will be turned to orient her in correct dirction.>>The decision about when stopping lara and when moving and turning her will be taken in according with current angle of Lara's direction with the item surface.>For example if lara hits the item with an angle of 90 degrees, lara will be surely always stopped.>>Differently, when the angle is acute, for example only 30 degrees, lara will be NOT stopped but she will continue her race and the engine will turn her to follow the shape of the item.>The angle limit for these two behaviors is about of 45 degrees.>In default mode with 45 degress lara will be turned and not stopped, anyway if you wish you can stop lara also with 45 degrees adding the COLL_STOP_ON_45_DEGREES flag. COLL_FAST_TURNING:$0080 ;Used with Customize=CUST_SET_STILL_COLLISION command.>When there are still collision enabled, and Lara touches an item with an acute angle, she will be not stopped but only turned to continue her race in correct direction to avoid the obstacle.>Using the COLL_FAST_TURNING flag you can increase the rotation speed in above situation.>>Remark: the fast turning could be suggested when you place static items with an intermediate facing (non-hortogonal facing) with 45 degrees respect room's walls. COLL_NO_SPLAT:$0200 ;Used with Customize=CUST_SET_STILL_COLLISION command.>Since the still collision tries to emulate the normal collision of Lara with the walls, when Lara touches an item with correct height the "splat" animation will be performed, like it happens also with the walls. Anyway, if you wish disable the splat and having only an immediate frozen of Lara you can add the COLL_NO_SPLAT flag. COLL_NO_SLIDING:$0400 ;Used with Customize=CUST_SET_STILL_COLLISION command.>This setting set a very drastic collision mode: removing all sliding features lara will be always stopped, indifferently about current angle of impact with the item. FFL_ADD_SPARKS:$0001 ; Usado con el comando Customize=CUST_FLARE.>Añade a la bengala emission de chispas. FFL_ADD_FIRE:$0002 ; Usado con el comando Customize=CUST_FLARE.>Añade una pequeña llama a la bengala. FFL_ADD_SMOKE_TO_SPARKS:$0004 ;Used in Customize=CUST_FLARE command>This flag add a little smoke when you are adding sparks to flare. Pratically this flag has effect only when you used also the FFL_ADD_SPARKS flag. FFL_ADD_GLOW_LIGHT:$0008 ;Used in Customize=CUST_FLARE command.>Add to flare a little colored bulb light. >Remark: the glow light will have same color you set in Customize=CUST_FLARE command. FFL_FLAT_LIGHT:$0010 ;Used in Customize=CUST_FLARE command.>By default the flare light is a bit blinking. If you wish have a stable common light you can add this flag. DRT_NO_POISON:$0001 ;Used in Customize=CUST_DARTS command>By default when lara will be hit by a dart she will be poisoned.>You can use the DRT_NO_POISON to disable this feature. DRT_ADD_EFFECT:$0002 ;Used in Customize=CUST_DARTS command>I you wish, you can add some effect for each dart>When you use this flag you have to type in IdAddEffect field the ID of AddEffect script command where you set the effect to add to the dart.>>Remarks: >- Warning, this feature could be very cpu intensive. If you have many dart emitters in your level my suggestion is to disable the emitter already visited by Lara, using a Untrigger to free the resource for those no more used dart-emitters.>Another suggestion is to set a big Emitting timer (to slow down the emitting) and/or an high Speed value to avoid having too much darts enabled in same time.>>- In the AddEffect command, pointed by IdAddEffect field, some fields will be ignored: DurateEmit and DuratePause, while other fields should have always same value: the JointType should be always set to JOINT_SINGLE_MESH value.>Pratically the engine will be interested only by the type of effect while for the emitting time it will be constant for the life-time of the dart. DRT_PERFOM_TRIGGERGROUP:$0004 ;Used in Customize=CUST_DARTS command>If you add this flag you can transform the dart emitter in a sort of sensor line, where, when a dart touches lara, it will be perfomed some trigger.>Pratically it could be like an electronic alarm. In this case you have to type in IdTriggerGroup field the ID of trigger group to perform.>>Remarks:>>- You can reduce the speed and change the color (for example with red or green) to give to the dart emitting the look of a laser ray. >>- If you use the dart emitter like a sensory line is advisable disable the poison with the DRT_NO_POISON flag, since it has no sense the poisoning performed by a laser ray and also the smoke and crash sound wiht the DRT_NO_SMOKE flag.>>- When some dart touches Lara and the triggergroup will be performed the index of the dart emitter will be stored in the internal variable [Found item index]. In this way you could insert in the trigger group also an action trigger using the TGROUP_USE_FOUND_ITEM_INDEX flag, to disable that dart emitter with this action trigger:>>; Exporting: TRIGGER(44:0) for ACTION(0)>; <#> : LARA ID:0 in sector:(8,7) of Room3>; <&> : Trigger. (Moveable) Untrigger <#>Object with (E)Timer value>; (E) : Timer= +00>; Values to add in script command: $5000, 0, $2C>>and the values will be added in triggergroup command in this way:>>TriggerGroup= .... ,$5000 + TGROUP_USE_FOUND_ITEM_INDEX, 0, $2C>>to use the found index instead of that set in original trigger (it was lara)>>- The best way to have a very realistic laser sensory line avoiding in same time to slow down the engine is to disable the showing of darts with the DRT_HIDE_DART flag to free cpu time. >Disable smoke and crash sounds with the DRT_NO_SMOKE. >Disable also the poisoning with DRT_NO_POISON flag.>Now we should decrease furhter the emittingtimer of a bit to have most invisible dart showed. This is necessary to avoid that Lara was able to pass our sensory line without touching the darts.>Now the only problem is that the sensory line is fully invisible. We can solve this problem using a static object with no collision builded like the tight-rope bar, and adding to it the same texture used for waterfall to give to it a pulse/flushing effect.>Then in NGLE just place the dart emitting in some direction and hight and then place also the static sensory bar in same position where the darts should be emitted to have many pulsing semi-transparent laser sensory in our very hi-tech level. Each of this sensory line could be used like trigger to activate other stuff like enemys, doors, flipmaps ect. DRT_NO_SMOKE:$0008 ;Used in Customize=CUST_DARTS command>This flag remove the smoke when dart hit the wall and also the sound of the crash.>You should use this flag when you want give to dart the look of ray laser. DRT_HIDE_DART:$0010 ;Used in Customize=CUST_DARTS command>This flag get fully invisible the dart. The only case where you could use this setting is when you have added some effect to darts with the DRT_ADD_EFFECT flag and you wish that only the effect (like mist or fire) was visible.>This setting helps also to free the cpu of a lot of 3d graphic operations. DRT_FIX_POISON_BUG:$0020 ;Used in Customize=CUST_DARTS command>In default Tomb4 there was a bug about poisoning with darts.>While the poison of scorpion and harpies worked correctly with the screen deformation and lara losing HP, the poison of dart remained only an instant and it was immediatly removed.>If you want fix this bug to get a real poisoning of lara just you add the DRT_FIX_POISON_BUG flag. FR_PLAY_SFX:$0001 ;Used in Customize=CUST_RAIN command.>You can enable the playing of a sound effect when the drops hit the floor.>You should type the number of sound effect to play in Extra field of Customize=CUST_RAIN command.>Remarks:>- By default there is no sound for rain.>- It's advisable using a sound sample set to work in loop mode. FR_ADD_DRIPS_TO_LARA:$0002 ;Used in Customize=CUST_RAIN command.>You can enable the drips on lara after she has been under the rain using this flag.>By default there is no drips when lara is under the rain but only after lara has been in a pool. FR_CORRECT_SPRINKLERS:$0004 ;Used in Customize=CUST_RAIN command.>In default code the elaboration of sprinklers (when the rain drop touches the ground) was a bit leak. If the room had an irregular floor (not flat at same height) many sprinlers were not visible because they were generated under ground.>If you want correct this bug you can add the FR_CORRECT_SPRINKLERS flag. HRP_NO_SWIM_UNDERWATER:$0001 ;Used in Customize=CUST_HARPOON command.>If you set this flag, lara will be not able to swim when she holds the harpoon in her hands.>This settings should be more realistic since when lara has here hands busy it's not logical she was able to swim undwerwater. HRP_SINGLE_AMMO:$0002 ;Used in Customize=CUST_HARPOON command.>Since harpoon weapon uses the slot of crossbow, by default the harpoon has three different ammo types (normal, poison, explosive). If you wish having the harpoon gun classic you can use this flag to have a single type of ammo in inventory for this weapon. HRP_DOUBLE_AMMO:$0004 ;Used in Customize=CUST_HARPOON command.>Since harpoon weaponauses the slot of crossbow, by default the harpoon has three different ammo types (usormal, poison, explosive). If you wish having only two ammo: normal and explosive, you can use this flag. HRP_DISABLE_LASER_SIGHT:$0008 ;Used in Customize=CUST_HARPOON command.>If you want forbid the usage of laser sight with the harpon gun, you can add this flag. FMV_FADE_OUT:$01 ;Used in Customize=CUST_FMV_CUTSCENE command.>If you wish there was a fade out before start the FMV you can add the FMV_FADE_OUT in FlagsFMV field of Customize=CUST_FMV_CUTSCENE command.>Remark: fade-out means the game will become darker until to black and only after this changing the video will be played. FMV_SHORT_BLACK_RESTART:$02 ;Used in Customize=CUST_FMV_CUTSCENE command.>With this flag when the fmv has been completed the screen will be blacks for two frame (less than 1/10 of second).>In some circustance it's useful have this black screen to avoid that player can see the game image was on screen first of fmv playback.>This situation could be a problem when you want modify the game situation immediatly after the FMV.>Using the FMV_SHORT_BLACK_RESTART in according with a global trigger GT_FMV_COMPLETED, you can perform some trigger to change game situation after the movie, avoiding that player can see the old game screen.>>Remark: in spite of GT_FMV_COMPLETED global trigger, if you omit a black restart the old screen game could be visible for 1/30 of second. Therefore everytime you wish modify the game screen after a FMV it's necessary add a BLACK RESTART flag, short or long. FMV_LONG_BLACK_RESTART:$04 ;Used in Customize=CUST_FMV_CUTSCENE command.>This flag is very alike than FMV_SHORT_BLACK_RESTART, so read also the description of that flag to have more infos.>This long version of black restart, remains with a black screen for one second after the end of FMV.>There are some reasons to use this long black restart (instead of shorter version).>Some changing in game required a bit of time to be engaged. For example a rope just enabled will have a starting animation, a change of position of lara will require a moving of follow-me camera to look lara correctly.>If the changes you perform after the FMV require some time you can use the long black screen to show to player only final and stable game position. FMV_NO_AUDIO_RESTART:$08 ;Used in Customize=CUST_FMV_CUTSCENE command.>By default, trng stops the cd track before starting the FMV, and restart the same cd in same position when the FMV has been completed.>In some cirucstance you could wish to avoid to restart the cd track at end of fmv , this could happens for example when you mean change the cd track at end of fmv or load another level.>In above situation the cd track just restarted should be immediatly newly stopped to be changed with new track. Since this operation is a bit boring to listen you can use the FMV_NO_AUDIO_RESTART flag to let the silence at end of fmv, so you can start new different cd track with some trigger in more sweet way. FMV_PRE_CACHE:$10 ;Used in Customize=CUST_FMV_CUTSCENE command.>This flag try to fast the start of first fmv played in current game session.>It used like a PRELOAD flag for images, but in this case the fmv will be NOT loaded in memory (because the fmvs could be too big), but simply it will be inserted in Windows cache.>Pratically it happens this situation: when a file (like a fmv file) has to be loaded from a folder where the user had not yet done any access, Windowd spends a bit of time to scan whole folder and locate the file. Differently, when a first access had been already done, windows load more fastly that file.>So, to insert the TRLE\FMVs folder in windows cache you can use this flag, and trng will perform a first access to FMVs folder while the current level (where there are fmvs) is being to load. FCAM_DISABLE_COMBAT_CAM:$0001 ;Used in Customize=CUST_CAMERA>This flag disables fully the combat camera mode anyway it doesn't affect the automatic aiming feature. The arms of lara will point the further enemy, too, but the camera mode will remain the Chase camera or other camera mode that, in same moment, was working. PB_PROGRESSIVE_CHARGE:$0001 ;Used in Customize=CUST_PARALLEL_BARS.>By default the power of jump is given by OCB value set in parallel bar object in NGLE program. >If you add the PB_PROGRESSIVE_CHARGE flag the power of jump will depend by number of full turns around the bar. For each turn the power of jump will be increased by number in OCB value.>For example, if you type 50 in OCB field, and lara perform 3 full turn before let the Action key, the power will be 50 * 3 = 150>The max power is 10 turns, other this limit the power will be not increased furtherly.>Remark: if you use also the flag PB_LARA_CAN_SLIDE, to permit to lara to move left/right hanged at bar, everytime lara moves left/right the counting of jump power will be cleared , restarting from OCB Value.>This is useful when the player need to perform a correct number of turns but he has also to move lara in a different position of bar. In this way it's always possibile set the correct number of turns: when the player passed over the correct number of turn, just he moves left/right lara to reset and restart the counting. PB_LARA_CAN_SLIDE:$0002 ;Used in Customize=CUST_PARALLEL_BARS.>By default lara is not able to move herself when she hanged to bar. She can only to turn.>Differently, adding the PB_LARA_CAN_SLIDE value in CUST_PARALLEL_BARS, lara will be able to slide to left or to right.>>Remarks: >>* You can place two or more closed PARALLEL_BARS items in NGLE to create a very long bar and Lara will be able to move long all this path.>>* The power of jump will be affected by last parallel bar item touched by lara before letting the bar to perform the jump. This speech is useful about the ocb value set in parallel bar item. If you create a very long bar, using different parallel_bar, you could set different OCB values in these items, and lara will jump with different powerness in according with the ocb value stored in single parallel bar used for last. PB_MULTIPLE_ENDINGS:$0004 ;Used in Customize=CUST_PARALLEL_BARS.>By default Lara will perform always a correct jump, indifferently by the moment when she lets go the bar.>In this way it's not possible to wrong, because the jump is always the same.>If you use the PB_MULTIPLE_ENDINGS flag the situation changes: now lara could wrong the exiting from turning: falling vertically, handlong or in stand-up position.>>Remarks:>>* This option is not perfect because the state id change should require a correct, specific, next animation to continue the source animation of turning in precise way, frame for frame, while I tried to link source animation with some default animations like that of headlong diving and fast falling (with lara screaming).>>* Theorically you could add your new custom animation and link them to animation 462 state id = 128, whereby the change state id editor of wad merger program.>If you create a new animation where lara loses the hanging in a different point of the turn, just you create a change state-id where you set the range of frames for 462 animation where you want that lara can let go the bar. Then you set as state id = 129, and the number of your new animation.>If you perform this attempt it's better don't use the PB_MULTIPLE_ENDINGS value because this flag perform a change of state id in hardcoded mode and this could interfere with your changes of state id.>Technically the code performs this computes: >- When detect that lara lets go the Action key: set as next state id = 129>- This change doesn't happen immediatly but only when the infinite animation 462 find a frame range in state id change correct.>- By default this happens only between frame 8 and 9 of anim 462, and the next animation will be the animation 463>You can add new animation starting from some of intermediate position of rotation, and then apply to specific frame range where lara has that starting position. PB_DOUBLE_FACE:$0008 ;Used in Customize=CUST_PARALLEL_BARS.>By default, the Chronicles parallel bar has a weird property: it works with long jumps only from a side, while from opposite side the jump is like disabled, lara simply performs a single pirouette and remains in the closed sector.>Probably this behavior has been studied to avoid to use parallel bar to go back in the level in some situations, anyway if you want to do work in same way the bar, indifferently by current facing, you can customize the bat with the PB_DOUBLE_FACE flag. PB_SHOW_CHARGE_BAR:$0010 ;Used in Customize=CUST_PARALLEL_BARS.>This flag works only when you set also the flag PB_PROGRESSIVE_CHARGE.>Since when the PB_PROGRESSIVE_CHARGE flag is enabled, lara is able to increase the powerness of jump turning many times, you can enable with PB_SHOW_CHARGE_BAR the view of progress bar with current jump power.>It's advisable to add this feature because otherwise the player could have some difficulties to understand how much turns he made until that moment. PB_SHOW_CHARGE_COUNTER:$0020 ;Used in Customize=CUST_PARALLEL_BARS.>This flag works only when you set also the flag PB_PROGRESSIVE_CHARGE>The charge counter is a text showing the currnet number of turns. If you use this flag the counter text will printed on screen while lara is turning on the bar.>You can use this flag also togheter with PB_SHOW_CHARGE_BAR if you wish.>>Remark: the source of charge counter text is always the PSX string with index = 220.>If you want change the text or create an other language version for it you can do, just you remember to use alwasy the PSX 220 string and to let always the formatter "%02d" in some point of the text because that formatter will be replaced with current number of turns. BAR_HEALTH:0 ;BARRA DE VIDA. Usado en Customize=CUST_BAR BAR_DASH:1 ;BARRA ESPRINTAR. Usado en Customize=CUST_BAR BAR_AIR:2 ;BARRA DE AIRE. Usado en Customize=CUST_BAR BAR_LOAD_LEVEL:3 ;BARRA CARGAR NIVEL. Usado en Customize=CUST_BAR BAR_CUSTOM1:4 ;Used in Customize=CUST_BAR command.>The Custom bar is different by other health, dash, air bars, because in this case there is no predefined target for it.>This is a free bar you can use for you new skills.>In the Customize= command you set the size and colors like for other bars, the only difference is that in (final) extra field you have to type a Variable Placefolder to identify the value used by your custom bar.>For example if you want the bar shows the value of Local Byte Delta1 variable you'll type as Extra field the value #0048 (see Variable placefolder list in Reference panel of NG_Center) and everytime you'll show the bar with some flipeffect the value used will be get by Local Byte Delta1.>When you want clear the custom bar just you set 0 in Local Byte Delta1, ect.>The custom bars have the full value with 100 and the empty value with 0, anyway using variables you can modify the source value to get correct values.>For example, if you have your original value that could be in the range 0 - 1000 (that is different by default range 0 - 100) just you divide your original value by 10 before showing the bar.>When you need of this pre-compute it's better don't set as variable for custom bar the your real variable but another variable, like Current Value variable, and then you'll perform the compute and you copy the result in Current Value and then you show the bar.>Using the flipeffects for variables it's easy adjust your source value with 0 - 100 range. Another example could be if you want have an inverse bar, where the bar if fully filled when the value is 0 and it is empty when the value is 100.>In this case the compute to perform will be: 100 - {My original value} = {value to put in bar variable).>Remarks: >- If you want add a text to describe the mean of your custom bar you have to use the flag FBAR_SHOW_BAR_NAME. See the description of this flag for more inos.>- Once you showed your custom bar, it's not necessary peform another show bar flipeffect everytime you update the bar value, just simply you change the bar variable and the bar will show new updated value byself. BAR_CUSTOM2:5 ;Used in Customize=CUST_BAR command>Set the second customizable bar. See the description of BAR_CUSTOM1 constant for more informations about customize bars. BAR_CUSTOM3:6 ;Used in Customize=CUST_BAR command>Set the third customizable bar. See the description of BAR_CUSTOM1 constant for more informations about customize bars. BAR_CUSTOM4:7 ;Used in Customize=CUST_BAR command>Set the fourth customizable bar. See the description of BAR_CUSTOM1 constant for more informations about customize bars. FBAR_SOUND_BAR_ANIM:$0001 ;Used in Customize=CUST_BAR command. This flag creates in current bar a floating colors like you see in audio bar in Options screen.>When you use this flag you can also type in Extra field an IdColor (pointing to some ColorRGB= command) to set the mask color.>The audio bar works in particular way: there is a floating effect using two colors, the MainColor (IdColor1) and the background color (IdColor2), while the mask color will be used to paint the full side of bar. >For example if you use this flag with BAR_HEALTH and lara has 50 % of HP, the left half of bar will be colored with MaskColor to differentiate by right (empty) half.>The mask color doesn't paint fully the bar but it will be added to current floating effect.>For example if you set as MaskColor the rgb, with 0,0,0 values, you'll get no difference between left side and right side of bar because adding the 0,0,0, nothing change.>While if you set like mask color the white, with rgb values 255,255,255, the full side of bar will become fully white, losing the floating effect.>For above reasons it is a bit complicated set a good maskcolor. You should try a mask color where the rgb value was not 0 but neither 255. For example a color like: 128,128,128 (this is the default mask color if you type IGNORE in extra field), or 63,63,63 (it used in tomb4 for audio bar in some circustances) FBAR_SHOW_BAR_NAME:$0002 ;Used in Customize=CUST_BAR command>This flag works only for custom bars (BAR_CUSTOM1/2/3/4)>If add this flag to FBAR field of customize command, everytime the bar will be showed the engine will draw also the wished text under the bar.>The texts to use are prefixed:>>BAR_CUSTOM1 : Extra NG String with index = 301>BAR_CUSTOM2 : Extra NG String with index = 302>BAR_CUSTOM3 : Extra NG String with index = 303>BAR_CUSTOM4 : Extra NG String with index = 304>>For example if you add a text for BAR_CUSTOM1 you have to add the FBAR_SHOW_BAR_NAME flag in customize command for BAR_CUSTOM1 and the in Extra NG list add a text like this:>>301: Jumping Power>>Removing the previous index showed when you click on [Add string] button. CDM_NO_SAVE:1 ;Used by Customize=CUST_CD_SINGLE_PLAYBACK.>Using this setting the further single-playback cd will be ignored in saving game and when player will reload that savegame the single cd will be not played. CDM_RESTORE_FROM_MIDDLE:2 ;Used by Customize=CUST_CD_SINGLE_PLAYBACK.>This is the default behavior. If you don't set any CUST_CD_SINGLE_PLAYBACK customize in your script.dat the TRNG engine will work using the CDM_RESTORE_FROM_MIDDLE.>With this setting the sound will be saved remembering its current position and it will be restore playing it from that precise position. CDM_RESTORE_FROM_BEGIN:3 ;Used by Customize=CUST_CD_SINGLE_PLAYBACK>This setting force trng engine to save the single-playback cd and restore it but always from begin and not from the effective position it had while the game had been saved.>This setting it's adivsable for little and meaningful audio track, like a sound where lara was speaking. SEXT_WAV:0 ;Obsoleto, ver descripción del customize flag CUST_CUST_NEW_SOUND_ENGINE. SEXT_OGG:1 ;Obsolete Obsoleto, ver descripción del customize flag CUST_CUST_NEW_SOUND_ENGINE. SEXT_MP3:2 ; Obsoleto, ver descripción del customize flag CUST_CUST_NEW_SOUND_ENGINE. SEXT_MP2:3 ; Obsoleto, ver descripción del customize flag CUST_CUST_NEW_SOUND_ENGINE. SEXT_MP1:4 ; Obsoleto, ver descripción del customize flag CUST_CUST_NEW_SOUND_ENGINE. SEXT_AIFF:5 ; Obsoleto, ver descripción del customize flag CUST_CUST_NEW_SOUND_ENGINE. SEXT_MULTIPLE:100 ; Obsoleto, ver descripción del customize flag CUST_CUST_NEW_SOUND_ENGINE. TGROUP_USE_FOUND_ITEM_INDEX:$0001 ;Used with to force to use the index of last moveable detected by some condition. >The found index will be used in all following triggers or conditions of TriggerGroup that require an index for moveable.>Pratically using this flag, the index found from some condition will become the index to use for following condition and triggers, ignoring further moveable index of thoose triggers.>This overriding of original indices will be stopped only when it will be found another TGROUP_ flags used to change the default index of moveable to use.>>Other TGROUP_ flags to change the default index for moveable are:>TGROUP_USE_OWNER_ANIM_ITEM_INDEX >TGROUP_USE_TRIGGER_ITEM_INDEX>See descriptions of above flags.>Remark. Not all condition trigger may be used to set a moveable index, of course.>You can add the flag TGROUP_USE_FOUND_ITEM_INDEX to (first value) of exported condition, only on those condition try to verify the presence of some moveable. >For example the condition trigger "Lara collides with moveable with [&] slot" or the ENV condition "Lara has in front the object with slot = ExtraSlot">This method to force another index to use with following triggers it's necessary to handle situation where you are not able to know exactly WHAT moveable lara will collide or she'll have in front of her.>For example if we could build a TriggerGroup to handle a fighting like following:>>Conditions: "When right hand of lara touch head of [&] slot moveable"> then: (above condition is true) Toggle vitalty to current enemy moveable>>In above trigger group, when we build our condition trigger we can set the slot of moveable for condition, for example we could use the slot "95 SAS", but when in game lara hits a SAS moveable it could be one of many SAS preset in the level, and we cann't know its index while we build the condition trigger.>If we don't know the index, we cann't set in following trigger to toggle vitality.>>To solve above problems, there are some TGROUP_ flags used to get the index of moveable to use in dynamic way: when engine with some condition detects a moveable, it could use that index for following trigger. TGROUP_USE_TRIGGER_ITEM_INDEX:$0002 ;Set newly as index of moveable to use for following (and current) triggers, the real source index set in exported trigger.>This flag requires to be used only when you had changed the default index in previous triggers or conditions. Differently, if you have never used any TGROUP flag to modify the index to use, it's not necessary use this flag, because by default the index of moveabl is that set in data of exported trigger.>See also description of TGROUP_USE_FOUND_ITEM_INDEX flag to have more informations about the mechanism of changing of moveable index TGROUP_USE_OWNER_ANIM_ITEM_INDEX:$0004 ;Set as moveable index to use in following (and current) triggers the index of moveable own the anim command just performed.>This flag could be used only when current TriggerGroup command has been started by an animcommand. In this situation, if you use this flag the index of moveable to use it will be the index of moveable owns the animation that contains the anim command started current TriggerGroup.>See also description of TGROUP_USE_FOUND_ITEM_INDEX flag to have more informations about the mechanism of changing of moveable index TGROUP_AND:$0008 ;Set as operator for current condition the AND operator.>This operator will be keeped also for following condition trigger if no other TGROUP_ flag for boolean operators will be used.>The AND operation is the default operation, this means that, if you don't use any TGROUP flags to set operators in TriggerGroup, all condition will be linked with AND operators.>Anyway, when you set other operators like OR or NOT it could be necessary use the TGROUP_AND flag to force newly the and operator to link the different conditions.>>Example of list of conditions + boolena operators:>> Condition1> TGROUP_OR + Condition2> TGROUP_AND + Condition3> TGROUP_NOT + Condition4>>Above list of condition triggers could be read in this way:>>if (Condition1 OR Condition2) is TRUE AND> Condition3 is true AND > Condition4 is NOT true > then ... perform following (non-conditional) trigger sequence> TGROUP_OR:$0010 ;Set as operator, to link current condition with previous conditions, the OR operator. >When you use the OR this means that just the previous condition or current condition are true to get true the condition group upto now.>See description of TGROUP_AND flag to have more information about the usage of boolean operators in TriggerGroup. TGROUP_NOT:$0020 ;Set as operator, to link current condition with previous conditions, the NOT operator.>The NOT operator could be read as "AND NOT" because requires the previous condition was TRUE and that the current condition was NOT true.>You use the NOT operator to invert a condition, this is very useful to create condition not yet presents in trigger condition list.>For example if there is in trigger window the condition "Lara collide with object <#>" but it's missing the inverse condition "Lara is NOT colliding with object <#>", you can use the condition for collide and then add a TGROUP_NOT flag to first value of that exported condition to transforme it in "Lara is NOT colliding with object">See description of TGROUP_AND flag to have more information about the usage of boolean operators in TriggerGroup. TGROUP_ELSE:$0040 ;Set the start of a ELSE group in current TriggerGroup.>The ELSE is important to perform an alternative trigger when the first condition was false.>For example if you create a TriggerGroup with conditions to load a different level in according with some condition, you can create a TriggerGroup like following:>> Condition1 is true> Perform trigger "Load level 4" > else> Perform trigger "Load title level">>Above conditional sentence could be use to perform a bonus level (4) only when some condition (condition1) is true, while is the condition is false (else) it will load the title level, to complete the adventure with no bonus level.>>You can place one, two or more ELSE in your TriggerGroup, the rule to follow to understand how the TriggerGroup will work, is:>> If first conditions are true: perform first group of non conditional trigger immediatly following the first conditons.> While if first conditions are false, skip all following non conditional trigger, until to reach an ELSE flag. > If some ELSE flag has been found, the parsing will start from that condition/trigger as it was the start of whole TriggerGroup.>The trigger with ELSE flag could be also another condition, and it will be elaborated in usually method: if conditions are true perform following non conditional triggers, while if the conditions are false, skip all triggers upto another ELSE flag.>>Using multiple ELSE you can perform different triggers in according with many different conditions.>For example, we could open different doors in according with last number typed in Keypad switch:>> Condition: If KeyPad Value = 1> Trigger: Open door 12> ELSE> Condition: if KeyPad Value=2> Trigger: Open door 7> ELSE> Condition: If keypad Value =3> Trigger: open door 18 TGROUP_USE_EXECUTOR_ITEM_INDEX:$0100 ;Used in TriggerGroup command.>Adding this flag to first of triplex parameter of exported trigger data, you can replace the index on that perform some action, with the item that has excutes the trigger that enables this triggergroup.>You could use this flag when you create an heavy trigger to perform this triggergroup and you want that all action trigger will be redirect to moveable that has just enabled the trigger group.>For example if you export an action trigger to kill (any) moveable, and then you perorm this triggergroup with an heavy trigger, when any moveable move on it, the action (to kill) will be applied on this moveable.>Pratically with this method you can create trigger to kill enemies (or other action on them) where it will be the same moveable to enable it.>Remark: to realize this trick is problem you need to use also an Enemy= command with the NEF_EASY_HEAVY_ENABLING to permit to many different moveables to enable all heavy triggers they meet in their path. TGROUP_SINGLE_SHOT:$0400 ;Used in TriggerGroup command>Adding this flag in first number of first trigger of TriggerGroup you create a single-shot Trigger group.>>Pratically this triggergroup will be performed only once in current level, indifferently by how much times for it, it will be required an execution with the "Perfrom TriggerGroup" flipeffect.>>The single-shot trigger groups are very important to fix that limitation about the trigger zone where you place same trigger in two or more closed sectors in the map. >When you wish that all this trigger zone worked like a single-shot trigger you have a problem, because each trigger will work in one-shot way but individually and this means that lara could engages newly the same trigger when she will touches another sector in that trigger zone.>Currnetly the only way to avoid this problem is to export the trigger in script format and copy it in a TriggerGroup command. Then add to first number the TGROUP_SINGLE_SHOT flag, and at end replace in the level the original trigger with a "perform trigger group" flipeffect. >In this way the triggergroup will be performed only once, and when lara will pass over other trigger sectors of that same zone, noting will happen.>>Remark: There is also a new flipeffect whereby it you can enable newly a single-shot triggergroup already performed. GT_USED_INVENTORY_ITEM:1 ;With this global trigger you can detect when the player chooses a specifc item from inventory. You have to specify the slot id in following field named Parameter.>For example to enable a global trigger when player select the QUEST_ITEM2 with slotid = 253, you can type "GlobalTrigger=1, IGNORE, GT_USED_INVENTORY_ITEM , 253, ...".>>Remarks: >*If you want remove the chosen item from inventory when global trigger has been engaged you have to insert in perform TriggerGroup the specific flipeffect "Inventory-Item. Remove <&>inventory-item from inventory". If you don't use this flipeffect the selected item will remain in inventory for further activations.>>*Please, try to avoid to use QUEST_ITEM1 for your global trigger because QUEST_ITEM1 is used already for Detector activation. GT_SCREEN_TIMER_REACHED:2 ;You can start your global trigger when screen timer reach the supplied number of seconds. You have to type the number of seconds in following field named Parameter.>For example, to start your trigger when timer screen reach 240 seconds (4 minutes) you can type: "GlobalTrigger=1, IGNORE, GT_SCREEN_TIMER_REACHED, 240, ...">Remark: >* For this global trigger is strongly suggested to use flag FGT_SINGLE_SHOT, otherwise it, when the condition becomes true, will performed 30 times for second, forever. GT_ENEMY_KILLED:3 ;You can specific in Parameter field the index of moveable to monitor. When the given moveable will be killed the global trigger will be started.>Remarks:>* You read the index of moveable when, in NGLE program, you perform a single mouse click on that object, the index will be showed in a yellow box.>* Theorically you can get a trigger activation when a creature dies also with local (common) trigger Switch. If you trigger enemy with a switch trigger and then add to this trigger some common trigge to enable doors, enemies ect, when the creature will die the trigger will be activated. Anyway the problem to use this method is that you have to cover a big surface with above triggers, because it's necessary the creature when he dies, he was on sectors with switch trigger. Differently using global trigger GT_ENEMY_KILLED the trigger will be activated indifferently by corrent position of enemy.>* For this global trigger is strongly suggested to use flag FGT_SINGLE_SHOT, otherwise it, when the condition becomes true, will performed 30 times for second, forever. GT_LARA_HP_LESS_THAN:4 ;This global trigger will be enabled when life bar of lara (Health value) is less than value you set in Parameter field.>Remember that the health value for lara in enclosed in range between 0 (she dies) and 1000 (full line and no bar showed in game).>For example if you want reduce some capabilities of lara when she has a life less than 100 hp, you can type a GlobalTrigger like this:>>GlobalTrigger=1, FGT_SINGLE_SHOT, GT_LARA_HP_LESS_THAN, 100, ...>>If you use a trigger like above to remove some capability of lara you should remember also to set some way to return these capabilities to lara when her hp grows newly over that limit (100), for example you can use GT_LARA_HP_HIGHER_THAN or GT_USED_BIG_MEDIPACK or GT_USED_LITTLE_MEDIPACK. GT_LARA_HP_HIGHER_THAN:5 ;This global trigger will be enabled when life value for lara is higher than value you type in Parameter field. The valid range for lara vitality is between 0 - 999 GT_USED_BIG_MEDIPACK:6 ;Trigger enabled when lara select and use a big medipack.>Remark: if Lara has already full life and player select a big medipack from inventory the condition will be false, because in this situation the medipack will not really used. GT_USED_LITTLE_MEDIPACK:7 ;Trigger enabled when lara select and use a little medipack.>Remark: if Lara has already full life and player select a little medipack from inventory the condition will be false, because in this situation the medipack will not really used. GT_USING_BINOCULAR:8 ;Trigger enabled when lara is or not looking using binocular.>WARNING: you have to place a correct value in Paramter field. If you want check the condition for lara is using binocular you must type "128" or "$80" in Paramter field, while if you want check the condition for lara is NOT using binocular, you'll type the value 0 (zero) in Paramter field. GT_DAMAGE_BAR_LESS_THAN:9 ;This global trigger check for level of damage and it will be checked only when lara is in a damage room.>You have to type the value to comparise in Paramater field.>In spite of type of progress bar chosen for damage room (increasing or decreasing bar) this condition will check the value of damage in same way: when lara is just entered in damage room the value of damage bar is 1000, while when she remains in damage room for some time the damage level will be littler upto 0, when lara will be damaged really or burned.>Pratically with low values the situation for lara is worse. GT_LARA_POISONED:10 ;Condition about poisoned lara. When lara is poisoned the life bar becomes yellow and in short time the screen will be deformed.>Using this global trigger you can perform some action for example to show a text, when lara is poisoned.>In Paramater field you have to type the value used as comparison. The formula used is "IF POISON_IN_LARA grather than PARAMTER then ..." perform global trigger.>If you want that the global trigger was enable for any poison value, you can type 0 (zero) in parameter field.>DIfferently if you want the activation was only when the poison level is higher you can type a big value, like 400 or more.>Some infos about the level of poison:>Darts = 160>Little scorpion = 512 (only from 4th level)>Big scorpion = 2048>Start screen Harpy = 2048>Deforming screen when poison is higher than 256>Max level for poison = 4096 GT_CONDITION_GROUP:11 ;If you don't want using a GT_ global trigger to test the condition, but you want use some common CONDITION triggers stored in some TriggerGroup command script, you have to use the value GT_CONDITION_GROUP for GlobalTrigger field. With this value the engine will check immediatly only the conditions in trigger group you typed in IdConditionGroup field.>Remark: please don't confuse about usage of GT_CONDITION_GROUP value. You cann't add this value to other GT_ global trigger values. This value is used only when you don't want type any specific global trigger but you want to use only conditions of trigger group. Anyway, if you want use a global trigger (like GT_USED_LITTLE_MEDIPACK for example) and you want add also a condition group you can do this simply setting a valid IdTriggerGroup value in IdConditionGroup field.>Pratically the GT_CONDITION_GROUP used only to set a null-doing global trigger with a condition trigger group, because if you put IGNORE in GlobalTrigger field this global trigger will be never performed and the further IdConditionGroup it will be ignored, too. GT_DISTANCE_FROM_ITEM:12 ;This global trigger permit to verify the distance between Lara and some moveable, when the distance is less than that set in Paramater field the trigger will be engaged.>Reamark: the value to type in Parameter field is a bit complex because it is the combination of two values: the index of moveable to check and the distance (in sectors) to compare.>The formula to use is:>>MoveableIndex + (sectorDistance * 1024)>>For example if you want monitor the moveable with index = 109 and you want enable the trigger when the distance is less that 40 sectors you'll have to compute the formula: 109 + 40*1024 = 41069>>Note: the max value for sector distance is 63 sectors, and one game sector is 2 meters. GT_COLLIDE_ITEM:13 ;You can detect if lara is touching moveable with index you set in Parameter field.>For more infos read also the description of GT_COLLIDE_SLOT global trigger, and FGT_PUSHING_COLLISION flag GT_COLLIDE_SLOT:14 ;This global trigger works like GT_COLLIDE_ITEM but in this case you have to type a slot number both a specific item index.>Pratically you can use GT_COLLIDE_SLOT to test the collision of Lara with any item of a given slot.>For example if you create this GlobalTrigger:>>GlobalTrigger=1, IGNORE, GT_COLLIDE_SLOT, 41, ...>>Since 41 is the slot for BADDY_1 object, everytime lara will collide with any BADDY_1 object the global trigger will be engaged.>>Remark: When the collision will be detected, the item of moveable is colliding Lara, will be saved to be used from triggers stored in perform TriggerGroup. In particular way you have to use the flag TGROUP_USE_FOUND_ITEM_INDEX togheter with some trigger that works on some moveable. For example if global trigger detect a collision with moveable with slot 41 (like in above example) and this moveable has the index = 132, this index will be used for each trigger in triggergroup where you set the flag TGROUP_USE_FOUND_ITEM_INDEX.>See also description of TGROUP_USE_FOUND_ITEM_INDEX flag for more infos.>>This is a little example how the TGROUP_USE_FOUND_ITEM_INDEX flag work togheter with GT_COLLIDE_SLOT global trigger:>If you type following lines in your script.txt file:>>TriggerGroup= 1, $5000+TGROUP_USE_FOUND_ITEM_INDEX, 749, $E>GlobalTrigger=1, IGNORE, GT_COLLIDE_SLOT, 43, IGNORE, 1 >>Lara will kill each BADDY_2 enemy simply touch him.>The number 43 is the slot for BADDY_2, while the flag TGROUP_USE_FOUND_ITEM_INDEX in TriggerGroup command has been used to substitute the original target of that trigger (it was an Action trigger to kill a crocodile) with the index of moveable found in global trigger GT_COLLIDE_SLOT, i.e. the baddy2 was colliding Lara. GT_COLLIDE_CREATURE:15 ;This global trigger works like GT_COLLIDE_SLOT but in this case the condition will be true for each moveable that is a "creature" type.>A creature is a moveable following AI rules, it's able to move byself.>Remark: this global trigger will ignore the value typed in Parameter field. GT_LOADED_SAVEGAME:16 ;The condition will be true when player has just started the loading of a savegame from Load Game screen. GT_SAVED_SAVEGAME:17 ;The condition will be true when player has just saved current game in some savegame. GT_COLLIDE_STATIC_SLOT:18 ;The condition is true when lara touch a static of given static slot kind typed in Parameter field.>Remarks: >* Don't confuse the moveable slots with static slots. You find the static slots in the "Statics indices" list of "Reference" panel >>* About the chance to perform a triggergroup when lara touches a specific static it's not necessary a global trigger: just you add in the ocb of that static the value 2048 and then place an heavy trigger in sector under that static. When lara will touch the static the heavy trigger will be performed. GT_DISTANCE_FROM_STATIC:19 ;This global trigger permit to verify the distance between Lara and a specific static object, when the distance is less than that set in Paramater field the trigger will be engaged.>Reamark: the value to type in Parameter field is a bit complex because it is the combination of two values: the index of static to check and the distance (in sectors) to compare.>The formula to use is:>>StaticIndex + (sectorDistance * 1024)>>For example if you want monitor the static with index = 109 and you want enable the trigger when the distance is less that 40 sectors you'll have to compute the formula: 109 + 40*1024 = 41069>>Note: the max value for sector distance is 63 sectors, and one game sector is 2 meters.>Remark: unfortunately there is a limit alfo for index of static: if the index of static is greather than 1023 the global trigger will be not able to work. GT_LARA_HOLDS_ITEM:20 ;This global trigger is true when lara is holding in her hands the item you specified in Parameter field. The value set in Parameter could be also a vehicle or pole or rope.>Remark: in Parameter field cann't type a SLOT value but an HOLD_ constant.>You can find the list of available HOLD_ values in MNEMONIC CONSTANTS list of Reference panel. GT_VSCROLL_COMPLETE:21 ;This global trigger is true when the vertical scrolling text of given string index has been completed.>In Parameter field you should type the index of extra ng string used for vertical scrolling text to monitor.>Remark: The most common usage of this global trigger is when you want create following operation:>Showing a long scrolling text on screen and freeze lara in the meanwhile disabling the keyboard input.>In this situation you can use this global trigger to enable newly the keyboard input when the scrolling text is complete. GT_VSCROLL_LAST_VISIBLE:22 ;This global trigger will be true when last row of vertical scroll text is fully visible on screen.>Differently from GT_VSCROLL_COMPLETE, with GT_VSCROLL_LAST_VISIBLE the condition is true when vertical scroll is not yet completed but the last row of text entered in visible area of screen.>In Parameter field you have to type the index of NG string used for scrolling operation you want check.>You can use this global trigger to create a chain of different scrolling operations with different size and color of character.>For example you can create a text with a singe row using very big characters.>You'll use this single row as a big title of following scrolling text with littler size of text.>In above situation you can use a GT_VSCROLL_LAST_VISIBLE global trigger linked to title scrolling, to show the remaining text (other scrolling text) when the title is visible on screen. The final effect will be to watch a single long text using different size or color of character but in the reality it will be two different scrolling texts working in same moment. GT_GAME_KEY1_COMMAND:23 ;The condition is true when the game command (jump, action, look ect) you set in Parameter field, it has been chosen from Player.>>You have to type in Parameter field the wish KEY1_.. game command to detect.>>You can also type a sum of many KEY1_ constants (see MNEMONIC CONSTANTS list) but you cann't type in this global trigger a KEY2_ constant. If you want detect a KEY2_ command then you should use the twin global trigger GT_GAME_KEY2_COMMAND.>>Remarks:>This condition is true not yet the game command has been sent, this means that the command has not been yet elaborated by game engine when the condition is true.>For example if the command is KEY1_JUMP, lara is not yet jumping.>For this reason, if you wish, you can also remove the game command, to prevent that the game engine can receive it, using the flag FGT_REMOVE_INPUT>See FGT_REMOVE_INPUT description for more infos. GT_GAME_KEY2_COMMAND:24 ;This global trigger works in same way of GT_GAME_KEY1_COMMAND, but in this case you can set in Parameter field a KEY2_.. game command.>See description of GT_GAME_KEY1_COMMAND for more infos. GT_KEYBOARD_CODE:25 ;This global trigger detect when player hit some specific keystroke.>You have to type the scan code value in Parameter field.>You can find all valid scan codes in Reference Panel of NG Center, in the KEYBOARD SCANCODES list.>>Remark:>This command should be not used to detect standard game command, you should use the GT_GAME_KEY1_COMMAND or GT_GAME_KEY2_COMMAND global triggers for this target. >In fact, you should remember that the keystrokes linked with game commands could be changed in Options screen from player, so you cann't to be sure that a given scan code was always the same to jump or roll.>Differently you should use GT_KEYBOARD_CODE trigger when you want have your custom hot key to start some extra feature. The scan code you choose should be different by all other keyboard commands that the player could choose in Options screen. For example you could select some unused function keys like F7 or F8 to start your operation. GT_FMV_COMPLETED:26 ;Used in GlobalTrigger= command.>This global trigger will be engaged when the FMV with number typed in Parameter field has been just completed.>This global trigger is very useful when you wish change something in game only at end of a video-cutscene (FMV).>Usally you'll use a FMV to show some fact or actions about lara and for this reason it's probably you wish that, at end of movie, something in game was changed: like loading of new level, or enabling a flipmap or moving lara in other side of level.>In all above cirustances you should use this global trigger to be sure that the triggers (stored in a triggergroup called by this GlobalTrigger command) will be performed excactly at first frame following the ending of given FMV. GT_TITLE_SCREEN:27 ;Used in GlobalTrigger= command.>This global trigger should be used only in [Title] section.>With GT_TITLE_SCREEN you can discover what kind of screen is showing in title phase: if main titles, new game, load game, or options.>You have to type in Parameter field a TSCR_ value for wished screen type. GT_ELEVATOR_STOPS_AT_FLOOR:28 ;Used in GlobalTrigger= command.>This global trigger will be enabled when the given elevator has just stopped at given floor.>You could use this trigger to open a door in front of elevator.>You type the elevator index and the floor number in Parameter field.>Since you have to put two numbers is a single field it's necessary perform a little compute to compact the two numbers in a single number.>>The formula to get this unique number is:>>(FloorNumber * 4096) + ElevatorIndex>>You cann't type above row in that way, of course, because NG_Center doens't recognize the "*" multiply character or the parenthesis.>Differenty you have to perform the compute and then type only the final number.>For example if you want verify when the elevator with Index = 137, reachs the first floor (floornumber= 1), the compute will be:>>(1 * 4096) + 137>>and we'll get:>>4233>>Remarks: >>1) At start of the level all elevators will give the GT_ELEVATOR_STOPS_AT_FLOOR event with the floor number = 1, since all elevators have to begin with the cage at first floor.>In this way if you use this global trigger to have a door opened in front of the floor where is the elevator it will work also from start of the level.>>2) There is a limitation for both values to set in parameter field: >The elevator index cann't be greather than 4095>The floor number cann't be greather than 15>If you have to use number bigger than above limits you have a big problem, because the size of single field of GlobalTrigger script command don't permit to have number bigger than above limits. GT_ELEVATOR_STARTS_FROM_FLOOR:29 ;Used in GlobalTrigger= command.>This condition verify when the given elevator has just let the given floor.>You have to type the elevator index and floor number in Parameter field.>About the mode to compact these two numbers in a single number, read the description of GT_ELEVATOR_STOPS_AT_FLOOR global trigger GT_BEFORE_SAVING_VARIABLES:30 ;Used in GlobalTrigger= command.>This global trigger will be enabled an instant before trng engine saves the variables in savegame or in HUB section (used when lara steps to new level with a finish trigger).>In the Parameter field you type the level number where perform this trigger.>It's important set the correct level number because some operation to save and restore, you could have to do only on some levels but not on oters. >For xample if you did some variable poke to modify a moveable in level 1, it's important you save its value in a specific variable, different than you could do in oter level 2 where this moveable could be missing.>Remember that the store variables are all global variables and they will be changed and reloaded for all levels.>See also the tutorial for trng variables in zip file: trng_variables.zip>>You can use this global trigger to save in variables some value typed previously to change moveables or pyhsics of the game.>This operation it will be necessary only when your "poke" operation in some critical memory it's only temporary and it will be lost when player reload a savegame. In this case you have to use this global trigger to save in some variables the changes, and then restore them with other global trigger: GT_AFTER_RELOADING_VARIABLES GT_AFTER_RELOADING_VARIABLES:31 ;Used in GlobalTrigger= command.>This condition will be true when player has just loaded a savegame, or when lara enters in a new level using a finish trigger with no ResetHub command.>If you had saved some critical memory in variables with GT_BEFORE_SAVING_VARIABLES global trigger, you can now restore them, when the variables has been just reloaded, to create newly the same situation previously of saving game.>In Parameter field you type the level number after the reloading of game, about when perform this global trigger. So, if lara from level 1, touchs a finish trigger and she goes to level 2, you'll have to type the number "2" to reload from begin of this level. GT_ALWAYS:32 ;Used in GlobalTrigger= command.>This is a special global trigger.>Usually a global trigger perform the wished TriggerGroup when it happened some specific global condition in the game.>Differently the GT_ALWAYS global trigger will be always performed (if it enabled), frame or frame of the game.>You can use this global trigger to have a triggergroup working endless. GT_TRNG_G_TIMER_EQUALS:33 ;Used in GlobalTrigger= command.>Enabled when the Global trng timer has same value set in Parameter field.>The value you type in Parameter field is in frame ticks, where 1 second = 30 frame ticks.>So if you want detect when a growing timer reaches 40 seconds you have to type "1200" , since 40 * 30 = 1200.>>Remark: This global trigger works ONLY while the respective timer is running, this means it's not necessary (and neiter advisable) to use FGT_SINGLE_SHOT or FGT_SINGLE_SHOT_RESUMED flags.>In the case you wish check the variation of trng timer performed in a way different than standard flipeffect "Variables. Timer. Start the <&>TRNG Timer in (E)Mode" you should avoid these global triggers and use instead the GT_CONDITION_GROUP global trigger, placing in the ConditionTriggerGroup the id of a triggergroup with exported CONDITION triggers to test the content of variable TIMER. GT_TRNG_L_TIMER_EQUALS:34 ;Used in GlobalTrigger= command.>Enabled when the Local trng timer has same value set in Parameter field.>Read the description of GT_TRNG_G_TIMER_EQUALS global trigger for more infos. GT_KEYPAD_SHOWED:35 ;Used in GlobalTrigger= command.>This trigger will be enabled when the KeyPad with index typed in Parameter field will be showed.>You could use this global trigger to show a text in the precise moment when the big editable keypad will be showed, to describe to player what is its target. GT_KEYPAD_REMOVED:36 ;Used in GlobalTrigger= command.>This global trigger is the opposite than GT_KEYPAD_SHOWED flag.>When the (big) editable keypad will be removed this global trigger will be enabled.>You can use this global trigger to remove the further text show with the other global trigger GT_KEYPAD_SHOWED. GT_NO_ACTION_ON_ITEM:37 ;Used in GlobalTrigger= command.>This global trigger will be true when the supplied item has no trng action enabled on it.>You should type the index of the item to check, in the "Parameter" field of GlobalTrigger command.>The trng actions are procedures used to turn, move and get other time consuming effects on moveables.>Many Action triggers you find Set Trigger Type window, begin a progressive action on that moveable.>This global trigger could be useful to discover the exact moment when an item completed its movement, for example to play a sound effect, or syncronize another action starting when the first action has been completed.>>Remark: since this global trigger verify if the item has no action enabled on it, you should use for this global trigger the following flags:>>the FGT_DISABLED flag, to avoid it was immediatly engaged at begin of the level, since in that moment surely the item has no action in progress. So you should start with the global trigger disabled, thanks to FGT_DISABLED flag, and then you should enable the global trigger only after some action trigger has been started on it.>>the FGT_SINGLE_SHOT or FGT_SINGLE_SHOT_RESUMED flags, because otherwise the triggergroup linked with this global trigger will be ontinuosly and forever performed after the last progressive action has been completed on the item. TSCR_MAIN_TITLES:0 ;Used with GT_TITLE_SCREEN global trigger.>Detect the main title screen, i.e. the screen where you see "New Game", "Load Game", "Options" and "Exit" TSCR_NEW_GAME:1 ;Used with GT_TITLE_SCREEN global trigger.>Detect the [New Game] screen, where you can select a specific level name. TSCR_LOAD_GAME:2 ;Used with GT_TITLE_SCREEN global trigger.>Detect the [Load Game] screen. TSCR_OPTIONS:3 ;Used with GT_TITLE_SCREEN global trigger.>Detect the [Options] screen HOLD_PISTOLS:1 HOLD_REVOLVER:2 HOLD_UZI:3 HOLD_SHOTGUN:4 HOLD_GRENADEGUN:5 HOLD_CROSSBOW:6 HOLD_FLARE:7 HOLD_OUT_TORCH:8 HOLD_FIRED_TORCH:9 HOLD_JEEP:10 HOLD_SIDECAR:11 HOLD_RUBBER_BOAT:12 HOLD_MOTOR_BOAT:13 HOLD_ROPE:14 HOLD_POLE:15 HOLD_ANY_TORCH:16 ;Igualmente funciona con la antorcha apagada o encendida HOLD_KAYAK:17 FGT_SINGLE_SHOT:$0001 ;This flag set the current global trigger for single execution. When the global trigger will be executed it will be disabled to avoid further executions. FGT_NOT_TRUE:$0002 ;You can use this flag to invert the global trigger condition. For example if you want have a global trigger engaged when lara is NOT poisoned you can type a GlobalTrigger command script like:>>GlobalTrigger=1, FGT_NOT_TRUE, GT_LARA_POISONED, 0, ....>>Remark: this flag doesn't affect the further Condition Trigger Group. Anyway in trigger group you can find a similar flag to invert the single condition triggers. FGT_PUSHING_COLLISION:$0004 ;This flag works only when used with global triggers: GT_COLLIDE_ITEM or GT_COLLIDE_SLOT>The engine computes three type of collision:>- Bound Box Collision: this collision is very easy to compute but not very precise. The engine compares two collision box of current frame for both moveables and gives positive esite if the two boxes are overlapped in some 3d space position.>This is the default collision used for global triggers GT_COLLIDE_ITEM or GT_COLLIDE_SLOT.>>- Pushing item collision: This collision works like Bound Box Collision but in this case it's necessary also that an object pushes other object to give a positive esite. Theorically this collision could be considered more precise of common Bound Box Collision.>If you add the FGT_MOVING_COLLISION flag the global trigger will use own this type of "pushing" collision.>>- Mesh on Mesh collision: this is the more complex and precise computes for collisions: each mesh of first moveable will be compared (using sphere mesh) with each mesh of second moveable to detect a collision. It performed only in very seldom circustances, for example for collision of lara with some traps, like blades and swords. FGT_DISABLED:$0008 ;By default a global trigger works always, from begin of current level until it is performed with a flag FGT_SINGLE_SHOT to disable it.>Anyway if you want, you can disable your global trigger at start, and then to able it only in a second time using the flipeffect "Enable/Disable the GlobalTrigger...". FGT_REMOVE_INPUT:$0010 ;Used in GlobalTrigger command.>This flag works only with GT_GAME_KEY1_COMMAND, GT_GAME_KEY2_COMMAND or GT_KEYBOARD_CODE global triggers.>If you add in Flags field the FGT_REMOVE_INPUT flag, when the condition is true, the just received game/keyboard command will be removed and game engine will be not able to detect it.>In this way you can filter or redirect some game command.>The filtering is when you discover when a given game command has been received and you add (with your triggergroup of globaltrigger) some further actions in according with that command.>The redirection is when you want remove fully the effect of that game command and you want replace them with other your effects. FGT_SINGLE_SHOT_RESUMED:$0020 ;Used in GlobalTrigger command.>This flag is similar than FGT_SINGLE_SHOT flag, but with a big difference:>>While the FGT_SINGLE_SHOT performs first time the trigger group when the condition is true and then it will be disabled forever, the new FGT_SINGLE_SHOT_RESUMED will be resumed when the condition results newly false. For this reason the FGT_SINGLE_SHOT_RESUMED works in the reality like a multi shot flag but avoiding to perform continuosly the trigger group if the condition results true continuosly.>>We could describe the different working mode with this little table:>>Result of Condition multi-shot (no flag) FGT_SINGLE_SHOT FGT_SINGLE_SHOT_RESUMED >--------------------------------------------------------------------------------------> FALSE No-Run Enabled No-Run Enabled No-Run Enabled> TRUE Run Enabled Run Enabled Run Enabled> TRUE Run Enabled No-Run Disabled No-Run Enabled> TRUE Run Enabled No-Run Disabled No-Run Enabled> FALSE No-Run Enabled No-Run Disabled No-Run Enabled> FALSE No-Run Enabled No-Run Disabled No-Run Enabled> TRUE Run Enabled No-Run Disabled Run Enabled> TRUE Run Enabled No-Run Disabled No-Run Enabled>--------------------------------------------------------------------------------------> FGT_HIDE_IN_DEBUG:$2000 ;Used in GlobalTrigger command.>This flag doesn't change the behavior of the globaltrigger in runtime, but it removes the debugging mexages in debug mode (DGX_LOG_SCRIPT_COMMANDS diagnostic) for this globaltrigger.>The reason to use this flag is when you are studying another script command but this global trigger continues to fill the log with many mexages not intersting for you. FO_ENABLED:$0001 ;By default the organizer is disabled at start, and you have to call a flipeffect to enable it. If you want this organizer was enabled from start of level you have to add then FO_ENABLED flag. FO_LOOP:$0002 ;Adding FO_LOOP flag, the list of (time + PerformGroup) will be performed in endless way. After that the last Performgroup has been performed, the organizer will restart from first performgroup.>Using this flag you can perform some performgroup each "number of seconds">Remember you can use some flipeffects to start or stop an organizer, this feature is useful own when you want perform in loop mode an organizer only for a specific section of game or in some time interval. FO_TICK_TIME:$0004 ;Change time unit misure. By default, i.e. if you DON'T use this flag, the time is in seconds, but, if you want use a more precise units of time you can add this flag in "Flags Organizer" field of Organizer, and the time you type will be interpreted like frame ticks, i.e. the minimum time unit.>The tick frame is 1/30 of second so if you mean set also some big time, to convert in seconds just you type the number of seconds * 30.>For example:>15 = half second>300 = 10 seconds SQ_LOW_QUALITY:11025 SQ_MEDIUM_QUALITY:22050 SQ_HIGH_QUALITY:44100 IMPORT_MEMORY:1 ;Used in ImportFile command.>If you select as ImportType the value IMPORT_MEMORY, the corresponding file will be loaded directly in RAM memory and it will be used only from memory.>The advantage is that the file will be started more fastly since it will be not required a disk access to find and load it in memory. This could be very important for sound files, where, in some circustances, the access from hard disk could create a little slow down in frame rate of the game.>>Instead, speaking about the disadvantages, the most problem is about the usage of RAM memory, and this could be a real problem if you exaggerate to import too much and too big files in IMPORT_MEMORY mode.>For example if you tried to import in memory all audio files of AUDIO folder (from 000.wav to 111.wav) it will be used about 110 Mb of RAM memory only for imported files, then, adding the memory used from TRNG engine and other memory for other level files the risk is to have leak performaneces because Windows will be forced to use virtual memory to do run the game.>It's obvious that this problem changes in according with quantity of RAM memory installed on the current PC, anyway using as medium/low value a PC with 256 MB of RAM, I suggest to limit the total amount of memory imported files to be less than 20 Mb.>>My suggestion is to reduce the usage of memory imported files only when it's strictly necessary, i.e. when you want start very fastly little sound files or images.>>In other circustances it's better avoid the IMPORT_MEMORY, preferring the IMPORT_TEMPORARY import mode.>See description of IMPORT_TEMPORARY value to compare the differences.>Remark: You can import upto 200 files in IMPORT_MEMORY mode. IMPORT_TEMPORARY:2 ;Used in ImportFile command.>When you import a file in script.dat using this import type (IMPORT_TEMPORARY) the file will be stored in script.dat only in temporary mode and it will be immediatly exported at start of game.>For "exported" we mean that the file will created newly with original name and (further) folder.>For example if you import a file using following ImportFile command:>>ImportFile=1, Help\Start.htm , FTYPE_USERFILE, IMPORT_TEMPORARY>>The content of "Start.htm" file in subfolder "help" of TRLE folder, will be imported in script.dat>When the game will be started (for example in other PC where the sub-folder "Help" and the file "Start.htm" are missing) the TRNG (tomb4) engine will create newly a sub-folder named "help" and it will save the file with name "start.htm">>Pratically the temporary import mode works using the script.dat like a simple "container" where store and then retry files to install in trle folder before the game starts.>About advantage and disadvantages of temporary import, the advantage consist to have a raw installer for your trle folder, removing further problem with special files (like .ogg or images) using level manager, while the disadvantage is that there is not most speed in starting of these imported files, since they will be used in game loading them in common way from hard disk.>Remark: there is no limit about the number or the size of imported files in IMPORT_TEMPORARY mode. FTYPE_USERFILE:1 ;Used in ImportFile command.>You should use FTYPE_USERFILE type for each file non recognized by TRNG, or simply for each file that will be not used directly by game engine.>For example if you want give to final player of your level some .html files like introduction to your adventure, or .txt files, or image to be used only from player and not from tomb4.exe, then you should use the type FTYPE_USERFILE.>When TRNG engine find an imported file of FTYPE_USERFILE, it will ignore it, and the only operation it will perform on it, it will be to export it saving in correct folder of trle.>Remark: for this reason it's not logical to use the import mode IMPORT_MEMORY for FTYPE_USERFILE files because the player will be not able to see them. FTYPE_SOUND:2 ;Used in ImportFile command.>You should use FTYPE_SOUND value for all sound files with extensions .wav, .mp3, .ogg, .aiff, .mp2, .mp1 (i.e. all sound files supported from new sound engine implemented in TRNG) that you mean to use in game with the specific flipeffect trigger "Play imported sound with <&>Id ....". TRB_SELECTIVE_VIEW:$0001 ;Used in Turbo command. TRB_SELECTIVE_VIEW excludes all computes about static objects non visible in game (because back of current camera view).>Theorically just the directx functions perform this cutoff, but looking the source code, it appears that many computes have been performed in spite these statics object are outside of visible world. Hence, this setting allows to save some time otherwise wasted in no useful computes. TRB_HIGH_PRIORITY:$0002 ;Used in Turbo command. TRB_HIGH_PRIORITY set an higher class priority for whole tomb4 process, to increase the time supplied to tomb4 respect to other processes. Theorically this setting could advantage the game engine when in the PC there are other programs are working, or some background services like antivirus. If in your PC there are no other big process this setting will have no visible effect. TRB_ASYNC_FRAMES:$0004 ;Used in Turbo comand. TRB_ASYNC_FRAMES remove the double syncronization of frames, keeping only single syncronization.>This setting could advantage the game engine with some modern video card and it permits to gain some time with fast frame to invest in following frame requiring long time.>When you use this setting the FPS value you see on screen in Diagnostic mode is not very meaningful, since also when FPS are very high (for example 80 FPS) the game will be always in correct limit to avoid too fast movemement. >You should discover the advantage of this setting simply looking the game to recognize a more fluid movement.>Remark: this setting doesn't work in Title level because the input syncronize for moving in title menu doens't allow to use asyncronuos frame rate. TRB_OPTIMIZE_SORTING:$0008 ;Used in Turbo command. TRB_OPTIMIZE_SORTING optimizes the sorting of polygons list used by tomb4 engine before performing many draw operations. >Usually, this optimizing gives a gain of about 5 or 6 fps (frame per second) TRB_ADAPTIVE_FARVIEW:$0010 ;Used in Turbo command. TRB_ADAPTIVE_FARVIEW enable a complex compute to adapt the max far view (really the level far view) in current level in according with current performances.>Pratically, when TRNG discovers that it is not able to keep the medium value of 30 FPS (Frame per second), it will reduce progressivly the level far view until it get newly the 30 fps (really you can change the value of frame rate to keep typying a value in FPStoKeep field). When it reaches optimal frame rate and keep this good result for three second, it will try to increase level far view very slowly until to reach the value for levelfarview you set in script.dat file.>This method allows to have a variable distance to show far objects to preserve always good frame rate performances.>Remark: the TRB_ADAPTIVE_FARVIEW setting could not work fine togheter with TRB_ASYNC_FRAMES setting, because this last setting creates an irregular response in internal frame rate value and, since TRB_ADAPTIVE_FARVIEW uses own the frame rate value to perform the changes in far view, it could be confused by TRB_ASYNC_FRAMES >Remark2: If you mean use TRB_ADAPTIVE_FARVIEW it's advisable don't exagerate about setting of LevelFarView in this level.>Many level builders set LeverFarView=127 only because 127 is the max value but this number is uselessly huge, since it's very seldom you have more than 60 sector visible in direct line to watch. By other hand, setting 127 the adaptive job will be slacked because when it'll happen a bad frame rate the engine will spend much time to decrease far view from 127 sector to really meaningful value like 20 or 30 sectors. Same speech for inverse operation, when the far view has been reduced drammatically, not just the frame rate will go on newly the engine will spend many time to increase newly the far view until 127 sector.>For this reason I suggest as ideal values for adaptive farview to set LevelFarView = (about) 60 while the required fps to keep set (about) to 24 fps. DIR_NORTH:0 ;Movimiento absoluto al Norte. DIR_EAST:1 ;Movimiento absoluto al Este. DIR_SOUTH:2 ;Movimiento absoluto al Sur. DIR_WEST:3 ;Movimiento absoluto al Oeste. DIR_UP:$10 ;Movimiento absoluto arriba DIR_DOWN:$11 ;Movimiento absoluto abajo FMOV_INFINITE_LOOP:$0001 ;El movimiento será repetido una y otra vez de forma continuada. FMOV_HEAVY_AT_END:$0002 ;Enable further heavy trigger in final sector of the path. FMOV_TRIGGERS_ALL:$0004 ;Enable all common triggers that item meets in its path. The "common" triggers are the triggers enabled by Lara. You can use this flag to do work this item like the Mechanical Scarab to enable some trap. FMOV_HEAVY_ALL:$0008 ;Enable all heavy triggers that item meets in its path. You can use this feature to create a chain of events in game. PARAM_MOVE_ITEM:2 ;Used as first value in Parameters script command. You can set the values used to move a moveable or a static using the specific "Move." flipeffect.>>Syntax: Paramaters=PARAM_MOVE_ITEM, IdParamList, Flags (FMOV_...), IndexItem, Direction (DIR_...), Distance, Speed, MovingSound, FinalSound>>Field descriptions:>>IdParamList field>----------------->This is a progressive number to identify this "Parameters=PARAM_MOVE_ITEM" command script in trigger window of ngle. >You'll type 1, for your first PARAM_MOVE_ITEM command, 2 for second ect.>>Flags (FMOV_...) field>---------------------->You can set one or more FMOV_ values linked with + (plus) sign>See description in Reference panel to get description of different FMOV_ flags.>Remark: you can type IGNORE in this field if you don't wish use any flag.>>IndexItem field>--------------->This is the index you can read in yellow frame when you click over some item in NGLE program.>Remark: you can use static or moveable anyway you have to use the correct flipeffect in according with static or moveable nature of item.>About static remember the static are owned from its room and for this reason you should avoid to move a static other to bounds of its room. >>Direction (DIR_...) field>------------------------->You have to choose one DIR_ constant to set the direction of moving.>See the DIR_ list in reference panel of NGCenter program, you find it in _MNEMONIC CONSTANTS section.>>Distance field>-------------->In this field you set the distance of moving. The used units have as reference 1 sector = 1024, hence, 512 is half-sector, 256 is a click ect.>I suggest to use always multiple of 256 (one click) to avoid troubles.>The max value you can type for distance is 64512, corresponding to 63 sectors.>>Speed field>----------->The speed value is the number of units that will be added to current position to move the item.>The used units are the same of Distance field: 1 click = 256 units.>Remember that this speed will be added 30 times for second, so it's better don't exagerate to set big values as speed. A reasonable speed is enclosed in the range from 8 to 64.>Remark: It's advisable set as speed a value that is a perfect multiple of distance, otherwise there will be a bit error in compute of final distance.>>Moving sound field>------------------>Optional. If you wish it went played a sound effect in looped mode while the item is moving type here a number of sound effect.>You find the list of sound effect in reference panel of NG Center, in the section named "SOUND SFX indices list">Remark: if you don't wish any sound type IGNORE in this field.>>Final sound field>----------------->Optional. If you wish it went played a sound effect when the item reaches the final position, type here a number of sound effect.>You find the list of sound effect in reference panel of NG Center, in the section named "SOUND SFX indices list">Remark: if you don't wish any sound type IGNORE in this field. PARAM_ROTATE_ITEM:3 ;Used as first value in Parameters script command. It baptizes a parameters list as data for rotating of items, moveables or statics.>>Syntax: Parameters=PARAM_ROTATE_ITEM, IdParamList, FlagsRotation (FROT_), ItemIndex, DirHRotation (ROTH_...), HRotationAngle, SpeedHRotation, DirVRotation (ROTV_..), VRotationAngle, SpeedVRotation, MovingSound, FinalSound>>Description of fields:>----------------------->>IdParamList field>----------------->This is a progressive number to identify this "Parameters=PARAM_ROTATE_ITEM" command script in trigger window of ngle.>You'll type 1, for your first PARAM_ROTATE_ITEM command, 2 for second ect>You have number between 1 and 99.>>FlagsRotation (FROT_) field>--------------------------->You can type one or more FROT_ constants linked with + (plus) sign.>See description of FROT_ constants in Reference panel of NG Center.>>ItemIndex field>--------------->This is the index of item to rotate, you can read it in yellow frame that appears when you click over some item in NGLE program.>You can choose moveable or static but remember to perform the correct flipeffect in according with nature (static or moveable) of item.>>DirHRotation (ROTH_...) field>------------------------------>If you wish have an horizontal rotation you'll type in this field a ROTH_ value to set the direction of rotation (clockwise or opposite)>>HRotationAngle field>-------------------->In this field you set the wished horizontal angle rotation.>The unit of measurement for this field is a bit weird but it that used in tomb4 engine.>These are some references:>$2000 = 45 degrees>$4000 = 90 degrees>$8000 = 180 degrees>>For example if you want that some object rotates by 90 degrees you'll have to type in this field the value $4000 (or in decimal: 16384)>>Remarks: If you set the FROT_ flag for endless rotation the VRorationAngle field will be ignored, since the item will round continuosly.>>SpeedHRotation field>-------------------->The speed is a value that will be added to current orientation factor.>The unit of measurement is the same of horizontal or vertical RotationAngle, but in this field you'll have to type value very littler than final angle to reach, of course.>>Remember that the value you type like speed will be added to current orienting 30 times for second.>>Remark: It's advisable to use as speed values multiple of power by 2. Typying in hexadecimal is easy to remember the good speeds: >$80 , $100 , $180, $200, $280, $300 ect>If you don't use these values there is the risk that the speed value was NOT a multiple of final Rotation Angle and hence the object could be not exaclty positioned in final position.>To discover if value for RotationAngle and Speed are good, just dividing Rotation by Speed, if you get a result with decimal point the couple of values is wrong.>>>DirVRotation (ROTV_..) field>---------------------------->If you wish have a vertical rotation you'll type in this field a ROTV_ value to set the direction of rotation (forward or backward)>Remark: unfortunately for statics it's not foreseen a vertical rotation, so you can apply a vertical rotation only to moveable items.>>VRotationAngle field>-------------------->In this field you set the wished vertical angle rotation.>The unit of measurement for this field is a bit weird but it that used in tomb4 engine.>These are some references:>$2000 = 45 degrees>$4000 = 90 degrees>$8000 = 180 degrees>>For example if you want that some object rotates by 90 degrees you'll have to type in this field the value $4000 (or in decimal: 16384)>>Remarks: If you set the FROT_ flag for endless rotation the VRorationAngle field will be ignored, since the item will round continuosly.>>SpeedVRotation field>-------------------->This field hosts the speed of vertical rotation.>About the values to set see the description of SpeedHRotation field. The speech is the same, but in this case the rotation is vertical.>>MovingSound field>----------------->Optional field. If you wish assign a sound to item while it is rotating, type a number of sound sfx.>Set IGNORE if you don't wish any sound for moving.>>FinalSound field>---------------->Optional field. If you wish perform a sound when the rotation is complete you can type a sound sfx sound in this field >Set IGNORE if you don't wish any sound for final position. PARAM_COLOR_ITEM:4 ;Used as first value in Parameters script command. It baptizes a parameters list as data used from trigger to change color of some item.>>Syntax: Parameters=PARAM_COLOR_ITEM, IdParamList, ColorType (COLTYPE_...), ItemIndex, Index1ColorRGB, Index2ColorRGB, SpeedChange>>IdParamList field>----------------->This is a progressive number to identify this "Parameters=PARAM_COLOR_ITEM" command script in trigger window of ngle.>>ColorType (COLTYPE_...) field>----------------------------->You can choose a COLTYPE_ constant to set the work mode of this PARAM_COLOR_ITEM.>Read the description of COLTYPE_... constants in Reference list of NG Center.>Remark: you can choose only a single COLTYPE_ value, you cann't add two or more values.>>ItemIndex field>--------------->The index of static or moveable for what you want change the color.>You find this value in yellow box in NGLE when you click over some item.>>Index1ColorRGB field>-------------------->Type the IdColor of some ColorRGB= with the rgb value used as first color.>The ColorRGB= have to be in same [Level] section where you place the Parameters=PARAM_COLOR_ITEM command.>>Index2ColorRGB field>-------------------->If your COLTYPE_ requires two colors, you have to type the IdColor of some ColorRGB= command.>>SpeedChange field>----------------->If you use a COLTYPE_ requiring some dynamic effect (like PULSE or SHADE) you can type in SpeedChange field the number of frame for each cycle.>Rememeber that 30 frame = 1 second. So if you want the pulse, from dark color to light color required two seconds you could type 60.>Remark: the valid range for speed is min: 1 max=255 (about 8 seconds) PARAM_PRINT_TEXT:5 ;Used to store all informations used to print text.>>Syntax: Parameters=PARAM_PRINT_TEXT, IdPrintText, Color (CL_...), FontType (FT_...), BlinkTime, DurateTime, X_Position, Y_Position>>This parameter list will be required by new flipeffect trigger "Text. Print formatted ... string">>IdPrintText field>----------------->This is the number you have to choose in Set Trigger Window with "print formatted text" trigger.>>Color (CL_...) field>-------------------->The color of this text.>See the values CL_... in Reference panel.>>FontType (FT_...) field>----------------------->In this field you can set two or more FT_... constants to describe the size or the preassigned position for text.>Remark: if you wish you can omit the FT_ value to set position and instead you can set the position in pixel coordinates typing two valid values in fields: X_Position and Y_Position. See description of these fields.>>BlinkTime field>--------------->Numeric value to signal interval for blinking when you set also flag FT_BLINK_CHARS in FontType field>Note: for blink time you can use only power by 2 values, like: 1, 2, 4, 8, 16, 32, 64, 128 >>DurateTime field>---------------->Number of seconds to show the text on screen.>If you want set as time "forever" type -1 or IGNORE in this field.>Remarks: >(1) If you set forever (IGNORE) for durate, then you can remove the string from screen using flipeffect "Text. Print. Remove (&)Extra NG String from screen">(2) If you use this parameter data for vertical or horizontal scrolling text, the value you type in DurateTime field will be interpreted by trng as the speed value used for scrolling text.>The values for scrolling speed are the following:>>0: Abs. Normal Speed (30 fps)>1: Abs. Slow Speed (15 fps)>2: Abs. Very Slow Speed (10 fps)>3: Abs. Fast Speed (60 fps)>4: Abs. Very Fast Speed (90 fps)>5: Prop. Normal Speed (30 fps)>6: Prop. Slow Speed (15 fps)>7: Prop. Very Slow Speed (10 fps)>8: Prop. Fast Speed (60 fps)>9: Prop. Very Fast Speed (90 fps)>>If you set IGNORE in this field (used by scrolling text) the default value used will be 0 i.e. >"Abs. Normal Speed (30 fps)">>>X_Position and Y_Position fields>-------------------------------->If you set two valid values in these two fields the further FT_ value to set the position will be ignored.>Differently, if you want use some FT_ prefixed position you should type in X_Position and Y_Position fields the values IGNORE for both.>The values you type in these fields are in pixels, anyway, since you cann't to known in advance what it will be the resolution in game (each player could set a different resolution) you should set your coordinates like if screen was always in 1024x768 pixels resolution, then, if the game will have a different resolution the TRNG engine will change the position proportionally in according with the real resolution.>For example if you set Y_Position the value 384 (i.e. 768 / 2) the text will be showd in vertical half position of screen in each screen resolution thanks to trng adapting.>Remark: The Y_Position is not the top pixel of character but the baseline character. This means that if for example you use as Y_Position the value 0 the chracter will be not visible except a little bottom side. PARAM_SET_CAMERA:6 ;Use to store information in Parameters command to use with FlipEffect to change temporary the camera mode.>>Syntax: Paramaters=PARAM_SET_CAMERA, IdSetCamera, Flags (FSCAM_... ), DistanceCam, VOrientCam, HOrientCam, SpeedCamera>>IdSetCamera field>------------------>This is an univocal identifier to locate these parameters in your [Level] section using this value in flipeffect trigger to set temporary a new camera mode.>>Flags (FSCAM_... ) field>------------------------>In this field you can type one or more FSCAM_.. flags to affect the behavior of this command.>>You can type IGNORE if you don't wish any flag.>>DistanceCam field>----------------->This is the distance of camera from lara.>A reasonable value could be +1600>>For more infos about the concept of "cam distance" see the description of CUST_CAMERA>>If you don't want change this value you can type ignore, and it will be used the standard distance value set for "chase" (follow-me) camera.>>VOrientCam field>---------------->Degrees difference of camera computed on horizonal line (parallel to floor) between camera and Lara.>See the CUST_CAMERA description to read more infos about Vertical Orientation field.>>If you wish you can type IGNORE in this field and the engine will use the standard VOrientCam value set for "chase" camera.>>HOrientCam field>---------------->Set the horizontal oriantation (facing) of camera respect to lara.>>See the CUST_CAMERA description to read more infos about Horizontal Orientation field.>>If you type IGNORE in this field the engine will use the HOrient value set for "chase" camera.>>SpeedCamera field>----------------->This value set the speed of camera to pass from previous camera mode (and position) to current new postion.>The speed works in opposite way: big values = slow movements, little values = fast movementes.>>If you type little values the camera will reach fastly the new position but the movement could be move jerkily and it's not good to see.>If you type a big value the camera will have a more soft movement but to reach the wished position will require more time.>>A reasonable value for fast moving is 1, while for slow movement is 10.>>If you type IGNORE in this field the engine will use the default speed value (10). PARAM_BIG_NUMBERS:7 ;Used in Parameters= command to store big numbers to use in some flipeffects.>>Syntax: Paramaters=PARAM_BIG_NUMBERS, Many Numbers separeted by commas>>Since for technical reasons it's not possibile type in trigger type window number greather than 255, you can use this script command with PARAM_BIG_NUMBERS value to store big numbers to use in some flipeffects or actions.>The trigger allows to use these big number have a description like this:>>Value in 0 index in Paramaters=PARAM_BIG_NUMBERS script command>Value in 1 index in Paramaters=PARAM_BIG_NUMBERS script command>Value in 2 index in Paramaters=PARAM_BIG_NUMBERS script command>>Ect.>>So if you need to use in this trigger the value 23430 you can type this script command:>>Paramaters=PARAM_BIG_NUMBERS, 23430>>And in trigger windows you select the index =0 of PARAM_BIG_NUMBERS command.>You can store upto 254 number in same PARAM_BIG_NUMBERS command, then you can choose a number with its index, where the first number has index=0, the second = 1`, the third = 2 ect.>>Remark: you cann't type number bigger than 65536 or $FFFF. All numbers will be always used as positive values. QSF_TRUE_COLOR:$0100 ;Used with Customize=CUST_INNER_SCREENSHOT>Adding this flag to QSF_SIZE you set a true color 24 bits for inner image.>By default, when this flag is missing, the image will be saved at 256 colors in compressed format. >The RGB images are very better than 256 compressed, of course, but the size of RGB images is very big and if you mix true color with a big size each savegame could reach 1 Mb of size and this is not a good choice because the players very often wish exchange savegames and, a too heavy savegame could be not goods in these exchanges on-line. QSF_SIZE_260x200:0 ;Used with Customize=CUST_INNER_SCREENSHOT>The size of image with this resolution is 153 Kb for true color, while (about) 53 Kb for compressed 256 colors (non true color) QSF_SIZE_320x240:1 ;Used with Customize=CUST_INNER_SCREENSHOT>The size of image with this resolution is 225 Kb for true color, while (about) 77 Kb for compressed 256 colors (non true color) QSF_SIZE_390x300:2 ;Used with Customize=CUST_INNER_SCREENSHOT>The size of image with this resolution is 343 Kb for true color, while (about) 115 Kb for compressed 256 colors (non true color) QSF_SIZE_468x360:3 ;Used with Customize=CUST_INNER_SCREENSHOT>The size of image with this resolution is 493 Kb for true color, while (about) 163 Kb for compressed 256 colors (non true color) QSF_SIZE_520x400:4 ;Used with Customize=CUST_INNER_SCREENSHOT>The size of image with this resolution is 609 Kb for true color, while (about) 199 Kb for compressed 256 colors (non true color) QSF_SIZE_640x480:0 ;Used with Customize=CUST_INNER_SCREENSHOT>The size of image with this resolution is 900 Kb for true color, while (about) 288 Kb for compressed 256 colors (non true color) FSCAM_DISABLE_COMBAT_CAM:$0001 ;Used in Paramaters=PARAM_SET_CAMERA>This flag disable the combat camera until the PARAM_SET_CAMERA is working. FSCAM_DISABLE_LOOK_CAM:$0002 ;Used in Paramaters=PARAM_SET_CAMERA>This flag disable the Look camera until the PARAM_SET_CAMERA is working. COLTYPE_SET_COLOR:1 ;Used in Parameters=PARAM_COLOR_ITEM. Using this coltype you change simply the color of item using the first color pointed by Index1ColorRGB field. COLTYPE_SET_PULSE:2 ;Used in Parameters=PARAM_COLOR_ITEM. The pulse use only first color, typed in Index1ColorRGB field. The engine will light up and down the color Index1ColorRGB. If you use this coltype it's adivsable to set as base color a not too light color since the engine will increase the lightning (and then reducing). For example using the (bad choice) white as color you'll have no result because it has already max lightning.>You can set the speed of pulse choosing a value in SpeedChange field. COLTYPE_SHADE_COLORS:3 ;Used in Parameters=PARAM_COLOR_ITEM. The shade colors shade from first color (Index1ColorRGB) to second color (Index2ColorRGB) and vice versa.>You can set the speed of shading typing a value in SpeedChange field. ROTH_NONE:$FFFF ;Disable the horizontal rotation ROTH_CLOCKWISE:1 ;Rotate in horizontal clockwise direction ROTH_INV_CLOCKWISE:2 ;Rotate in horizontal inverse clockwise direction ROTV_NONE:$FFFF ;Disable the vertical rotation ROTV_FORWARD:1 ;Vertical forward rotation ROTV_BACKWARD:2 ;Vertical backward rotation FROT_LOOP:$0001 ;Perform an infinite rotation. When you use this flag the Angle rotation value will be ignored since the item will round continuosly. HAIR_PAGE_BOY:1 ;This hair mode disable any type of plaits or ponytails. Pratically this hair mode disable floating hair for Lara.>If you set this value you should cover the hole that lara has on her nape-neck, changing the mesh of lara's head and screaming head. HAIR_TWO_PLAITS:2 ;Set the hair look of young lara in angkor wat.>The only reason to use this value is when you wish to have young lara with all weapons.>To realize this target you should follow this list:>1) Type in corresponding [Level] section these two commands:>Customize= CUST_HAIR_TYPE, HAIR_TWO_PLAITS >Customize= CUST_DISABLE_SCREAMING_HEAD >2) DON'T type any YoungLara= command, otherwise lara will have no weapons, while we want that the engine believed that lara is adult lara.>3) Start wad merger and load in left side your main wad, that you are using for your level. It's important that this level had all slots for adult lara.>4) Now load in right side the wad angkor.wad.>5) Copy ONLY these two slots: LARA_SKIN and LARA_SKIN_JOINTS>>Now your level will have the young lara with all weapons, flare and crowbar animations working correctly. HAIR_ONE_PONYTAIL:3 ;Set the hair look of adult Lara, with a single ponytail from nape. HAIR_ONE_TR5_PONYTAIL:4 ;Set the hair of adult Lara of tomb raider chronicle type. In tomb raider chronicle the pony tail has its hook in a position a bit different than that of tomb raider last revelation.>Remark: In the reality, in tomb raider chronicles there are three models of Lara: young lara, adult lara1 and adult Lara2. The adult lara1 has same joint as lara of the last revelation, while lara2 has a different joint for ponytail. FLI_SHOW_DIFFERENCES:$0001 ;Used in LogItem= command.>Setting this flag you get on screen also the difference between lara and the item of LogItem.>These values are similar to those required in TestPosition command so you can use these values as reference to type reasonable ranges in TestPosition command.>Remark: the differences for Orienting are exaactly the same used in TestPosition command, while for coordinate distances (x,y,z) the values showed on screen don't consider the relative axis used in TestPosition but they will be simply showed as absolute differences. >The difference between absolute and relative distance is the orientation of lara. If lara and item are both on same axis (for example Z axis) the absolute difference for Z will be the same of relative difference.>See description of TestPosition command for more infos. FLI_SHOW_BOUND:$0002 ;Used in LogItem= command.>With this flag in data of item will be added also the current size and coordinates of 3d bounding box of Item.>These infos could be useful when you are not sure about the size of item you are testing. LDF_SILENT:$0100 ;Used in Diary= command>Setting this flag, when the Lara's Diary will be showed, the background audio track of game will be suspended. This setting could be useful when you use custom audio tracks for single pages of Lara's diary.>Remark: when the diary will quit, the previous audio track of game will be restored LDF_PLAY_TRACK:$0200 ;Used in Diary= command>If you wish a new background music for Diary, you can use this flag adding to it a value in the range 0 - 255 to choose the audio track of AUDIO folder to play.>For example, if you want have as background music the audio track 104.wav (or 104.mp3/.ogg) you should type in DiarySoundFlags of Diary command this text:>>LDF_PLAY_TRACK + 104>>Remark: the LDF_PLAY_TRACK flag doesn't stop the game audio track but it overlaps the wished new audio track for diary. For this reason it could be useful, when you use the LDF_PLAY_TRACK flag, add to LDF_PLAY_TRACK flag also the LDF_SILENT flag to stop temporary the game audio track:>>LDF_PLAY_TRACK + 104 + LDF_SILENT>>Remark: when the diary will quit, the previous audio track of game will be restored LDF_SOUND_EFFECTS:$0400 ;Used in Diary= command>This flag is used to enable some sound effect in diary viewing.>>The sound effects are:>>Click on page changing (71: GENERIC_SWOOSH)>Sound for starting zoom phase (356: LIGHT_BEAM_JOBY)>Sound for non valid change of page (2: LARA_NO)>>Remark: if you want use these sounds remember to add the sound 356 ( LIGHT_BEAM_JOBY) in your wad, while for other two sounds they should be always present. LDF_ZOOM_START:$0800 ;Used in Diary= command>Start Diary image with a zoom effect. LDF_CONTINUE_DIARY:$1000 ;Used in Diary= command>This flag permits to continue a Diary from previous level.>If you set a Diary, for example in first level of your adventure, and you wish that all previous texts of first level were present also in second level, you can add in the Diary of second level the flag LDF_CONTINUE_DIARY.>>In this way you say to trng: "Continue to use the texts of previous diary">Remark: it's necessary you set the same Diary ID to inherit the correct string list.>>Differently, if you omit to type a Diary= command in second level all texts of previous Diary will be erased and no Diary will be supported in current level.>>While if you type a new Diary command omitting the LDF_CONTINUE_DIARY flag, the texts will be cleared and the only text presents will be that furtherly set in the FirstString field LDF_TRANSPARENT_BKG:$2000 ;Used in Diary command.>This flag informs trng that, in your background images, there could be transparent zones.>The transarent color is the standard transparent color used in tomb4: $FF00FF(red = 255; green=0; blue=255)>You could use this setting if you wish that the diary had a not perfect rectangular shape. For example if you wish have a rounded shape you can place transparent color in the four corners.>>Remarks: >- This setting has no effect about popup images showed in little frames of some page. The pop up images are always showed supporting the transparent color.>>- The LDF_TRANSPARENT_BKG flag doens't work fine with the PL_FIX_WIDE_SCREEN flag about page layout, because, when there is a wide-screen and this flag, the image will be stretched before showing it and in this phase the transparence effect will show a distorsion between real background and new stretched background in transparent zones.>>- If you use LDF_TRANSPARENT_BKG flag togheter with LDF_ZOOM_START flag, for technical reasons, the image showed in the zoom effect will have no texts and neither further pop-up image. Pratically it will be zoomed only first background images for diary, and only when zoom effect has been completed, it will be added texts and pop up images.>>- If you mean set a transparent zone in the background of your diary it's necessary that all (further) background images (you can change the background for each page) had the transparency in same zones, otherwise you'll get a transparency only showing a zone of previous page instead of tomb raider screen. PL_DOUBLE_PAGE:1 ;Used in Diary= command.>This layout divides the screen in two ideal pages.>The text will be formatted in two columns: first the left column (left half of screen) and then in the right column (the right half of screen)>>IMAGE: if there is a (little) image to show in this layout, it will be always placed at top of left page and it will fit almost whole width of left page>>TITLE: if there is a title for this page, it will be placed at top of left page. If there is also an image, the sorting (in left page) will be:>>[Image]>[Title]>..text ..>>Remark: if you use as image a very hight image that convers all left side, you can have text only in right page while in left side you can place this image, where it could be two little images casted one over other. PL_LEFT_IMAGE:2 ;Used in Diary= command.>This layout work like a single wide page. The further image will be showed in top left corner of screen, and its size will be about 40% of Tomb Raider screen.>In this layout the text will be showed in two frames: >>A first frame in top-right corner of screen, with same height of image at left.>A second and final frame in the bottom half of screen. This last frame will have the width of whole tomb screen.>Remark: further title will be elaborated as other text and it will be showed at top of top-right corner, and then, belove it, it will start the common text PL_LEFT_IMAGE_LOGO:3 ;Used in Diary= command>This layout is alike than PL_LEFT_IMAGE layout about the size and position of little image, but it this layout there is a single text frame, in bottom half of screen, while the top-right zone will be let empty.>This "hole" in top-right corner could seem "ugly" but it depends by the image you set as background for diary.>You could create a fixed image in the top-right corner of background image, to show a logo of your adventure, like it happend in Tomb Raider 2 and 3. PL_RIGHT_IMAGE:4 ;Used in Diary= command.>In this layout the further image will be showed in top-right corner, while the text will be formatted in two frames:>>first frame is at top-left corner>while the second frame will fit the bottom half of tomb raider screen.>Remark: The further title will be showed at top of top-right frame before showing common text. PL_RIGHT_IMAGE_LOGO:5 ;Used in Diary= command.>This layout is similar than PL_RIGHT_IMAGE layout, but in this case there is a single text frame in bottom half size of tomb screen, while the frame at top-left of screen will be let empty.>Like for PL_LEFT_IMAGE_LOGO, you could use this layout to host in this "empty" top-left frame your logo for your adventure, drawing this image directly in background image for diary.>>Remark: when you select a PL_LEFT_IMAGE_LOGO or PL_RIGHT_IMAGE_LOGO layout, wheter a page has no little image to show, the whole top-half of tomb screen will be let empty to avoid to type over the logo zone. PL_CENTRAL_IMAGE:6 ;Used in Diary= command.>In this layout the further image will be showed at center of screen in top-half side.>Thre width of image in this layout is a bit larger than left/right layouts: the 60% of screen versus the 40% of previous layouts PL_WIDE_IMAGE:7 ;Used in Diary= command.>This layout is very similar than above PL_CENTRAL_IMAGE layout, but in this case the image will be fit to cover the 90% of screen.>If you use this layout you should create the image to be wide but not very heigh, otherwise it could cover the whole tomb raider screen.>The usage of this layout could be useful to show two little image in each page, the trick is simply to create a unique image where there are two pictures one at left and the other at right. PL_ADD_INFO_BAR:$100 ;Used in Diary= command.>Differently by other PL_ flags, you can add the PL_ADD_INFO_BAR to another (but only one) PL_ flag.>Adding the PL_ADD_INFO_BAR to some other layout you inform trng that in current layout the bottom row of screen should be reserved and no text of diary should be typed over it.>You can use this flag when you want use the bottom strip of background image to show arrows or some short infos about keyboard commands to manage Lara's diary.>Pratically when trng detects this flag, it will format the text avoiding to cover also bottom row of screen, in this way you can dedicate that bottom zone with little icons or info texts.>>Remark: the infos you could insert in Info bar are the description of keyboard commands accepted by Lara's Diary:>>RIGHT ARROW = Show next page>LEFT ARROW = Show previous page>HOME = show first page of diary>END = show last page of diary>ESCAPE = exit from Diary>SPACE = Zoom Image (show further little image of page at full screen). Newly SPACE to come back to original size. PL_CUSTOM_LAYOUT:$200 ;Used in Diary= command.>If you are not satisfacted by other preset layouts you can create your own layout using this flag.>When you set PL_CUSTOM_LAYOUT (omitting all other PL_ layouts) trng engines will expect to find directly in the text to show the infos about layout to use.>In the section of text you can place these three tag formatters:>>#FRAME_IMG#=XPos,YPos,SizeX,SizeY>#FRAME_T1#=XPos,YPos,SizeX,SizeY>#FRAME_T2#=XPos,YPos,SizeX,SizeY>>and trng engine will use these frames to show the text and the further image.>>All values are in micro units. You can use the utility [Get Screen Frames] in Tools panel of NG_Center program to get the correct values to type (XPos,YPos,SizeX,SizeY)>>You can set a different layout for each page. When trng shows a page where there is no custom layout.>If you wish set a PL_ layout in Diary command, and also a format tag in some page, that page will be showed using the format tag, while other following pages with no format tag will be showed newly in PL_ layout you set in Diary command.>>To know all tags you can use section of text, see the description of Diary= command in New Script commands section of Reference panel of NG_Center. PL_FIX_WIDE_SCREEN:$400 ;Used in Diary= command.>When the game was played at full screen on a wide-screen monitor the images of Diary will be distorted and lara will become an obese dwarf.>If you want avoid this deformation you can set this flag. When trng finds the PL_FIX_WIDE_SCREEN flag, it will show the background image of diary non at full-screen but with a width a bit littler than screen to preserve the normal ratio between width-height with a ratio of 1.3 ([width] divided by [height] = 1.3)>In this wieving at left and right of diary there will be two empty columns.>This look could be good if you in background image draw a book style image. WFF_BOLD:$0001 ;Used in WindowsFont= command.>A bold character has a big "heavy" layout, pratically the depth of drawn is bigger than normal or light character.>If the background, where the text will be showed, is not solid tint, it's better use a bold or ultra_bold character otherwire in some combination of text color - background color the border could be not well visible. WFF_ULTRA_BOLD:$0002 ;Used in WindowsFont= command.>This is the max heavy for character: the depth of drawn will be the max available. If you want have "fat" characters this is the ideal setting but it works fine always when the size set for this font is big, differently, using a little font an ultra bold could cause a very leak text.> WFF_LIGHT:$0004 ;Used in WindowsFont= command.>This setting generates very slim characters. You should use this setting only when background is a solid tint, otherwise the border of characters will be few visible on multicolor background.>Remark: if you don't set : light, bold or ultra_bold, the character will have a normal depth, really a bit slim, too. WFF_SHADOW:$0008 ;Used in WindowsFont= command.>If you add this flag in WindowsFontFlags field, each character will have a sort of shadow.>Technically this effect requires to print two times the same text, moving by a bit of pixels the position, and using two different colors.>By default the shadow will be black, anyway you can change the color for shadow using the ShadowColorRgbId field.>The shadow has two targets: create a simil-border to get more visible the text also over multicolor backgrounds, and to realize a 3d effect, where the effective text could seem it was upstairs a wall where the shadow of this text has been casted.>Remark: this effect works fine with bold or ultra-bold characters, while less well with little/light caracters. WFF_ITALIC:$0010 ;Used in WindowsFont= command.>The italic attribute creates a character a bit inclined. WFF_UNDERLINE:$0020 ;Used in WindowsFont= command.>Adding the WFF_UNDERLINE flag, all text will be underlined.>This setting could be useful for text used as title. WFF_LEFT_ALIGN:$0080 ;Used in WindowsFont= command.>The text will be aligned on left margin of text frame.>Remark: this is also the default value and it will be used also if you type IGNORE in WindowFontFlags field WFF_RIGHT_ALIGN:$0100 ;Used in WindowsFont= command.>The text will be aligned on right margin of text frame. WFF_CENTER_ALIGN:$0200 ;Used in WindowsFont= command.>The will be centerd at half of text frame.>This align mode is suggested for titles. WFF_FORCE_FIXED_PITCH:$0400 ;Used in WindowsFont= command.>This flag force trng to choose a font with fixed pitch charaters.>Theorically it should be sufficent to choose a font name of fixed pitch like "courier" but in the reality, performing some test, I discovered that sometimes windows font procedure prefers choose a different face name font only to reach other parameters like size of font.>To avoid this doubt you can add the WFF_FORCE_FIXED_PITCH flag and the characters will be surely with fixed pitch.>The fixed pitch (all characers will have always same width) is very useful when you want create text tables like in savegame panel. IF_TRANSPARENCE:$0001 ;Used in Image= command.>If you want was applied a transparence effect on current image you can add this flag.>The transparent zone will be where there are pixels with rgb color = $FF00FF (red = 255; green=0; blue=255), this is the “traditional” transparent color for tomb raider textures.>With transparent images you can create, for example,a round image over the game screen, where the non visible squared corners have been filled with transparent color.>>Remarks: >* The transparency effect is a bit slow to realize, so it's advisable to use it with moderation.>>* If you want place the CONVERTER.exe utility in your level files to develope the images in jpg format, you should avoid to supply the transparent image in .jpg format, because the double conversion bmp->jpg (when you place the images in your zip file) and the final re-conversion jpg->bmp (before playing your level) could alterate the transparent color in some side, ruining the final effect of transparency. In this situation you can simply supply the other images in .jpg format, while the image with transparency will be let in original .bmp format, in this way CONVERTER.exe (or trlm2009) will convert only other images, letting untouched your transparent (bmp) image.>>* When you create your transparent image you should disable the anti-aliasing feature in photoshop because, otherwise, the line between solid color and transparent color could be alterated with colors only similar to transparent color but not exaclty precise. Only the absolutly precise color 255,0,255 will be transparent, so you should avoid any distorsion. IF_POP_IMAGE:$0002 ;Used in Image= command.>This flag will change fully the work mode about viewing of image.>A pop up image, in fact, will be drawn over the game screen letting the game goes on, differently, a non pop up image, will be drawn over game screen while the game is still.>For this reason, the pop up image will be usually littler than game screen, used as a sort of tv logo, while, differently, the non pop up images, could be drawn covering whole game screen, and stopping it upto the view time was completed.>>I wish to precise: above is not a fixed rule but only a reasonable suggestion.>The only precise rule is that with pop up image the game will go on, while with non pop up images the game will be frozen upto the viewing of image has been completed. IF_FULL_SCREEN:$0004 ;Used in Image= command.>This settings will show the image resizing it to cover whole game screen.>When this flag is present the fields used to set origin and size of image (XPosition, YPosition, SizeX, SizeX) will be ignored, so you can fill them with four IGNORE values. IF_OVER_FLYBY:$0008 ;Used in Image= command.>This flag works only with pop up images.>By default when a flyby sequence begins the further pop up image will be hidden, like other special objects (keypad, detector or picked up items), but if you want have a pop up image showed over a flyby sequence you can add this flag to ImageFlags field. IF_QUIT_ESCAPE:$0010 ;Used in Image= command.>This flag works only for NON pop up images.>When you show an image that freezes the game, you can set this flag to permit at player to skip the image with Escape/Inventory keystroke. IF_EFFECT_ZOOM:$0020 ;Used in Image= command.>With this effect the image will showed with a zoom effect.>At start the image will be drawn at 1/10 of its size, then in EffectTime frames it will be mangnified until to reach the size and position you chose with XPos, YPos, SizeX and SizeY fields.>In EffectTime field you should set the number of frames (1/32 of second) required for zoom effect. If you set a low EffectTime the zoom will be very fast, while if the EffectTime is high the effect will be slow.>>Remark: this effect could slow down the game when you apply it to pop up images. IF_EFFECT_FROM_TOP:$0040 ;Used in Image= command.>This effect move the image from top of screen upto reach the final position you set in field PosX,PosY,SizeX and SizeY.>The whole moving effect will be perfomed in the frames you set in EffectTime field.>Little values as EffectTime will produce most fast in the moving.>>Remarks: >>* At start of this effect the image will be whole outside of screen, for this reason you can apply this effect also for images to show in full screen size. IF_EFFECT_FROM_BOTTOM:$0080 ;Used in Image= command.>This effect is similar to IF_EFFECT_FROM_TOP effect but in this case the image will enter in the screen from bottom side of scren.>See description of IF_EFFECT_FROM_TOP flag for most informations. IF_EFFECT_FROM_LEFT:$0100 ;Used in Image= command.>This effect is similar to IF_EFFECT_FROM_TOP effect but in this case the image will enter in the screen from left side of scren.>See description of IF_EFFECT_FROM_TOP flag for most informations. IF_EFFECT_FROM_RIGHT:$0200 ;Used in Image= command.>This effect is similar to IF_EFFECT_FROM_TOP effect but in this case the image will enter in the screen from right side of scren.>See description of IF_EFFECT_FROM_TOP flag for most informations. IF_PLAY_AUDIO_TRACK:$0400 ;Used in Image= command.>If you wish have a sound start in same moment of image viewing you can add this flag and type in AudioTrack field a number between 0 and 255 to locate an audio track of AUDIO folder.>For example if you want play the track "034.wav" you have to type 34 in AudioTrack field. IF_PRELOAD:$0800 ;Used in Image= command.>By default the image will be loaded from disk in same moment it should be drawn on screen. >This operation requires sometimes some instant and the game remains froze for that short period.>To avoid this stop you can force trng to preload the image while it is loading other data of current level (when you see the loading bar on screen)>In this way the image will be already in RAM memory and it will be displayed immediatly.>Remark: since the bmp images could be very heavy (one MB or more) it's advisable don't exagerate with the number of preloaded images for same level. I suggest to remain in the complessive limit of 15 Mb of preloaded images in same level.>Differently the size of images preloaded in different levels is not cumulative since trng will discard them when a level has been discarded, of course. SPL_LEFT_IMAGE_RIGHT_INFO:1 ;Used in SavegamePanel= script command.>In this layout the image is in top-left side while the info frame is at right of image, i.e. in top-right side.>Hence, the list of savegame will be in bottom half of screen. SPL_LEFT_IMAGE_BOTTOM_INFO:2 ;Used in SavegamePanel= script command.>In this layout the image is top left corner, while the info frame is belove the image. The savegame list will be in right half of screen. SPL_LEFT_IMAGE_NO_INFO:3 ;Used in SavegamePanel= script command.>This layout ha no info frame. The image will be in top left corner while savegame list will be in bottom half of screen. >Remark: with this layout in top-right corner will remain an "empty” zone, where you could place (in background image) some logo of your adventure. SPL_RIGHT_IMAGE_LEFT_INFO:4 ;Used in SavegamePanel= script command.>In this layout the image will be in top-right corner, the info frame at left of image and the savegame list in bottom half of screen. SPL_RIGHT_IMAGE_BOTTOM_INFO:5 ;Used in SavegamePanel= script command.>In this layout the image is top right corner, the info frame will be under the image and savegame list will in left side of screen. SPL_RIGHT_IMAGE_NO_INFO:6 ;Used in SavegamePanel= script command.>In this layout the image is in top-right corner, there is no info frame and the savegame list will be in bottom half of screen.>Remark: since in this layout the top-left corner will reamain empty you could insert in this space a logo of your adventure drawing it directly in background image. SPL_CENTRAL_IMAGE:7 ;Used in SavegamePanel= script command.>In this layout the image is at center of top half of screen. The image will be a bit wider than other layout formats, so this layout gives more scene to image and works fine in wide screen mode. >The savegame list will be showed in bottom half of screen. SPF_NO_TIME_IN_LIST:$0001 ;Used in SavegamePanel= script command.>By default in the savegame list will be showed the savegame with (old) format:>>002 Name of Level 1 days 02:41:11>>The game time is “1 days 02:41:11” part. If you use the SPF_NO_TIME_IN_LIST flag the game will be omitted and for this reason the width required to host savegame list will be less.>You could use this flag when the layout requires savegame list in left (or right) half of screen. SPF_SCROLL_PAGE:$0002 ;Used in SavegamePanel= script command.>When the savegame list shows only a part of total managable savegames, the player will be able to scroll the saveame to see next hidden save.>By default trng will do scrolling a single savegame at once with DOWN input, but if you wish show a block of savegames in same time you can use this option. SPF_BLINK_SELECTED:$0004 ;Used in SavegamePanel= script command.>By default the selected savegame in the list will be highlighted with a constant inversion of colors. If you want have a blink of this highlighting you can use the SPF_BLINK_SELECTED flag. SPF_NO_PANEL_TITLE:$0008 ;Used in SavegamePanel= script command.>By default in central position of first row trng will draw the title of panel savegame: “Load Game” or “Save Game”.>If you want omit this text you can use this flag.>The only reason to omit the title of panel is when you want type some title directly in the background image.>Anyway remember that in this way you cann’t handle the difference between “Load” and “Save” game. SPF_PRELOAD_BKG_IMAGE:$0010 ;Used in SavegamePanel= script command.>By default, trng will load and show the background image of savegame panel when the player requires the save/load panel. >Since the operation to load from disk could require a short time in game could be a delay. To avoid this dealy you can add the SPF_PRELOAD_BKG_IMAGE flag and trng will load in memory the background image in advance, when the level was loading, and preserves it in memory to show fastly when it will be necessary.>>Remark: the only reason to omit this flag is when you have a lot of preloaded images in same level, or when you detect a bug about preloaded background image. In very seldom cirucstances the preloaded image of saveame panel could appear damaged. This problem disappears exiting and entering newly in game but it's probably this problem happens own when there is a preloaded image and it occurs some circustance that damages the memory where the image has been stored. DGX_LARA:$0001 ;Used in DiagnosticType script command.>Show in diagnostic the info about Lara: coordinates, orienting, room, flags DGX_ANIMATION:$0002 ;Used in DiagnosticType script command.>Show the debug data about Animation script command.>An Animation command works in debug mode when you type as animation number a negative number. In this situation the diagnostic will show if the conditions to enable the animation are corrects, and when this is true it will be showed "YES", while in opposite case "no". DGX_SFX_SOUNDS:$0004 ;Used in DiagnosticType script command.>It enables the viewing on screen of current sound sample played and infos about further missing sound sample. DGX_FAR_VIEW:$0008 ;Used in DiagnosticType script command.>This flag enables the viewing of current world far view distance applied in game.>Remark: this info requires also to have in current level a Turbo script command using adaptive far view, otherwise it will be no showed. DGX_AUDIO_TRACKS:$0010 ;Used in DiagnosticType script command.>It enables the viewing of infos about audio tracks: the enabled channel and number of cd is playing. DGX_CHEATS:$0020 ;Used in DiagnosticType script command.>Show current typed keystrokes to get more easy set some trng cheats.>The cheats allowed in trng are based all on four-chars words:>KILL (kill all enemies)>ROOM (reverse all flip ROOMs)>IAIR (Infinite AIR)>GODS (set Lara as invulnerable i.e she becomes as the semiGODS)>DOOR (open all DOORs of the level)>STAR (gives to lara a constant like and she brights like a STAR)>>Remark: the cheats work everytime there is the diagnostic mode enabled (Diagnostic=ENABLED) and the FlyCheat=ENABLED, indifferently if you enable the viewing of them with DGX_CHEATS DGX_FOG:$0040 ;Used in DiagnosticType script command.>Show infos about Fog Distance: start fog, end fog and color fog.>Remark: to see these inos, other to set the DGX_FOG flag it's also necessary that in current [Level] section there is a FogRange= command. DGX_COMMON_VARIABLES:$0080 ;Used in DiagnosticType script command.>Show on screen the values of trng variables.>This flag enables the viewing for common variable, i.e. all variables less the Store variables. DGX_STORE_VARIABLES:$0100 ;Used in DiagnosticType script command.>Show on screen the values of all Store variables. DGX_FLYBY:$0200 ;Used in DiagnosticType script command.>Enable the info about current flyby sequence.>Remark: the info will be showed only while a flyby sequence is running. DGX_TEXT_VARIABLES:$0400 ;Used in DiagnosticType script command.>Show on screen the content of testual variables. DGX_LOG_SCRIPT_COMMANDS:$0800 ;Used in DiagnosticType script command.>This diagnostic mode works in a different way respect other DGX_ modes.>It doesn't show anything on screen but it creates a full log you can see using TOMB4_LOG.exe utilty. You can find this utility in trle\Tools folder.>This diagnostic mode pratically enables a debug mode about GlobalTrigger, Organizer and TriggerGroup commands, showing all further variables changed by above commands.>It's advisable works with tomb raider in windowed mode to have the chance to see immediatly the tomb4_log window with last mexages. Anyway it's not required, you can also consult the full log at end of tomb4 running, using the command of tomb4_log program [Show/Last tomb.log]>>Tips & Tricks:>1) You can add in Extra field of DiagnosticType comamnd the constant EDGX_CONCISE_SCRIPT_LOG to reduce the quantity of mexages in the log.>See the description of EDGX_CONCISE_SCRIPT_LOG constant for more infos.>>2) You can use function Key F9 to suspend/resume the log about script comamands. You could use this feature to suspend temporary the log when lara is yet very far from the "zone" you wish check, and then reumse the log when you are ready. This trick is useful to reduce the size of log file and get more easy find the correct portion of log you are interested.>>3) The debug mode of script could slow down the game, so remember to disable it when you want play normally. DGX_WEAPON_ANIMATION:$1000 ;Used in DiagnosticType script command.>Adding this flag you'll have on screen the infos about current weapon animation.>The animations and state id for weapon management are not visible in lara's infos because the weapon works on specific slots like SHOTGUN_ANIM, GRENADE_GUN_ANIM ecc. DGX_ADJUSTMENT_MODE:$2000 ;Used in DiagnosticType script command.>This DGX_ADJUSTMENT_MODE allows to you, to align some trng objects like Detector and Keypad to have correct coupling between object and text.>In some circustances, when the game screen has a resolution very high, it could born some misplacing between object and text or, for radar detector, the sprites of detected targets.>You should use this adjustment when you discovered some misalignemtn with a resolution higher than those already adjusted by Paolone.>>It's better, in adjusting phase, let enabled only the DGX_ADJUSTMENT_MODE, so you should type following command in [Option] section of script file:>>Diagnostic = ENABLED>DiagnosticType= DGX_ADJUSTMENT_MODE, 0>>In game you'll see printed on screen many variables about position and text formatting of trng objects.>>Keyboard commands in adjustment mode>------------------------------------>To choose the variable to change you use the: [R] and [F] keys>To change the value of current selected variable use the keys: [Y] and [U] keys>Another keyboard command in adjustment mode is the [S] key. If you had launched the TOMB4_log utility (you find it in "tools" subfolder of trle folder), when you press [S] all current variables and values will be printed in log file.>You should always perform this operation at end of adjustment phase.>To locate in the log file the correct data, look for "ADJUSTMENT DATA" text, and copy and paste (to send to me ) all text between "adjustment data" and "end adjustment" in the last instance, for example:>> 6985: --------- ADJUSTMENT DATA (640 x 480) ---------> 6985: RADAR DETECTOR:> 6985: TargetX=1587> 6985: TargetY=13669> 6985: SizeTextX=128.00> 6985: SizeTextY=170.67> 6985: VLineX=2624> 6985: VLineY=13715> 6985: GapX=112> 6985: GapY=149.33> 6985: TextX=736> 6985: TextY=15541> 6985: COMPASS DETECTOR:> 6985: VLineY=13845> 6985: KEYPAD:>6985: OrgX=11056> 6985: OrgY=17685> 6985: TextY=2304> 6985: --------- END ADJUSTMENT ---------->>Remember to enclose alwayas also first line because I need to know the resolution used in game during your adjustment.>>Remarks:>>* The adjustment mode allows only temporary to fix the problem, at next game restart the values will come back to original (bad) values.>The adjustemtn should be done with the final target to send the correct adjusted value to me (Paolone) and I'll insert this new best values in next version of trng dll.>The reason that I've not performed myself this job is because to have a correct adjustment it's necessary set the game resolution to some high value but I can reach only 1024 x 768 pixles with my notebook and only a bit better (1280 x 1024) with my desktop.>>So, if you have a most powerfull computer with an higher resolution you can create adjusted values for these extra reolutions those I cann't reach with my current hardware.>>* In radar detector section you could change a lot of value but, pratically, it's advisable change only these three values:>>TargetY (Set the y position of detected objects on the main (planar) panel)>VLineY (Set the y position of detected objects on the secondary (vertical) panel)>TextY (Set the y position of text (distance XX meters)) EDGX_CONCISE_SCRIPT_LOG:$0001 ;Used in DiagnosticType script command.>You can add this flag in Extra field of DiagnosticType command to create a shorter debugging log.>When you omit this flag the log will be very large, with a lot of mexages about false conditions, frame for frame. >If you find too chaotic this full log you can create a concise log with EDGX_CONCISE_SCRIPT_LOG flag. EDGX_SLOW_MOTION:$0002 ;Used in DiagnosticType script command.>You can use this flag with any combination of DGX_ diagnostic type.>When you enable the slow motion you can slow down the frame rate in game using the F11 key like switch.>Press F11 first time to enable the slow-motion.>If you wish have an extreme slow motion just press different time the F11 key.>To disable the slow-motion you have to hit ESCape key.>>The slow motion is useful when you are studying some custom animation or other dynamic movements and you wish have all details about this action. EDGX_SWAP_VIEW:$0004 ;Used in DiagnosticType script command.>With this flag you enable a change of view when you press the F12 key.>The view is about the direction from that Lara will be looked.>This feature is useful when you wish study some animation or mesh of Lara but this is not visible from back view. SWT_BASE_ZERO:$0001 ;Used in Switch script command.>By default the Switch command perform the first TriggerGroup of the list, when the PlaceFolderVariabile has value "1", it performs the second when variable = 2, ect.>Differently, if you wish the first value was "0" (to perform first triggergroup of the list) you can use this flag. SWT_RANDOM_MODE:$0002 ;Used in Switch script command.>If you want introduce random elements in your adventure you can use this flag to perform different triggers in random way.>When you use the SWT_RANDOM_MODE flag, the field VariablePlaceFolder will be ignored, and the number used to select the TriggerGroup to perform will be generated in random way.>For example if you place three triggergroup IDs in the list, when you perform this switch the trng engine will generate a random number in the range (1 - 3) (or 0 - 2 if you use BASE_ZERO flag), and then it will perform the trigger group in according with this random number. 1@Todas las operaciones se llevarán a cabo en la siguiente carpeta de audio: 2@Realizar Operaciones: 3@Convertir las pistas de audio del TRLE de formato CORTO a nombre de formato LARGO 4@Restaurar: Convertir las pistas de audio del TRLE a formato CORTO 5@Renombrar las pistas de audio del TR5 para diferenciarlas del TR4 6@Renombrar las pistas de Audio - Permite Nombres Largos 7@Selección modo 1: haz clic con el botón izquierdo del ratón y arrastra. Cuando sueltes el botón la zona quedará seleccionada>Selección modo 2: haz clic con el botón derecho para empezar el punto de selección. Vuelve a hacer clic con el botón derecho para marcar el punto final de la selección.>Doble-Clic: Nueva posición de visión. 8@No remapear el Hair Hole (los vértices ya tienen la posición correcta) 9@(Esto funciona correctamente cuando la posición y el tamaño del Hole son igual a la de Lara por defecto o con una ligera diferencia.) 10@(Debes usar este método cuando la cabeza de Lara ha sido modificada de forma drástica y la posición y tamaño del hair hole es demasiado diferente de la cabeza estándar de Lara) 14@Nota: Hay que [Invertir el eje Y] para tener los valores que son compatibles con el programa MetaSequoia. 15@Archivo DXF StrPix original (exportado desde el programa StrPix) 16@Unir dos objetos (Ruta del segundo objeto exportado desde StrPix:) 17@Archivo DXF exportado desde el programa MetaSequoia 18@El objeto ha sido movido de la posición 3D original 19@Intenta texturizar también las caras no usadas (las caras han sido modificadas en Metasequoia) 20@Texturas Restauradas 21@Ajuste Manual del Pelo en los Vértices Críticos 22@Referencia y Herramientas de remapear forma manual 23@Mostrar ajustes sugeridos para MetaSequoia 24@Muestra los índices de los Meshes en StrPix 25@Mostrar Tabla de Colocación de Meshes de Lara 26@Muestra los vértices de la cabeza de Lara 27@Ajustar los Vértices Críticos 28@Selecc Fuente 29@Selecciona Wad 30@Usar los ajustes por defecto (no leer el formato del sprite) 31@Normas para la Importación de Caracteres 32@Importar todos 33@Letras Comunes (A, B, C, .. X, Y ,Z a.b,c ... x,y,z) 34@Letras Especiales: (Ç , Ñ, ä, é, .... ÿ , Û) 35@Dígitos Numéricos (0,1,2,3,4,5,6,7,8,9) 36@Caracteres de Signos (: , ;,&, ^, %, $ ... # , ! ) 37@Retirar el Anti-alias de los caracteres (anti-alias=difumina los bordes en blanco/negro) 38@Retirar el método anti-alias: 39@Difuminar a Negro 40@Difuminar a Blanco 41@Difumin a Transparen 42@Ajustes de Bordes 43@Empezar a Importar 44@Desactiva el matiz del color para los caracteres Gráficos 45@Retira y crea bordes personalizados 46@Salir y Guardar el Wad 47@Selecciona .exe 48@Cargar ico/bmp 49@Máscara Transparente: 50@Sin Transparencia, todos los sectores con colores sólidos 51@Transparente: 52@Clic en imagen para selecc el color transparente 53@Cambiar Icono 54@Proyecto (prj): 55@[Si dejas vacia la ruta, el ng doctor localizará el ultimo proyecto que hayas cambiado] 56@Guardar en el Escritorio 57@Comenzar Análisis 58@Salir 59@Búsqueda 60@Preguntar confirmacion para cada uno de los caracteres de los grupos seleccionados 61@Importar solo los siguientes tipos: 62@LARA SKIN remapear en el slot: 63@Ajustes del Pelo 64@Pelo a remapear: 65@Método para encontrar los vértices críticos (hole para enlace del pelo) 66@Método Automático 67@Método Manual 68@Alinear los vértices para que ajusten con los de la posición por defecto de la cabeza de Lara 69@Herramientas remapear manual 70@Ajustes Generales 71@Remap LARA joint guardado en slot 72@Remap LARA_SCREAM guarda en slot 73@No cambiar el wad (modo de diagnostico) 74@Realiza un backup de los archivos wad 75@Max Tolerancia para el ajuste de vértices: 76@Comenzar el Remapping 77@Ver Imagen de Referencia 78@COLETA LARA ADULTA (PONYTAIL) 79@TRENZAS JOVEN LARA (YOUNG) 80@Muestra las ANIMACIONES PRESENTES para el slot actual 81@Mostrar todos los MOVEABLES (ANIMADOS) y referencias de animación del wad actual 82@Mostrar todos los SLOTS y referencia de animación del wad actual 83@Mostrar MISSING ANIMATIONS (FALTAN ANIMACIONES) en el slot actual 84@Búsqueda de STATE-ID 85@Búsqueda de ANIMACIONES en TODOS los WADS 86@Búsqueda de MOVEABLE (ANIMADOS) del slot actual en TODOS los WADS 87@Búsqueda de ANIM_COMMAND 88@COMPARA las animaciones del actual wad/slot con los del wad secundario 89@Inserta los argumentos de búsqueda para el animcomamnd. Usa comas [,] para separar más valores>Nota: también puedes dejar en blanco este campo, o pulsar en [Cancelar] para ignorar los argumentos 90@Argumentos de búsqueda para el animcommand 91@Introducir el número ID de búsqueda 92@Búsqueda del State-Id 93@Deseas hacer también una búsqueda del state-id en los cambios del state-id de cada animación? 94@Cambiar Versión 95@Mostrar siempre la ventana del NG_Center encima de otras ventanas de windows 96@Seleccionar una version anterior del TRNG 97@Visor de Animaciones 98@Para ver las animaciones que faltan o buscar animaciones de otro wad. También puedes comparar entre dos wads para ver las diferencias 99@Formato Sprite Slot 100@Si encuentras problemas para añadir varias texturas grandes a un slot de SPRITE, puedes usar esta herramienta para formatear un slot de sprite existente en tu wad introduciendo el número de texturas y su tamaño 101@Editor de Sprites 102@Si encuentras dificultades al usar Wadmerger para importar/exportar una textura en un nuevo sprite , puedes usar esta herramienta para modificar una sola textura de cada sprite de tus wads. 103@Cambiar Icono 104@Puedes cambiar el icono del Tomb4.exe. Se recomienda usar SOLO para cambiar el Tomb4.exe del TRNG. Esta herramienta no funciona con otro .exe, si lo utilizas puedes dañarlo 105@NG Font Editor 106@Puedes importar a tu objeto FONT_GRAPHICS de tu wad una fuente de windows. Antes de editarlo, es necesario que primeramente hayas copiado el objeto FONT_GRAPHICS en tu wad. 107@Convertir formato de strings 108@A partir de la versión 1.1.9.8 el TRNG solo soporta el conjunto de caracteres ANSI, este es el conjunto normal usado en Windows. Puedes usar esta herramienta para convertir el formato del tomb antiguo al nuevo formato para los strings de todos los archivos de idiomas. 109@Obtener Screen Frames 110@Cuando necesites calcular una captura de pantalla en Micro Unidades puedes usar esta pequeña utilidad. Las Micro Unidades son unidades usadas por un comando en el script, como el comando Image= 111@Cambiar Nombres de Audio 112@Ahora puedes describir mejor tus pistas de audio renombrandolas con nombres largos. Solo las tres primeras cifras están entre 0 - 255. Con esta herramienta puedes renombrar de forma automática tus pistas de audio del tomb4 o tomb5 con sus nombres originales. 113@Conversor WMV 114@Herramientas para convertir videos AVI en formato WMV. Es mejor que usar un conversor de algunos programas de video. Esta herramienta es un interface grafico del Conversor oficial del Windows Media de Microsoft 115@Gestor de Objetos 116@Esta herramienta te permite encontrar la imagen de objetos e informacion del nivel donde se encuentra en la actual base de datos de los wads estandar y de todos los archivos .tr4 del juego The Last Revelation. Si lo deseas, tambien puedes incluir nuevos objetos en la base de datos. 117@NG Doctor 118@Tu NG Doctor realiza un analisis de la instalacion de tu TRNG y de tu actual proyecto para detectar algunos problemas, ceara un informe con el resultado. Puedes resolver tu mismo el problema o usar el informe para pedir ayuda sobre tu instalacion. 119@Remap Lara Skin 120@Si has cambiado el Lara Skin, necesitas remapear algunos vertices para asegurarte que el nuevo Skin funciona correctamente. Puedes utilizar esta herramienta para obtener un remaping automatico del Skin en el slot por defecto o en otro slot para continuar con el mesh swapping. 121@Texturizar Archivo DXF 122@Esta herramienta permite restaurar una cara texturizada de un objeto exportado con el programa StrPix y modificado con MetaSequoia. Debes guardar los dos diferentes archivos DXF: el original del Strpix y el del MetaSequoia 123@Comprobar si existen Nuevas Actualizaciones 124@Reproducir 125@Ver: 126@Buscar 127@Reproducir 128@Extraer en archivo de texto 129@Copia el Valor en el Portapapeles 130@Copiar Nombre en el Portapapeles 131@Expandir Info 132@Deseas convertir también los ExtraNG strings?>Nota: Si no has añadido ExtraNG strings con el formato del tomb antiguo para caracteres especiales, es mejor que la respuesta sea NO, ya que esta conversión ha sido creada para funcionar con los antiguos strings del tomb raider, si se usa con los nuevos strings extendidos puede alterar algunos caracteres de forma extraña>133@ATENCION: Este archivo de texto ya ha sido convertido 134@Deseas convertir los strings: 135@Copiar Indice 136@Actualizar 137@Añadir nuevo Extra String 138@Eliminar Extra String 139@Abrir 140@Idioma (copiar a la carpeta del TRLE) 141@Idioma: 142@Sección: 143@Esta herramienta funciona correctamente cuando cambias solo un aspecto individual de tu original (texturizado) objeto.>Por ejemplo, añadir algún detalle (como otro mesh) o eliminar algún mesh>En esta situación puedes restaurar la texturización original de todas las caras que no han sido modificadas con metasequoia>Esta herramienta fallará cuando hayas rotado el objeto o si has modificado la escala (incrementando o reduciendo su tamaño)>Nota: en relación con la escala, si incrementas/reduces el tamaño del objeto en un solo eje, puedes obtener un buen número de caras texturizadas, en ese caso debes comprobar los ajustes (settings): [Intenta texturizar las caras no seguras]>Puedes mover el objeto en un espacio 3d (pero evitando rotaciones y alterar tamaños) y la herramienta podrá retexturizar correctamente el objeto, pero en este caso debes comprobar los ajustes [El objeto ha sido movido al espacio 3d]>si deseas mover el objeto y cambiar algunas de sus partes, es mejor utilizar dos operaciones: Primero mueves el objeto sin ningún cambio: exportar / mover con Metasequoia / e importar nuevamente al Strpix con las texturas restauradas con esta herramienta y solo en la segunda operación exportas nuevamente el objeto movido, puedes modificarlo con Metasequoia>Si deseas usar dos objetos diferentes y mezclarlos como uno solo, puedes activarlo en los ajustes (settings) [Merging of two objects] y elegir el segundo archivo dxf generado por StrPix obteniendo los meshes de ambos objetos restaurados en el objeto final>Nota: Deberías usar los Ajustes (settings) importar/exportar del programa MetaSequoia>Puedes encontrar los ajustes sugeridos en la imagen mostrada con el botón: [Remap Lara Skin / Herramientas remapear manual / Mostrar ajustes sugeridos para MetaSequoia] 144@Ayuda 145@Cancelar 146@Deshacer 147@Guardar 148@Compilar 149@Recargar 150@Mostrar Errores 151@Mostrar Informe 152@Ejecutar NG_Tom2Pc 153@Comenzar el Juego 154@Abrir el Editor NGLE 155@Explorar la carpeta TRLE 156@Abrir Wad Merger 157@Abrir StrPix 158@Abrir Metasequoia 159@Abrir TrViewer 160@Exportar Textura 161@Importar Textura 162@Archivo Nivel: 163@Nombre Nivel: 164@Tipo de Objeto: 165@Nombre Objeto 166@Nombre Imagen 167@Actualizar valores 168@Eliminar este Objeto 169@Ir al Indice Abs 170@Buscar Parámetros 171@Nombre Nivel: 172@Archivo Tr4: 173@Nombre Objeto 174@Tipo Objeto: 175@Observaciones: 176@Buscar Objetos 177@Buscar Todos los Objetos 178@Limpiar Parámetros 179@Guardar y Salir 180@Crear Tabla HTML 181@Guardar Imagen como... 182@Número de Texturas: 183@Tamaño de todas las texturas: Ancho: 184@Altura: 185@Formato 186@Copia línea en portapapeles 187@Imprimir lista en texto 188@Ajustes Manuales 189@Cambiar Origen: 190@Cambiar: 191@Valores en: 192@Copia las MicroUnidades en el Portapapeles 193@Estilo: 194@Ajustes de Fuentes 195@<- Exportar Bmp 196@<- Importar Bmp 197@Tamño: 198@Formateando 199@Ver Zona 200@Recalcular 201@Origen video AVI 202@Destino video WMV 203@Tamaño de Archivo: 204@Convirtiendo ajustes 205@Tamaño Captura 206@Velocidad del Bit 207@Aspecto Ratio: 208@Método Conversión 209@Velocidad FPS 210@Previsiones 211@Añadir 212@Quitar 213@Cambiar 214@Mostrar informe de conversión 215@Opciones avanzadas 216@Aplicar los valores Sugeridos 217@Comprimir 218@ Convertir Video AVI en formato WMV 219@Ir a la Web de Skribblerz 220@Descarga de archivos, manual multilenguaje de las herramientas del TRNG, uso del editor y foros sobre el trng 221@Ir a la Web del Next Generation 222@Descarga de archivos, Proyectos de Ejemplo y Avisos 223@Apoya el proyecto Next Generation 224@Puedes ayudar al autor del TRNG con una pequena ayuda economica a traves de PayPal. Gracias adelantadas 225@Comprobación de Nuevas Actualizaciones 226@NG_Center y Scripter 227@Actual 228@En Linea 229@versiones 230@Añadir Objetos 231@Observaciones: 232@Compilación finalizada: No hay errores. 233@Compilación fallida, hay errores: ~1 errores y~2 avisos 234@Mensaje No hay error 235@NOTAs:>1) About the mesh names (S6, J11 ect), you should watch the [Reference Table: Skin - Joint] picture.>You can see this image clicking on [Show Reference Image] button>>2) It's normal that there were 5 don't matching vertices for skin meshes: J2, J5, J9 and J12, if you omit the [Ignore Inner vertices] setting.>>3) It's normal get one [DON'T MATCH] for Extra Slot vertex. In my humble opinion it's not necessary perform a remapping of Extra slots for weapons and flare because the method used by engine to swap the Lara’s hands doesn't require a new skin adaption. Anyway it could be useful a remapping for Lara Scream and Lara speech slots>>4) When you want remap a lara_skin+lara_skin_joint placed in some _mip slot to perform a swap mesh in game, you should take care that, at least the shape and position of new lara_joint's mehses, were exactly the same than default LARA_SKIN_JOINTS slot. This tool is able to modify the vertices of lara_skin and other slots but it cann't change the position of LARA_SKIN_JOINTS mehese and it will take always as reference for best remapping the vertices of default LARA_SKIN_JOINTS slot 236@BUSCAR UNION PARA J~1 MESH 237@Buscando unión del mesh J~1 con el de los Meshes ~2:" 238@NOTA: Falta el mesh S~1 en el slot ~2: Es necesario usar el mesh correspondiente del slot LARA_SKIN 239@ IGNORADO porque es una posición interna (no en un borde de la unión del mesh) 240@BUSCANDO VERTICES PARA REMAPEAR: 241@El mesh actual no necesita remapearse porque el Número de Vértices es menor de 129 242@ERROR: Pocos vértices encontrados que encajen (~1) para J~2 mesh con ~3 slot 243@ATENCIÓN: No encajan para ~1 vértices en J~2 mesh con ~3 slot 244@ERROR: la posición final (~1) para el vertex es mayor que el número de vértices para el mesh actual 245@Remap ha sido completado satisfactoriamente. 246@Remap completado pero hay avisos.>>>Leer informe, pulsa sobre el botón [Mostrar Inf.] 247@Remap ha fallado: tiene errores: Para más información ver informe pulsando el botón [Mostrar Inf.] 248@Completado con ~1 errores y ~2 avisos 249@ERROR: Falta el idioma para usar como Idioma Principal. Ver Ajustes en el panel [Strings] 250@ATENCIÓN: falta ~1 251@ERROR: falta en el archivo ~1 el String Extra NG correspondiente al english ng string con index= ~2 y texto = "~3" 252@ATENCIÓN: el número del [Strings] es diferente a los archivos: ~1 (~2) respecto a ~3 (~4) 253@ERROR al copiar script.dat en la carpeta: 254@ERROR al copiar ~1 en la carpeta: 255@COMPLETADO 256@ERROR leyendo el script.dat: ~1>mensaje de error: 257@ERROR en el archivo ~1.txt : string Extra NG con el índice = ~2 apunta al archivo que falta: 258@ERROR: No encontrado: 259@Error en el archivo ~1 en la línea: ~2>Syntax incorrecto, falta el signo ':' 260@Error en el archivo ~1 en la línea: ~2>Índice a la izquierda del ':' no es un número décimal válido 261@Error en el archivo ~1 en la línea: ~2>Valor del índice fuera de rango. (Rango correcto: 0 / 32767) 262@No ha podido encontrarse el archivo del Idioma: 263@ERROR al leer el archivo origen: 264@ERROR convirtiendo ~1 en: ~2 265@ERROR: número de argumentos erroneo. Se espera solo un argumento 266@ERROR: falta el argumento 'ENABLED/DISABLED' 267@ERROR: número de argumentos erroneo 268@ERROR: argumento '~1' no es un valor hexadecimal válido 269@ERROR: argumento '~1' no es un número décimal válido, ni se corresponde a ningún NG constant mnemonic 270@ERROR: valor total (~1) para el argumento está fuera de rango 271@ATENCIÓN: comando fuera de contexto en la línea (~1) 272@SYNTAX ERROR: falta el comando en la línea actual. No se encuentra el signo '=' 273@ERROR: comando desconocido en la línea '~1’: 274@ERROR: comando erroneamente colocado '~1'. Este comando solo funciona en la sección [Options] 275@ATENCIÓN: está repetido el comando '~1' en la sección [PCExtensions]. Se usará solamente el último comando 276@ERROR: número de argumentos erroneos para el comando '~1' en la línea: 277@ERROR: comando desconocido '~1' de la sección, ~2 en la línea: 278@ERROR: demasiados archivos de Idiomas en la sección [Language]. El número max. de archivos .txt es 8 279@ERROR: comando desconocido en la sección [Language] en la línea: 280@ERROR: número de argumentos erroneos para el comando 'File=' en la línea: 281@ERROR: índice no previsto del idioma para el comando 'File=' en la línea: 282@ERROR: falta la extensión '.txt' para el archivo idioma en la línea: 283@ERROR: comando desconocido para la sección [Options] en la línea: 284@ERROR: comando mal colocado '~1'. Este comando solo funciona en las secciones [Level] o en [Title]. Error en la línea: " 285@SYNTAX ERROR en la línea: 286@ERROR en la línea: 287@ERROR: demasiados archivos con extensiones en la sección [PCExtensions]. Max 5 archivos 288@ATENCIÓN: está repetido el comando '~1' en la sección [PSXExtensions]. Se usará solamente el último comando 289@ERROR: número de argumentos erroneos para el comando FMV en la línea: 290@ERROR: Valor de CD fuera de rango (0-255) en el comando Level= en la línea: 291@ERROR: número de argumentos erroneos para el comando ~1 en la línea: 292@ERROR: primer argumento fuera de rango (1-~1) del comando ~2 en la línea: 293@ERROR: número del sub-ítem (1-2) en el segundo argumento del comando ~1 en la línea: 294@ERROR: Comando desconocido ~1 pa la sección level/title, en la línea: 295@ERROR: falta el comando '~1' en el nivel’ 296@Deseas recargar ahora los archivos script y ayuda (help)?>>Nota: responde SI, si has sustituido los script.txt y english.txt usados por el NG_Center y quieres actualizarlo 297@Guardado en: 298@Tu programa TrViewer.exe parece ser una versión antigua. Ahora existe una versión actualizada con algunos bugs solucionados y soporte total para el encabezamiento del Next Generation de los archivos .tr4>>Deseas actualizar tu antiguo TrViewer con la nueva versión? 299@TrViewer actualizado para la nueva versión del NG 300@ERROR DE SINTAXIS: falta el índice. Se requiere que el Extra string comience con el número de índice, seguido por el signo ':'>Ejemplo:>12: Este es la línea con un número de índice = 12 301@Tus herramientas del TRNG ya están actualizadas: no hay ninguna versión disponible 302@Nueva actualización disponible, deseas descargarla e instalarla ahora?>>Breve descripción de las novedades: 303@El script actual será guardado, el NG_Center se cerrará y se ejecutará la instalación 304@Comenzando la actualización 305@Estas seguro de eliminar la carpeta: [~1] del la lista?>(Nota: la carpeta solo se eliminará de la lista pero NO del disco) 306@La ruta es demasiado larga, esto ocurre cuando guardas los proyectos o wads en una carpeta con una ruta con demasiadas carpetas. Puedes mover la carpeta del TRLE a una ruta más corta 307@Deberías instalar la versión MK2 (o mayor si está disponible) full setup. 308@Deberías usar el program NGLE.exe para construir tus proyectos y no el antiguo winroomedit.exe 309@Si usas el programa WadMerger deberías insertar la ruta en la pestaña Ajustes del NG_Center y luego en actualización de herramientas del TRNG para permitirte también la actualización de archivos de WadMerger 310@Debes instalar PRIMERO el Level Editor y DESPUÉS el MK2 Trng full setup 311@Deberías en el NGLE ir a la ventana Animated Ranges y pulsar en el pequeño botón [R] para resetear los rangos animados. Ahora ya puedes crear nuevos rangos de animados, cierra la ventana y coloca por lo menos una textura de cada rango en tu nivel 312@Usa el MapConverter2 para reparar el problema en tu proyecto "~1". Carga tu proyecto en el MapConverter y selecciona la opción [Modify only tail infos and let unchanged TGA map]. >Después, carga de nuevo el proyecto en el NGLE y vuelve a colocar todas las texturas animadas independientemente de que lo hayas hecho anteriormente. Recuerda seleccionar las texturas de 128x128 haciendo un solo click con el botón izquierdo del ratón y no arrastrando con el botón derecho 313@Es mejor dejar espacios en blanco (barra espaciadora) en la ruta de la carpeta del TRLE. Puedes renombrar la carpeta usando el signo de guión bajo _ donde tienes espacios 314@Mostrar informe 315@No se ha cargado ningún archivo wad!>Debes cargar un archivo wad antes de poder usar esta herramienta 316@Para el remap del pelo debes configurarlo manualmente. 317@Para añadir imagenes de objetos debes usar el programa TRViewer como visor de objetos.>Si tienes el TRViewer haz click en [OK] y selecciónalo. Si no lo tienes haz clic en [Cancelar] 318@El Objeto Database ha sido cambiado. Realmente deseas perder los cambios? 319@ATENCIÓN: has cambiado el FONT_GRAPCHIS.>Realmente deseas perder los cambios? 320@No puedes importar imagen con caracter Redirect. Selecciona el valor ascii redireccionado de este signo y después haz click en [Importar Bmp] 321@Este signo es demasiado grande (excede en altura). 322@Atención: este signo (~1) es demasiado alto.>>Deseas importarlo? 323@Atención: el anterior font sprite ha sido cambiado. Quieres perder los cambios? 324@Debes cargar el archivo wad con la fuente para poder editarlo 325@No puedes cambiar este tipo de signo por que no tiene una imagen real en FONT_GRAPHICS 326@Guardar la textura en: 327@Antes de seleccionar las opciones avanzadas debes cargar el archivo origen del Avi 328@El video actual AVI no puede ser convertido porque su audio no esta en formatomo 16 bit PCM wav>Debes convertir su audio al formato 16 bit antes de la conversión 329@ATENCIÓN: falta la pista de audio del archivo Avi 330@Conversión completada. Creado "~1">>Deseas verlo? 331@Conversión fallida. El archivo destino no ha sido creado 332@Escaneando archivo wmv para más información... 333@Error escaneando video wmv 334@Atención. Has elegido una velocidad para el video de destino que es mayor a la velocidad del video origen. Esta opción no es lógica. :-/ 335@Primer paso: escaneando AVI para analizar la velocidad de la variable, por favor espera... 336@Tamaño_Archivo=~1 Calidad_Video=~2 (Max = 1000) 337@SIN CABEZA 338@Invertir eje X 339@Invertir eje Y 340@Invertir eje Z 341@Tipo Vértices: 342@Modo a Clasifi: 343@Debes seleccionar el archivo DXF del StrPix 344@Debes seleccionar el archivo DXF del MetaSequoia 345@Debes seleccionar el SEGUNDO archivo DXF creado con el programa StrPix 346@ATENCIÓN: La unión de los objetos con Moving seleccionado, solo funcionará si el objeto movido es el primero en StrPix 347@Archivo retexturizado Guardado en: >>"~1">>Estadísticas:>Cantidad de Caras = ~2 (Quad=~3 / Tri=~4)> 348@Caras Encontradas = ~1>Caras Seguras = ~2>Caras No Seguras= ~3>Caras No Encontradas= ~4 349@Restaurar Sistema: restaurar a una versión anterior del TRNG 350@ERROR: argumentos no encontrados 351@Color del borde 352@ Ajustes para la Creación de Bordes 353@(clic para cambiar...) 354@Doble borde (borde con 2 pixels de profundidad) 355@Color de Sombreado (pixel intermedio de tono medio al del borde) 356@Crear borde en los cuatros lados 357@Crear borde solo en los siguientes lados: 358@Lado Izquierdo (a la izquierda del pixel blanco) 359@Lado Superior (sobre el pixel blanco) 360@Lado Derecho (a la derecha del pixel blanco) 361@Lado Inferior (Debajo del pixel blanco) 362@Incrementar el Número del Vertex 363@Incrementar la coordinada del eje Y 364@Vértices Originales del Mesh TR4 365@Traslada el mesh a la posición del cuerpo 366@Copiado en el Portapapeles 367@Título y Autor 368@Calidad de la Imagen 369@Distancia del KeyFrame 370@Versión del Codec 371@Tiempo de Buffering: 372@segundos 373@microsegundos 374@Pre-filtro 375@Opciones de líneas de comandos adicionales 376@Convertir solo este intervalo: Iniciar 377@microseg. 378@Fin: 379@ Ajustes Avanzados de la Conversión 380@Traducido al Espanol por 381@ PEMON 382@Calcular OCB 383@Calculadora de OCB 384@Esta herramienta te permite de manera facil calcular el valor OCB de algunos items donde es dificil calcular el OCB. Tambien existe un Creador Generico de OCB que puedes usar para todos los otros items 385@OCB del Objeto: 386@Cantidad de Esferas 387@Emisión Estándar 388@Emisión Lenta 389@Emisión Rápida 390@Emisión Aleatoria 391@Tamaño de la Esfera 392@Modo de Emisión 393@Duración de Emisión 394@Color del Mist 395@Posición del efecto mist: 396@Efecto en el lado del sector 397@Efecto en el centro del sector 398@Creador Genérico de OCB 399@Cancelar 400@Descodifica el OCB 401@Introduce el valor OCB mostrado de cualquier objeto OCB del mapa en el Nivel, puedes usar valores positivos o negativos 402@Número de Peces 403@Generar los siguientes tipos de peces: 404@Piraña 405@Payaso 406@Mariposa 407@Angel 408@Otros ajustes de Peces: 409@Pez Agresivo (atacan a Lara) 410@Inofensivo (sin dañar a Lara) 411@Pez moviéndose en grupo 412@Pez que podría saltar del agua 413@Pez Lento 414@Pez Tímido 415@Modo Keypad (Teclado Númerico): 416@Modo Código Secreto: cuatro dígitos, Ejemplo "6273" 417@Modo Un Botón, tipo ascensor. Ejemplo "4" 418@Código Secreto 419@Rango de Teclas aceptadas 420@Rango de los valores a considerar 421@KEYPAD (TECLADO) 422@0 (Desactivar subirse) 423@Altura del empujable para poder subirse: 424@Opciones de Desactivación: 425@Desactivar empujar 426@Desactivar tirar 427@Desactivar mover Este-Oeste 428@Desactivar mover Sur-Norte 429@Opciones de Escalar: 430@Escalar Lado Este 431@Escalar Lado Oeste 432@Escalar Lado Sur 433@Escalar Lado Norte 434@Nuevas Características: 435@Empujable desde un borde 436@Script 437@Strings 438@Referencia 439@Configuración 440@Herramientas 441@Herramientas2 442@Actualizaciones 450@ANIMADOS RANURAS (SLOTS) 451@Indice del SOUND SFX 452@Comandos de NUEVOS SCRIPTS 453@Comandos de SCRIPTS ANTIGUOS 454@_MNEMONIC CONSTANTS Nuevos comandos 455@DAÑOS al ENEMIGO Lista 456@CODIGOS de TECLADO Lista 457@OCB’s Lista 458@Indice de ESTATICOS 459@VARIABLE PLACEFOLDERS 465@HOTKEY: F1=Muestra el primer ID disponible para el comando actual 466@ Info. sobre el sistema de coordinadas usadas en la herramienta Fast 3d 467@El sistema de ejes y unidades cambia (aparentemente) en muchas de las herramientas para el TR, como StrPix, MetaSequoia, NGLE y el motor del tomb4.>Para evitar esta confusión, solo deberías mirar a la imagen de la izquierda donde se muestra el sistema de la coordinada usada en la herramienta del Fast 3d. >Nota: teóricamente también Metasequoia usa el mismo sistema pero solo si usas los ajustes sugeridos para importar/exportar. (Pulsa sobre el botón en la parte inferior izquierda de esta ventana para Mostrar los ajustes sugeridos (settings)> Sobre las unidades usadas en el Fast 3d, recuerda que un click = 256 y un sector = 1024.>Sobre las caras, -Z es la dirección hacia donde mira un objeto que has colocado en el mapa del nivel en el NGLE (mira a la derecha en la visión 2d del NGLE) 468@ Operación 3D: 469@ Rotación 470@ Supr (mesh original) 471@ AL mesh: Elige el tipo (eje) de rotación 472@Grados: 473@Centro de Rotación: 474@(Normalmente se deja (0,0,0) como centro de rotación, ej. usas el pivote del objeto actual) 475@Rotar Mesh 476@MUESTRA INFORMACION. Sobre el mesh actual del archivo .dxf 477@ROTAR el mesh los grados elegidos alrededor de los ejes deseados 478@MOVER el mesh en cualquier dirección 479@REDIMENSIONAR el mesh, incrementando o reduciendo su tamaño 480@REFLEJAR el mesh, crear un mesh simétrico en algún eje 481@Otro... 482@Con Fast 3d puedes directamente realizar de forma rapida las operaciones 3d mas comunes, como un archivo dxf exportado desde el programa StrPix manteniendo las texturas originales. Puedes rotar, mover, unir, redimensionar o reflejar tus meshes con un solo click. 483@Fast 3D 484@ Fast 3d - Herramienta NG Center 485@Grados 486@ Info. sobre el Mesh actual 487@ Min. Max. Tamaño 488@Punto Central: 489@Usar como Centro de Rotación 491@Vertices: 492@Faces (Caras): 493@ Mover Mesh 494@Introduce una cifra en el campo de un eje para configurar las unidades y su dirección de movimiento. Por ejemplo, para mover el mesh hacia arriba un click, introduce +256 en el campo Y. Para mover el mesh un sector hacia adelante con respecto al frente, introduce el valor -1024 en el campo del eje Z. Para que te sirva como referencia para los ejes y sus direcciones, mira la imagen de arriba. 495@Traducción de Offsets 496@Mover el Mesh 497@ Redimensionar Mesh 498@Valores en: 499@Nuevo Tamaño X: 500@Nuevo Tamaño Y: 501@Nuevo Tamaño Z: 502@Puedes elegir como porcentaje el factor deseado para redimensionar, donde 100 % = al mismo tamaño, o como valor absoluto. Puedes trabajar de manera proporcional para todos los ejes o solo en alguno. Por ejemplo, para duplicar el mesh complete, selecciona la casilla Redim. proporcionalmente e introduce 200 % como factor de redimensionar. Para forzar la altura de 2048 unidades, manteniendo el tamaño original para otros ejes, deselecciona la casilla Redim. proporcionalmente e introduce 2048 en la casilla del eje Y. Para que te sirva como referencia para los ejes y sus direcciones, mira la imagen de arriba. 503@Redim. proporcionalmente 504@Redimensionar Mesh 505@Porcentajes 506@Unidades 507@Reflejar 508@ AL mesh: Elige el tipo de reflejo 509@Reflejar el Mesh 510@Introduce el número del signo grados para la rotación 511@Cuadrados: 512@Triangulos: 513@Ajustes de BRILLO y TRANSPARENCIA para todas las texturas 514@Recuerda que esta operación afectará a todas las texturas con la misma configuración.>>Si deseas usar Forzar Valores Absolutos de flags, recuerda que la fórmula para el valor final a introducir funciona de de esta manera:>>Añade 1 para activar la opción semi-transparente>Añade 2 para activar el brillo>Añade el valor del brillo multiplicado por 4 cuando actives el brillo del valor 2>Introduce 0 si deseas quitar todos los ajustes y trabajar con texturas en opaco y sin brillo.>Nota: normalmente usarás el botón Forzar Valor solo para experimentar. 515@ Ajustes de Brillo y Transparencia 516@Forzar Valores Absolutos de Flags 517@ Ajustes de Texturas 518@Brillo: 519@SemiTransparente 520@Cambiar los Ajustes de Texturas 521@Deseas forzar como flags para todas las texturas el valor ~1 ? 522@Sin brillo 523@UNIR entre meshes. Une un mesh externo al mesh original 524@Falta el archivo externo.>>Debes elegir el archivo .dxf a unir con el archivo .dxf original.>Click en el botón [~1] en este frame 525@ Unión de dos meshes 526@ Unir el mesh externo con el mesh original 527@Antes de unir, mueve el mesh externo en las siguientes direcciones: 528@Unir 529@Cargar archivo .dxf exportado de StrPix 530@MOVIDO 531@REDIMENSIONADO 532@ROTADO 533@NUEVOS_FLAGS 534@UNIR 535@REFLEJAR