Psych Engine Logo
Psych Engine - Lua Script API

Variables


All of these variables can be accessed directly in Lua without the need of any functions like "getProperty", changing them however, will have no direct effect in other scripts or in the game itself.


Lua Scripting Variables

  • luaDebugMode - Toggles showing errors. Default value: false
  • luaDeprecatedWarnings - Shows functions that should be replaced by newer ones. Requires luaDebugMode to be true. Default value: true

  • scriptName - Where the Lua Script running is located.
  • modFolder - Mod Folder the Lua Script is running in.
  • currentModDirectory - Mod Folder of the Custom Week being played, empty on Base Game Weeks.

  • Psych Engine Information Variables

  • version - Psych Engine's Version String.
  • buildTarget - What kind of build of Psych you're running, can be: "windows", "windows_x86" or "linux".

  • Function Return Variables

  • Function_StopLua - Stops the function from being called only in the next Lua Scripts.
  • Function_StopHScript - Stops the function from being called only in the next HScripts.
  • Function_StopAll - Stops the function from being called in the next Lua Scripts and HScripts.
  • Function_Stop - Cancels functions like startCountdown or endSong, used mostly for cutscenes.
  • Function_Continue - Once your script runs, continues like normal.

  • flixel.FlxG Variables

  • screenWidth - FlxG.width
  • screenHeight - FlxG.height

  • Song Variables

  • songName - Instrumental's name, as seen in the Pause Screen.
  • songPath - Formatted version of songName, all letters in lowercase and replacing spaces with hyphens.
  • loadedSongName - Song name from Freeplay/Story Menu.
  • loadedSongPath - Formatted version of loadedSongName, all letters in lowercase and replacing spaces with hyphens.

  • bpm - Starting BPM.
  • songLength - Song length in milliseconds.
  • startedCountdown - If the Countdown already started, starts at false.
  • seenCutscene - False on the first try in a Song, set to true when you Restart Song or get blueballed, used for Cutscene checking.
  • inGameOver - Are you in Game Over Screen? Starts at false.

  • Chart Variables

  • chartPath - Directory of the chart, including the file extension.
  • curStage - Song's Stage as seen in the Chart Editor.
  • scrollSpeed - Starting Scroll Speed.
  • hasVocals - Song has Vocals enabled.

  • Difficulty Variables

  • difficulty - Difficulty ID.
  • difficultyName - Original Difficulty Name.
  • difficultyPath - Formats difficulty name to be in lowercase and start with an hyphen, Empty on Normal difficulty.
  • difficultyNameTranslation - Translated Difficulty Name.

  • Story Mode/Week Variables

  • isStoryMode - Boolean value of the game mode.
  • weekRaw - Week ID.
  • week - Week Name as found in weeks/ folder.

  • Section Variables

  • curBpm - BPM at the current section.
  • curSection - Section ID.
  • curBeat - Current beat ID.
  • curStep - Current Step ID.
  • curDecBeat - Current beat ID, but it shows in its decimals cases how far away it is from the next beat.
  • curDecStep - Current step ID, but it shows in its decimals cases how far away it is from the next step.
  • crochet - How long in milliseconds a Beat takes in the current section.
  • stepCrochet - How long in milliseconds a Step takes in the current section.

  • mustHitSection - Current section targets the Player?
  • altAnim - Current section has Alt Animation enabled?
  • gfSection - Current section targets GF?

  • Score Variables

  • score - Current score.
  • misses - Current notes missed.
  • hits - Current notes hit.
  • combo - Current note combo. Starts at 0.
  • deaths - How many times you died so far.

  • rating - Rating percentage, ranges from 0 to 1.
  • ratingName - "?", "Sick!", "Good", etc.
  • ratingFC - Can be: "Clear", "SDBC", "FC", "GFC", "SFC".
  • totalPlayed - Misses + Hits, used for rating calculation.
  • totalNotesHit - Accumulated score from hit ratings used for rating calculation, "Sick" = +1, "Good" = +0.67, "Bad" = +0.34, "Shit" = 0.

  • Gameplay Modifiers Variables

  • playbackRate - Default value: 1
  • healthGainMult - Default value: 1
  • healthLossMult - Default value: 1
  • instakillOnMiss - Default value: false
  • practice - Default value: false
  • botPlay - Default value: false

  • Strum Notes Variables

  • defaultPlayerStrumX0 - Player's Left Note X: 732
  • defaultPlayerStrumY0 - Player's Left Note Y: 50 (Upscroll) - 570 (Downscroll)
  • defaultPlayerStrumX1 - Player's Down Note X: 844
  • defaultPlayerStrumY1 - Player's Down Note Y: 50 (Upscroll) - 570 (Downscroll)
  • defaultPlayerStrumX2 - Player's Up Note X: 956
  • defaultPlayerStrumY2 - Player's Up Note Y: 50 (Upscroll) - 570 (Downscroll)
  • defaultPlayerStrumX3 - Player's Right Note X: 1068
  • defaultPlayerStrumY3 - Player's Right Note Y: 50 (Upscroll) - 570 (Downscroll)
  • defaultOpponentStrumX0 - Opponent's Left Note X: 92
  • defaultOpponentStrumY0 - Opponent's Left Note Y: 50 (Upscroll) - 570 (Downscroll)
  • defaultOpponentStrumX1 - Opponent's Down Note X: 204
  • defaultOpponentStrumY1 - Opponent's Down Note Y: 50 (Upscroll) - 570 (Downscroll)
  • defaultOpponentStrumX2 - Opponent's Up Note X: 316
  • defaultOpponentStrumY2 - Opponent's Up Note Y: 50 (Upscroll) - 570 (Downscroll)
  • defaultOpponentStrumX3 - Opponent's Right Note X: 428
  • defaultOpponentStrumY3 - Opponent's Right Note Y: 50 (Upscroll) - 570 (Downscroll)
  • Note: All Strum variables are only available after "onCountdownStarted" is called, otherwise their values are 0.


    Character Variables

  • defaultBoyfriendX - Player Group X, as seen in the Stage .JSON
  • defaultBoyfriendY - Player Group Y, as seen in the Stage .JSON
  • defaultOpponentX - Opponent Group X, as seen in the Stage .JSON
  • defaultOpponentY - Opponent Group Y, as seen in the Stage .JSON
  • defaultGirlfriendX - Girlfriend Group X, as seen in the Stage .JSON
  • defaultGirlfriendY - Girlfriend Group Y, as seen in the Stage .JSON

  • boyfriendName - Current Player Character's .JSON name (without the extension).
  • dadName - Current Opponent Character's .JSON name (without the extension).
  • gfName - Current Girlfriend Character's .JSON name (without the extension).

  • backend.ClientPrefs Variables

  • downscroll - Default value: false
  • middlescroll - Default value: false
  • framerate - Default value: 60
  • ghostTapping - Default value: true
  • hideHud - Default value: false
  • timeBarType - Default value: "Time Left"
  • scoreZoom - Default value: true
  • cameraZoomOnBeat - Default value: true
  • flashingLights - Default value: true
  • noteOffset - Default value: 0
  • healthBarAlpha - Default value: 1.0
  • noResetButton - Default value: false
  • lowQuality - Default value: false
  • shadersEnabled - Default value: true
  • guitarHeroSustains - Default value: true
  • noteSkin - Default value: "Default"
  • splashSkin - Default value: "Psych"
  • splashAlpha - Default value: 0.6

  • noteSkinPostfix - Noteskin File Path postfix (Examples: "-future", "-chip", empty for Default).
  • splashSkinPostfix - Note Splashes File Path postfix (Examples: "-diamond", "-vanilla", empty for Psych).