www.tombraiderforums.com

Go Back   www.tombraiderforums.com > Tomb Raider Modding > Tomb Raider Level Editor > Tomb Raider Level Editor Tutorials

Closed Thread
 
Thread Tools
Old 30-05-14, 18:29   #1
AkyV
Moderator
 
Join Date: Dec 2011
Location: Hungary
Posts: 2,505
Default TRNG Activation and deactivation of Moveable objects

1. The meaning and the purpose of activation/deactivation

What is “active”?


“The Moveable object is moving” does not always mean the object is active. You need to activate an “activate the object” trigger to activate an object.

Active creatures:

They can’t be seeable in the game till activating them. When they are activated, then they will become seeable where you placed them in Room Editor:

- The most of the creatures have a less or more animations in WADMerger Animation Editor. When those creatures are activated, then they will start performing their WADMerger animations, according to their AI and the values (StateID, Next Animation etc.) you can see at the given animation in WADMerger.
- Some creatures have only one animation (Animation0) in WADMerger Animation Editor, with only one frame (Frame0). When they are activated, then they will start performing their hardcoded animations, according to their AI.


Notes:

- Some creatures can be seeable (where you placed them in Room Editor) before their activations. Sometimes it is intentional (see eg. mummy with OCB 2, lying on the floor), but sometimes it must be considered as a bug (see eg. wraiths without Invisible button pressed in their OCB’s).

An interesting and funny event - I suppose it works since the new colliding system of motorbike made for TRNG 1.2.2.6.:
The inactive Mummy (OCB2) or Skeleton (OCB 3) is lying on the floor. Lara riding the motorbike hits him. Now the creature "jumps/stands up", remaining inactive. - Hit him again and again now with the bike to push him away.
If you activate him now, the creature will fall back, as if Lara hit him with a shotgun bullet. (Or falls/jumps a bit differently, according to the direction of the last hit.) Then he'll get up and start chasing Lara.
(But it doesn't work with the jeep or with the inactive DOG lying on the floor, with OCB1.)


- The fact, that the creature is just living, won’t let the “activate the object” trigger be activated again. When a Die AnimCommand kills the creature in the dying animation, then that also “kills” the trigger to activate him/her/it, which is why you can’t activate the creature again after the death.
Creatures with hardcoded animations don’t have dying animations and Die AnimCommands, they need another method that will remove them off the map and “kill” the trigger to activate them. This method is mostly a peculiar trigger – see eg. how you need to remove the beetles. (But eg. you can kill fire wraiths with luring them into water.)
- Lara is automatically alive when the level starts. So we don’t need to activate her (so technically she is never active).
In her case, not AI but the player and StateID, Next Animation etc. values will control her animations.
- See Animation (for Lara) or AnimationSlot (for others) Script commands, for customized animations.

Other active Moveable objects:

The non-creature Moveable objects are visible in the game even before their activations, performing their Animation0 Frame0 (see in WADMerger) in loop mode, looking frozen:

- Some objects have more frames for Animation0, and/or perhaps they have more animations as well, not only Animation0:

= Eg. doors, stargate, hammer, some ANIMATINGs etc. When they are activated with a trigger, then they will start performing the other frames of Animation0, and then, those other animations as well. There is no AI this time, only Next Animation etc. values will control the animations.
= Eg. switches, vehicles, kick doors etc. You shouldn’t activate them with triggers, their animations will be used in other ways. (Eg. Lara drives the vehicle, kicks the door etc.) – So they are never active.

- Some objects have no more frames and animations:

= Eg. raising blocks, falling blocks, rollingball, teeth spikes etc. When they are activated with a trigger, then they will start performing their hardcoded animations.
= Eg. pushblocks. Their hardcoded animations will work without triggers. (Eg. Lara pushes/pulls the pushblock etc.) – So they are never active.
= Eg. a lot of ANIMATING objects or the most of the pickable items etc. It’s not worth activating them with triggers, because they have no hardcoded animations, nothing will happen. – So they are never active.


Notes:

- If an object has more animations than that Animation0, and you want that object to start with another animation, not Animation0, when activated, then place an ACTION (A15, A16 or A17) on the same place where that trigger to activate the object is placed, to force the given animation.
- There can be even technical reasons to activate an object. – Let’s see two examples:

= The kayak must be activated or else its position won’t be saved in savegames.
= If you activate a deathslide (zipline) handhold then the handhold will be transported back to the upper position.

- There are some situations when the objects will have an “active” status, without having been activated by triggers. - Let’s see two examples:

= If Lara has just inserted the puzzle into the hole, the hole has been swapped for the “puzzle done” object – now the hole (“done”) becomes “active”, without any sensible effect.
Sometimes it is a “real” activation, with a sensible effect – if the Animation0 of the “puzzle done” has more than only one frame. I mean see eg. the setup of the “Horseman’s Gem” of The Lost Library TRLR level: if Lara inserts the gem in the hole, then the “done” object will be rotating a bit.
Or see the Sun Talisman key of The Sacred Lake TRLR level: its “done” object is a really interesting one – an animation starts to raise the little statue.
= If the switch has just been switched on, that activates the switch object itself, without any sensible effect. (However, the status won’t be “inactive” if you switch off the switch.)

- For example, an object being moved by an A36 ACTION trigger upwards or downwards is not active, if we didn’t activate it with a trigger – though, as you see, the object is moving.
- If an object is being moved (either by being activated or by another reason) then its position won’t be saved sometimes in the game. If you encounter this problem (mostly with ANIMATING objects) then activate A60 before the first save with that moving object.

F302 will do the same as A60: if the subject of the trigger won’t be saved, then it will be saved, if you activate this trigger. The difference: A60 works with a given Moveable object, F302 will work with the Moveable object having the given tomb (game) index in Current Value variable. (I.e. A60 can work only with a given object, F302 can work with any object you define in Current Value.)

- When an object without AI – mostly an ANIMATING – leaves the room where it is placed, while moving, then sometimes it starts “blinking” (disappearing/re-appearing) in the new room. In these cases you need to refresh the actual room for these objects (activating an A93) when they enter the given room. – The best way if the object itself activates a HEAVY A93 for itself, when entering the room.

Active nullmeshes (“red little pyramids”):

They can’t be seeable in the game till activating them. When they are activated, then their (hardcoded) effects will show up in the game, where you placed them in Room Editor.
But some nullmeshes are “only” technical, eg. to control the AI of the creatures (AI_FOLLOW etc.). It’s not worth activating them, because nothing will happen. So you should activate only nullmeshes that have an effect: dart emitter, rope, amber light, flame emitter etc.

Deactivation and reactivation:

If you activated an object, then you need to deactivate that with a “deactivate the object” trigger, to stop moving/working.
Deactivated objects will stop moving/working at once. Just where they are or maybe going back to their basic positions. Or (see eg. flames) they will stop their effects.

But you don’t need to deactivate some objects:

- Some activated objects will stop moving/working by themselves, you don’t need to stop them: the rollingball stopped at the lower end of the slope, the raising block is raised, the door is opened etc.
But sometimes it’s worth deactivating them. Eg. deactivate the rollingball to stop it on its track, before it stops by itself at the lower end of the slope.
Or: some of the objects will do the opposite (after they stopped by themselves) when being deactivated. So eg. if the door opens when being activated, then closes when being deactivated. - It is a typical animation set for doors:

Animation0, only with one frame (Frame0): loop animation, the door is frozen in “closed” status. (Next animation, if the door has been activated: Animation1.)
Animation1: the door is opening. (Next animation: Animation2.)
Animation2, only with one frame (Frame0): loop animation, the door is frozen in “opened” status. (Next animation, if the door has been deactivated: Animation3.)
Animation3: the door is closing. (Next animation: Animation0.)

- Naturally you cannot “deactivate” creatures, you need to kill them with weapons (or perhaps with vehicles).
But you can use special ways as well to eliminate enemies. See eg. A14 trigger.


If you were able to deactivate an object (because the rollingball stopped in the middle of the slope, the door closed, the flame extinguished etc.) then that means you will be able to activate it again. When the reactivation happens, they will start acting in a logical way:

- the rollingball will continue rolling on its track,
- the door will open again,
- the flame will light again,
- etc.


Note:
Knowing surely if an object is “active” or “inactive”, could be important sometimes, eg. if you use them as conditions. (See eg. C14 trigger.)
But don’t forget: if something doesn’t move after having been activated that doesn’t mean it is “inactive”. I mean, eg. if a door has opened or a rollingball has stopped at the lower end of the slope, by themselves, then they are active objects, because we didn’t deactivate them after activating them. So, use a “deactivate the object” trigger on the door to close it or on the stopped boulder to make that do nothing – and now they are deactivated, inactive.

2. Activation/deactivation – classic triggers and their development in TRNG

The methods to activate a Moveable object with a trigger (TRIGGER, COMBAT, PAD or HEAVY):

- The classic, TRLE method: OBJECT trigger.
- The new, TRNG method: ACTION trigger (A43).

The methods to deactivate a Moveable object with a trigger:

- The classic, TRLE method: OBJECT trigger (ANTITRIGGER, ANTIPAD or HEAVYANTITRIGGER).
- The new, TRNG method: ACTION trigger (A44) (TRIGGER, COMBAT, PAD or HEAVY).


Notes:

- If you use Drop Down Menu Bar\Objects\Change Object to change a placed object, and that object is the object of an OBJECT or ACTION trigger then the changed placed object will be the new object of the trigger, automatically.
- If you remove a Moveable object, from the map then the classic TRLE triggers to activate/deactivate it will be deleted as well automatically.
But, if a TRNG ACTION trigger activates/deactivates a Moveable object then don’t forget to delete that trigger after you deleted that Moveable object, because this time the triggers won’t be deleted automatically.
- You can use A26 instead of A43 or A44 to open or close a door, if you want.
- Maybe sometimes you want a trigger only to reactivate an object. (I.e. you don’t want the trigger to be useable if the just inactive object has not been activated at least once before.) It is possible if you force 62 or (as if you used One Shot pressed) 63 in "Object status. Five buttons + One Shot button (Byte)" Item Memory Zone field (previously known as “Custom Flags (Different flags in according with object type) (Byte)” field) with F255, after you defined that object with A54.
(Don’t use it with timed objects if the timer has expired yet. At least, first you need to deactivate that timed object with a usual trigger – though it seems useless, because the object is just inactive -, then you can force 62 or 63.)

Usually you can choose any methods but there are differences between the classic (OBJECT) and the new (A43, A44) methods:

a, OBJECT is multiple, ACTION is single. - It could be important eg. if you have a timer for the trigger.

See more about here what single or multiple is:
http://www.tombraiderforums.com/show...29#post7060929

b, OBJECT triggers cannot be exported into the Script/WADMerger. ACTION triggers can.

c, Some discomfort of the overlapping rules can be ruled out by the new method:

- For example, you’d like to make an enemy activate something and deactivate something else on the same square. That’s why you need both a HEAVY OBJECT and a HEAVYANTITRIGGER OBJECT on that square. But special triggers can’t be overlapped. That’s why you place a HEAVY OBJECT there and then you also place there a TRIGGER A44. The TRIGGER will adopt “HEAVY” Window Type value of the HEAVY trigger, so that TRIGGER A44 will work like a HEAVY A44.
- If a TRIGGER OBJECT casual trigger and a special “ANTI” trigger are overlapped, that will make the casual trigger work as an “ANTI” OBJECT. If a TRIGGER A43 casual trigger and a special “ANTI” trigger are overlapped, the A43 will still work as an A43.
- You can use a CONDITION trigger overlapped with a timed A43. It is impossible with a timed OBJECT.
- You can use a condition (CONDITION, KEY, SWITCH or PICKUP) trigger overlapped with A44. It is impossible with “ANTI” OBJECT.
- If you have a timed OBJECT trigger on a square and a non-timed OBJECT trigger on the same square, then the non-timed OBJECT will adopt the timer value of the timed OBJECT. That’s why both the triggers will be timed, with the same timer.
But eg. if you have two timed ACTION triggers in the overlap then each ACTION will be able to apply its own timer (even if that “own timer” is 0, i.e. if the object isn’t timed).

See more about here what the overlapping rules are:
http://www.tombraiderforums.com/showthread.php?t=205393

d, The biggest positive/negative timer for OBJECT triggers is 127/-128 seconds.
The biggest positive/negative timer for A43 triggers is 63/-64 seconds.

But you can use:

- TIMER_FIELD trigger (overlapped with the OBJECT) for a bigger (maximum 511 seconds) positive timer, or
- TIMER_FIELD trigger (overlapped with the OBJECT) for a bigger (maximum 512 seconds) negative timer, or
- Organizer Script command with the ACTION for even a much bigger time.
(For example, a TriggerGroup of an Organizer command will activate a non-timed A43 at once, then, after a given time, the Organizer will activate a non-timed A44 in another TriggerGroup. – It will work as a usual, positive-timed OBJECT/A43.
Or: a TriggerGroup of an Organizer command will activate a non-timed A43 after a given time. – It will work as a usual, negative-timed OBJECT/A43.)

Positive timers will activate objects at once, but they will automatically deactivate it if the given time elapsed after the activation of the trigger.
Negative timers will activate objects if the given time elapsed after the activation of the trigger.

Notes:

- Don’t use a positive timer if it is illogical. For example, the creature won’t die or the rollingball won’t stop during the rolling if the timer has just expired. (However, it won’t cause a malfunction if you do that.)
- Though, the usage seems logical, never use negative timer on creatures. A creature will come to life at once, even if its trigger is negative-timed. (But it won’t cause a malfunction, if you do that.)
- Don’t use a timer in “ANTI” OBJECT triggers or A44, because it’s useless.
- Technically an object with a positive timer expired has an active status. (Which could be important eg. in a C14 trigger.)
- A52 will type the actual timer value of the given timed object on the screen.
- In the case of some objects, the timer must be implemented with OCB numbers. (See eg. the setup of SETH_BLADE trap.)

e, If you switch off a switch then the TRIGGER OBJECT below the switch will work like a deactivating trigger. It is not possible with TRIGGER A43 triggers, each usage of the switch will take the A43 as an activating trigger.

Notes:

- If an object cannot be deactivated (see eg. creatures) then naturally nothing will happen if you switch off the switch, either that is an OBJECT or an A43.
- By the way, not only the object of A43 won’t be deactivated. I mean, for example, FLIPEFFECT triggers cannot be deactivated, either. So each usage of the switch will activate the FLIPEFFECT overlapped with the SWITCH trigger.
- After all, you can use a trick to do something, if you switch on the switch, and to do the reverse of that something, if you switch off the switch:
SWITCH+TRIGGER triggers under the switch, as usual. The trigger is an F118. – The TriggerGroup of F118 contains these exported condition and executable triggers, in this order:
“if the switch is performing that one-framed loop animation which means the switch is on (C21)”, “then activate a trigger to do something”, “or else (see TGROUP_ELSE flag), if the switch is performing that one-framed loop animation which means the switch is off (C21)”, “then activate a trigger to do the opposite of that something”.

f, If the switch can be used more than once (according to its animations) then you should be careful if you time the switch:

- The positive timer affects the working of the switch:

= With OBJECT: Lara can’t use the switch physically, if the timer is just counting. The switch will automatically go back to “off” position when the timer expires. (This automatic reset is a usage, after all, i.e. it is able to activate A43 or FLIPEFFECT etc. in the overlap.)
= With A43: the switch is useable when the timer is counting and won’t go back automatically to “off” position if the A43 timer expires.
It could be useful, because, as I said above, A43 will be re-activated each time when you use the switch.
So if you want to keep the object active for a longer time, then move the switch into on/off position, again and again, restarting the timer again and again, while the timer is running.

- The negative timer affects the working of the switch:

= With OBJECT: Lara is able to move the switch back to “off” position even when the timer is counting. The timer will be stopped and reset to the start position now, the object won’t be activated.
If Lara doesn’t switch it back to “off” position when the timer is counting, then the switch remains in “on” position when the timer expires. If she switches it back now to “off” position, then the object will be deactivated, as usual.
= With A43: Lara is able to move the switch back to “off” position even when the timer is counting. As I said above, A43 will be re-activated each time when you use the switch, so this time the timer will restart, the object will be inactive for a longer time.
If Lara doesn’t switch it back to “off” position when the timer is counting, then the switch remains in “on” position when the timer expires. As I said above, A43 will be re-activated each time when you use the switch, so this time - if Lara switches it back to "off" position after the timer has expired - the object will be deactivated at once and the timer will restart to activate the object if the given time elapses.

- As you know, usually you type the timer at the SWITCH trigger, if you want to time the OBJECT trigger overlapped with it.
Or, as I said above, you can use even a timed A43, if you want. (This time you don’t need to type the timer at the SWITCH.)
But there is a third solution: non-timed SWITCH+OBJECT+TIMER_FIELD triggers in the overlap, resulting two nice features:

= The switch won’t go back to “off” position automatically when the positive timer expires. It is something that a positive-timed A43 will also do, but after that, something is possible with TIMER_FIELD which a positive-timed A43 cannot do: moving the switch back to “off” position, without activation.
So switch on the switch. Now the object will be activated. The object will be deactivated when the timer expires. The switch will remain in “on” position. Now move it back to “off” position - the object won’t do anything now -, then, if you want, switch it on again to activate the object and start the timer again.
= Aborting the positive switch timer:
So switch on the switch. Now the object will be activated. There is no timer typed in the SWITCH trigger, so you can move the switch back to the “off” position, before the timer expires. Now the timer will be aborted right away (stopped and reset to the start position), the object won’t be active. (In a similar situation, with a timed A43, the trigger would be activated again now to restart the timer.) Then switch it on again to activate the object and to start the timer again, if you want.

- The so-called “timer bug”: Be careful if it you use the positive timer with a SWITCH overlapped with an OBJECT trigger, to time that object, and if there are other executable triggers as well in the overlap, because that “other” trigger

= will be activated once again if the timer expires when Lara is at the switch, or
= will be activated once again if she is not there when the timer expires but she goes to the switch after that.

But it is true only, if the “other” trigger can’t adopt the timer adjusted at the switch (for example: FLIPEFFECT triggers).
However, the solution is: you need an “only once” situation: One Shot button, or the switch (according to its animations) can be used only once etc.

- Some switches will work in a weird/buggy way, if they are positive-timed (eg. LEVER_SWITCH).

g, You have an OBJECT trigger with One Shot and another OBJECT trigger without One Shot to activate the same thing. You used the first trigger to activate the object and then deactivated it with a third trigger. The trigger without One Shot will be useless after that. - I.e. the One Shot function will disable any other OBJECT trigger to activate the same thing.
It is not true with ACTION, so One Shot function will work only on the ACTION trigger where One Shot button is pressed, not affecting any other ACTION (or OBJECT) triggers to activate the same thing. (But OBJECT+One Shot will affect ACTION without One Shot.)

h, Trigger number buttons are useless in ACTION triggers. But they are useful with OBJECT triggers.

i, Miscellaneous:

- “Anti” OBJECT can’t work in COMBAT mode (because there is no “ANTICOMBAT”). A44 can.
- If you can activate an object then you can’t deactivate/re-activate it everyway.
For example, a SPRINKLER stops (deactivates) by itself, but you can’t activate it again, even if you apply a deactivating trigger, too, to make the object “active-able” again. (Anyway, using memory zones, you can control the SPRINKLER, including its restart.)
On the other hand, for example, you can’t stop active dart emitters with “anti” OBJECT triggers – but they will be deactivated if you try it with A44.
- If you save the game after little beetles were be emitted, and then load that savegame, sometimes you will realize that the trigger to activate them can be activated again, even if you use One Shot in those OBJECT triggers. But this bug is fixed if you use A43 with One Shot.
- ANIMATING objects having 666 typed in their OCB window will be active only if the conditions are all true. So it will be deactivated right away, if any of the conditions go false. – But only with OBJECT triggers to activate.

See more about here what I want to say about “if the conditions are all true”:
http://www.tombraiderforums.com/show...29#post7060929

- ACTION triggers don’t work for platform collisions. But you can use OBJECT activating trigger instead of DUMMY for the collision (though, OBJECT activating triggers will also activate the platform, if that has animations).

3. Number buttons – special setups for activation/deactivation

Both Set Trigger Type panel (STT) and OCB has five number buttons. The object will be active if 1, 2, 3, 4, 5 buttons are all pressed. – It doesn’t important if that happens in STT or OCB. So eg. if Button 1 is pressed in STT, that is equivalent with Button 1 being pressed in OCB.
These are the ways to press a number button:

- the button is pressed in the OCB panel of the object, or
- the button is pressed in the STT panel of the trigger that activates that object, and you have already activated the trigger.

By default, the Moveable objects are inactive, because:

- the OCB panel of the object have all the number buttons released, and
- you haven’t activated any trigger yet (with pressed number buttons) to activate that object.

If you activate an OBJECT trigger, that usually will activate the object, because usually all the number buttons are pressed at an OBJECT.
But be careful with the other buttons, if you released a button in STT, because you won’t have all the five buttons pressed now, if you activate that OBJECT.
For example, you release Button 5 in the OBJECT, so only Button 1, 2, 3 and 4 will remain pressed in the STT. So if you activate that OBJECT, then the object won’t be activated now – except if Button 5 is pressed in the OCB of the object.

Multitrigger setup (usually):


See that example again – the trigger has only Button 1, 2, 3 and 4 pressed.
If you don’t press Button 5 at the OCB, then the only way to press Button 5 only if you activate another OBJECT trigger to activate that object, and that other OBJECT has Button 5 pressed. – So you need two triggers to activate an object.

The feature won’t work in these cases:

- “anti” triggers, or
- triggers with One Shot pressed, or
- timed triggers.

These are the methods if you want to annul a trigger activation if the trigger is in a multitrigger setup:

- Eg. a PAD OBJECT and a SWITCH+TRIGGER OBJECT will activate an object with the multitrigger method. After that, Lara switches off the switch, the object will be deactivated. - Because, as I said, switches moving to “off” position back will deactivate the deactivate-able OBJECT triggers, including the number buttons of the trigger.
Switching on the switch again, the number buttons are active again, so the object will be activated again.

- Use A54 to define that object and then F255 to force the required value in "Object status. Five buttons + One Shot button (Byte)" Item Memory Zone field (previously known as “Custom Flags (Different flags in according with object type) (Byte)” field).

2 if Button1 is pressed
4: if Button2 is pressed
8: if Button3 is pressed
16: if Button4 is pressed
32: if Button5 is pressed

So eg. if you want to force an “only Button 1, 2 and 4 pressed” status, then you need to force 2+4+16=22.

Multitrigger setup (with switches):

See “Multi Switches to open Multi Doors” tutorial on TRF about the famous multidoor setup in TR1 Palace Midas.

Usually nothing “extra thing” will happen if you want to press a pressed button. – For example:
An object has Button 5 pressed. Now a trigger (having all the buttons pressed) to activate that object will be activated. The object will be activated, though you want to activate the active Button 5.
Multitrigger with switches and other multitrigger setups are different, because you need to apply binary operations between the pressed/released number buttons in the case of switch setups, it matters if you want to press a pressed button.

Automatic activation:

Press all the number buttons in the OCB of that object. So the object will be active right away when the level starts – “automatically”, i.e. without triggers.
It is useful for example because the triggers will affect that object in a special way now:

- Triggers to activate it (OBJECT, A43) will DEACTIVATE it. (It is a bit more complex than that with switches – see it below.)
- Triggers to deactivate it (“anti” OBJECT, A44) will deactivate it everyway – and, after that, triggers to activate it will work as usual.

That specialty lets you perform nice little tricks eg. like this:

Activating Trigger1 (TRIGGER OBJECT), that will deactivate the object.
Then activating Trigger2 (ANTITRIGGER OBJECT), for the same object, that will do nothing (because the object is just deactivated).
Then activating Trigger1 (TRIGGER OBJECT) again, that will activate the object.

And one more thing - if a timed trigger wants to activate (!) the object which has been activated automatically before, then:

- With positive timer, the object will be deactivated (!) at once, then it will be activated automatically after the timer expires. (The next usage of this timed trigger will do the same immediate deactivation+timed activation. Or, deactivate the object with another, non-timed TRIGGER before, so the next usage of this timed trigger only will activate it if the time expires.)
- With negative timer, nothing will happen, then the object will be deactivated when the timer expires. (The next usage of this timed trigger will activate the object at once, then deactivate it when the time elapses.)

The timed triggers will work “normally” after the “anti” trigger.

Notes:

- The “all the OCB number buttons are pressed” type active status is not active technically. (Which could be important eg. in a C14 trigger.)
- Don’t activate creatures with automatic activation – including any other objects which cannot be deactivated.
(The reaction is different. For example, if you want to activate a baddy automatically then the game will crash when the level starts.
But if it is a sentry gun then the gun will start acting in a weird way if you activated it in the automatic way.)
- The automatic activation could be very useful to prevent the “unwanted deactivation” bug.
For example, active WATERFALLMIST objects will always be deactivated automatically if a savegame has been loaded.
But if a WATERFALLMIST has five OCB number buttons pressed then the WATERFALLMIST always will be activated again and again if that is not active – so it will be activated when the level starts and when a savegame has been loaded.
(If you don’t want a WATERFALLMIST to be active when the level starts, then use other tricks, instead of the automatic activation. See eg. GT_ALWAYS or GT_LOADED_SAVEGAME GlobalTriggers.)
- So the automatic activation will reverse the meaning of the triggers. – Let’s see an example for that, with switches:
A TRIGGER OBJECT overlapped with a SWITCH will activate an object. But this object has all the OCB number buttons pressed. So the object will be active just when the level starts. So if Lara moves the switch (at first time) then the object will be deactivated, and if she moves the switch (again) then the object will be active again.
It is useful eg. if you need a switch, that can be used only once (according to its animation), to DEACTIVATE an object. – Naturally it also works if the TRIGGER under the switch is an A44, not an OBJECT, and the object OCB buttons are all released.
But there is an important difference: as I said above, the meaning of the trigger for automatically activated objects will be normal after antitriggering. So, that “once-switch” will deactivate the active object, but if Lara uses that switch not now, but later, after using an “anti” trigger for the object, then that “once-switch” will activate the deactivated object. – That A44 is unable for this kind of tricks (maybe only with some more complicated way).

HEAVYSWITCH triggers:

HEAVYSWITCH is mostly used if you want a given pushblock to activate a given trigger.

Here is an example about a pushblock HEAVYSWITCH setup:

We have two doors (A and B) and two pushblocks (A and B).
We want PUSHABLE_OBJECT A to open Door A and PUSHABLE_OBJECT B to open Door B. – Now the setup has three parts:

- Press Button 1 at Pushblock A and press Button 2 at Pushblock B. (In fact, you can press any number button, but you cannot use the same button once again in the setup.)
- Place two HEAVYSWITCH triggers. One of the HEAVYSWITCHes (HS A) will activate Door A. The other HEAVYSWITCH (HS B) will activate Door B. HS A will be connected to Pushblock A with pressing the same button (Button 1) in the STT. HS B will be connected to Pushblock B with pressing the same button (Button 2) in the STT.
- In HS A, only the pressed button (Button 1) will be activated for Door A. That’s why Door A must have Button 2, 3, 4 and 5 pressed. In HS B, only the pressed button (Button 2) will be activated for Door B. That’s why Door B must have Button 1, 3, 4 and 5 pressed.

Notes:

- HEAVYSWITCH triggers can be activated only once by themselves so you don’t need One Shot button for them.
But you can time HEAVYSWITCHes.
- You can combine multitrigger with HEAVYSWITCH, so eg. if you want two HEAVYSWITCH triggers to activate only together a thing.
For example:

PUSHBLOCK A (1, 2 pressed in OCB) for HEAVYSWITCH A (1, 2 pressed in STT) to open DOOR
PUSHBLOCK B (3 pressed in OCB) for HEAVYSWITCH B (3 pressed in STT) to open DOOR
DOOR (4, 5 pressed in OCB)

Or – now you don’t need OCB number button(s) pressed at the door, because the triggers will activate all the five buttons for the door:

PUSHBLOCK A (1, 2, 5 pressed in OCB) for HEAVYSWITCH A (1, 2, 5 pressed in STT) to open DOOR
PUSHBLOCK B (3, 4 pressed in OCB) for HEAVYSWITCH B (3, 4 pressed in STT) to open DOOR

4. ItemGroups

ItemGroup Script commands will define a bunch of Moveable or Static objects. There are some FLIPEFFECT triggers that use an ItemGroup ID as a parameter. If you activate that FLIPEFFECT then that affects all the objects that belongs to that ItemGroup:
These FLIPEFFECTs are to activate/deactivate Moveable objects:

- F145 will activate all the objects of the given Moveable ItemGroup.
- F146 will deactivate all the objects of the given Moveable ItemGroup.

Note:
You can create maximum 99 ItemGroup commands for each level, choosing ID’s for them from a 1, 2, 3,… 998, 999 interval. However, the biggest ItemGroup ID for F145 and F146 triggers is only 255.

Made using TRNG 1.2.2.7.

Last edited by AkyV; 16-10-15 at 14:21.
AkyV is online now  
Closed Thread

Bookmarks

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 22:02.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.