An interactive rotating combination lock that will trigger another event when the correct combination is selected. The lock has a variable number of dials.
Rune Combination Lock package.
Creating a controller
Create a controller by dropping the
RuneLock_Controller template into the world or by attaching the
runeLockControllerScript to an existing entity.
Add an event to the controller’s
On Correct Combination event. This event
passes two arguments, the
entity of the controller and the
player that selected
the correct combination.
If no event is added or the event has been accidentally deleted, the controller will display a warning message in console.
[Server] RuneLockControllerScript - Warning: OnCorrectCombination event has no bindings for 'runeLock_Controller1'
An example event might be something to open/unlock a door, disarm a trap, move a platform or show a secret portal.
runeLockControllerScript has a function named
that can be used for testing purposes. It will display a message to the
console when the event is triggered.
Auto Reset will wait for the delay defined by
After this delay, the controller will reset each dial’s position, and the
Reset Event will be executed.
Example events might be close/lock a door, re-arm a trap, reset a platform to its starting position or hide a secret portal.
If you want to reset the lock when the player enters a trigger, the lock can be reset manually by calling either
Add a dial by dropping the
RuneLock_Dial template onto the controller. The dial needs to be a child of the controller.
The dial will automatically verify that it is the child of a controller.
If the dial is not a child of a controller, a warning message will appear in the console after about five seconds.
The controller will also automatically check for dials attached as children.
If none are found, it will display a warning message in the console.
These warnings look like this:
[Server] RuneLockControllerScript - Warning: No children with 'runeLockDialScript' found for 'runeLock_Controller1' [Server] Warning: runeLock_Dial1 is not a child of a parent controller
To fix it, move the
runeLock_Dial1 entity so that it is the child of the
The dial settings are located in the script
runeLockDialScript which is attached to the
runeLock_Dial1 -> dial -> runeLockDialScript.
These are references to the light/sound entities. They can be changed or removed by clicking the
Randomize - The default rune will be randomized. The randomized rune will not be the
Default Index - Choose one of fifteen positions. The runes appear multiple times. For example,
P2 is the second
Rotation Time - How long it takes the dial to rotate one position in seconds.
Correct Rune - Each dial has fifteen positions but only six possible runes. Choose one of six runes to be the correct rune. The active rune/index is indicated by the light entity.
A simple three-dial combination lock is included as an example.
The combination is