RedM documentation

Murphy's Radial Menu

Getting Started

Installation and Controls

Install the prebuilt wheel and configure toggle, hold and direct-menu controls.


Install the public resource

Download the complete official repository. Keep the folder name murphy_radialmenu and include the prebuilt ui/build/ directory. Put the resource in your server resources directory and add:

server.cfg
ensure murphy_radialmenu

Node.js is only needed if you choose to rebuild the interface source. The distributed wheel does not require a framework; optional integrations need their own resources.

Default controls

Input Behavior
Middle mouse click Toggle the wheel with the public default control.
Left click on an entry Run an action or enter its submenu.
Wheel centre inside a submenu Return one level.
Escape or click outside the ring Close the wheel.
/radial Open or close the context wheel.
/radial clothing Open the registered clothing menu directly in 1.1.0.
/ragdoll Toggle the supplied ragdoll behavior.

The command /radial <menuId> can open another registered menu. A missing menu or one with no visible actions cannot provide a usable wheel.

Choose toggle or hold

Edit the existing shared/config.lua. The public default is:

lua
Config.OpenControl = 0xCEE12B50

This native control uses toggle behavior. For a keyboard hold-to-show setup, replace the relevant existing assignments with:

lua
Config.OpenControl = nil
Config.OpenKey = "B"

The numeric OpenControl takes priority, so leaving it active can make a new OpenKey appear ineffective. Mouse release is not handled like keyboard release once the interface takes focus; do not assume a mouse toggle can simply become hold-to-show.

In 1.1.0, append a direct binding without replacing other entries:

lua
Config.DirectMenuKeys = Config.DirectMenuKeys or {}
Config.DirectMenuKeys.clothing = "J"

Choose a key that does not conflict with your server's other resources. Config.Ragdoll.Enabled controls its extra keybind, not the existence of /ragdoll.

Test

Test /radial first, then the chosen key, close/back behavior, and the same steps while mounted. If a command works but the key fails, investigate the binding. Check Common Issues before changing integration code.


Last updated: September 10, 2026