Feature Guide
Complete overview of the oxide-animalcontroljob system covering shift management, job types, animal behavior, crew cooperation, progression, and payment mechanics.
A complete overview of the oxide-animalcontroljob animal control gig job system, covering shift management, job types, animal behavior, crew cooperation, progression, and payment mechanics.
Shift System
Players interact with a dispatcher NPC at the animal control office to manage their shift. The NPC uses a clipboard scenario and opens a menu when interacted with via third-eye targeting.
Menu Styles
| Style | Setting | Description |
|---|---|---|
| NUI | 'nui' (default) | Full-screen Vue menu with cinematic camera, crew headshot portraits, and a rich progression card |
| Bridge Menu | 'menu' | Lightweight ox_lib context menu, no camera or NUI frontend required |
Both styles expose the same functionality: clock in/out, invite crew partners, accept/decline crew invites, and view stats/progression.
Shift State Machine
| State | Description |
|---|---|
IDLE | Not clocked in, no active shift |
WAITING | On shift, waiting for dispatch to send an animal report |
ON_CALL | Call accepted, driving to the animal location |
WORKING | Actively handling the animal at the scene |
Flow: IDLE -> WAITING -> (call arrives) -> ON_CALL -> WORKING -> (job complete) -> WAITING -> ... -> IDLE (clock out)
Each office location has a configurable maximum of concurrent shift slots (default: 3).
Call Dispatch System
After clocking in, dispatch automatically sends animal reports at random intervals between 15-45 seconds.
- A random delay elapses
- The server selects a random event from the pool (avoiding recently used events)
- An incoming call notification appears with the job type, distance, and a response timer
- The player presses E to accept or Backspace to decline within the response window (30s)
Missed and declined calls count toward the limit. Reaching 3 missed calls triggers automatic clock-out for the player and their crew partner. Once all 55 events have been used during a shift, the pool resets.
Job Types
Aggressive Animal
A dangerous animal is attacking a reporting civilian. Tranquilize it, load it into your truck, and deliver to the shelter.
- Drive to the reported location (reporting NPC present, being attacked)
- Use the tranquilizer dart gun to sedate the animal
- The animal becomes ragdolled for 30 seconds
- Load the sedated animal into the truck
- Drive to the shelter delivery point and unload
The animal attacks the reporting NPC, then redirects aggression to the player within 10m. Nearby world peds flee within 20m.
| Base Pay | Events |
|---|---|
| $85 | 13 |
Stray Capture
A lost domestic animal is loose. Lure it with bait, sneak up to calm it, then load and deliver.
- Drive to the location (reporting NPC present)
- Take bait from the truck via third-eye
- Place bait near the animal using the ghost preview (press E to place, Backspace to cancel)
- Move 15m+ away and wait for the animal to approach
- Once eating, sneak up while crouching to avoid spooking
- Get within 2.5m and interact to calm the animal
- Load and deliver to the shelter
The animal wanders within 15m of spawn. Approaching standing has a 40% spook chance, causing it to flee 20m before returning.
| Base Pay | Events |
|---|---|
| $70 | 15 |
Wildlife Removal
A wild animal (coyote, mountain lion, panther, or deer) has been spotted in an urban area.
- Drive to the location (no reporting NPC)
- The animal patrols between waypoints, wandering 8m around each
- Stay crouched and approach carefully (spotted at 25m standing, 12m crouching, panic at 5m)
- Tranquilize, load, and deliver to the shelter
Nearby world peds flee within 25m.
| Base Pay | Events |
|---|---|
| $110 | 5 |
Deceased Pickup
A deceased animal has been reported. Collect the remains and load them.
- Drive to the location (no reporting NPC)
- The animal is lying dead on the ground
- Interact to collect remains into a body bag (1.5s)
- Carry the bag back to the truck and load it (4s)
No tranquilization or shelter delivery needed.
| Base Pay | Events |
|---|---|
| $55 | 22 |
Animal Behavior System
Animal State Machine
| State | Description |
|---|---|
ALIVE | Active, performing job-type-specific behavior |
SEDATED | Tranquilized and ragdolled (wakes up after 30s) |
CAPTURED | Calmed by player (stray capture only) |
LOADED | Loaded into the truck |
DEAD | Killed or spawned dead |
Escape Detection
| Job Type | Escape Radius |
|---|---|
| Aggressive Animal | 80m |
| Stray Capture | 60m |
| Wildlife Removal | 100m |
An escaped animal triggers a complaint and cancels the current job.
Tranquilizer System
On clock-in, the server provides a weapon_g2 dart gun through the inventory bridge. Each call gives 5 darts. Dart damage is restricted to only affect the active job's animal while on shift. A successful hit sedates the animal for 30 seconds. On clock-out, the weapon is removed.
Bait System
Used in stray capture jobs to lure frightened animals:
- Take bait from the truck (dog bowl model)
- Bait attaches to player's hand with carry animation
- Ghost preview shows placement target (camera raycast, max 8m)
- Press E to place — scent particles play at location
- Move 15m+ away; after 5s delay, the animal approaches
- Once eating, sneak up to capture range
If the player approaches standing: 40% spook chance. Spooked animals flee 20m and return after 8 seconds.
Stealth Detection
Native mode (default): Uses GetPedStealthMovement to detect crouching.
Fallback mode: For servers with custom crouch systems. Uses random chance (35% spook, 70% safe).
Animal Loading and Delivery
- Loading: Bring truck within 3m of the animal, interact (5s progress bar)
- Shelter delivery: Drive to
Config.ShelterDeliveryPoint, unload within 5m (4s progress bar) - Deceased: Collect remains (1.5s), carry body bag back to truck, load (4s)
Progression System
| Level | Title | Required Jobs | Pay Multiplier | Tip Chance | Tip Range |
|---|---|---|---|---|---|
| 1 | Volunteer | 0 | 1.00x | 10% | $5-15 |
| 2 | Handler | 15 | 1.10x | 15% | $5-20 |
| 3 | Senior Handler | 40 | 1.20x | 25% | $10-30 |
| 4 | Field Supervisor | 80 | 1.35x | 30% | $10-40 |
| 5 | Chief Officer | 150 | 1.50x | 40% | $15-50 |
Daily Streak
Completing at least one job per consecutive day builds a streak (max 7 days). Each streak day adds $10 to job payments. Missing a day resets the streak to 1.
Complaint System
| Action | Complaints | Additional Penalty |
|---|---|---|
| Animal escapes | 1 | Job cancelled |
| Animal killed | 1 | $150 fine |
| Vehicle destroyed | 1 | $200 fine |
| Player dies | 1 | Job cancelled |
Each successful job removes 1 complaint. Reaching 3 complaints triggers a 30-minute suspension.
Payment System
Payment accumulates across the shift and is issued as a lump sum to the player's bank on clock-out.
Per-Job Formula
subtotal = (basePay + distanceBonus + speedBonus) * levelMultiplier * timerMultiplier
total = subtotal + streakBonus + tip
| Component | Calculation |
|---|---|
| Base Pay | $55-110 per job type |
| Distance Bonus | distance * $0.30/unit |
| Speed Bonus | $25 flat for on-time completion |
| Level Multiplier | 1.0x - 1.5x |
| Timer Multiplier | 1.0 on-time, 0.85x if late |
| Streak Bonus | dailyStreak * $10/day |
| Tip | Random chance based on level |
End-of-Shift Payout
| Component | Description |
|---|---|
| Gross Pay | Sum of all job totals + co-op bonus |
| Co-op Bonus | 15% on jobs completed in a crew |
| Vehicle Damage | $0.50 per health point below 950 |
| Vehicle Destroy Fine | $200 flat if truck destroyed |
| Gas Fee | 5% of gross pay |
| Taxes | 10% of gross pay |
| Net Pay | grossPay - charges - gasFee - taxes (min $0) |
Crew System
Two players can work together, sharing a vehicle and dispatch calls.
- Leader enters partner's server ID in the dispatcher menu
- Invite sent (60s expiry)
- Partner accepts at the dispatcher NPC
- Both share calls, truck, and animal interactions
- Jobs in crew earn 15% co-op bonus
| Scenario | Behavior |
|---|---|
| Leader clocks out | Vehicle and shift transfer to partner |
| Partner clocks out | Partner leaves, leader continues solo |
| Either disconnects | Remaining member continues solo |
| Either dies | Crew disbanded, remaining member continues |
Reporting NPC Behavior
For aggressive and stray events, a random civilian NPC spawns near the animal. The NPC cycles through reaction animations when the player is nearby (within 40m), uses an ambient phone scenario when far away, and plays a thank-you animation on job completion.
Vehicle System
An animal control truck spawns at clock-in with license plate ACSVC. Features include health monitoring (every 1s), third-eye targets for bait/loading, and damage charges at clock-out.
If destroyed (engine health < 150): current job cancelled, complaint added, $200 fine, dispatch stops.
Safety Zones
| Tier | Radius | Speed Limit |
|---|---|---|
| Inner | 15m | 8 mph |
| Outer | 30m | 20 mph |
Ambient scenarios blocked within 15m, parked vehicles cleared within 8m.
HUD Overlay
Displays mission timer (with "LATE" indicator), job type label, and context-sensitive hint text during active jobs.
Waypoints
3D floating marker above job destinations. Scales between 0.5x-1.0x based on distance (30m-300m). Shows distance text. Toggle visibility by holding H.
Phone Integration
Email notifications for shift start, vehicle destruction, death, animal escape/kill incidents, and end-of-shift summary with full payment breakdown. Messages appear from "Animal Control - [Location Name]".
Tutorial System
17 contextual tooltips guide new players through their first shift. Tutorials persist via KVP storage and appear once per topic. Toggle with /animalcontroltutorials, reset with /animalcontroltutorialreset.
Next Steps
- Installation — Set up the resource
- Configuration — Customize all settings
- Admin Tools — Admin commands and utilities
- Troubleshooting — Common issues and solutions