FAQ
How can I add another job to use the K9 pet?
You can add another job by configuring the IsPlayerAllowedToBuyK9 function, which you can find in the file cdev_pets > public > server > api.lua.
Suppose the other job you want to add is named Xerif, then the code will look like this:
PetResourceAPI.IsPlayerAllowedToBuyK9 = function(source)
local jobName, grade = clib.api.Character.GetCharacterJobFromSource(source)
if jobName ~= "police" and jobName ~= "Xerif" then
return false
end
return true
endHow stop Dog Attack?
After the pet starts attacking the player or NPC, keep holding the G key until it obeys your command to stop attacking.
Issue with DrawText for players in Asia how Fix it?
To fix the DrawText issue, go to cdev_lib > public > config > config.lua (lines 31 and 32) and change them to match the code below exactly.

How Pet Stamina System Work ?
📍 Where are stamina settings located?
All stamina-related configuration values can be found here:
⚙️ Stamina Configuration Values
⏱️ How often does stamina update? (AI Tick)
Stamina does not update every second. It updates based on the server’s AI Tick system:
🔎 Meaning:
Stamina is updated only once every 60 seconds (1 minute).
Whether the pet is following, sleeping, or performing an action, stamina will only change at each tick.
😴 How Stamina Regenerates
Stamina increases only when the pet is properly sleeping in its bed.
Regeneration Rate:
Sleeping in bed
Increase
+2 per minute
⚠️ Important Requirement
📉 Stamina Consumption (Default Config)
Below is a complete list of all actions that reduce stamina.
🐕 Following
Following the owner
Decrease per tick
–4 per minute
🎾 Fetching (Toy/Ball)
Fetch a toy
–4 per action
🐺 Attacking
Attack
–5 per action
🎓 Training Activities
Training stamina costs are configured here:
Training Stamina Costs
Cones
–5
Ramp
–7
Dummy (Practice Dummy)
–7
Hoop (Ring)
–7
💤 Tired State (Stamina = 0)
When stamina reaches 0, the pet becomes Tired.
Effects:
Cannot attack
Cannot train
Cannot fetch
Cannot perform demanding actions
May whine or show tired mood
Must sleep to recover stamina
📘 Complete Stamina Overview (Summary Table)
Pet sleeping in bed
+
+2 / minute
Owner must stay close
Pet following owner
–
–4 / minute
Tick = 60s
Fetch toy
–
–4 / action
Instant
Attack
–
–5 / action
Instant
Cones training
–
–5
Requires stamina
Ramp training
–
–7
Requires stamina
Dummy training
–
–7
Requires stamina
Hoop training
–
–7
Requires stamina
Stamina minimum
0
Pet becomes Tired
Cannot perform actions
🛠 Balancing Tips (Optional)
Faster stamina recovery
Increase StaminaIncreaseWhileSleepingPerTick
Slower stamina drain while following
Lower StaminaDecreaseFollowingPerTick
Faster stat updates
Reduce AI.TickFrequency (use with caution)
💡 Additional Notes
Stamina is clamped between 0 and 100.
Notifications are sent every time increase.
Stamina changes happen at tick intervals, not instantly.
The pet must be truly inside the bed’s interaction area to start sleeping.
My K9 dog is not dealing damage to the player it was ordered to attack how fix it?
⚠ Attention: Your K9 will not deal damage to the player because the setting EnableAttackUpdateis enabled in the configuration file:
cdev_pets > public > config > config.lua (lines 39–40).
With this setting enabled, only K9 pets are allowed to attack, and they will only target players. However, they will not cause any damage — they will simply knock the player down and immobilize them, making the behavior more realistic, just like a real-life K9 unit.
Now, if you want the pet to deal damage to the player, you will need to make some changes in the file
cdev_pets > public > config > config.lua as shown below.
⚠ Attention: Keep in mind that if you disable the EnableAttackUpdate setting, all pets will be able to attack, removing the exclusivity of the K9 pet.
Is it possible to add a pet Add-ON to the Pets system? And How Add ?
Yes, it’s possible to add a pet Add-on or even a some native GTA V animal. However, below you can find a list of functions that will be compatible and others that will not be compatible with Add-on pets or native GTA V animals.
⚠ Attention: You will only be able to add pets (Add-on or native) that belong to the Dog or Cat category. Other pets, such as a_c_chickenhawk, a_c_chimp, a_c_fish, a_c_hen, a_c_pig, a_c_rat, cannot be added — your pet will not have any movements and will also die instantly.
⚠ Attention: Issues with animations related to positioning, Add-on crashes and other problems with added pets (not including ours) are not covered by our support.
--------------------
Follow, Cuddle, Pet Stats, Animations ✅
Leash, Beds, Bwols, Toys ✅
Food, Liquid, Health ✅
Collar, Clothes, Shoes, Head, Patch, Glasse, Maks ⛔
K9 Functions (Sniff, Training) ⛔
-------------------
--------------------
How install new pet Add-on or retail pet from GTAV
Add the animal’s photo to the shop.
⚠ Recommended size: 237 x 168
⚠ To make sure the image works correctly in the shop, please use the WEBP format for the photo.
⚠ The file name (the animal’s photo) must match exactly the KEY variable name defined in cdev_pets > public > config > shop.lua.
Add the photo in the cdev_lib resource under the path: cdev_pets > html > pets > > inventory.
Creating the animal
You will add a line by copying from another animal inside the pets.lua file located in the folder cdev_pets > public > config > pets.lua.
Example (Using a native pet from GTAV):
Explanation of the part that needs to be changed:
["a_c_westy"]: Inside the key, instead of a_c_westy, you will put the name of the resource (the pet add-on folder you are adding) Or, if the pet is from GTAV, you should only use the ped name as shown on the website.
Item = "a_c_westy": Here you will enter the spawn name of the ped. For an add-on file, you can find it inside the peds.meta file in the section marked as <Name>a_c_westy</Name>.
Animations = DogAnims["SmallDog"], : In this part, where it says SmallDog, you should choose based on the size and category. There are three options: BigDog (for large dogs), SmallDog (for small dogs), and Cat (for cats).
Adding the new created pet for sale in the shop
You will copy the line below and paste it inside the shop.lua file located in the folder cdev_pets > public > config > shop.lua.
Explanation of the part that needs to be changed:
PetShopId = "a_c_westy": Identification name that will be recorded after the purchase in the shop.
key = "a_c_westy": Same name given to the Item variable in thepet.lua file, and it will also be used to retrieve the photo file inside cdev_lib.
label = "Yorkshire GTAV": Animal name displayed in the shop.
description = "A Yorkhire GTAV": Description of the animal that will be sold in the shop.
Adding the new animal to items exclusive to certain types and sizes of animals
Some items in the items.lua file located in cdev_pets > public > config > items.lua have exclusivity settings to prevent issues related to the animal’s size and category. For your new animal to be able to purchase these items, you need to add it to the limited variable.
Example item (dogbaga) :
⚠ You will add the name you used in the variable Item = "a_c_westy" located in the file: cdev_pets > public > config > pets.lua.
Before add:
After add:
I changed the keybinds in the config, but they didn’t change in-game. How do I fix this?
For anyone who joined before the change, you’ll need to clear the keybinds saved in your FiveM cfg file.
Here’s how:
Press
WIN + R, type%appdata%, and open the folder.Navigate to:
AppData/Roaming > CitizenFX > fivem.cfgOpen the
fivem.cfgfile with a text editor.Look for any lines with
cdev_petsbinds and delete them, or remove only the specific bind you want to reset.
Example line to remove:
After clearing these lines, restart FiveM. The new keybinds from your server’s config will then load correctly.
Is it necessary to add the items that are inside the items.lua file to my inventory?
No, and it won’t work if you try to add them. The pet system has its own inventory already integrated with the cdev_pets resource. So regarding the items, you don’t need to do any configuration or add them to your own inventory system, since it is completely separate and has its own inventory system.
The only item you can add to your framework’s inventory if you want is the baseball item. For more information on how to add it, you can read the documentation at the link below.
OX InventoryDiscord Webhook Logs (Pets & Shops)
CDev Pets sends several events to Discord using:
Below you can find a complete list of all available webhook log types, when they are triggered, and which fields are included.
Pet Delete - Permission Denied
When it fires Triggered when a player tries to delete a pet but does not have permission.
Player
Name of the player
Identifier
Character identifier
Pet Deleted
When it fires Triggered when an admin successfully deletes a pet.
Admin
Admin name and server ID
Identifier
Owner character identifier
Pet ID
ID of the deleted pet
Created Shop
When it fires Triggered when a player creates a new shop.
Identifier
Creator’s character identifier
Player
Creator’s character name
Shop Name
Name of the created shop
Shop Location
JSON location / blip data
Deleted Shop
When it fires Triggered when a shop is deleted.
Identifier
Character identifier of the player deleting it
Player
Player who deleted the shop
Shop Name
Deleted shop name
{shop} Added Employee
When it fires Triggered when a new employee is added to a shop.
Identifier
Player performing the action
Player
Player name performing the action
Added Identifier
Identifier of new employee
Added Player
Name of new employee
Role
Employee role (Employee/Boss)
{shop} Fired Employee
When it fires Triggered when an employee is removed.
Identifier
Player performing the action
Player
Player name performing the action
Fired Identifier
Character identifier of removed player
Fired Player
Name of removed employee
[{shop}] Deposited vault money
When it fires Triggered when money is deposited into the shop vault.
Identifier
Player depositing money
Player
Player name
Amount
Deposited amount
New Total Amount
New vault balance
[{shop}] Withdrawn vault money
When it fires Triggered when money is taken out of the vault.
Identifier
Player withdrawing money
Player
Player name
Amount
Withdrawn amount
New Total Amount
New vault balance
[{shop}] Removed vault money
When it fires Triggered when money is removed by a system/admin action.
Identifier
Player removing money
Player
Player name
Amount
Amount removed
New Total Amount
New vault balance
[{shop}] Added stock
When it fires Triggered when items are added to shop inventory.
Identifier
Player adding stock
Player
Player name
Item
Item ID
Amount
Quantity added
[{shop}] Removed stock
When it fires Triggered when items are removed from stock.
Identifier
Player removing stock
Player
Player name
Item
Item ID
Amount
Quantity removed
[{shop}] Bought stock
When it fires Triggered when a player purchases stock for the shop.
Identifier
Player buying stock
Player
Player name
Items
JSON with items and amounts
Price
Total purchase price
[{shop}] Updated stock price
When it fires Triggered when a shop item price is modified.
Identifier
Player updating price
Player
Player name
Item
Item ID
Price
New item price
[{shop}] Updated vet tables
When it fires Triggered when the list of vet tables is updated.
Identifier
Player updating
Player
Player name
Tables Count
New amount of vet tables
[{shop}] Removed vet table
When it fires Triggered when a vet table is removed.
Identifier
Player removing table
Player
Player name
Where is the Pet MLO location?

Is there a way to disable the pet store in the TAB menu?
Yes! You can disable the shop button in the pet bag menu (TAB) by editing the config.lua file:
Path:
Find the line:
and set it to:
How do I change the colors of the menu ?
⚠ Before making any changes, make a full backup of the cdev_lib and cdev_pets folders. If you don't have experience with development or modifying code, it is not recommended that you follow these steps.
Changing Bag Pets Menu cdev_lib > dist > css > app.xxxx.css

Formatted CSS Search For
Minified CSS Search For
Formatted CSS Search For
Minified CSS Search For
Formatted CSS Search For
Minified CSS Search For
Changing Main Shop Pets Menu cdev_lib > dist > css > app.xxxx.css

Selected Formatted CSS Search For
Selected Minified CSS Search For
Not Selected Formatted CSS Search For
Not Selected Minified CSS Search For
Formatted CSS Search For
Minified CSS Search For
Formatted CSS Search For
Minified CSS Search For
Selected Formatted CSS Search For
Selected Minified CSS Search For
Not Selected Formatted CSS Search For
Not Selected Minified CSS Search For
Formatted CSS Search For
Minified CSS Search For
Formatted CSS Search For
Minified CSS Search For
How can i buy a K9 pet and K9 items ?
To buy the K9 pet and the exclusive K9 accessories and items in the shop, you need to have the police job set in your framework.
After that, when you click to buy the pet, if it is a K9 type, you will see an extra checkbox appear in the purchase menu, just like in the example below.

If you want to change the required job or add more jobs allowed to buy the K9 and its accessories, follow this tutorial: Here
How to use the K9 pet's Sniff action ?
⚠ To use the Sniff feature, you first need to have a K9 category pet. You can see how to get a K9 pet HERE.

How to configure the items that the dog will sniff?
Access the file config.lua located in the folder cdev_pets > public > config > config.lua.
First, enable the SearchEnabled function so that everything works correctly on line 382:
Now, go to lines 390 to 398 and configure the items for each category as shown in the example below. These will be the items that the dog will search for and identify as illegal.
How Sniff system work and Sniff Skill Level?
The level determines the chance you have to perform the Sniff action successfully so lets use image bellow to example:

In this case, I have a 20% chance for the K9 dog to successfully find the items. You can change the DefaultLeveland MinLevel in the config.lua file located in the folder cdev_pets > public > config > config.lua (lines 314 and 317), as shown below.
Now lets explain how the Sniff System Works to better understand the Sniff system, here’s a step-by-step explanation:
First – When you trigger the Sniff action near a vehicle, the system will start scanning the DrugItems configuration we set up earlier, regardless of where you clicked to activate Sniff.
It will first check the GloveBox, reading the vehicle’s plate and verifying in the database if any of the configured items are stored there.
If it finds an item, it will trigger the Try Sniff action, which determines success based on your pet’s level (as explained earlier).
If nothing is found in the GloveBox, it will proceed to search the Trunk for the configured DrugItems.
If it finds something in the Trunk, the dog will bark and perform a spinning animation.
Second – If no items from the DrugItems list are found, the system will then check the MoneyItems list, following the same process:
First, it searches the GloveBox, then the Trunk.
If an item is found, the dog will sit and bark.
Third – If no items from either the DrugItems or MoneyItems lists are found, the system will move on to check the WeaponItems list.
Four and final - The system works the same way if you use the Sniff action on a player, but it will only check the player's inventory.
Do you want me to also add formatting for code examples in the documentation so it’s easier for developers to configure the item lists? That would make it even more user-friendly.
Does the VIP system work only for clothes and accessories ?
No, the VIP system works for any item listed in the file: cdev_pets > public > config > shop.lua
Inside this file, you just need to add vip = true to any item you want to make VIP-only. If the item doesn't already have it, here’s an example of how to add VIP to the dogs:
⚠ If you change the isPremiumPackage variable for any pet, I suggest you revert it to avoid potential issues in the future
After I start the assets folder this crash happens how fix ?


This happen because you got limit addons texture or other limit you can have in one server for fix this you have some options
Remove some others texture like cars , new maps , clothes ..
Increase TxdStore inside sever.cfg ( This is not recommend)
increase_pool_size "TxdStore" 26000
3.Use different games force build to receive more space for addons we recomended use 3258 sv_enforceGameBuild 3258
You can check more about Game Build here
You can read more inside this documentation and check all limits here
⚠ Changing the gamebuild won’t necessarily free up more space, but it will remove updates, which can help allocate more addons. Keep in mind that by using an older gamebuild version, any GTA V updates included in that build will be lost, and clothing slots as well as other limits in GTA V will change, which can negatively affect other resources on your server.
Press the F8 key to open the Client console in order to access the tool below.

⚠ If you don’t have this option in the F8 menu, you need to change your FiveM version. Go to the gear icon right after opening FiveM Settings > Game > Update Channel and switch it to Latest (Unstable).

How can I remove some clothes from the stream folder and the store?
Collar
8
cdev_xxx_xxx^accs_xxx_u.ydd (Model) cdev_xxx_xxx^accs_diff_xxx_x_uni.ytd (Texture)
Mask / Tie (Collar Category)
1 - Maks, 8 - Tie
cdev_xxx_xxx^berd_xxx_u.ydd (Model) cdev_xxx_xxx^berd_diff_xxx_x_uni.ytd (Texture)
Shoes
6
cdev_xxx_xxx^feet_xxx_u.ydd (Model) cdev_xxx_xxx^feet_diff_xxx_x_uni.ytd (Texture)
Head
9
cdev_xxx_xxx^task_xxx_u.ydd (Model) cdev_xxx_xxx^task_diff_xxx_x_uni.ytd (Texture)
Glasses
7
cdev_xxx_xxx^teef_xxx_u.ydd (Model) cdev_xxx_xxx^teef_diff_xxx_x_uni.ytd (Texture)
Clothes
3
cdev_xxx_xxx^uppr_xxx_u.ydd (Model) cdev_xxx_xxx^uppr_diff_xxx_x_uni.ytd (Texture)
Patch
1
cdev_xxx_xxx^berd_002_u.ydd (Model) cdev_xxx_xxx^berd_diff_002_x_uni.ytd (Texture)
1 - Identifying the clothing you want to remove.
1.2 - First, we will open the store and choose an accessory. In this case, I will choose the Red Air One Shoes.

1.3 - Now we will identify which stream represents the Red Air One Shoes.
We already know, according to the table above, that it is among the stream files cdev_xxx_xxx^feet_xxx because it belongs to the Shoes category.
So, open the items.lua file located at cdev_pets > public > config > items.lua and search for “Red Air One Shoes.”
1.4 - So we found that the drawable number is 7, which is the model, and the texture is 0, which represents letters. For example: 0 → A, 1 → B, ...
Therefore, the model and texture for the Red Air One Shoes would be:
cdev_dog_rott^feet_007_u.ydd
&#xNAN;cdev_dog_rott^feet_diff_007_a_uni.ytd
Where are the images from shop of the pets, clothes, and accessories located ?
All the images that appear in the store menu are located inside the cdev_lib resource:
cdev_lib > nui > dist > pets > inventory
The cdev_lib use the KEY variable inside the file: cdev_pets > public > config > shop.lua to look up the images in the folder mentioned above.
Example:
⚠ The images must have the.webp extension. Any changes inside this folder are not recommended unless you have experience.
Pets not spawning in?
[cdev_pets] (ERROR) Network control timeout for spawning pet, Please Try Again!

After I updated cdev_pets to version 2.9.3 or (Higher), I can no longer open the store manager how can i fix?

✅ Please note: if you’re not yet using the resource on your production server, and it’s not an issue for you to delete all the cdev_pets tables, the best practice is to remove them entirely and recreate the shop. This will fix all existing problems and help avoid any future issues.
List of all tables to delete (Only delete everything if you have no problem losing all previously recorded data.)
cdev_pets
cdev_pets_petshops
cdev_pets_petshops_employees
cdev_pets_petshops_sales
cdev_pets_petshops_sell_prices
cdev_pets_petshops_stock
⚠ This error happens because in the new updates, some items were renamed and problematic items were also removed from the items.lua and shop.lua files. Additionally, we replaced all the images as well. To fix this issue with the store, simply clear the tables in the database listed below and fully restart the server.
List of tables to empty
cdev_pets_petshops_sales
cdev_pets_petshops_sell_prices
cdev_pets_petshops_stock
Example Video using HeidiSQL ( version: 12.10.0.7000)

⚠ In addition to the issue above, it can also happen that when a player opens the /petbag or the TABmenu and tries to spawn certain pets, a similar error will occur. I’ll use the Golden Retriever pet as an example, which had some changes made to it.
This is what happens when you try to spawn a pet whose models were changed or that was removed.

Client Side Error (F8 Console)
Server Side Error (Prompt or TxAdmin Console)
Now I’ll explain how to fix this problem if you updated the version and this is happening to your players who had the old pets.
In the database image below, in the cdev_pets table, you’ll need to modify two columns: the first is the KEY column and the second is the PETSHOPID column, as shown in the image below.

First, let’s find the new names for the Golden Retriever, which we’re using as an example. You’ll start by opening the shop.lua file located in the folder cdev_pets > public > config > shop.lua, and you’ll find the Golden Retriever code just like in the example below.
Now that we have the new strings, we’re going to update them in the database, and the result will look like the image below.

After all the changes, you will shut down and restart the server, and the pet on your client or your player’s client will be working normally.
⚠ Just a reminder: if you don’t have experience, I recommend not modifying the tables to avoid any serious issues with your server, such as data loss.
Last updated