Troubleshooting
Solutions for common issues with oxide-animalcontroljob.
Solutions for common issues with oxide-animalcontroljob, organized by problem domain.
Shift Issues
Can't Clock In
- No slots available — Check if the location has reached
Config.MaxSlotsPerLocation(default: 3). Wait for another player to clock out, or increase the limit - Already clocked in — Clock out first before clocking in again
- Suspended — Player has accumulated too many complaints. Check the suspension timer (default: 30 minutes)
- Spawn area occupied — Another vehicle is blocking the truck spawn point
- Rate limited — The clock-in action has a 2-second cooldown
Dispatcher Menu Not Appearing
- Verify your targeting resource is working (ox_target, qb-target, etc.) and is supported by community_bridge
- Check that the NPC spawned correctly at the office coordinates
- Ensure the player's character is loaded (community_bridge
OnPlayerLoadedevent must have fired) - Check the server console for resource start errors
Call Dispatch Issues
No Calls Being Dispatched
- Ensure the player is in
WAITINGstate (not already on a call) - Calls are dispatched at random intervals between 15-45 seconds — wait at least 1 minute
- Check debug mode output for dispatch timer messages
- If in a crew, only the leader receives and accepts calls
Auto Clock-Out After Missed Calls
This is intended behavior. After 3 missed/declined calls, the player is automatically clocked out. Adjust Config.Calls.maxMissedCalls or Config.Calls.responseTimeSeconds as needed.
Vehicle Issues
Service Truck Not Spawning
- Check that
vehicleSpawncoordinates inConfig.Locationsare valid - Verify the vehicle model
kennel(or your configured model) is installed and streamed correctly - Check if another vehicle is blocking the spawn point
- Look for client console errors related to vehicle creation
No Vehicle Keys
- Verify your vehicle key system is configured in community_bridge
- Check that
Bridge.VehicleKey.GiveKeysis working - The truck's plate is
ACSVC— ensure your key system handles custom plates
Animal Issues
Animal Not Spawning
- Check that event coordinates in
Config.Eventsare valid outdoor positions - Verify the animal model exists in
Config.Animals - Check client console for model loading errors
- Ensure the location isn't underground or inside a building collision
Animal Escaped
The animal moved beyond its escape radius from spawn. Increase the escape radius in shared/config/animals.lua or ensure event locations have enough open space.
Animal Killed
This happens when an animal takes lethal damage from any source. The dart gun is restricted to the active job animal, but other weapons or vehicle impacts can kill it.
Animal Woke Up
Sedation lasts 30 seconds. Players must load the animal before the timer expires, or tranquilize again. Increase Config.Tranquilizer.sedationDuration if needed.
Bait and Capture Issues
Can't Take Bait from Truck
- Bait is only available during stray capture jobs (
WORKINGstate withSTRAY_CAPTURE) - Bait may already be placed — check if it's in the player's hand or on the ground
- Verify target interactions work with your targeting resource
Animal Not Approaching Bait
- Player must be 15m+ away from the bait before the animal approaches
- There is a 5-second delay after the player leaves
- If recently spooked, the animal takes 8 seconds to return
- Check that the animal is in the
ALIVEstate
Can't Capture Animal
- Must be within 2.5m capture range
- The animal must be in a capturable state (near bait, not fleeing)
- Check that the third-eye target is showing
Tranquilizer Issues
No Dart Gun After Clock-In
- Verify
weapon_g2is registered in your inventory system - Check that
Bridge.Inventory.AddItemis working - Look for server console errors related to dart weapon
- If using a custom weapon, update
Config.Tranquilizer.weaponHash
Darts Not Affecting Animal
- Darts only affect the active job's animal while on shift
- Check you are shooting the correct animal
- If already sedated, darts have no additional effect
- Verify the weapon hash matches config
Running Out of Darts
Each call provides 5 darts. Increase Config.Tranquilizer.ammoPerCall if needed. Some animals have higher health and require more hits.
Delivery Issues
Can't Load Animal into Truck
- Truck must be within 3m of the animal
- Animal must be SEDATED or CAPTURED (not ALIVE)
- Verify the truck entity still exists
Can't Unload at Shelter
- Must be within 5m of
Config.ShelterDeliveryPoint - Animal must be in LOADED state
- Verify delivery coordinates are correct
Crew Issues
Can't Invite Partner
- Leader must be clocked in
- Leader must not already have a partner
- Enter the target player's server ID (not character ID)
- 5-second rate limit cooldown
Partner Not Receiving Invite
- Target must not already be in a crew or on a shift
- If near the dispatcher NPC, invite appears in the menu
- Otherwise, a notification directs them to the dispatcher
- Invites expire after 60 seconds
Payment Issues
Not Receiving Payment
- Payment is issued as a lump sum on clock-out, not per job
- Check the shift summary for the breakdown
- Verify community_bridge framework payment functions are working
Incorrect Amounts
- Review the payment breakdown in shift summary
- Check for late finish penalty (0.85x)
- Vehicle damage charges reduce the final payout
- Gas fee (5%) and taxes (10%) are deducted
Progression Issues
Level Not Updating
- Level-up is checked after each successful job
- Verify
total_jobsin the database - Check
Config.LevelsforrequiredJobsthresholds - Level 5 is the maximum
Timeout Not Expiring
- Check
timeout_untilcolumn in the database - Ensure the server's system clock is correct
- Manually clear:
UPDATE animalcontroljob_progression SET timeout_until = NULL WHERE char_id = ?
HUD and NUI Issues
Timer Not Showing
- Ensure the web UI was built:
cd web && npm install && npm run build - Check that
web/dist/index.htmlexists - Check F8 console for NUI errors
NUI Stuck Open
- Press
Escapeto close - If cursor is stuck, restart the resource
- As a last resort, reconnect to the server
Performance
Entity Cleanup
Restart the resource to trigger cleanup handlers. Vehicle, NPC, animal, prop, and bait entities are cleaned up on shift end, character unload, and resource stop.
Thread Optimization
| Thread | Sleep Interval | Active During |
|---|---|---|
| Vehicle health monitor | 1000ms | Any shift state |
| Animal behavior tick | 100-2000ms | Active job with live animal |
| Bait ghost preview | 0ms | Placing bait |
| Waypoint render | 0ms | Waypoint visible (H held) |
| Call input listener | 0ms | Incoming call notification |
Threads automatically stop when not needed and restart on demand.
Debug Mode
Set Config.Debug = true in shared/config.lua and restart. Debug messages are prefixed with [oxide-animalcontroljob].
Logs include: shift state transitions, dispatch events, job completion/payment, crew events, progression changes, animal state transitions, bait/tranq events, vehicle health, NPC lifecycle, safety zones, and entity sync.
Debug Force Job Type
Config.DebugForceJobType = JobType.STRAY_CAPTURE -- Only dispatch stray jobs
Set to nil for normal operation.
Getting Help
When reporting issues, include:
- Server framework (ESX, QBCore, QBX, etc.)
- community_bridge and ox_lib versions
- Vehicle model in use (default
kennelor custom) - Tranquilizer weapon in use (default
WEAPON_G2or custom) - Error messages from server and client consoles
- Steps to reproduce
- Whether the issue occurs solo or in a crew
- Current shift state and job type
- Debug mode output if available
Next Steps
- Features — Understand all features and mechanics
- Configuration — Customize all settings
- Admin Tools — Admin commands
- Installation — Set up the resource