Price
UnknownA script by FurkanHD
Price
Unknown
Hello, FiveM community!
Today, I’m excited to introduce vust_menu , a highly advanced, fully customizable, and performance-optimized radial menu system inspired by the intuitive UI of games like Rust. Whether you need a dynamic building menu, a sleek emote wheel, a police equipment selector, or any other interactive circular menu, vust_menu provides a powerful and standalone foundation for your server.
This is not just another radial menu; it’s a complete framework designed for developers and server owners who demand flexibility, style, and ease of use.
Showcase : Youtube
Core FeaturesStandalone by Default: Works out-of-the-box without requiring ESX, QB-Core, or any other framework.
Highly Performant: Optimized code ensures zero performance impact, running at 0.00ms when idle and minimally when active.
Fully Responsive & Dynamic: The menu automatically adjusts the size and layout of items based on the number of items (from 1 to 12 per page), ensuring a clean look every time.
Advanced Pagination System:
Effortlessly display more than 12 items. If you provide a list of 20, 30, or even 100 items, the script automatically creates pages.
Navigate between pages intuitively using on-screen buttons or configurable Q/E keys .
Configurable Theming (Light/Dark Mode):
Switch between a sleek dark mode and an authentic, warm ivory/light mode with a single setting in the config.lua.
All colors are controlled via CSS variables, making it incredibly easy for you to create your own custom themes.
Rust-Style Highlighting:
Smooth, sliding hover effect that accurately follows the mouse over each slice.
Disabled items are clearly marked with a distinct, non-interactive grey slice, just like in Rust.
Integrated Sound Effects:
Movement While Open: Players can walk, run, jump, and look around while the menu is active, allowing for seamless interaction without being locked in place.
For Developers: Unmatched Flexibility & IntegrationThe true power of vust_menu lies in its developer-friendly architecture. It’s designed to be the central UI service for all your other scripts.
You can control the entire menu from any other client-side script using simple and powerful exports:
This is the core function. Simply pass it a Lua table of your items, and the menu will open with them. You can create completely dynamic menus on the fly.
Example: Creating a Police Equipment Menu
-- in your police script (e.g., client/main.lua)
local policeItems = {
{ id = 'vest', name = 'Armor', desc = 'Equip a kevlar vest.', icon = '<svg>...</svg>', triggerEvent = 'police:equip', item = 'armor' },
{ id = 'spike_strips', name = 'Spike Strips', desc = 'Deploy spike strips.', icon = '<svg>...</svg>', triggerEvent = 'police:deploy', item = 'spikestrip' },
-- ... more items
}
exports.vust_menu:OpenRadialMenu(policeItems)
This is the most powerful feature. You don’t need to modify vust_menu to add new functionality. Each item in your menu table can define its own event to trigger upon selection.
How it works: Add a triggerEvent key to any menu item. When that item is clicked, vust_menu will trigger that client-side event and pass the entire item’s data table as an argument.
Example: An Emote Menu
-- in your emote script (e.g., client/main.lua)
local emoteItems = {
{
id = 'dance',
name = 'Dance',
icon = '<svg>...</svg>',
triggerEvent = 'emotes:play', -- The event to trigger
animDict = 'anim@amb@nightclub@dancers@podium_dancers@', -- Custom data
animName = 'hi_dance_facedj_09_v2_female^1' -- Custom data
},
{
id = 'wave',
name = 'Wave',
icon = '<svg>...</svg>',
triggerEvent = 'emotes:play',
animDict = 'anim@mp_player_intcelebrationfemale@wave',
animName = 'wave'
}
}
exports.vust_menu:OpenRadialMenu(emoteItems)
-- in your emote script (e.g., client/main.lua)
AddEventHandler('emotes:play', function(itemData)
-- itemData is the full table: { id='dance', name='Dance', ..., animDict='...', animName='...' }
print("Playing emote: " .. itemData.animName)
RequestAnimDict(itemData.animDict)
-- ... your animation logic here ...
end)
This system makes vust_menu infinitely expandable without ever touching its core files.
Easy ConfigurationAll major settings are located in a single, easy-to-understand config.lua file.
Config = {}
-- Set to true for the dark theme, false for the light/ivory theme.
Config.DarkMode = true
-- The maximum number of items to display on a single page.
-- Recommended: 8, 10, or 12 for the best visual balance.
Config.MaxItemsPerPage = 12
-- The text labels displayed on the pagination buttons in the UI.
Config.Keys = {
Next = 'E',
Previous = 'Q',
}
What You GetThe full, unencrypted vust_menu script (HTML/CSS/JS/LUA).
A clean and well-commented config.lua file.
Example usage within the script (/testmenu command) to demonstrate features like pagination and disabled items.
Full support for installation and configuration.
This resource is perfect for servers looking to add a professional, modern, and highly functional UI element that can be adapted for countless purposes.
VUST Game Mode (Rust inspired, With custom map): Discord
Buy Now !
Open Source https://furkans-workshop.tebex.io/package/6923426
Encrypted https://furkans-workshop.tebex.io/package/6917678
My discord : furkann789
Thank you for your interest! If you have any questions, feel free to ask below.
| Code is accessible | Yes |
| Subscription-based | No |
| Lines (approximately) | 342 lua, 234 js |
| Requirements | no |
| Support | Yes |
See what others are saying about this script.
Share your experience and help others.