Configuration
The err_quickmenu system is highly configurable through the config/client.lua file. This page covers all available configuration options and their usage.
Basic Configuration
return {
-- Keybind for opening the radial menu
keyBind = 'f1',
-- Enable toggle for the radialmenu
toggle = true,
-- Automatically close the menu when an item is clicked
closeOnClick = true,
}Options:
keyBind: The key to open the radial menu (default:'f1')toggle: Whether the menu should stay open until pressed again (default:true)closeOnClick: Iftrue, the radial menu will automatically close when any item is clicked. Iffalse, the menu stays open.
UI Settings
Quick Menu Input & Scrolling
uiSettings = {
quickmenuSettings = {
inputMode = {
cursor = false, -- Enable cursor-based navigation
scroll = true, -- Enable mouse-wheel navigation
},
scroll = {
allowPageScroll = true, -- Enable switching pages using scroll
loopScrollWithinPage = false,-- Allow continuous scrolling inside a page (wrap around)
scrollDelay = 120, -- Time (ms) before next scroll, prevents over-scrolling
},
},
}Options:
inputMode.cursor: Enable or disable cursor-based navigationinputMode.scroll: Enable or disable mouse-wheel scrollingscroll.allowPageScroll: Allows scrolling to switch between pagesscroll.loopScrollWithinPage: Iftrue, scrolling loops continuously inside the pagescroll.scrollDelay: Delay in milliseconds between scroll inputs
Item Label Position
itemLabel = {
position = 'center' -- top | center | bottom
}position: Controls where the label for a selected item appears on the radial menu
Colors & Background
colors = {
darkerBackground = true, -- Use darker radial background effect
primaryWhite = '#f8f8f8',
secondaryWhite = '#ffffffb6',
selectedGradient = '#f8f8f8',
selectedTextColor = '#000000',
bottomTextColor = '#ffffff'
}Options:
darkerBackground: Enables a dark radial background effectprimaryWhite: Main white color for the menusecondaryWhite: Subtle secondary white for borders/backgroundsselectedGradient: Highlight background for the selected itemselectedTextColor: Text color for the selected itembottomTextColor: Text color at the bottom of the UI
Vehicle Features
-- Enable extra menu functionality
enableVehicleDoors = true,
enableVehicleWindows = true,
enableVehicleSeats = true,
enableVehicleExtras = true,enableVehicleDoors: Enable vehicle door controlsenableVehicleWindows: Enable vehicle window controlsenableVehicleSeats: Enable vehicle seat switchingenableVehicleExtras: Enable vehicle extra toggles
Menu Structure
Main Menu Items
menuItems = {
{
id = 'citizen',
icon = 'user',
label = 'Citizen',
items = {
{
id = 'interactions',
icon = 'hands-helping',
label = 'Interaction',
items = {
{
id = 'handcuff',
icon = 'lock',
label = 'Cuff',
serverEvent = 'police:server:CuffPlayer',
args = '2w2'
},
{
id = 'playerInVehicle',
icon = 'truck',
label = 'Put In Vehicle',
command = 'me',
args = 'Test "ME" from quick menu'
},
...
}
}
}
}
}Item Properties:
id: Unique identifiericon: FontAwesome iconlabel: Display textitems: Nested sub-itemsevent/serverEvent/command/onSelect: Defines action typeargs: Arguments passed to the action
Job-Based Menus
Job-specific menus only appear when the player has the given job.
For example, the entries under police will only show up for players whose job is set to "police".
jobItems = {
police = {
{
id = 'policeObjects',
icon = 'shield-alt',
label = 'Police Objects',
onSelect = function()
print('Police Objects')
end,
},
},
ambulance = {
{
id = 'statusCheck',
icon = 'medkit',
label = 'Check Health Status',
onSelect = function()
print('Ambulance: Check Health Status')
end,
},
},
mechanic = {
{
id = 'repairVehicle',
icon = 'tools',
label = 'Repair Vehicle',
onSelect = function()
print('Mechanic: Repair Vehicle')
end,
},
},
taxi = {
{
id = 'npcMission',
icon = 'map-marker',
label = 'NPC Mission',
onSelect = function()
print('Taxi: NPC Mission')
end,
},
},
tow = {
{
id = 'towVehicle',
icon = 'truck-monster',
label = 'Tow Vehicle',
onSelect = function()
print('Tow: Tow Vehicle')
end,
},
},
}Job Restriction:
Use "police", "tow", "ambulance", "mechanic", "taxi", etc. → Only players with that job will see the menu.
Gang-Based Menus
Gang menus work the same way as job menus, but are tied to gang affiliations instead of jobs.
In this example, only players in the "lostmc" gang will see the menu.
gangItems = {
lostmc = {
{
id = 'gang',
icon = 'skull',
label = 'Gang Lost MC',
onSelect = function()
print('Gang Lost MC')
end,
},
}
}Gang Restriction:
• Use "ballas", "vagos", "families", etc. → Only players in that gang will see the menu.
Vehicle Controls
Vehicle Doors, Windows, Seats, Extras are fully supported (see full example below).
vehicleDoors→ open/close doors/hood/trunkvehicleWindows→ roll up/down windowsvehicleSeats→ dynamically generated seat switchingvehicleExtras→ toggle vehicle extras (lights, sirens, etc.)
Complete Example
At the end, the whole file comes together like this:
return {
keyBind = 'f1',
toggle = true,
enableVehicleDoors = true,
enableVehicleWindows = true,
enableVehicleSeats = true,
enableVehicleExtras = true,
uiSettings = {
quickmenuSettings = {
inputMode = {
cursor = false,
scroll = true,
},
scroll = {
allowPageScroll = true,
loopScrollWithinPage = false,
scrollDelay = 120,
},
},
itemLabel = {
position = 'center'
},
colors = {
darkerBackground = true,
primaryWhite = '#f8f8f8',
secondaryWhite = '#ffffffb6',
selectedGradient = '#f8f8f8',
selectedTextColor = '#000000',
bottomTextColor = '#ffffff'
},
},
menuItems = { ... },
jobItems = { ... },
gangItems = { ... },
vehicleDoors = { ... },
vehicleWindows = { ... },
vehicleSeats = { ... },
vehicleExtras = { ... }
}