Lua Script API: General Functions - Lokitot/FNF-SoulEngine GitHub Wiki
Character Functions
characterPlayAnim(character:String, anim:String, forced:Bool = false)
- character - Can be
boyfriend,dadorgf - anim - Animation name to be played
- forced - Can be either
trueorfalse, if set totrue, it will force the animation to reset if the current animation is the same as the animation to play
characterDance(character:String)
Makes character do the idle dance
character- Can beboyfriend,dadorgf
getCharacterX(type:String)
Gets the general X position of a character from the type type
type- Can beboyfriend,dadorgf
setCharacterX(type:String)
Sets the general X position of a character from the type type, this will also move all precached characters from the same type into the position you want
type- Can beboyfriend,dadorgf
getCharacterY(type:String)
Gets the general Y position of a character from the type type
type- Can beboyfriend,dadorgf
setCharacterY(type:String)
Sets the general Y position of a character from the type type, this will also move all precached characters from the same type into the position you want
type- Can beboyfriend,dadorgf
Score/Accuracy Functions
addScore(value:Int = 0)
Adds value to the current song's score and recalculates rating
setScore(value:Int = 0)
Set the current song's score to value and recalculates rating
addMisses(value:Int = 0)
Adds value to the current song's misses total and recalculates rating
setScore(value:Int = 0)
Set the current song's misses total to value and recalculates rating
addHits(value:Int = 0)
Adds value to the current song's notes hit total and recalculates rating
setHits(value:Int = 0)
Set the current song's notes hit total to value and recalculates rating
setRatingPercent(value:Float)
Sets the rating percent in case you want to do your own rating calculation.
value - Should go from 0 to 1 but can actually be whatever value you want, but it's kinda stupid to get out of the base values.
setRatingString(value:String)
Sets the rating name to value in case you want to do your own rating calculation.
value- Should go from0to1but can actually be whatevervalueyou want, but it's kinda stupid to get out of the base values.
setRatingString(value:String)
Sets the rating name to value in case you want to do your own rating calculation.
Key Press Functions
keyJustPressed(name:String)
Get if the key name just got pressed on the current frame.
Keys: 'left', 'down', 'up', 'right', 'accept', 'back', 'pause', 'reset', 'space'
keyPressed(name:String)
Get if the key name is being held on the current frame.
Keys: 'left', 'down', 'up', 'right', 'space'
keyReleased(name:String)
Get if the key name was released on the current frame.
Keys: 'left', 'down', 'up', 'right', 'space'
Mouse Click functions
mouseClicked(name:String)
Get if the mouse button name just got pressed on the current frame. leave 'name' blank for left mouse
Buttons: 'left', 'right', 'middle'
mousePressed(name:String)
Get if the mouse button name is being held on the current frame.
Buttons: 'left', 'right', 'middle'
mouseReleased(name:String)
Get if the mouse button name was released on the current frame.
Buttons: 'left', 'right', 'middle'
Mouse Position Functions
getMouseX(camera:String)
Returns the relative mouse X position on a specific camera
camera - Can be either game, hud or other
getMouseY(camera:String)
Returns the relative mouse Y position on a specific camera
camera - Can be either game, hud or other
Other Functions
triggerEvent(name:String, arg1:String, arg2:String)
Triggers an event without you having to chart them.
name- Event name on Chart Editorarg1- Value 1 on Chart Editorarg2- Value 2 on Chart Editor
addLuaScript(path:String)
Loads another .lua script.
path- Path to LUA relative to the base folder
getColorFromHex(color:String)
Get the color decimal ID from an Hexadecimal value (color).
Example: To get orange, you should use getColorFromHex('FF7800') or getColorFromHex('0xFFFF7800')
getSongPosition()
Returns the current song position. Shortcut to getPropertyClass('Conductor', 'songPosition')
Camera Functions
cameraShake(camera:String, intensity:Float, duration:Float)
camera- "game", "hud" or "other"intensity- How far away should it shake, recommended value is0.05duration- Time duration for it to shake
cameraSetTarget(target:String)
Makes the camera focus on a specific target
target- Target can be eitherboyfriendordad
cameraFlash(camera:String, color:String, duration:Float,forced:Bool)
camera- "game", "hud" or "other"color- color of flashduration- Time duration for it to flashforced- restarts flash or not
cameraFade(camera:String, color:String, duration:Float,forced:Bool)
camera- "game", "hud" or "other"color- color of fadeduration- Time duration for it to fadeforced- restarts fade or not
Debug Functions
debugPrint(text1, text2, text3, text4, text5)
-
Prints a debug message on the top-left corner of the screen
-
All values are optional
-
You can have up to 5 values to be printed.
Example: debugPrint("Current boyfriend character: ", getProperty("boyfriend.curCharacter"));
This will print the following message: Current boyfriend character: bf
close(printMessage:Bool)
Stops your script in the next 100 miliseconds.
printMessage- Wether you want a warning to show on the top-left corner of the screen or not