Features Guide
Current behavior reference for oxide-landscapingjob.
Shift Flow
The resource uses these shift states:
idleclocked_indriving_to_yardmowingreturning_to_office
Typical shift flow:
- Interact with the manager NPC at a configured office.
- Open the shift menu.
- Clock in.
- Receive assigned yards based on your progression level.
- Drive the company van to each yard.
- Start the yard, unload the mower, mow patches, and clear obstacles.
- Return to the office and clock out for payout.
The resource checks office slot availability with Config.MaxSlotsPerLocation.
Menu System
Two menu modes are supported:
Config.menuStyle = "nui": default Vue-based fullscreen shift menuConfig.menuStyle = "menu":o-linkcontext menu fallback
The NUI menu supports:
- progression summary
- next-level preview
- crew state display
- uniform toggle
- ID-based crew invites
- per-location menu camera when
menuCamerais configured on the office
The context menu mode exposes the same core actions through olink.menu.Open(...).
Progression
Progression is stored in job_progression with job = "landscaping".
Tracked values:
- level
- total completed yards
- daily streak
- complaints
- timeout state
Levels:
| Level | Title | Required Yards | Max Yards |
|---|---|---|---|
| 1 | Trainee | 0 | 3 |
| 2 | Groundskeeper | 12 | 4 |
| 3 | Landscaper | 35 | 5 |
| 4 | Senior Landscaper | 70 | 5 |
| 5 | Foreman | 130 | 6 |
Each level improves:
- pay multiplier
- mower speed multiplier
- tip chance
- max yards per shift
Payment
The resource calculates per-yard earnings and then builds a shift payout.
Key factors:
- base pay
- yard size multiplier
- level multiplier
- speed bonus
- timer penalty
- streak bonus
- random tip
- gas fee
- tax
- van damage deduction
Current money behavior:
- net shift payout is deposited to
bank - company vehicle destruction fine is removed from
cash
The end-of-shift breakdown can be sent through the phone/text flow or shown through the NUI flow depending on Config.shiftSummary.
Vehicles and Mowing
The job uses:
- a
bison3company van - a
mowervehicle for yard work
Key behaviors:
- the mower is cosmetically attached to the van before unloading
- the van gets full fuel through
olink.fuel.SetFuel(...) - keys are issued through
olink.vehiclekey.Give(...) - blades toggle with
G - mowing speed and power are reduced while blades are down
- patches are detected by proximity to the mower
- obstacle hits damage the mower
If xsound is installed, mower audio includes:
- blade toggle
- mower loop
- engine failure
Yard System
Each yard has:
- a center point
- patch definitions
- optional obstacle definitions
Yard size tiers are based on patch count:
- small:
1-50 - medium:
51-149 - large:
150+
Players:
- drive to the yard
- start it at the marker
- mow all patches
- clear remaining obstacles
Assigned yards also get:
- map blips
- floating waypoint indicators if enabled
Obstacles
Obstacle interaction is controlled by Config.Obstacles.
Current shipped behavior:
useTarget = trueby default- on-foot pickup uses a progress bar
- holding
Hhighlights remaining obstacles - mower contact causes engine damage
Crews
Crews support up to two players.
Current flow:
- the leader opens the menu
- enters a target server ID
- the server validates range and shift state
- the invited player can accept or decline
Crew behavior includes:
- shared yards
- shared vehicle flow
- shared completion progress
- co-op bonus via
Config.Crew.coopBonusPercent
The resource also handles crew transfer and cleanup when a member clocks out, unloads, dies, or disconnects.
Uniforms
Uniform support is optional and controlled by Config.uniformsEnabled.
When enabled:
- players can equip or remove a landscaping uniform while clocked in
- the resource snapshots current clothing before applying the outfit
- uniforms revert on normal clock-out
- uniforms also revert on player unload while on shift
Uniform application and restoration use olink.clothing.
Builder Tooling
The resource ships with an in-game builder for:
- office creation
- yard creation
- patch placement
- obstacle placement
- export / import / listing / removal
The visual editor supports:
- free camera movement
- patch and obstacle modes
- model cycling
- precision rotation and height adjustment
- undo
- export of merged session data
Notifications and Lifecycle
This resource uses o-link lifecycle and UI integrations for:
olink:client:playerReadyolink:client:playerUnloadolink:server:playerUnload- notifications
- help text
- targets
- progress bars
- phone/email messages
That is the current supported integration path for the landscaping job.