config.lua. Edit, then restart nex_shoulderpets.
Custom pets are a topic of their own — see Adding pets.
General behaviour
auto picks whichever supported framework / inventory is running. Only set explicit values if your setup is unusual.
The keybind registers via RegisterKeyMapping, so each player can rebind it under F1 → Settings → Key Bindings → FiveM. The slash command always works regardless of the keybind.
Animations
Equip and unequip animations play when a player uses a pet item or dismisses a pet from the menu. Ifox_lib is started, an ox_lib progress bar is shown for the duration; otherwise the animation just plays for duration ms.
mp_common/givetake1_a is universally available in vanilla GTA V — plays on every ped, no DLC required. Flag 49 keeps the legs free so the player can still walk.
If the configured anim dict can’t be loaded, the client silently falls back to
mp_common/givetake1_a so a typo can never block the pet from spawning.| Vibe | dict | clip |
|---|---|---|
| Adjust tie at neck | clothingtie | try_tie_positive_a |
| Adjust shirt | clothingshirt | try_shirt_positive_d |
| Right hand up to head | clothinghat | try_hat_positive_a |
| Bend down + pickup | random@domestic | pickup_low |
/removepet) and the menu’s “Re-summon” skip the unequip animation — both are intentional quick respawns.
UI
Notifications
client/editable.lua exposes a single function:
ESX.ShowNotification, QBCore.Functions.Notify, lib.notify, or whatever you use. The file is escrow_ignored so it survives updates.
Locales
locales/en.lua and locales/es.lua ship by default. To add another language:
- Copy
locales/en.luatolocales/<your-lang>.lua(e.g.locales/fr.lua). - Translate the strings.
- Set
Config.General.ui.locale = 'fr'. - Restart the resource.
locales/*.lua in the fxmanifest, so the new file is picked up automatically.
