Feature Guide

How oxide-pestcontroljob plays — shifts, dispatch, properties, gear at the van, the UV inspection, spraying, bait stations, wasp nests, the report, callbacks, progression, pay, crews and the on-screen guidance.

How oxide-pestcontroljob plays, from clocking in to getting paid. Setting names in backticks can be changed in-game with /pestcontrol settings (see Configuration).

Shift Flow

Players manage the job from the clerk at the Bugstars depot. They aim their interaction eye at the clerk and choose Talk to Dispatcher.

Config.menuStyle supports:

  • 'nui': the full visual menu with a camera view of the depot, a progression card, and crew portraits
  • 'menu': a simple context menu for servers that want a lighter interface

Both modes support:

  • clocking in and out
  • viewing level, total jobs, daily streak and complaints
  • inviting a crew partner
  • responding to a pending crew invite
  • cancelling the current call
  • putting on and taking off the uniform (when uniforms are turned on)

Clocking in

A player can clock in when:

  • they are standing at the clerk (within 10 metres)
  • they are not dead or downed
  • they are not suspended for complaints
  • the depot has a free slot (Config.MaxSlotsPerLocation, 3 by default)
  • the van's parking spot is clear. If a car or another player is within 5 metres of it, they get "The van parking area is currently occupied."

On clock-in the company van appears at the depot with full fuel and the player's keys.

Shift states

A shift moves through three states:

  • Off shift: not clocked in
  • Waiting: clocked in, waiting for a call
  • On a call: a call has been accepted and is being worked

Normal flow is:

Off shift -> Waiting -> On a call -> Waiting -> ..., until the player clocks out.

Dispatch System

After clock-in, dispatch waits a random time between Config.Calls.minIntervalSeconds (15) and Config.Calls.maxIntervalSeconds (45) seconds, then sends a call.

Incoming calls

The call card shows the property's name, its kind (house, restaurant or warehouse), the street and how far away it is. For cockroach and rat calls it only says Pest complaint: the technician finds out which pest it is on site. Wasp calls say Wasps.

  • Accept with E
  • Reject with Backspace
  • The card stays for Config.Calls.responseTimeSeconds (30 seconds)
  • Missed and rejected calls both count toward the same cap
  • Reaching Config.Calls.maxMissedCalls (3) automatically ends the shift
  • Missed calls do not add complaints

How a call is picked

  1. Dispatch picks a pest by the weights in Config.Calls.speciesWeights (cockroaches 45, rats 35, wasps 20). Wasps only join the mix from the wasp level (Config.Unlocks.wasp, level 3).
  2. It then picks a property the player's level allows. Wasp calls only go to properties that have wasp nest spots.
  3. A property used earlier in the shift isn't picked again until every allowed property has had a turn, and the same property never comes twice in a row unless it's the only one that fits.

Phone ring for incoming calls

When Config.usePhone = true, the player's phone also rings for each new call: a notification titled "Incoming Call", such as "Pest complaint at Diner, La Mesa" or "Wasp nest at Forum Drive (Strawberry)". In a crew, only the leader's phone rings; the partner still sees the call card on screen. The call is still accepted or rejected on screen with E or Backspace, not on the phone.

The ring needs o-link 1.11.0 or newer and a phone that supports notifications: every supported phone except qb-phone and older qs-smartphone versions. With an older o-link, nothing extra happens and the call works as before. See Phone Integration.

Cancelling a Call

A player who already accepted a call can back out of it without ending their shift.

Note the difference from rejecting: a call that is still ringing can be rejected (and that counts as a miss). Cancelling is for the call the player has already accepted.

There are two ways to cancel:

  • the Cancel Current Task button in the shift menu, which only appears while a call is in progress
  • the Cancel Current Task option on the company van through the interaction eye

Both ask for confirmation first.

When a call is cancelled:

  • the property's scene clears for everyone in the crew: the nest, the ladder, the pet bowls and vegetable beds, and placed devices all disappear
  • the van stays where it is and the player stays clocked in, back to waiting for the next call
  • that call pays nothing, but every call already reported still pays out at clock-out
  • there is no fine, no complaint, and it does not count as a missed call
  • dispatch holds the next call back for Config.Calls.cancelCooldownSeconds (60 seconds)

In a crew, only the leader can cancel. A partner who tries gets "Only the crew leader can cancel the task".

Properties

Calls go to houses, restaurants and warehouses. Each property has a centre point, a radius that counts as "on site", a foundation line traced along its outside walls, and optionally wasp nest spots and no-spray spots (pet bowls and vegetable beds).

The job ships with 12 properties traced from the game's own buildings:

#PropertyKindWasp nest spotsNo-spray spots
1Forum Drive (Strawberry)House2Pet bowl, vegetable bed
2Forum Drive (corner lot)House2Pet bowl, vegetable bed
3Forum Drive (west end)House0Pet bowl, vegetable bed
4Forum Drive (east end)House1Pet bowl, vegetable bed
5Up-n-Atom, VinewoodRestaurant0Vegetable bed
6Diner, La MesaRestaurant2Vegetable bed
7Taco stand, DavisRestaurant0Vegetable bed
8Diner, Sandy ShoresRestaurant0Vegetable bed
9Warehouse, Sandy ShoresWarehouse0None
10Warehouse, Cypress FlatsWarehouse1None
11Poultry plant, StrawberryWarehouse0None
12Cold store, Cypress FlatsWarehouse1None

Each kind opens at a level: houses from level 1, restaurants from level 2, warehouses from level 3 (Config.Unlocks). Bigger properties hide more signs and pay more (see Payment).

The property list is edited in /pestcontrol settings under Properties, with buttons to place each point in the world. It stays on the server: players' games only receive the one property their call is at. See Configuration.

Arriving on site

The technician counts as arrived once they are within the property's radius plus Config.Calls.arrivalMargin (15 metres). The map route and the waypoint disappear, the property is laid out (signs, nest, pet bowls and vegetable beds), and the stage card at the top left switches to the first job on site (see On-Screen Guidance).

Gear at the Van

Everything the job needs comes from the back of the company van. The van only offers the gear the next step needs. Stand behind the van, at its rear doors, and aim the interaction eye at it. The gear options only show there; the stage card's marker sits behind the van while gear is needed.

OptionWhen it showsWhat it does
Take UV TorchOn site at a cockroach or rat call, until the inspection is done, and the torch isn't already out. At the every-sign-bonus level (level 5) it stays on offer after the inspection while signs are left to findPuts the UV torch in hand
Take Backpack SprayerOn a cockroach call, once the inspection is done, and the wand isn't already in handPuts the tank on the back and the wand in hand. A newly taken tank is full
Refill SprayerWearing the tank and it isn't fullFills the tank back up
Return SprayerWearing the tankTakes the tank off the back
Take Glue TrapsOn a cockroach call, once the inspection is doneCarries the ones still allowed on this call
Take Bait StationsOn a rat call, once the inspection is doneCarries the ones still allowed on this call
Take LadderOn a wasp call, ladder not set up yetTakes the stepladder to set up under the nest
Take Foam CanOn a wasp call, can not in handPuts the foam can in hand
File ReportOn siteScores and pays the call (see The Report)
Cancel Current TaskOn a callCancels the call (see Cancelling a Call)

Taking or putting back gear opens both rear doors and plays a short progress bar (1.5 seconds, Config.Vehicle.rear.durationMs) while the technician leans in. The doors shut again afterwards. If the crew partner is still reaching in, the doors stay open until they're done. Other players see the doors open and the technician reaching in. Cancelling the bar takes nothing.

The server checks this too. It hands the gear over only to a technician standing behind the van, once the reach has had its time. Asking for treatment gear before the inspection is done gets "Find the pest with the UV torch first.", and asking for gear another pest needs gets "This call does not need that. Check the findings." Because of this, a technician can't use the wrong treatment for the pest.

A technician holds one thing at a time: taking any of these puts away whatever was in hand. The backpack tank stays on the back until it's returned at the van. Backspace puts away the torch or the devices being carried, and holsters the wand on the tank (G takes it back out anywhere, see The Backpack Sprayer). When a call ends, everything the crew carries goes back in the van, so every call starts at the van.

UV Inspection

Cockroach and rat calls start with an inspection. The call card only says Pest complaint: the inspection finds out which pest it is and where its nest is. The signs of the pest only show inside the UV torch's beam.

How it works

  1. Take the UV torch from the van. The technician holds it in the left hand, the way the game's security guards hold theirs.
  2. Walk along the outside walls. The signs are real models on the ground and low on the walls, so they can be spotted in any light. The violet beam points where the camera looks, and a sign inside it glows violet with a soft violet light. Walls block the beam, so a sign around a corner doesn't glow.
  3. To log a sign, get within about 2.6 metres and hold it near the middle of the beam for half a second (Config.Inspection.claimRange, claimAngle, claimHoldMs). A beep confirms it. A logged sign still glows in the beam, with a softer light.
  4. The stage card counts the signs logged against the number needed, for example 2 / 4. Signs logged by either crew member count for both.
  5. Once the crew has logged enough signs, the inspection is done: a sound plays and the findings card appears at the top right for both crew members (see The findings).

How many signs

Each call has a number of signs by property kind, plus the nest. The inspection is done after fewer than that, so the crew doesn't have to find them all.

PropertySigns on site (Config.Sites.signs)Signs to finish the inspection (Config.Sites.required)
House7, plus the nest4
Restaurant9, plus the nest5
Warehouse11, plus the nest6

The number to finish is never more than the signs on site. Any sign counts toward it, the nest's own sign included. Signs bunch up around the nest and thin out away from it, with a few strays far from it to mislead.

The signs

SignWhereMeans
Rodent droppingsOn the ground by the wallRats
Roach droppings (tiny specks)On the ground by the wallCockroaches
Gnaw holeOn the wallRats
Grease mark (a smear)On the wallEither pest
Burrow: a mound of dug earth round a dark holeAt the foot of the wall, or in open ground where there's no wallThe rats' nest
Harbourage: a crack at the foot of the wall with frass, egg cases and a dead cockroachAt the foot of the wallThe cockroaches' nest

The findings

When the inspection is done, the findings card appears at the top right of the screen and stays up for the rest of the call. It shows:

  • the pest: cockroaches or rats
  • the signs found against the number the inspection needed (for example 4 / 4)
  • each kind of sign found, how many, and what it means (for example Gnaw holes ×2, with "Chewed holes at the foot of the wall: rats get in here.")
  • where the nest is: the stage card puts a marker on the cockroaches' harbourage once the line is sprayed, and on the rats' burrow while bait stations are carried. The nest is marked even if its own sign was never logged.
  • the treatment: what the call needs (see Treating Cockroaches and Rats)

The van now offers that pest's treatment gear, and the stage card moves on to the treatment.

Help by level

Lower levels get help finding signs. Higher levels lose it.

  • Sign pings: while the torch is out, every 2 seconds the nearest unlogged sign within the level's ping radius gets a marker with its distance, the stage card says how close it is ("A sign is close: 3.5 m."), and a sound plays. The radius shrinks with each level, from 12 metres at level 1 to 4 metres at level 4, and level 5 gets no pings (see Progression).
  • Pest named early: from Config.Unlocks.speciesHint (level 3), the stage card names the pest as soon as the crew logs its first sign ("The signs point to Rats."). Below that level, the pest is named when the inspection is done. Either way, the treatment gear only comes once the inspection is done. Each crew member's own level decides this.
  • Every-sign bonus: from Config.Unlocks.fullFindBonus (level 5), logging every sign on a call, nest included, pays Config.Payment.fullFindBonus ($40). After the inspection the stage card shows it as an optional line under the treatment, for example Bonus: find all 8 signs 4 / 8, which turns green once every sign is logged. At this level the van keeps offering the torch after the inspection; with the torch back out, the stage card guides the search for the signs that are left. Below that level the cards only ever show the number the inspection needs. Each crew member's own level decides it, and it's paid on that level: a level 5 partner gets the bonus even when the leader is lower.

Treating Cockroaches and Rats

The van only hands out the gear the findings call for, so the treatment always suits the pest. The report checks that the treatment was finished and that the nest was treated.

PestTreatment neededNest treated whenOptional bonus
CockroachesSpray at least 85% of the foundation line (Config.Spray.minCoverage)The harbourage got at least 2 units of chemical (Config.Spray.harborageNeed)Glue traps on cockroach trails: $8 each, up to 3
RatsAt least 2 bait stations on runways (Config.Treatment.minStations)A bait station within 4 metres of the burrow (Config.Treatment.burrowRange)None
  • A bait station is on a runway when it sits within 1.2 metres of the foundation line (runwayDistance) and within 4.5 metres of a rat sign (runwaySignRange).
  • A glue trap is on a trail when it's within 2.5 metres of a cockroach sign (glueRange). On a cockroach call the stage card shows the glue trap bonus as an optional line, Bonus: 3 glue traps by roach signs, with the count so far.
  • A treatment left unfinished, or a nest left untreated, brings a callback (see Customer Callbacks). The stage card shows when both are done.

The Backpack Sprayer

The cockroach treatment. The tank rides on the back with a hose to the wand in hand.

  1. Take the sprayer from the van. It's on offer once the inspection has found cockroaches.
  2. While the wand is out, the foundation line shows on the ground, coloured by how full each run is: grey (empty), orange (part full), green (full).
  3. Hold the left mouse button to spray. Walk the line. A run only fills while the technician is within 4 metres of it and facing it (Config.Spray.reach). A marker floats over the nearest run that isn't full yet.
  4. Scroll switches pattern: a wide fan (reaches 3.2 metres, uses 1 unit per second) or a long stream (reaches 5.5 metres, uses 0.7 units per second).
  5. The harbourage is the crack at the foot of the wall with frass and egg cases round it. Give it a dose too. Once 85% of the line is covered, the marker moves to the harbourage.
  6. The stage card counts the foundation covered against the 85% the report needs (for example 62% / 85%) and shows bars for Tank (chemical left), Covered (turns green at 85%) and Harbourage. Covering more than 85% pays nothing extra.
  7. Backspace holsters the wand: the hose and the wand stow on the tank, which stays on the back. Press G anywhere to take the wand back out; the stage card shows the key while the wand is holstered. Players can change the key in GTA Settings → Key Bindings → FiveM (Pest Control: take out the sprayer wand). Other players see the wand stowed and taken back out. Only Return Sprayer at the van takes the tank off.

Chemical and waste

  • The tank holds 60 units (Config.Spray.tankUnits). Each metre of foundation needs 0.8 units to fill (needPerMetre). Spray reaches less far as the tank empties. When it's empty, refill at the van.
  • Chemical that doesn't fill a run (sprayed past full, into the air, or away from the line) is waste. Each level allows some waste for free, as a share of the whole foundation's need (see Progression). Waste beyond that costs Config.Payment.wasteCostPerUnit ($2) per unit, taken off the call's pay as a treatment charge.
  • Example: a 50 metre foundation needs 40 units. At level 1 (60% allowance), the first 24 units of waste are free.

Bait Stations and Glue Traps

  1. Once the inspection is done, take bait stations (rat calls) or glue traps (cockroach calls) from the van. Up to 4 of each per call (Config.Devices.bait.max, glue.max).
  2. Right-click to place one. A preview shows where it will go, up to 5 metres away (Config.Devices.placeRange).
  3. The technician kneels for a moment (1.8 seconds, placeDuration), then the device is down.
  4. Devices must go inside the property and at least 1.5 metres apart (spacing).
  5. Backspace puts the rest away.

On a cockroach call, carrying glue traps changes the stage card to laying them, with the glue trap bonus count. On a rat call the stage card guides the baiting: a marker over the burrow until a bait station is there, then a marker by a logged rat sign that has no bait station near it yet. The count shows bait stations on runways out of the 2 needed, and the note says whether the burrow is baited.

Placed devices stay in place until the call ends.

Pet Bowls and Vegetable Beds

From Config.Unlocks.exclusions (level 2), the pet bowls and vegetable beds set on a property appear by its foundation line. While the wand is out, each one has a red ring around it.

Spraying one, or spraying toward it from close by, until Config.Spray.exclusionUnits (0.8 units) of chemical has reached it, means:

  • an instant notification ("You sprayed the pet bowl! The customer has complained.")
  • one complaint straight away (Config.Complaints.exclusionPenalty)
  • a $40 treatment charge on that call (Config.Payment.exclusionPenalty)

Wasp Nests

Wasp calls open at Config.Unlocks.wasp (level 3). The call card says Wasps, so there's no inspection. The nest hangs under an eave with a swarm around it.

How it works

  1. At the van, choose Take Ladder and Take Foam Can. The stage card shows the steps: Ladder, Foam, Scrape, Report.
  2. Walk to the spot under the nest (a marker floats over it). Aim at it and choose Set Up Ladder. The ladder appears for everyone.
  3. With the foam can in hand, choose Climb Ladder. The view moves to a close-up of the nest and a cursor appears.
  4. Aim with the mouse and hold the left mouse button to spray foam. Keep it on the nest.
  5. The stage card shows two rings: Foam (how close the nest is to dead) and Swarm (how agitated the wasps are). The card's colour turns amber, then red, as the swarm gets angrier.
  6. Once the nest is foamed, the can becomes a scraper. Move the mouse to drag it back and forth under the eave. The stage card's progress bar fills with how much is scraped.
  7. When it's full, the nest is bagged and disappears, and the technician is back on the ground. File the report.

The swarm

  • Foam on the nest for 6 seconds in total kills it (Config.Wasp.killSeconds). A perfect aim is never faster.
  • The swarm grows agitated over time, faster when the foam misses the nest, and calms while the foam is on target.
  • The swarm shoves the cursor around, harder the more agitated it gets.
  • Full agitation means a sting: 10 damage (Config.Wasp.sting.damage), a $20 treatment charge (Config.Payment.stingPenalty), half the foam progress lost (keepOnSting), and the technician comes down the ladder. They can climb back up when ready.
  • From Config.Unlocks.ladderFall (level 4), a sting knocks the technician off the ladder: they fall and take 15 damage instead (fallDamage).
  • Backspace climbs down at any time. Foam progress and the swarm's mood are kept for the next climb.

Only one technician can be up the ladder at a time. Climbing needs the climber's own level to be at least the wasp level, so a lower-level crew partner can't climb.

On the ladder, the technician is hidden from their own close-up view only. Everyone else sees them on the ladder with the can or scraper, and the foam.

The Report

When the work is done, the stage card says "Go back to the van and file the report." and a marker floats over the van. Aim at the van and choose File Report. The technician must be standing at the van.

Filing takes a few seconds of paperwork (4 seconds, Config.Report.durationMs): the technician takes out a clipboard and writes on it while a progress bar runs, and other players see the clipboard and the animation. Cancelling the bar files nothing; choose File Report again. The server pays the call only once the paperwork has had its full time.

A report is accepted when:

  • Cockroach or rat call: the inspection is done (otherwise: "Find the pest with the UV torch first.") and some treatment is down: the foundation sprayed to 85%, or at least one device placed (otherwise: "Treat the pest before you report.").
  • Wasp call: the nest is bagged. Otherwise: "Remove the wasp nest before you report."

The server then scores what was actually done: whether the treatment was finished, the nest, wasted chemical, sprayed pet bowls and vegetable beds, and stings. The call is paid ("Job complete! Earned $..."), dispatch starts looking for the next call, and either crew member can file it.

Customer Callbacks

If the report shows an unfinished treatment or an untreated nest, the customer isn't happy:

ProblemCall payTipComplaint
Treatment not finished: a cockroach call reported with glue traps down but less than 85% of the foundation sprayed, or a rat call with fewer than 2 bait stations on runways× 0.4 (Config.Payment.wrongTreatmentFactor)None1 for each crew member
Treatment finished, nest not treated: the harbourage not dosed, or no bait station within 4 metres of the burrow× 0.7 (Config.Payment.missedNestFactor)None1 for each crew member

The complaint counts straight away, and the player sees "The customer is not happy. Expect a callback." The customer's callback itself arrives Config.Complaints.callbackDelaySeconds (90 seconds) later, as a phone message and an on-screen notice, for example "Callback from Diner, La Mesa: they are coming back. The nest was not treated." A call with a callback doesn't remove a complaint the way a clean call does.

To avoid a callback, follow the stage card until it says to file the report: it only does that once the treatment is finished and the nest is treated.

Call Timers

The timer starts when the call is accepted and shows at the top of the screen. Its length depends on distance:

timeLimit = Config.Timer.baseTime + math.floor(distance * Config.Timer.timePerDistanceUnit)
-- 420 seconds, plus 0.2 seconds per metre from where the call was accepted to the property

If the timer runs out, it shows LATE:

  • the call can still be finished
  • the speed bonus is lost
  • Config.Timer.expiredPenalty (× 0.85) is applied to the call's pay

Progression

Progression is stored in the shared job_progression table under job = 'pestcontrol'. Every reported call counts toward the next level, callbacks included.

Levels

LevelTitleCalls neededPay multiplierTip chanceTip rangeSign pings withinFree waste
1Trainee Technician01.0x10%$5-1512 m60%
2Technician151.1x15%$5-209 m45%
3Senior Technician401.2x25%$10-306 m30%
4Field Specialist801.35x30%$10-404 m20%
5Master Exterminator1501.5x40%$15-50No pings15%

Unlocks

LevelWhat opens (Config.Unlocks)
2Restaurants. Pet bowls and vegetable beds appear on site
3Warehouses. Wasp calls. The stage card names the pest as soon as the first sign is logged
4A wasp sting knocks the technician off the ladder
5The every-sign bonus, and the van keeps offering the torch after the inspection while signs are left

At every level, the pest is named once the inspection is done. Levels only change the help along the way.

The level of the crew leader (or the solo technician) decides which properties and pests a call can be, how the site is laid out, the waste allowance and the every-sign bonus. Each technician's own level decides their pings, whether the pest is named for them early, whether they can climb to a wasp nest, and whether a sting knocks them off the ladder.

Daily streaks

Reporting at least one call on consecutive real-world days increases the daily streak, up to Config.Payment.maxStreakDays (7).

Complaints and timeout

Complaints are added for:

CauseComplaintsWho
Customer callback (treatment not finished or nest missed)1Each crew member
Spraying a pet bowl or vegetable bed1The technician who sprayed it
Van destroyed1The crew leader
Dying or going down on shift1That technician

Each clean call (no callback) removes one complaint. Reaching Config.Complaints.maxComplaints (3) ends the current shift, pays out what was earned, and suspends the player from the job for Config.Complaints.timeoutMinutes (30 minutes). The complaint count starts again from zero after the suspension.

Payment

Per call

base     = floor(basePay for the pest × property multiplier)
subtotal = floor((base + distance bonus + speed bonus + every-sign bonus + glue trap bonus)
                 × level multiplier × late multiplier × callback multiplier)
total    = subtotal + streak bonus + tip
PartDefault
Base pay by pest (Config.Payment.basePay)Cockroaches $90, rats $100, wasps $130
Property multiplier (kindMultiplier)House × 1.0, restaurant × 1.2, warehouse × 1.4
Distance bonus (distanceBonusPerUnit)$0.25 per metre, in a straight line from where the call was accepted to the property
Speed bonus (speedBonusAmount)$25 when reported before the timer runs out
Every-sign bonus (fullFindBonus)$40, from level 5
Glue trap bonus (glueTrapBonus)$8 per glue trap on a cockroach trail, up to 3
Streak bonus (streakBonusPerDay)$10 per streak day
TipBy level (see Levels), only when there's no callback

A crew that reaches the property faster than any vehicle could drive there (Config.Calls.maxTravelSpeed, 50 metres per second in a straight line) gets neither the distance bonus nor the speed bonus for that call. Driving there never triggers it.

Treatment charges

Each call also records treatment charges, taken off the shift pay at clock-out:

  • wasted chemical beyond the level's allowance: $2 per unit (wasteCostPerUnit)
  • each sprayed pet bowl or vegetable bed: $40 (exclusionPenalty)
  • each wasp sting: $20 (stingPenalty)

At clock-out

Pay is settled when the shift ends, including forced endings such as dying on shift, too many missed calls, reaching the complaint limit or the resource restarting (every running shift is paid). Gross pay is every call's total plus the co-op bonus. Then these come off:

  • van damage charge (if the van comes back banged up)
  • treatment charges
  • gas fee (gasFeePercent, 5% of gross)
  • taxes (taxPercent, 10% of gross)

Net pay is deposited to Config.Payment.payoutAccount (bank by default).

A player who disconnects or logs out on shift isn't paid at that moment, because their character may already be gone. Their net pay is kept in the database and paid the next time that character loads in, with a notification saying how much it was. It is paid once, even if the server restarts in between. If the database is unreachable at that moment, the job keeps the pay and saves it again every minute, or pays it straight away if the player comes back first.

The van destruction fine works differently: it's charged on the spot from Config.Payment.fineAccount (cash by default), not from the shift pay.

Crew System

Crews are two players. To allow only solo shifts, set Max size to 1 in /pestcontrol settings under Core → Crew (Config.Crew.maxSize).

Forming a crew

  1. The leader clocks in, then chooses Invite Partner in the shift menu and types the partner's server ID.
  2. The partner must be within 15 metres, not on a shift, not in a crew, and not already holding an invite.
  3. The partner gets a notification, talks to the clerk, and accepts the invite in the shift menu. The invite expires after Config.Crew.inviteTimeout (60 seconds).

Working together

  • The leader is the only one who accepts, rejects or cancels calls.
  • Both members work the same property: either can inspect, spray, place devices, climb to the nest and file the report.
  • Both are paid for each call, including its bonuses and treatment charges, and both gain progression.
  • Each member's pay for a call uses their own level multiplier, tip chance and streak bonus, so a new technician working with a veteran earns at their own level.
  • Each call adds Config.Crew.coopBonusPercent (15%) of each member's own pay as their co-op bonus.

Crew continuity

If the leader clocks out, logs out, dies or disconnects, the partner takes over the van and the current call and carries on solo. If the partner leaves, the leader carries on solo.

Vehicle System

The company van spawns at the depot's van spot when a player clocks in.

  • base-game Bugstars van (burrito2)
  • licence plate BUGSTARS
  • full fuel, and keys from your server's vehicle keys resource
  • the van's health is checked every second (Config.Vehicle.healthCheckInterval)
  • all the gear and the report are taken from the van (see Gear at the Van)

Van destroyed

If the van's engine health drops below Config.Vehicle.destroyedThreshold (150):

  • the crew leader is fined Config.Payment.vehicleDestroyFine ($200) on the spot
  • the crew leader gets a complaint
  • both crew members' shifts end, and pay earned so far is paid out

The players can return to the depot for a new shift.

Van damage charge

At clock-out, if the van's body health is below Config.Vehicle.damageChargeThreshold (950), a charge of Config.Vehicle.damageChargeRate ($0.50) per point below it comes off the shift pay.

On-Screen Guidance

From the moment a call is accepted until it's reported, the screen tells the technician what to do next and where. New players can follow it without reading anything else.

Stage card (top left)

The stage card shows:

  • the stage's title: Pest Call, UV Inspection, Perimeter Spray, Rat Baiting or Wasp Nest
  • the next step, for example "Take the UV torch from the van." or "Spray each run along the wall until it turns green."
  • a count and a progress bar: signs logged out of the number needed, the foundation covered against the 85% needed, bait stations on runways, or how much of the nest is scraped
  • the call's steps, with the current one highlighted and the finished ones ticked: Inspect, Spray, Report for cockroaches; Inspect, Bait, Report for rats; Ladder, Foam, Scrape, Report for wasps. Until the pest is known it shows Inspect, Treat, Report.
  • bars while spraying: Tank, Covered and Harbourage
  • rings while foaming a wasp nest: Foam and Swarm
  • a short note, such as how close the nearest sign is or whether the burrow is baited

The keys that work right now (for example Spray, Spray pattern, Put back) show at the bottom centre of the screen.

Next-spot marker

A marker with its distance floats over the place to go next:

WhenThe marker is over
Gear is neededBehind the van, at its rear doors
The report is dueThe van
Inspecting, at a level with pingsThe nearest unlogged sign within ping range
SprayingThe nearest run of the foundation line that isn't full, then the harbourage
BaitingThe burrow, then a logged rat sign with no bait station near it (a runway spot)
Wasp nestThe spot under the nest where the ladder goes

Findings card (top right)

Appears once the inspection is done and stays up for the rest of the call: the pest, each kind of sign found and what it means, where the nest is, and the treatment. See The findings.

First-time tutorials

Each stage shows its own first-time tutorial the first time a player reaches it (see Tutorials).

Where the cards sit

With Oxide HUD, both cards are placed by the HUD (this needs o-link 1.12.1 or newer); without it, they sit where Config.HudLayout says. See On-screen cards and Oxide HUD.

Waypoints

A 3D floating marker appears above the call's property on the way there:

  • floats Config.Waypoints.heightOffset (5 metres) above it
  • grows and shrinks with distance
  • shows the distance
  • shown while holding H (players can rebind it in GTA's Settings > Key Bindings > FiveM, "Pest Control: show the job waypoint")

It disappears on arrival.

What Other Players See

Other players nearby see the job happening:

  • the backpack tank, the wand, the hose and the spray
  • the UV torch and its violet light
  • the foam can, the foam and the scraper
  • the ladder, the wasp nest and its swarm
  • pet bowls, vegetable beds and placed bait stations and glue traps

The UV signs only show for the crew working the call, and each technician sees a sign glow only in their own torch beam.

Summary Output

Config.shiftSummary controls how the end-of-shift pay is shown:

  • 'nui': a summary screen on clock-out, with either menu style, showing calls completed, the calls' own pay, each bonus that paid something on its own line (speed bonus, every-sign bonus, glue trap bonus, tips, daily streak bonus), gross earnings, co-op bonus, van damage, gas fee, taxes, treatment charges and net pay. When the shift ends any other way (going down, too many missed calls, the complaint limit, a destroyed van), the player gets the summary as a text instead, as with 'text'
  • 'text': the same breakdown sent to the player's phone when Config.usePhone = true (see Phone Integration); otherwise a notification shows the net pay

Uniforms (Optional)

If Config.uniformsEnabled = true, a Put On Uniform button appears in the shift menu while on shift. It changes the player into the configured outfit, and Remove Uniform changes them back. The uniform comes off automatically when the shift ends for any reason.

The outfits ship empty, so this is off by default. See Uniforms for how to set your own.

Phone Integration

If Config.usePhone = true (the default), the depot sends the player messages on their phone. The sender is "Bugstars - " followed by the depot name. The messages are:

  • a welcome message when they clock in (a crew partner gets one too when they join the crew)
  • a notice when the van is destroyed, with the repair fine
  • a customer callback after a report with an unfinished treatment or an untreated nest
  • a notice that the shift was cancelled when the player dies or goes down on shift
  • the end-of-shift pay summary with the full breakdown, when Config.shiftSummary = 'text' (it is not sent if the player disconnects or logs out)

Supported phones: qb-phone, lb-phone, gksphone, okokPhone, qs-smartphone, qs-smartphone-pro, yseries and Oxide Phone. How the messages arrive depends on the phone:

  • As a text message from the depot on Oxide Phone, gksphone, okokPhone and qs-smartphone (Quasar V3)
  • As mail on qb-phone, lb-phone, yseries, qs-smartphone-pro and older qs-smartphone versions
  • As mail on any phone if the text can't be sent, or if your server runs an o-link older than 1.11.0

The phone also rings for each incoming call. See Phone ring for incoming calls.

If Config.usePhone = false, nothing is sent to the phone and the phone doesn't ring. The on-screen notifications for a destroyed van and a customer callback still show, and with Config.shiftSummary = 'text' the pay summary becomes a notification showing the net pay.

Tutorials

The job includes 19 first-time tutorial prompts covering:

  • first clock-in
  • incoming calls
  • the first rejected or missed call
  • arriving on site
  • reading the signs
  • logging signs with the torch
  • the findings
  • the perimeter spray
  • bait stations and glue traps
  • wasp nests
  • foaming the nest
  • scraping the nest
  • the report
  • customer callbacks
  • running out of time
  • a destroyed van
  • the first completed call
  • forming a crew
  • levelling up

Each prompt shows once per player. Players dismiss one with Backspace, and can toggle or reset them with:

  • /pestcontrol tutorials
  • /pestcontrol tutorialreset

Next Steps