Lua Script API General Functions - Marcos875433/FNF-PsychEngine GitHub Wiki
Character Functions
characterPlayAnim(character:String, anim:String, forced:Bool = false)
character
- Can beboyfriend
,dad
orgf
anim
- Animation name to be playedforced
- Can be eithertrue
orfalse
, 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
,dad
orgf
getCharacterX(type:String)
Gets the general X position of a character from the type type
type
- Can beboyfriend
,dad
orgf
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
,dad
orgf
getCharacterY(type:String)
Gets the general Y position of a character from the type type
type
- Can beboyfriend
,dad
orgf
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
,dad
orgf
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 from0
to1
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.
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'
keyPressed(name:String)
Get if the key name
is being held on the current frame.
Keys: 'left'
, 'down'
, 'up'
, 'right'
keyReleased(name:String)
Get if the key name
was released on the current frame.
Keys: 'left'
, 'down'
, 'up'
, 'right'
Mouse Position Functions
getMouseX(camera:String)
Returns the relative mouse X position on a specific camera
camera
- Can be eithergame
,hud
orother
getMouseY(camera:String)
Returns the relative mouse Y position on a specific camera
camera
- Can be eithergame
,hud
orother
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
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.05
duration
- Time duration for it to shake
cameraSetTarget(target:String)
Makes the camera focus on a specific target
target
- Target can be eitherboyfriend
ordad
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