-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Lua Script API
ShadowMario edited this page Nov 23, 2022
·
55 revisions
It's highly recommended for you to install it, as it makes everything easier for you to code in LUA as you don't have to memorize the functions.
There's six types of LUA Scripts you can run:
- A Stage Script, it will only run if the song's stage has been set to the same as its name, it should have the same name as your stage's .json file and should be located inside mods/stages/
- A Note Type Script, it will only run if the said Note Type is being used on the chart, it should be located inside mods/custom_notetypes/
- An Event Script, it will only run if the said Event is being used on the chart, it should be located inside mods/custom_events/
- Song's Script(s), they should be saved inside the song's chart folder, it will only run on this specific song, no matter the difficulty, stage or whatever else.
- Character Script, it will only be run if the specified character is used on the current song. You can use variables
dadName
,boyfriendName
andgfName
to check the current character used's name. (if dadName == 'pico'
for example) - Global Script, it should be saved in mods/Your-Mod-Name/scripts/, it will run in all songs/difficulties, with no exceptions.
- Variables
- General Functions
- Tweens and Timers
- Value Setting and Getting Functions
- Functions for Dialogues and Cutscenes
- Custom Sprites/Objects
- Precaching Stuff
- Template Script with all Callbacks explained
- Example of Triggering an Event via Lua - Change Characters on Key Press/Precaching characters
- Tween Example - Boyfriend gets bigger on his turn
- Animated Sprite Example - Dad clone behind Dad that bops head on Beat hit
- Dialogue Script - Drop this file + your dialogue.json in your Song's chart folder!
- Video Example - Cutscene on Bopeebo (Story Mode)
- Example of a Custom Event - Opponent Fade
- Example of a Custom Note Type - Instakill Note
- Example of a Custom Stage - Copy of Week 1 Stage made fully in LUA
- setPropertyFromClass - Changing Game Over Sprites/Sounds
FOR MORE ADVANCED USERS: