2024-07-01 15:45:25 +00:00
|
|
|
if not _G.charSelectExists then
|
|
|
|
local first = false
|
|
|
|
hook_event(HOOK_ON_LEVEL_INIT, function()
|
|
|
|
if not first then
|
|
|
|
first = true
|
|
|
|
play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource)
|
|
|
|
djui_chat_message_create("\\#ffffa0\\[CS] Extra Characters requires Character Select to be enabled.\nPlease rehost with it enabled.")
|
|
|
|
end
|
|
|
|
end)
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
--- @param m MarioState
|
|
|
|
--- Checks if a player is currently active
|
|
|
|
function active_player(m)
|
|
|
|
local np = gNetworkPlayers[m.playerIndex]
|
|
|
|
if m.playerIndex == 0 then
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
if not np.connected then
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
if np.currCourseNum ~= gNetworkPlayers[0].currCourseNum then
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
if np.currActNum ~= gNetworkPlayers[0].currActNum then
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
if np.currLevelNum ~= gNetworkPlayers[0].currLevelNum then
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
if np.currAreaIndex ~= gNetworkPlayers[0].currAreaIndex then
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
return true
|
2024-09-01 16:44:29 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
animTables = {}
|
|
|
|
|
|
|
|
--- @param charNum integer
|
|
|
|
--- @param animTable table
|
|
|
|
--- Adds custom animations to a character
|
|
|
|
function character_add_animations(charNum, animTable)
|
|
|
|
animTables[charNum] = animTable
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
--- @param charNum integer
|
|
|
|
--- @return table
|
|
|
|
--- Gets a character's custom animations
|
|
|
|
function character_get_animations(charNum)
|
|
|
|
return animTables[charNum]
|
2024-07-01 15:45:25 +00:00
|
|
|
end
|