For the complete documentation index, see llms.txt. This page is also available as Markdown.

How Setup qbx_radialmenu

This guide walks you through adding cdev_pets actions to qbx_radialmenu — the radial menu used with Qbox (qbx_core) and ox_lib.

After completing these steps, players will have a Pet submenu in the radial with follow, menu, cuddle, bag, stand, cancel, and put/remove pet from vehicle options.


Prerequisites

Make sure these resources are installed and started before qbx_radialmenu in your server.cfg:

ensure ox_lib
ensure qbx_core
ensure cdev_lib
ensure cdev_pets
ensure qbx_radialmenu
Resource
Role

ox_lib

Radial UI, locales, lib.getClosestVehicle

qbx_core

Player data, notifications

cdev_lib

Required dependency of cdev_pets

cdev_pets

Pet system (events & exports used by the radial)

qbx_radialmenu

Radial menu configuration


Step 1 — Configure cdev_pets

Open cdev_pets/public/config/config.lua and confirm these settings:

Important: Keybinds.Enabled must stay true even if players only use the radial menu. If it is false, quick actions triggered from the radial will silently fail.

Vehicle interaction inside cdev_pets is independent of the radial. You can keep the default target/drawtext or disable it:

When using the radial for vehicles, players can use Put Pet In Car / Remove Pet From Car from the menu instead.


Step 2 — Add the Pet menu to config

Open qbx_radialmenu/config/client.lua.

Inside the menuItems table, add the Pet block at the top (or anywhere inside menuItems):

ID
Label
Event
Description

pet-follow

Follow

cdev_pets:quickAction:follow

Toggle follow / stay

pet-menu

Menu

cdev_pets:quickAction:menu

Open pet stats / inventory menu

pet-cuddle

Cuddle

cdev_pets:quickAction:cuddle

Cuddle with pet

pet-cancel

Cancel

cdev_pets:quickAction:cancel

Cancel current pet action

pet-bag

Bag

cdev_pets:quickAction:bag

Store pet in bag

pet-stand

Stand

cdev_pets:quickAction:stand

Stand up from bed

pet-in-car

Put Pet In Car

cdev:pets:client:insertPetIntoVehicle

Custom handler (Step 3)

pet-out-car

Remove Pet From Car

cdev:pets:client:removePetFromVehicle

Custom handler (Step 3)

Icons use Font Awesome 5 names (no fa- prefix), as required by qbx_radialmenu.


Step 3 — Create the vehicle client script

qbx_radialmenu loads every file in client/ automatically (client/*.lua in fxmanifest.lua). You do not need to edit the manifest.

Create a new file:

qbx_radialmenu/client/pets.lua

Why this file is needed

Quick actions (follow, menu, bag, etc.) call cdev_pets events directly — no extra code required.

Vehicle actions need a small bridge script because:

  1. The radial must find the closest vehicle and seat bone.

  2. exports.cdev_pets:CanEnterVehicle / CanExitVehicle validate the action.

  3. The actual placement uses TriggerEvent('cdev_pets:onTargetPlaceVehicle', ...) and TriggerEvent('cdev_pets:onTargetTakeVehicle', ...).

There is no PutPetInVehicle export in cdev_pets — see Vehicle Integration & External Menus for details.


Step 4 — Add locale strings

Open qbx_radialmenu/locales/en.json and add these keys inside the "error" object:

Repeat for any other locale files you use (e.g. locales/pt.json) with translated strings.


Step 5 — Restart the resource

In your server console or txAdmin:

Or restart the full server. Players already connected should reconnect or restart qbx_radialmenu to load the new menu.


How players use the radial

Action
How

Open radial menu

Default key Z (ox_lib keybind). Changeable in ESC → Settings → Key Bindings → FiveM → Open radial menu

Open Pet submenu

Radial → Pet (dog icon)

Follow / Cuddle / Menu

Pet must be spawned (out of bag), player on foot, within 5 m of pet

Bag

Stores the spawned pet

Stand

Only works when the pet is on a bed

Put Pet In Car

Pet spawned, stand near a vehicle door (~5 m), valid seat bone on the model

Remove Pet From Car

Pet must be inside the nearby vehicle


File checklist

After setup, you should have changed or added these files:

File
Action

cdev_pets/public/config/config.lua

Verify Keybinds.Enabled = true

qbx_radialmenu/config/client.lua

Add pet menu block to menuItems

qbx_radialmenu/client/pets.lua

Create — vehicle bridge script

qbx_radialmenu/locales/en.json

Add pet error strings

qbx_radialmenu/fxmanifest.lua

No change — client/*.lua loads pets.lua automatically


Troubleshooting

Problem
Solution

Pet menu does not appear

Restart qbx_radialmenu after editing config. Ensure player is logged in (menu registers on QBCore:Client:OnPlayerLoaded).

Follow / Cuddle / Menu do nothing

Set Keybinds.Enabled = true in cdev_pets config. Pet must be spawned and within range.

Put Pet In Car does nothing

Pet must be out of bag. Stand closer to a door. Check vehicle class (bikes/boats blocked).

"No vehicle nearby"

Move within 5 m of a vehicle.

"Your pet cannot enter this vehicle"

Pet may be dead, already in a vehicle, or vehicle class not allowed.

"Could not find a valid door"

Vehicle model may lack seat bones; try another side of the car.

Remove from car fails

Use Remove Pet From Car while standing next to the vehicle the pet is in. Enter/exit the vehicle once and retry.

Notifications in wrong language

Set ox_lib locale in server.cfg: setr ox:locale en


Last updated