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

Closed Thread
Thread Tools
Old 22-02-14, 19:19   #1
Gold Contributor
KurtisandLara's Avatar
Join Date: Oct 2008
Location: Nebraska, USA
Posts: 5,090
Default TRNG - Placing Special objects


- Requirements -
And pickups/levers

So TRNG comes with this great Action trigger -
; Set Trigger Type - ACTION 34
; Exporting: TRIGGER(34:0) for ACTION(594)
; <#> : ITEM
; <&> : Move. Move to direction you want to move
; (E) :   X ammount of clicks  
; Values to add in script command: -, -, -
everything in bold is going to change depending on the item whether it be a pickup or a switch or what have you.

You can place a pickup on any part of any sector in the editor Like this (I changed the floor texture so you can see the complete sector) -

As you can see the big medi is placed at the corner of this sector by combining these 2 action triggers
; Set Trigger Type - ACTION 34
; Exporting: TRIGGER(34:0) for ACTION(594)
; <#> : BIGMEDI_ITEM               ID 594    in sector (5,2) of Room33
; <&> : Move. Move to south <#>animating for (E) clicks
; (E) :   1 clicks  
; Values to add in script command: $5000, 594, $22
; Set Trigger Type - ACTION 33
; Exporting: TRIGGER(33:0) for ACTION(594)
; <#> : BIGMEDI_ITEM               ID 594    in sector (5,2) of Room33
; <&> : Move. Move to east <#>animating for (E) clicks
; (E) :   1 clicks  
; Values to add in script command: $5000, 594, $21
Lara will still pickup the medi like normal without standing in the middle of the sector! You can combine action triggers like these 2 and use other pickups like keys, quest items and other objects! You can also place multiple objects on the same square and use different directions to have multiple objects on the same square. -

Now i want to show you that you can use Action triggers just like the ones above to increase gameplay with other objects like "switches".
I placed the switch normally in my map and placed its required triggers (door trigger and the switches "switch" trigger). Then i went and placed this action trigger where i knew lara would definitely step on it before entering this room.
; Set Trigger Type - ACTION 32
; Exporting: TRIGGER(288:0) for ACTION(489)
; <#> : SWITCH_TYPE3               ID 489    in sector (7,6) of Room28
; <&> : Move. Move to north <#>animating for (E) clicks
; (E) :   2 clicks  
; Values to add in script command: $5000, 489, $120
NOTE: Remember that the "Move. Move to north <#>animating for (E) clicks" will definitely be different depending on each level and room. Room orientation depends on the 2D Map. Im assuming you all know this by now though.
Now that lara has stepped on the trigger to move the switch north, the switch now sits in between 2 sectors. -

And works perfect!
As you can see this can be customized even more just be creative!
[COLOR="red"]NOTE: This has been tested and works with keyholes aswell.

Using triggergroups to save up triggers
You can obviously use these action triggers in triggergroups to save on having to place a new trigger every time you enter a new room.
In NGCenter simply use the "Triggergroup= X" (Change X to triggergroup ID) Script command and then take the values from the exported script triggers (See bold)-
; Set Trigger Type - ACTION 32
; Exporting: TRIGGER(288:0) for ACTION(489)
; <#> : SWITCH_TYPE3               ID 489    in sector (7,6) of Room28
; <&> : Move. Move to north <#>animating for (E) clicks
; (E) :   2 clicks  
; Values to add in script command: $5000, 489, $120
Copy the values and place them into your triggergroup. I have already placed a triggergroup in my script to move 2 switches north.
This is my triggergroup-
triggergroup=   9, $5000, 489, $120, $5000, 488, $120
you can keep adding more action triggers to this script.
Here is a link to a tutorial on how to use triggergroups

More possibilities
Credits to Krystian for this info.
Like i said be creative!
"I experimented with the "move" actions some time ago and came to the conclusion that it works for pretty much anything in fact (with only few exceptions)!
You can change the positions of poleropes, ziplines, tightropes, swingpoles, etc. using these and they will still work perfectly fine.

The most useful of these would be changing the positions of swingpoles. Sometimes a builder is trying to set up a "path" of swingpoles to reach some place. However, he/she tries to tweak the heights of the swingpoles and no matter what, lara just can't reach one of the poles (this is usually the case for the original TRC swingpole animations and not Symsi's set where the jump arc is more predictable).
The action triggers allow more finetuning and also moving them closer/farther apart.

You can also use these action triggers on flame emitters giving range to a whole new variety of gameplay! Experiment !
NOTE: I haven't tested out how it would work with ropes, but I'll give it a go in the near future to find out.

Please feel free to add to this tutorial!
Pull the lever kronk!

Last edited by KurtisandLara; 24-02-14 at 13:23.
KurtisandLara is offline  
Old 25-02-14, 21:15   #2
Join Date: May 2010
Posts: 857

I will show some additional examples of uses for the action triggers.


We have the following situation.
There is a 2x2 sector room that we put a polerope object in.

Here is what it looks like in game.

But... wouldn't it look better if we could somehow put it in the center of the room? Well, we can!

Use two move triggers for your pole object, adjusting the directions according to its original NGLE placement:
; Set Trigger Type - ACTION 34
; Exporting: TRIGGER(290:0) for ACTION(1)
; <#> : POLEROPE                   ID 1      in sector (2,2) of Room1
; <&> : Move. Move to south <#>animating for (E) clicks
; (E) :   2 clicks  
; Values to add in script command: $5000, 1, $122

; Set Trigger Type - ACTION 35
; Exporting: TRIGGER(291:0) for ACTION(1)
; <#> : POLEROPE                   ID 1      in sector (2,2) of Room1
; <&> : Move. Move to west <#>animating for (E) clicks
; (E) :   2 clicks  
; Values to add in script command: $5000, 1, $123
NOTE: Remember that you can use triggergroups for bulk amounts of triggers to save up on trigger limits.

This is the result we get from the above:

As you can see, the pole is in the center of the room, where the 4 sectors meet, but Lara still can climb the pole properly. Isn't that nice?


Besides the info mentioned in the previous post, you can also adjust the swingpole positions according to room and object geometry...

We have a room with swingpoles.
However, maybe we would like to somehow adjust the length of a pole to be shorter (or longer).

While we can't really change its length, we can move part of it into the wall...

Now we have a somewhat opposite situation. There is a swingpole sticking out of an object (decorative pillar). However, the objects "eats" a part of the swingpole.

We can move it out more, so we can use its entire length again.


With emitters and move triggers, you can create a whole range of effects, traps, etc.

Here is an example that uses the triggers, along with an organizer:

As you can see, this extends the already wide range of things you can achieve with NGLE. Experiment and be creative!

Pin-point accuracy

You can also use more precise move triggers, that allow you to move the objects around by increments of 8 units (The previous allowing you to move objects by clicks - that is 256 units).
; Set Trigger Type - ACTION 65
; Exporting: TRIGGER(65:0) for ACTION(21)
; <#> : PARALLEL_BARS              ID 21     in sector (1,5) of Room5
; <&> : Move. Move to north <#>animating for (E)units (one sector = 1024)
; (E) : Units =    8 
; Values to add in script command: $5000, 21, $41
This can be used to move something to a very specific part of a sector or object.

Faster movement
You may have noticed that the moving process doesn't happen instantaneously.
While this can remain unnoticed to the player when the triggering happens at a later point in the level, the moved objects being hidden behind walls, there is a problem when the object is at the very beginning of the level, it the player's direct sight. This can be avoided by either hiding the object in a similar manner, or....

With the Customize= script you can change the speed of the occuring movement - to the point that it becomes impossible, or at least really difficult to notice.
Here is the script:

X is the speed of moving, 32 by default (32 units per frame). You can increase this to something much higher, e.g. 512 or even 1024.
Please note however, that this changes the speed universally for the move triggers, so if you will use the triggers for a different purpose, it will use the same speed each time. This can be undesired if you want to have something slowly move to a certain point, like a ladder dropping down, object moving out of Lara's path by some force, and so on.

There is an exception - Animatings. The speed they use during moving is their OCB value. So an Animating object with an OCB of 16 will move at a speed of 16 units / frame, remaining unaffected by the aformentioned Customize script.

Objects that won't work

Door objects will not work properly with the triggers. This is due to the unique way these objects interact with the geometry of rooms.
They create a collision block that prevents Lara from passing through the door when it's closed. Interfering with this may cause unpredictible results...

Experimenting is the key

So, this concludes my little addition to the tutorial. I might update it if I happen to find anything interesting. I'm sure there is a lot more to be discovered, so maybe you will come up with an clever use for these.
Remember to experiment with the triggers on different objects, you might get some very interesting results. The worst case scenario is that something will stop working like it should (perhaps even crash the level), in which case you can always remove the trigger and all should be fine again. But that is rather unlikely to happen, so I'd really recommend playing around with this effect if you have a basic knowledge of NGLE triggers.

Last edited by Krystian; 26-02-14 at 10:52. Reason: Some spelling, A_De's update below.
Krystian is offline  
Old 26-02-14, 09:37   #3
A_De's Avatar
Join Date: Jan 2012
Location: Beyond trf
Posts: 1,254

A small addition (tested on TRNG and
1) Lara CAN interact with pushables if move action applied to them. However after pushing or pulling the object will take it's original position in the center of sector. A workaround I use is a heavy trigger moving pushable again and fixed camera. So using moving actions on pushables is very limited.

Here's the sample of the action applied to pushable (and also a large spoiler, will be deleted automatically soon )

Player can not see the destination point for pushable at 3-d screenshot because of fixed camera activated on pushing animation condition. Otherwise it would be ugly.

2) The move action triggers should not be applied to Lara if you use jumping between levels. Otherwise there will be the critical bug: nothing is visible except Lara and horizon.

Last edited by A_De; 26-02-14 at 10:20.
A_De is offline  
Closed Thread


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 23:19.

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