API Reference
Client exports and commands for developers integrating with oxide-multichar.
This page is for developers integrating with oxide-multichar. It also lists the commands the resource registers, since they are few.
oxide-multichar has a small, deliberate public surface: three client exports and no server exports. Almost everything it does is driven internally and through o-link, so there is little to call from the outside.
Client Exports
All three exports run on the client. There are no server exports.
Open
Opens the character selection screen. Builds the scene, draws the player's characters, and takes over the camera and mouse.
exports['oxide-multichar']:Open()Parameters: None
Returns: Nothing
In normal use you do not need to call this —
o-linkopens the screen automatically when the player joins or runs/logout. Call it only if you are building a custom flow that needs to force the screen open.
Close
Closes the character selection screen and the creation wizard if either is open. Restores the player's camera and mouse.
exports['oxide-multichar']:Close()Parameters: None
Returns: Nothing
IsOpen
Reports whether the selection screen or the creation wizard is currently open. Useful for suppressing your own UI, keybinds, or HUD while the player is in character selection.
local busy = exports['oxide-multichar']:IsOpen()
if busy then
-- the player is in character selection; don't open your own UI
endParameters: None
Returns: boolean — true if the selection screen or creation wizard is open, otherwise false.
Commands
oxide-multichar registers the following commands. There are no admin permissions to configure — these are either available to all players or only present in debug mode.
/logout
Returns the player to character selection without disconnecting them. This is the only player-facing command, and it is only registered when Config.Logout.enabled is true.
Usage:
/logoutThe command word is configurable. If you set Config.Logout.command = 'switch', the command becomes /switch. See Configuration.
Debug Commands
These two commands only exist while debug mode is turned on. They are intended for development and testing, not for live servers.
| Command | Description |
|---|---|
/oxide:multichar | Force-opens the character selection screen. |
/oxide:newchar | Force-opens the character creation wizard. |
To enable them, add this line to your server.cfg:
setr oxide:debug trueRemove or set it to false on a live server so the debug commands are not available to players.
Integration Examples
Hide your HUD during character selection
CreateThread(function()
while true do
if exports['oxide-multichar']:IsOpen() then
-- character selection is up — hide your custom HUD
exports['my-hud']:Hide()
else
exports['my-hud']:Show()
end
Wait(500)
end
end)Force the screen open from your own flow
-- e.g. a custom "switch character" interaction at a bed
RegisterNetEvent('my-resource:openCharacterSelect', function()
if not exports['oxide-multichar']:IsOpen() then
exports['oxide-multichar']:Open()
end
end)Next Steps
- Configuration - Customize the logout command and everything else
- Features - Understand the screens these exports control
Features
How each part of oxide-multichar works in-game — the selection screen, scenes, info card, creation wizard, appearance editor, spawn picker, and more.
Troubleshooting
Fixes for the most common oxide-multichar setup problems — native menu conflicts, generic faces, the appearance editor, spawning, and starter apartments.