New releaseCompanion Pets: adopt, follow and ride alongCompanion Pets is out

Companion Pets

Adopt a dog or a cat at the shelter, or win over a stray with treats. It follows you, rides in your car and is still yours after a restart.

v1.0.0Qbox / QBCore$14.99Store page

Players adopt a dog or a cat at the animal shelter, or win over a stray with treats, and it follows them around. They tell it to sit, stay or come, feed it, rename it and take it for a ride in the car. The pet is saved to the database: it's still theirs after a logout, a server restart or their own death.

No pet-shop MLO needed. Every pet, shelter and stray uses the game's own animals and base-map spots.

Features

  • Shelter with a worker and a map blip: pick a breed, name it, pay the fee. Pet food is sold there too.
  • 6 breeds out of the box: husky, golden retriever, shepherd, westie, pug and cat. Prices and the list are in config.lua.
  • Strays wander at three spots (Grove Street, Sandy Shores, Paleto Bay). Treats build your bond with one; at full bond it's yours for free. Each player's bond is saved.
  • Orders: follow, sit, stay, come, feed, rename, send home, release. From the /pet menu, a key you bind, or shortcuts like /pet sit.
  • Car rides: the pet takes a free passenger seat when you get in while it's following, and hops out with you. Bikes, boats and aircraft are skipped.
  • Hunger and bond: hunger drops while the pet is out; feeding brings it back and builds bond, and so does time together. A starving pet sits and won't follow until it's fed. Nothing dies.
  • Downed owner: the pet lies down beside you until you're back up, then follows again. The menu keeps working after a death.
  • Never lost: a pet that gets left behind or stuck is brought back to you; one that's culled is respawned by the server.
  • Server-authoritative: prices come from config, adopting, feeding and treats are distance-checked, names are filtered, and hunger and bond are worked out on the server from the time a pet spends out. The client never sends them.
  • Anti-cheat friendly: pets are spawned by the server, not the client.
  • Admin: /petadmin lists pets near you, brings one back to its owner, or deletes it.
  • Built and run on Qbox. QBCore is supported through the framework bridge. ox_inventory or the framework's inventory, ox_target or plain [E] prompts.
  • Pets are companions only: no K9 work and no attacking. One pet is out at a time.

Requirements

  • ox_lib
  • oxmysql
  • Qbox (qbx_core), or QBCore (qb-core) through the framework bridge
  • ox_inventory, or QBCore's inventory
  • Optional: ox_target (otherwise the shelter and strays use [E] prompts)
  • OneSync (on by default on current servers)

Install

  1. Put the rr-pets folder in your resources.
  2. Add the pet food item to your inventory:

ox_inventory (ox_inventory/data/items.lua): ``lua ['pet_food'] = { label = 'Pet Food', weight = 200, stack = true, close = true, description = 'A bag of kibble. Dogs and cats both like it.' }, ``

qb-core (qb-core/shared/items.lua): ``lua pet_food = { name = 'pet_food', label = 'Pet Food', weight = 200, type = 'item', image = 'pet_food.png', unique = false, useable = false, shouldClose = true, description = 'A bag of kibble. Dogs and cats both like it.' }, ` Add an image called pet_food.png` to your inventory's image folder if you want one.

  1. In server.cfg, after ox_lib, oxmysql, your framework and your inventory:

`` ensure rr-pets ``

  1. Start the server. The two tables (rr_pets, rr_pet_strays_bond) create themselves. sql/install.sql is included if you'd rather import them yourself.
  2. Optional: give your admins the admin command:

`` add_ace group.admin rr.pets.admin allow ``

The console prints [rr-pets] v1.0.0 ready when it's running, or one line saying what's missing (the framework, or the pet food item).

Commands

CommandWhoWhat
/peteveryoneThe pet menu (bind a key to it in Settings > Key Bindings > FiveM)
/pet call · follow · sit · stay · come · feed · car · homeeveryoneShortcuts for radial menus and key binds
/petadminrr.pets.admin acePets near you: bring one back to its owner, or delete it

Other resources can use exports['rr-pets']:OpenMenu(), exports['rr-pets']:Do('sit') and exports['rr-pets']:GetPet().

Config highlights

  • Config.Shelters: where the shelter worker stands (add more shelters), the worker's model and the blip.
  • Config.Breeds: label, model, price and size (big, small or cat) for each breed.
  • Config.MaxPets: how many pets a character can own (1 by default).
  • Config.Food, Config.Hunger, Config.Bond: food price and effect, how fast hunger drops, how fast bond grows.
  • Config.Payment: which account pays (cash or bank), with a fallback to the other.
  • Config.Strays: stray spots, which breed each one is, treats needed, cooldown.
  • Config.CarRides: on or off, which seats, and where each size of pet sits.
  • Config.Poses: the sit and lie clips per size, tried in order.
  • Config.UseTarget, Config.AutoSummon, Config.Invincible, Config.Keybind.
  • Config.Text: every message players see, for translating.

Last updated 2026-10-26