Skip to content

Functions

Warning

This list is still a work in progress! Any additions and updates are greatly appreciated!

Functions are listed below in the following format:

Function(arguments, ...) : returnType


🗒️ AchivementUnlock(string, number)

Description

Unlocks an achievement.

Parameters

  • (string, number): Name of the achievement to unlock
  • (string, number): Unknown...

🗒️ ActivityComplete(number) : unknown

Description

This function has no callback function.

Parameters

Unknown...

Return Value

Unknown...

🗒️ ActivityStart(number) : unknown

Description

Parameters

Return Value

🗒️ ActivityTaskComplete(number, number) : unknown

Description

Parameters

Return Value

🗒️ ActivityTaskEnd() : unknown

Description

This function is unused and has no callback function.

Parameters

Unknown...

Return Value

Unknown...

🗒️ ActivityTaskStart(number, number) : unknown

Description

Parameters

Return Value

🗒️ AddPracticeNotifierPermissionDeny(string) : unknown

Description

Parameters

Return Value

🗒️ AutoSave(string)

Description

Saves the current game data into the autosave slot.

Parameters

  • (string): Save mode

Mode Description
forceimmediate The most common and seemingly default save mode.
immediate Unknown...

🗒️ BeginTalkMode(string) : unknown

Description

Parameters

Return Value

🗒️ ChangeEventCamera(string)

Description

Change to an event camera.

Parameters

  • (string): Camera name

🗒️ ChangeMotion(string)

Description

Changes animations for dialogue events.

Parameters

  • (string): Animation name

Name
happy
no
rod
take
talk
talk_start
think
yes

🗒️ ChangePlayerAnimInHold(string, number) : yield

Description

Plays an animation from an *.asm file using the friendly (upper-case) name when the player is frozen using HoldPlayer().

Parameters

  • (string, string): Animation name
  • (string, number): Duration (seconds)

🗒️ ChangePlayerMotion(string, number) : yield

Description

Plays an animation from an *.asm file using the friendly (upper-case) name where available.

Parameters

  • (string, string): Animation name
  • (string, number): Duration (seconds)

🗒️ ChangeSavePermission(string)

Description

Toggles whether the player has permission to save.

Parameters

  • (string): Permission state

State
allow
deny

🗒️ ChangeWeather(number, string)

Description

Changes the current weather.

Parameters

  • (number, string): Unknown...
  • (number, string): Weather name

Name
Cloudy
Rainy
SandStorm
Sunny

🗒️ ClearIsland()

Description

Sets the cleared state of the current island and proceeds to the next.

🗒️ ClearObjectTarget() : unknown

Description

Parameters

Return Value

🗒️ ClearPracticeNotifier() : yield

Description

Clears the Training Simulator notification on the top-right of the heads-up display.

🗒️ ClearQuestTarget() : unknown

Description

Parameters

Return Value

🗒️ ClearTutorialUI(boolean) : unknown

Description

Parameters

Return Value

🗒️ ClearUserGuidUI() : yield

Description

Clears an input guide.

🗒️ DebugPrint() : number

Description

This function is unused and has a stripped callback function.

Parameters

Unknown...

Return Value

Unknown...

🗒️ DeletePracticeNotifierPermissionDeny(string) : unknown

Description

Parameters

Return Value

🗒️ EndLetterBoxUI() : unknown

Description

This function is unused.

Parameters

Unknown...

Return Value

Unknown...

🗒️ EndTalkMode() : unknown

Description

Parameters

Return Value

🗒️ EndTimeGimmick() : unknown

Description

Parameters

Return Value

🗒️ Exit()

Description

Ends the current script sequence.

🗒️ FadeIn(number)

Description

Fades the screen into gameplay from black within the specified duration.

Parameters

  • (number): Duration (seconds) (optional)

🗒️ FadeOut(number, string) : yield

Description

Fades the screen out within the specified duration.

Parameters

  • (number, string): Duration (seconds) (optional)
  • (number, string): Colour type (optional)

Colours
black (default)
white

🗒️ GetBlock() : number

Description

Gets the current internal block ID for Lua conditions within update functions.

Return Value

The current block ID.

🗒️ GetChaosEmerald(string) : unknown

Description

Parameters

Return Value

🗒️ GetChaosEmeraldNum() : number

Description

Gets the total number of Chaos Emeralds.

Return Value

The total number of Chaos Emeralds.

🗒️ GetClearTowerNum() : unknown

Description

Parameters

Return Value

🗒️ GetDebugFlag(string) : number

Description

Gets the value of any flag Sonic Team wants to check within Lua scripts.

Parameters

  • (string): Flag name

Name
isTutorialEnable

Return Value

The value of the requested flag.

🗒️ GetGuardLevel(number) : number

Description

Parameters

Return Value

🗒️ GetHackingAliveEnemyNum() : unknown

Description

This function is unused.

Parameters

Unknown...

Return Value

Unknown...

🗒️ GetHackingCurrentWaveId() : unknown

Description

Parameters

Return Value

🗒️ GetHasChaosEmeraldNum() : number

Description

Gets the total number of currently obtained Chaos Emeralds.

Return Value

The total number of currently obtained Chaos Emeralds.

🗒️ GetMaxGuardLevel() : number

Description

Parameters

Return Value

🗒️ GetMaxPowerLevel(number) : number

Description

Parameters

Return Value

🗒️ GetMaxRingLevel() : number

Description

Parameters

Return Value

🗒️ GetMaxSpeedLevel() : number

Description

Parameters

Return Value

🗒️ GetMinigameQuestProgress(string) : unknown

Description

Parameters

Return Value

🗒️ GetObjStatus(string, number, number) : boolean

Description

Parameters

Return Value

🗒️ GetPinballStatus(string) : unknown

Description

Parameters

Return Value

🗒️ GetPlayerItemInfo(string) : number

Description

Parameters

Return Value

🗒️ GetPlayerStatus(string) : number

Description

Returns the value of status flags for the player.

Parameters

  • (string): Flag name

Name Description
Hold Checks if the player is frozen via HoldPlayer()
OnGround Checks if the player is grounded

Return Value

A 0/1 number representing the requested state.

🗒️ GetPowerLevel(number) : number

Description

Parameters

Return Value

🗒️ GetPowerupRequiredKodamaNum() : unknown

Description

This function is unused.

Parameters

Unknown...

Return Value

Unknown...

🗒️ GetRingLevel(number) : number

Description

Parameters

Return Value

🗒️ GetSelectResult(number) : number

Description

Parameters

Return Value

🗒️ GetSpeedLevel(number) : number

Description

Parameters

Return Value

🗒️ GetValue(string, number) : number

Description

Get the value of a flag based on the flag name and flag number.

Parameters

  • (string, number): Flag name
  • (string, number): Flag number

Return Value

The value of the requested flag.

🗒️ GiantOrbReleaseTemporarilyReset() : unknown

Description

Parameters

Return Value

🗒️ GiantOrbTemporarilyReset() : unknown

Description

Parameters

Return Value

🗒️ GoToCyberStage(string) : yield

Description

This function is unused.

Parameters

Unknown...

🗒️ HideObjectInEvent(string)

Description

Hides the specified object during an event.

Parameters

  • (string): Object name

🗒️ HoldPlayer()

Description

Disables player movement.

🗒️ IsAvailableKodamaElderLvUp() : boolean

Description

Parameters

Return Value

🗒️ IsHackingCurrentWaveIdInRange(number, number) : unknown

Description

Parameters

Return Value

🗒️ IsInScreenView(string, number, number) : boolean

Description

Parameters

Return Value

🗒️ IsLoadingLevel() : number

Description

Returns whether a level is actively being loaded via the LoadLevel() function for pausing the script until it's finished.

Return Value

A 0/1 number representing if a level is being loaded.

🗒️ IsPlayingDiEvent(string) : number

Description

Returns whether the specified event is currently playing.

Parameters

  • (string): Event name

Return Value

A 0/1 number representing if the specified event is currently playing.

🗒️ IsPlayingDiEventAll() : number

Description

Returns whether any event is playing.

Return Value

A 0/1 number representing if any event is playing.

🗒️ IsPlayingQuest() : unknown

Description

Parameters

Return Value

🗒️ KillPinballObjects() : unknown

Description

Parameters

Return Value

🗒️ LoadDiEvent(string) : unknown

Description

Parameters

Return Value

🗒️ LoadDiEventFrozen(string) : unknown

Description

Parameters

Return Value

🗒️ LoadLevel(string) : unknown

Description

Loads an archive (*.pac) using its respective *.level file.

Parameters

  • (string): Level name

🗒️ MakeElectricLine(string) : unknown

Description

Parameters

Return Value

🗒️ MovedPlayer(string) : unknown

Description

Parameters

Return Value

🗒️ NextBlock(number) : unknown

Description

Parameters

Return Value

🗒️ NextSequence(number)

Description

Exits the current script sequence and loads the next one via the input ID.

Parameters

  • (number): Sequence ID

🗒️ NotifyAction(string, string)

Description

Sends a message to the specified object in the *.gedit files. Typically used to turn camera volumes on or off.

Parameters

  • (string, string): Internal name of the object to signal.
  • (string, string): Message to send to the object.

Name Description
on Activates the object.
off Deactivates the object.
start Unknown...

🗒️ PlayDiEvent(string) : unknown

Description

Parameters

Return Value

🗒️ PlayDiEventFrozen(string) : unknown

Description

Parameters

Return Value

🗒️ PlayerGetItem(string, number)

Description

Gives the player a specific number of specific items.

Parameters

  • (string, number): Item name
  • (string, number): Item count

Name
Ring
ExpPoint

🗒️ PlayerNonOperation() : yield

Description

Disables player movement.

🗒️ PlayVoice(string) : unknown

Description

Parameters

Return Value

🗒️ QuitMinigameQuest() : unknown

Description

Parameters

Return Value

🗒️ ReleaseHoldPlayer()

Description

Enables player movement.

🗒️ ReleasePresentSkill(string) : unknown

Description

Parameters

Return Value

🗒️ ResetCamera()

Description

Restores the player-operated camera.

🗒️ ResetMenuDisabledMinigameQuest() : unknown

Description

Parameters

Return Value

🗒️ ResetPinball() : unknown

Description

Parameters

Return Value

🗒️ ResetWeather(number) : unknown

Description

Parameters

Return Value

🗒️ Save() : yield

Description

Parameters

🗒️ SetBossKnightLayerEnabled(boolean) : unknown

Description

Parameters

Return Value

🗒️ SetHackingBulletPatternGlobalVelTimes(number) : unknown

Description

Parameters

Return Value

🗒️ SetHackingBulletPatternVelRange(number, number) : unknown

Description

Parameters

Return Value

🗒️ SetHUDEnabled(string, boolean)

Description

Toggles whether certain menus are available to the player.

Parameters

  • (string, boolean): Menu name

Name Description
MainMenu Toggles access to the pause menu.
MapMenu Toggles access to the map screen.

  • (string, boolean): Enabled

🗒️ SetLayerEnabled(string, boolean)

Description

Toggles whether an object layout layer is visible.

Parameters

  • (string, boolean): Layer name
  • (string, boolean): Enabled

🗒️ SetLayerEnabledInEvent(string, boolean)

Description

Toggles whether an object layout layer is visible during an event.

Parameters

  • (string, boolean): Layer name
  • (string, boolean): Enabled

🗒️ SetLookAt(number, number, number)

Description

Forces the camera to always look towards the specified position.

Parameters

  • (number, number, number): X
  • (number, number, number): Y
  • (number, number, number): Z

🗒️ SetMenuDisabledMinigameQuest(string) : unknown

Description

Parameters

Return Value

🗒️ SetObjStatus(string, number, number) : unknown

Description

Parameters

Return Value

🗒️ SetPlayerAbilityEnabled(string, boolean)

Description

Toggles whether the specified ability can be used by the player.

Parameters

  • (string, boolean): Ability name

Name Description
Boost Toggles the ability to boost.
ComboAttack Toggles the ability to perform combo attacks.
ControlCamera Toggles the ability to move the camera.
Cyloop Toggles the ability to perform Cyloop.
HomingAttack Toggles the ability to homing attack.
Jump Toggles the ability to jump.
Lockon Toggles the ability to lock onto enemies.
Parry Toggles the ability to parry.
WallAction Toggles the ability to climb walls.

  • (string, boolean): Value

🗒️ SetTime(number, number)

Description

Sets the current time.

Parameters

  • (number, number): Hour
  • (number, number): Minute

🗒️ SetTimePause(boolean)

Description

Toggles the passage of time.

Parameters

  • (boolean): Enabled

🗒️ SetValue(string, number, number)

Description

Sets a value for the specified flag.

Parameters

  • (string, number, number): Flag name
  • (string, number, number): Flag number
  • (string, number, number): Value

🗒️ SetVisibleKodama(string)

Description

This function does not work.

Parameters

  • (string): Visibility state

States
hide
show

🗒️ ShootBulletPattern(string)

Description

Shoots a pre-defined pattern of bullets for the Hacking minigame.

Parameters

  • (string): Pattern name

🗒️ ShowHeaderWindowUI(string, string)

Description

Displays a dialog using a caption and body entry from a *.cnvrs-text file.

Parameters

  • (string, string): Caption name
  • (string, string): Body name

🗒️ ShowObjectTarget(string) : unknown

Description

Parameters

Return Value

🗒️ ShowPracticeNotifier(number, number, number) : unknown

Description

Parameters

Return Value

🗒️ ShowQuestTarget(string) : unknown

Description

Parameters

Return Value

🗒️ ShowRobberTargetUI() : unknown

Description

Parameters

Return Value

🗒️ ShowSelectBox(string, string, string, string) : unknown

Description

Parameters

Return Value

🗒️ ShowSelectBoxNoWaitVoice(string, string, string, string, string) : unknown

Description

Parameters

Return Value

🗒️ ShowSequenceUI(string)

Description

Displays a menu depending on the current sequence.

Parameters

  • (string): Menu name

Name Description
MainMenu Unknown...
MainMenu_ForTutorial Displays the pause menu for highlighting the Cyloop skill.
MapMenu Unknown...
PauseMenu Unknown...

🗒️ ShowTalkCaption(string)

Description

Parameters

🗒️ ShowTalkCaptionOverFade(string) : yield

Description

This function is unused.

Parameters

Unknown...

Return Value

Unknown...

🗒️ ShowToastUI(string) : unknown

Description

Parameters

Return Value

🗒️ ShowTutorialUI(string, string) : unknown

Description

Parameters

Return Value

🗒️ ShowUserGuidUI(string)

Description

Displays an input guide for the specified control method.

Parameters

  • (string): Name

Notice

Only three of these are actually used, as Sonic Team moved to using internal methods for displaying these guides, rather than using Lua.

Some names are unknown as they use string hashes that have no source yet.


Name Internal ID Description
CameraControl 0 Displays a graphic for the right stick with the text "Camera".
Unknown... 1 Displays a quad direction graphic with no text.
Jump (unused) 2 Displays a graphic for the A button with no text.
Boost (unused) 3 Displays a graphic for the right trigger with no text.
HomingAttack 4 Displays a graphic for the X button with the text "Homing Attack".
Lockon (unused) 5 Displays a graphic for the right stick button with the text "Lock On".
Cyloop (unused) 6 Displays a graphic for the Y button with the text "Cyloop (while moving)".
CyloopBattle 7 Displays a graphic for the Y button with the text "Cyloop (while moving)".
Unknown... 8 Displays a graphic for the left bumper with no text.
WallRun (unused) 9 Displays two graphics, one with a quad direction graphic with the text "Climb", and another with a graphic for the right trigger with the text "Wall Run (while climbing)".
Boarding (unused) 10 Displays two graphics, one with a quad direction graphic with the text "Climb", and another with a graphic for the A button with no text.
Unknown... 11 Displays two graphics, one with a left/right direction graphic with no text, and another with a graphic for the left trigger with no text.
Diving (unused) 12 Displays a graphic for the right trigger with no text.
Unknown... 13 Displays two graphics, one with a quad direction graphic with the text "Move the target", and another with a graphic for the A button with the text "Cast the line".
Unknown... 14 Displays a graphic for the B button with the text "Quit".
Unknown... 15 Displays a graphic for the A button with the text "Reel it in".
Unknown... 16 Displays a graphic for the A button with the text "Hook the fish".
Unknown... 17 Displays a graphic for the A button with no text.
Unknown... 18 Displays a graphic for the A button with no text.
Unknown... 19 Displays a graphic for the X button with the text "Place cannonball".
Unknown... 20 Displays a graphic for the X button with the text "Load cannon".

🗒️ ShowYesNoWindowUI(string, string) : yield

Description

Displays a Yes/No dialog using a caption and body entry from a *.cnvrs-text file.

Parameters

  • (string, string): Caption name
  • (string, string): Body name

🗒️ SpawnHackingEnemy(string) : unknown

Description

Parameters

Return Value

🗒️ SpawnPinballObjects() : unknown

Description

Parameters

Return Value

🗒️ SpawnPinballObjectsAfterClearing() : unknown

Description

Parameters

Return Value

🗒️ StartClearCheck() : unknown

Description

Parameters

Return Value

🗒️ StartLetterBoxUI() : unknown

Description

This function is unused.

Parameters

Unknown...

Return Value

Unknown...

🗒️ StartMinigameQuest(string) : unknown

Description

Parameters

Return Value

🗒️ StartPinball() : unknown

Description

Parameters

Return Value

🗒️ StartTimeGimmick() : unknown

Description

Parameters

Return Value

🗒️ StartupGimmickInfo() : unknown

Description

This function is unused.

Parameters

Unknown...

Return Value

Unknown...

🗒️ StartWaitMinigameQuest() : unknown

Description

Parameters

Return Value

🗒️ UnloadDiEvent() : unknown

Description

This function is unused.

Parameters

Unknown...

Return Value

Unknown...

🗒️ UnloadLevel() : unknown

Description

This function is unused.

Parameters

Unknown...

Return Value

Unknown...

🗒️ WaitFromChaosEmeraldNum() : unknown

Description

This function is unused.

Parameters

Unknown...

Return Value

Unknown...

🗒️ WaitFromFlag() : unknown

Description

This function is unused.

Parameters

Unknown...

Return Value

Unknown...

🗒️ WaitTime(number)

Description

Waits for a specified amount of time (in seconds).

Parameters

  • (number): Seconds