Docs / Scripting Events
Scripting events allow you to dynamically control parts of your game based on interactions from the player. Use them to connect scenes together, to give dialogue to your characters or to create cutscenes.
When either a scene, an actor or a trigger is selected in the World Editor, the Editor Sidebar will contain an Add Event button at the bottom right corner, click this to add new events. If any events have already been defined they will be listed here with the topmost event being the first that will be run.
When adding events to actors they will run when the player stands next to that actor and presses the interact button. Events on triggers run when the player stands on top of the trigger which is useful for creating doorways between scenes. Events on scenes run as soon as that scene is loaded which is useful for configuring the scene based on values of variables or to kick off a cutscene.
After clicking the Add Event button a menu will appear to choose the event to add. If you start typing you can filter this list or you can scroll through it to find what you’re looking for. Click an event or press the Enter key to add the highlighted event to your script.
Copy / Paste
Clicking the down arrow next to an event name in a script shows a dropdown menu where you can copy an event to your clipboard. Clicking this on another event allows you to paste the clipboard event either before or after the selected one or to just paste the values from the first event into the second.
Text: Display Dialogue
Show a dialogue box with up to three lines of text, 18 characters per line (16 on the third line), at the bottom of the game screen. This will likely be the most used script command for interacting with actors in your game.
When text is shown the dialogue box will slide up from the bottom of the screen and will slide down after it has been shown.
New in 1.1.0
- Using the + button you can create a dialogue sequence which will only close after the last message has been displayed.
- You can display any of the first 100 variables in a text box by using the variable’s identifier $00$ to $99$.
Text: Display Multiple Choice
Present two options to player allowing them to make a choice, will set the specified variable to true if the first option is chosen and to false if the second option is chosen.
Text: Set Animation Speed New in 1.1.0
Set the speed that dialogue boxes appear and disappear and how fast text appears within the box.
Scene: Switch Scene
Transition to a new scene with player at a specified position and direction. A connection line will be drawn between the source of the event and the destination scene with a icon appearing at the destination position. It’s possible to drag this icon around and between scenes to modify the event.
Scene: Store Current On Stack New in 1.1.0
Store the current scene and player state on to the scene stack, this allows you to return to this exact location later using the Scene Restore events. A common use of this event would be to include in a script just before a Switch Scene event to open a menu scene, in the menu scene you could wait for the player to press a close button and then use the Restore Previous From Stack event to return to where the player opened the menu.
Scene: Restore Previous From Stack New in 1.1.0
Transition to the last stored scene from the scene stack using the specified fade speed. The previous scene will then be removed from the stack so the next time this event is used it will transition to the scene before that.
Scene: Restore First From Stack New in 1.1.0
Transition the very first scene stored on the stack, for instance if you had multiple levels of menu scenes you could use this to imediately return to the game scene. This event will cause the scene stack to become empty.
Scene: Empty Scene Stack New in 1.1.0
Clears the scene stack so that no previous scenes can be restored.
Variable: Set To ‘True’
Set the value of the specified variable to true.
Variable: Set To ‘False’
Set the value of the specified variable to false.
Variable: Set To Value
Set the specified variable to a defined value.
Variable: Increment By 1
Increase the value of the specified value by one, up to a maximum of 255. If the value was previously false it will now be 1 (and also true), if it was previously true it will now be 2.
Variable: Decrement By 1
Decrease the value of the specified value by one, down to a minimum of 0. If the value was previously true it will now be 0 (and also false).
Variable: Math Functions New in 1.1.0
Allows you to perform various maths functions on a variable to add/subtract/multiply/divide/modulus a value/variable/random number.
Note: Variables have max values of 255 and will wrap if increased above 255 or below 0.
Variable: Reset All Variables To ‘False’
Reset all variables used by your project back to false.
Control Flow Events
If Variable Is ‘True’
Conditionally execute part of the script if the specified variable is set to true.
If Variable Is ‘False’
Conditionally execute part of the script if the specified variable is false.
If Variable Compare With Value
Conditionally execute part of the script if the specified variable matches a rule, such as “Equal To”, “Greater Than” or “Less Than” against a value.
If Variable Compare With Variable New in 1.1.0
Conditionally execute part of the script if the specified variable matches a rule, such as “Equal To”, “Greater Than” or “Less Than” against a second variable.
If Joypad Input Pressed
Conditionally execute part of the script if the specified joypad input is currently pressed. Will not wait for user input so use directly after a Joypad Input: Pause Script Until Pressed event if waiting is required. Event will only execute once, if you wish to run a script every time a button is pressed use Joypad Input: Attach Script To Button instead.
If Actor At Position
Conditionally execute part of the script if the specified actor is at a certain position in the scene.
If Actor Facing Direction New in 1.1.0
Conditionally execute part of the script if the specified actor is facing a certain direction.
If Game Data Saved New in 1.1.0
Conditionally execute part of the script if there is a saved game available.
Execute part of the script in a loop forever. Remember to break out of the loop otherwise the player will become stuck at this point. You can use a Stop Script or Switch Scene event to stop the loop.
Event Group New in 1.1.0
Provides no functionality but allows you to group a sequence of events together and give them a label (using the Rename Event option on the event menu) and collapse the events into a single block.
Stops the current script from running.
Camera: Move To
Move the camera to a specifed position in the scene.
Camera: Lock To Player
Move the camera back to focusing on the player, locking into position when the player moves.
Shake camera effect for up to 10 seconds.
Screen: Fade In
Fade the scene to a white screen.
Screen: Fade Out
Fade the scene in from a white screen.
Actor: Set Direction
Set the facing direction of the specified actor.
Actor: Set Position
Set the position in the scene of the specified actor.
Actor: Set Position Using Variables New in 1.1.0
Set the position in the scene of the specified actor from the values of two variables.
Actor: Set Relative Position New in 1.1.0
Set the position in the scene of the specified actor relative to their current position.
Actor: Move To
Make the actor walk to a specified position in the scene. Actor will ignore all collisions along path so combine multiple of these events if you need to specify an exact path avoiding obstacles in the scene.
Actor: Move Relative New in 1.1.0
Make the actor walk to a position relative to their current position.
Actor: Move To Using Variables New in 1.1.0
Make the actor walk to a position from the values of two variables.
Actor: Store Position In Variables New in 1.1.0
Store the current position of an actor into two variables.
Actor: Push Away From Player
Push an actor in the direction the player is currently facing. By default pushes by one tile, but can optionally slide until a collision occurs.
Actor: Emote Bubble
Display an emote bubble above the specified actor from one of Shock, Question, Love, Pause, Anger, Sweat, Music and Sleep. You can change the graphics used for these bubbles by editing the UI Elements of your game.
Actor: Set Animation Frame New in 1.1.0
Set the current animation frame of the specified actor.
Actor: Set Animation Speed New in 1.1.0
Set the animation speed of the specified actor.
Actor: Set Movement Speed New in 1.1.0
Set the movement speed of the specified actor.
Actor: Set Player Sprite Sheet
Change the player sprite sheet from the default defined in the Project Editor. Changes to the player sprite sheet will persist between scene transitions so make sure to change it back if the change was supposed to be temporary.
Actor: Invoke Script New in 1.1.0
Call the script on another actor in the scene as if the player had interacted with that actor.
Hide an actor so it is no longer visible. Hidden actors will no longer cause collisions and will not be able to be interacted with. You can hide the player on a Scene Start Script to make menu and title screens.
Unhide a previously hidden actor.
Sprites: Hide All
Hide all sprites in scene. Can be useful to create cutscenes where the player should not be visible by adding to a scene’s starting script.
Sprites: Show All
Show all sprites that were previously hidden.
Show either a black or white window over the top of the current game screen. Can be used to obscure and then reveal parts of the scene background for example on the sample project logo screen.
Hides the screen overlay.
Overlay: Move To
Moves the overlay to a new position on the screen.
Joypad Input: Pause Script Until Pressed
Pauses the script until one of the specified joypad inputs are pressed.
Joypad Input: Attach Script To Button New in 1.1.0
Execute the specified script any time a joypad input button is pressed. If you attach scripts to a direction button or the A button the scripts will override the default game actions.
Joypad Input: Remove Attached Script New in 1.1.0
Remove an attached script from a joypad input button restoring the default functionality of the button.
Music: Play Track
Plays a music file, optionally looping the file when finished.
Stops any currently playing music.
Pause script for up to 10 seconds.
Game Data Events
Game Data: Save New in 1.1.0
Save the current game data.
Game Data: Load New in 1.1.0
Load the previously saved game data.
Game Data: Clear New in 1.1.0
Remove any previously saved game data.