Scripts to Replace Switch, Key and Pickup
Triggers
by
Leonvdn
Press export Script Trigger;what you should get is
this...
; Exporting: CONDITION(16:62) for
PARAMETER(1)
; <#> : MultEnvCondition= 1
; <&> : Multiple
condition of <#>MultEnvCondition script command in (E)way
; (E) : In
AND way. (All ENV conditions have to be true)
; Values to add in
script command: $8000, 1, $10
- You won't need anything
except the $8000,
1, $10 part so copy
that to your notes file.
- Place a comma after this and paste the
same thing again but change the 1 in the middle to 2.
- It should
now look like this $8000,
1, $10, $8000, 2, $10
- We'll come back for this in a
minute, close the set trigger type box.
STEP
3
Next you'll need to figure out the animation Lara uses
when she pulls a switch, there are a few ways of doing this, one way is
to put the Diagnostic=ENABLED line in your script and see what number
comes up when Lara uses a switch. I find it handy however to refer to
Fluen's Lara's animations tutorial Lara's
animations
- According to this tutorial the animation number
we are looking for is 063
- Navigate back to the set trigger type
window, change the type field to CONDITION
- In the timer field scroll down to Lara.
(Animation) Lara is performing <#>animation
- In the
object to trigger field scroll down to Animation=
63
- Press export script trigger and copy the code at
the end
- It should look like this $8000,
63, $1E copy that to
your notes file
STEP 4
-
Again select your falling block object
- Open up the set trigger
type box
- Set trigger type to action and in timer field navigate
down to Trigger. (Moveable)
Activate <#>Object with (E)Timer value
- If you've done
it right your falling block should appear in the Object to trigger field
- Again export script trigger and copy the code at the end to your
notes file, it should look something like this $5000,
1107, $2B
-
(the nr in the middle will be different according to the object id of
your falling_block object so don't worry if it's different for you)
- We're done with the NGLE now so you can build your level (no need
to play yet)
STEP 5
- Open
your NG Center and in the level you'll be using set up the following
script lines...
;--------------------------------------
;FALLING BLOCK SET UP
;LARA IS IN ROOM...
MultEnvCondition=1,
;LARA AT THE END OF HER ANIMATION
MultEnvCondition=2,
;CONDITIONS FOR GLOBAL TRIGGER
Triggergroup=1,
;TRIGGERED BY GLOBAL TRIGGER
TriggerGroup=2,
GlobalTrigger=1,
;--------------------------------------
- I'll go through these one at a time
- After MultEnvCondition=1,
put in ENV_ROOM_IS,
0, IGNORE ,replace
the 0 with the room number you put down earlier.
- this line will
cause the game to check if Lara is in the room we just built.
-
After MultEnvCondition=2, put in ENV_ANIM_COMPLETE,
IGNORE, IGNORE ,this
sets triggers to activate on the last frame of the animation
-
After Triggergroup=1, put in all the codes you took down for steps 2 and
3 separated by commas, should look something like this...
- Triggergroup=1,
$8000, 1, $10, $8000, 2, $10, $8000, 63, $1E
- After Triggergroup=2, put in your code from step 4 which should
look something like this...
- Triggergroup=2,
$5000, 1107, $2B
- After GlobalTrigger=1, put in IGNORE,
GT_CONDITION_GROUP, IGNORE, 1, 2, IGNORE
- The GT_CONDITION GROUP tells the game to check if all the
conditions from triggergroup 1 are true.
- The 1, 2 points to the triggergroup ID's, so the game will ask if
all the conditions of triggergroup 1 are true & if they are it will
activate triggergroup 2.
- It should now look something like this (below)
;--------------------------------------
;FALLING
BLOCK SET UP
;LARA IS IN ROOM...
MultEnvCondition=1,
ENV_ROOM_IS, 0, IGNORE
;LARA AT THE END OF HER ANIMATION
MultEnvCondition=2, ENV_ANIM_COMPLETE, IGNORE, IGNORE
;CONDITIONS FOR GLOBAL TRIGGER
Triggergroup=1, $8000, 1, $10,
$8000, 2, $10, $8000, 63, $1E
;TRIGGERED BY GLOBAL TRIGGER
TriggerGroup=2, $5000, 1107, $2B
GlobalTrigger=1, IGNORE, GT_CONDITION_GROUP, IGNORE, 1, 2, IGNORE
;--------------------------------------
If everything has
gone right you can now save and build your script and test your setup in
game. Pull the switch and fall through the floor :D
NOTES
This is only one of many
possible setups; you can export whatever triggers you want from the
ACTION and FLIPEFFECT triggers and put them into your triggergroup 2,
any trigger you would usually put under your switch trigger can be found
here and exported, just remember to keep it all on one line in your
script and separate with commas. The sky is your limit.
Anything
after a ; symbol is ignored in game so the lines I've used in my script
(such as ;TRIGGERED BY GLOBAL TRIGGER) can be deleted or renamed in
whatever way you'd like, they are just guidelines to help me keep track
of what I'm doing.
The only downfall is that any other switches
of the same slot in the same room also trigger the same globaltrigger,
to get around this there are several tricks,
- put the setup in a small room away from other
switches
- Use different switch types (as they use different
animation nr's)
- With the latest version of the NGLE you can set the
animation Lara uses so you can copy the switch animation into an empty
slot in Wadmerger and use that instead
This kind of setup will
also work with puzzle and pickup objects but your options are slightly
more limited as puzzle_hole objects usually use the same animation, so
just one per room is advisable. You have some choice with the pickup
animations depending on the ocb of the object.
Switches like the
one I've used can't be deactivated without a standard switch trigger and
therefore can't be used more than once. You can likely get around this
by using the new switch OCB's or by using an action trigger in game to
force the switch back to its original position.
To move a switch and give it a new purpose you can use ACTION
triggers to move it into a different room where Lara will activate a
different GLOBALTRIGGER.
Hopefully this tutorial will come in
handy for someone :D, I realize it may look daunting, it certainly did
for me but with a bit of practise it's a 2 minute job, just like many
things with the NGLE its actually a lot easier than it looks.
A few other tutorials that may be relevant to the setup of this
tutorial.
NGLE global triggers
NGLE multiple condition triggers
Script and triggergroup commands
NGLE moving objects