6.7 KiB
⏪ Lua Reference
Globals
Globals are variables that are always exposed to the Lua API.
gMarioStates
The gMarioStates[] table is an array from 0 to (MAX_PLAYERS - 1) that contains a MarioState struct for each possible player.
It is indexed by the local playerIndex, so gMarioStates[0] is always the local player.
gNetworkPlayers
The gNetworkPlayers[] table is an array from 0 to (MAX_PLAYERS - 1) that contains a NetworkPlayer struct for each possible player.
It is indexed by the local playerIndex, so gNetworkPlayers[0] is always the local player.
gActiveMods
The gActiveMods[] table is an array that starts at 0, and contains a Mod struct for each active mod.
gCharacters
The gCharacters[] table is an array from 0 to (CT_MAX - 1) that contains a Character struct for each possible character.
gControllers
The gControllers[] table is an array from 0 to (MAX_PLAYERS - 1) that contains a Controller struct for each possible player.
gMatStack
The gMatStack[] table is an array from 0 to (MATRIX_STACK_SIZE - 1) that contains Mat4s used by geo process.
gMatStackPrev
The gMatStackPrev[] table is similar to gMatStack for interpolation.
gTextures
The gTextures table contains references to textures. Listed in GlobalTextures.
gObjectAnimations
The gObjectAnimations table contains references to object animations. Listed in GlobalObjectAnimations.
gGlobalObjectCollisionData
The gGlobalObjectCollisionData table contains references to object collision data. Listed in GlobalObjectCollisionData.
gLakituState
gLakituState's fields are listed in LakituState.
gServerSettings
gServerSettings's fields are listed in ServerSettings.
NOTE: The fields in this struct do not sync well and changing them outside of init in if statements or functions can cause desyncs. Make sure the field gets changed on every player's end if you change it after init.
gNametagsSettings
gNametagsSettings's fields are listed in NametagsSettings.
NOTE: The fields in this struct are not synced and are meant to be changed from Lua. If you want a change to sync for everyone, call it during init outside of any if statements and functions or make sure the field gets changed on every player's end.
gHudDisplay
gHudDisplay's fields are listed in HudDisplay.
gLevelValues
gLevelValues's fields are listed in LevelValues.
gBehaviorValues
gBehaviorValues's fields are listed in BehaviorValues.
gPaintingValues
gPaintingValues's fields are listed in PaintingValues.
gFirstPersonCamera
gFirstPersonCamera's fields are listed in FirstPersonCamera.
NOTE: gFirstPersonCamera.enabled returns whether or not first person is enabled at all. get_first_person_enabled() also accounts for certain conditions that make the camera exit first person mode and will return false if so.
gGlobalSyncTable
The gGlobalSyncTable is a table used for networking. Any field set inside of this table is automatically synchronized with all other clients. Do not use this table for player-specific variables, keep those in gPlayerSyncTable. Player-specific variable will desynchronize within this table since it doesn't automatically translate playerIndex.
gPlayerSyncTable
The gPlayerSyncTable[] is an array from 0 to (MAX_PLAYERS - 1) that is used for networking. Any field set inside of this table is automatically synchronized with all other clients.
It is indexed by the local playerIndex, so gPlayerSyncTable[0] is always for the local player.
The underlying networking system will automatically translate the local playerIndex so that the field is set for the correct player.
gVoicePlayers
The gVoicePlayers[] array holds voice chat related information about each player.
It ranges from 0 to (MAX_PLAYERS - 1).
It is indexed by the local playerIndex, so gVoicePlayers[0] is always the local player.
gVoicePlayers's fields are listed in VoicePlayer.
NOTE: It shouldn't be read from or modified if the server has voice chat disabled.
To check if the server has voice chat disabled, you can check if gServerSettings.voiceChat is equal to VOICECHAT_TYPE_DISALBED.
volumeis the player's volume on the client side. Its value is a percentage, so100means100%.clientMutedState: Client side mute flagsVOICECHAT_MUTE_LOCAL: For the local player, it is set if they muted themselves, otherwise it is set if the local player muted the other player in the voice chat menu.VOICECHAT_MUTE_GLOBAL: Set if the player was muted by the host or moderators. It cannot be disabled by themselves.VOICECHAT_MUTE_DEAFENED: For the local player, it is set if they deafened themselves, otherwise it is always unset.
playerMutedState: Server side mute flagsVOICECHAT_MUTE_LOCAL: Set if they muted themselves.VOICECHAT_MUTE_GLOBAL: Mirrors the state ofVOICECHAT_MUTE_GLOBALinclientMutedStateVOICECHAT_MUTE_DEAFENED: Set if they deafened themselves.
Mute flags are read-only by mods. If you wish to modify these flags, you can use the various voicechat_toggle_* or voicechat_set_* functions. You may also want to see the voice channel API.