Radial interaction menu for RedM using RSG Core.
A fully interactive radial menu system built for RSG Core.
Includes categories for player actions, horses, and walk styles.
- rsg-core (framework & player data)
- rsg-essentials (shared actions & menu hooks)
- ox_lib (locale & notifications)
License: GPLโ3.0
- ๐งญ Radial menu system for inโgame quick actions.
- ๐งโโ๏ธ Player options โ access walk styles (normal, angry, drunk, etc.).
- ๐ Horse menu โ toggle horse lantern and other actions.
- ๐ฎ Default keybind:
F6(changeable inconfig.lua). - ๐ Hold to open option for better control.
- โ๏ธ Nested submenus supported for complex actions.
- ๐งฉ Extensible: external scripts can register their own categories dynamically.
- ๐ Locale support (EN, FR, ES, etc.).
Config = {}
-- Keybind for opening the radial menu
Config.Keybind = "F6"
-- Hold key instead of tap to open
Config.HoldToOpen = false
-- Menu definitions
Config.MenuItems = {
[1] = {
id = "citizen",
title = "Citizen",
icon = "user",
items = {
{
id = "walkstyles",
title = "Walk Styles",
icon = "walking",
items = {
{ id = "normal", title = "Normal", icon = "circle" },
{ id = "angry", title = "Angry", icon = "circle" },
{ id = "brave", title = "Brave", icon = "circle" },
{ id = "casual", title = "Casual", icon = "circle" },
{ id = "drunk", title = "Drunk", icon = "circle" },
{ id = "old", title = "Old", icon = "circle" },
{ id = "injured", title = "Injured", icon = "circle" },
}
},
}
},
[2] = {
id = "horse",
title = "Horse",
icon = "horse",
items = {
{ id = "lantern", title = "Lantern", icon = "lightbulb" }
}
},
}๐ก You can add new menus or submenus by inserting entries inside
Config.MenuItems.
For example, add an"admin"or"police"category for custom server roles.
The resource exposes exports to add/remove dynamic menu entries at runtime:
-- โ
Available exports
exports('AddOption', AddOption)
exports('RemoveOption', RemoveOption)-- client.lua (in your own resource)
local myCategory = {
id = 'my_res',
title = 'My Resource',
icon = 'star',
items = {
{ id = 'open_ui', title = 'Open UI', icon = 'window', type = 'client', event = 'my_res:client:openUI' },
{ id = 'do_action', title = 'Do Action', icon = 'hand', type = 'server', event = 'my_res:server:doAction' },
{ id = 'run_cmd', title = 'Run /help', icon = 'circle', type = 'command', event = 'help' },
-- Optional: only show when a condition is true
{ id = 'police_only', title = 'Police Tools', icon = 'shield', type = 'client', event = 'my_res:client:policeTools',
canOpen = function()
local p = exports['rsg-core']:GetCoreObject().Functions.GetPlayerData()
return p.job and p.job.name == 'police'
end
},
}
}
local menuId = exports['rsg-radialmenu']:AddOption(myCategory)
-- store menuId to remove later if neededexports['rsg-radialmenu']:RemoveOption(menuId)A leaf must either provide an action function or a pair { type, event }:
type = 'client'โTriggerEvent(event, data)type = 'server'โTriggerServerEvent(event, data)type = 'command'โExecuteCommand(event)type = 'rsgcommand'โTriggerServerEvent('RSGCore:CallCommand', event, data)
Optional field: canOpen = function() return true/false end โ if present and false, the item is filtered out.
Internally, the selection handler calls your
action(data)if provided; otherwise it routes bytype/eventas above.
- Press F6 to open the radial menu.
- Hover and click to select an action.
- If
Config.HoldToOpen = true, hold F6 instead of tapping. - Use submenus for walk styles or horse utilities.
- You can register custom menu categories at runtime using the exports above.
- Place
rsg-radialmenuinto yourresources/[rsg]folder. - Add to your
server.cfg:ensure ox_lib ensure rsg-core ensure rsg-essentials ensure rsg-radialmenu
- Restart your server.
- (Optional) Edit
config.luato change keybind or add menu items.
- qbcore-framework / qb-radialmenu โ original base system
๐ https://github.com/qbcore-framework/qb-radialmenu - RexshackGaming / RSG Framework โ adaptation & RedM integration
๐ https://github.com/Rexshack-RedM - RSG / RexshackโRedM โ maintenance & UI updates
- Community contributors & translators
- License: GPLโ3.0