Oxide Animal Control
Animal control gig job system for FiveM servers.
Overview
A fully-featured animal control gig job where players clock in at a dispatch office, receive randomized service calls, drive an animal control truck to incident locations, and handle 4 distinct job types — aggressive animal takedowns with a tranquilizer dart gun, stray captures using bait and stealth mechanics, wildlife removal with patrol tracking, and deceased animal pickups. A 5-tier progression system (Volunteer to Chief Officer) unlocks better pay multipliers and tip chances as players level up through completed jobs. Two players can team up in crews for shared calls with a 15% co-op pay bonus, and a complaint system temporarily suspends players who let animals escape, kill animals, or destroy their truck.
Technical
| Dependency | Required | Purpose |
|---|---|---|
o-link | Yes | Framework and system abstraction layer used by the resource |
ox_lib | Yes | Locale, callbacks, timers, context/input UI, and utility functions |
oxmysql | Yes | Database access for progression data |
Database: Uses the unified job_progression table, storing animal control entries with job = 'animalcontrol'. Tracks per-character level, total jobs, daily streak, complaints, and timeout state. Pay owed to a player who disconnects or logs out on shift waits in the shared job_pending_payouts table and is paid at their next login. Settings live in the shared oxide_settings table. Both tables are created automatically on first start.
Frontend: Vue 3 + Vite + Tailwind CSS — renders the shift menu with cinematic camera and crew headshot portraits, incoming call notifications, job HUD overlay with mission timer and context hints, end-of-shift payment summary, tutorial tooltips, and 3D floating waypoints.
Menu Style: Configurable between the full NUI menu (cinematic camera, crew portraits, progression card) and a lightweight olink.menu context menu for servers that prefer simplicity or don't need the NUI frontend.
Weapon Model: Includes a bundled tranquilizer dart gun model (WEAPON_G2) with meta files and streamed assets — no additional weapon downloads required.
Features
-
4 Job Types — Aggressive animal (tranquilize attacking animal, load into truck, deliver to shelter), stray capture (place bait, sneak up, calm and capture), wildlife removal (track patrolling animal through waypoints, tranquilize and deliver), and deceased pickup (collect remains into a body bag, load into truck). Each type has unique animal AI, prop interactions, animations, and mission timers.
-
Tranquilizer Dart System — A dart gun is given on clock-in and removed on clock-out. The bundled gun inflicts no health damage, uses a separate dart ammo pool, and validates animal interactions on the server. Successful hits sedate the animal for a configurable duration (default 30s), after which it wakes up and must be re-tranquilized. Resupply costs are reserved from earned shift pay before dedicated darts are issued. Player tranquilization is optional and disabled by default.
-
Animal AI Behavior — Each job type drives distinct AI. Aggressive animals attack the reporting NPC and redirect to the player. Strays wander and flee when spooked, with configurable spook chances and flee distances. Wildlife patrols between waypoints with detection ranges for standing vs crouching players. All animals have escape radii that trigger complaints if breached.
-
Bait & Stealth Mechanics — Take bait from the truck, place it using a ghost preview system, then retreat and wait for the stray to approach. Crouch to avoid spooking the animal while closing in. Supports native crouch detection or a random-chance fallback for servers with custom crouch systems.
-
Call Dispatch System — Randomized service calls dispatched at configurable intervals (15-45s). Players accept or decline via keyboard with a 30-second response window. Missed and declined calls accumulate — 3 missed calls trigger automatic clock-out. A pool of 54 events across 34 locations avoids repetition across a shift.
-
Progression & Leveling — 5 tiers (Volunteer to Chief Officer) with increasing pay multipliers (1.0x to 1.5x), tip chances (10% to 40%), and tip ranges. Progress is persistent and earned through cumulative job completions. A daily streak system (up to 7 days) adds bonus pay.
-
Crew Co-op — Two players can team up on the same shift with a shared truck, synchronized call dispatch, and a 15% co-op pay bonus. Each member is paid on their own level. Leadership transfers gracefully if one member clocks out, logs out or disconnects.
-
Detailed Pay Breakdown — Base pay per job type plus distance bonus, speed bonus for on-time completion, level multiplier, daily streak bonus, and random tips. Deductions for gas fees (5%), taxes (10%), vehicle damage charges, and dart resupplies, with on-the-spot fines for destroyed trucks and killed animals. End-of-shift summary shows the full breakdown in a popup or as a phone message.
-
Reporting NPC Behavior — Civilian NPCs spawn at aggressive and stray job sites, cycling through contextual animations (beckoning, frightened, hand gestures) based on player proximity. NPCs play thank-you animations on job completion.
-
Safety Zones — Tiered speed zones (15m and 30m rings) slow NPC traffic around active job sites so passing cars don't disrupt the scene.
-
Tutorial System — 16 contextual tooltips guide new players through their first shift, covering every job type, bait placement, tranquilizer use, animal loading, shelter delivery, crew mechanics, and progression. Tutorials persist via KVP and can be toggled or reset with commands.
-
Phone Integration — Shift updates, incident reports, and the end-of-shift pay summary arrive on the player's phone as texts, or as mail on phones that don't support texts. The phone also rings for each incoming call (in a crew, only the leader's), and the call is still accepted or declined on screen. On Oxide Phone, the Gigs app shows the offices and whether each has room, the player's current call and pay so far, and their level. Works with
qb-phone,lb-phone,gksphone,okokPhone,qs-smartphone,qs-smartphone-pro,yseries, and Oxide Phone. Texts and the call ring needo-link1.11.0 or newer; with an oldero-link, messages arrive as mail. -
Location Builder — Built-in admin tool (
/animalcontrolbuilder) for creating new office locations and job events — requires admin permission, no code editing required. -
Anti-Abuse System — Complaint tracking with automatic 30-minute timeouts after 3 strikes (animal escape, animal killed, vehicle destroyed, player death). Complaints decay through successful job completions.
~10,600 lines of code
Documentation
Installation
Dependencies, startup order, database setup, and verification.
Configuration
How settings work, the /animalcontrol settings editor, and every default.
Features
Gameplay flow, progression, payments, and system behavior.
Admin Tools
Commands, the settings editor, and location-builder usage.
API Reference
Server exports for other resources: IsOnShift, GetSetting, SetSetting, GetInfo, GetShift, GetProgression, SetUpdateHandler.
Troubleshooting
Common runtime, interaction, and progression issues.