Frequently Asked Questions

1. How does the multiplayer crew system work?

Every player automatically has a personal crew lobby.

  • Inviting Workers: The crew leader can open the in-game dashboard (default key: F9) and invite nearby players (within 10m) who have the required job.
  • Payout Equity: In the Lobby tab, members manage their profit percentage shares. The total sum of all member shares must equal exactly 100% before the leader can start the job route.
  • Synchronized Route: When the leader initiates the route, all crew members are assigned to the exact same oil field sites and service vehicles.
  • Dynamic Task Scaling: The server scales the number of active tasks at each site based on your active crew size (math.min(activeMembers, #availableTasks)). Solo players receive 1 task per site, while a 4-person crew gets up to 4 parallel tasks to tackle together!

2. Can players perform the job completely solo?

Yes! If a player chooses not to invite anyone, their crew lobby consists of just themselves with a 100% payout share. They can start the route, get their assigned service truck, and collect 100% of the route earnings upon returning to base.

3. What happens if a player disconnects or crashes mid-route?

The script features an intelligent Ghost Lobby & Reconnect Protection System:

  • When a worker disconnects, they are flagged as a "ghost" (isOffline = true), and the lobby continues without resetting.
  • Their earned task progress and shift work time are safely recorded up to the disconnection moment.
  • The remaining crew members can continue completing the route.
  • When the disconnected worker rejoins the server, the script recognizes their active lobby membership and immediately pushes a synchronization event to restore their active route, vehicle keys, and completed task states.
  • If the crew leader crashes, leadership is automatically passed to the next senior online member.

4. How do I switch between the default bscaracara and custom nsandstorm2?

  • Default Vehicle (bscaracara): Packaged directly within the resource stream folder. Set base.vehicle.model = 'bscaracara' in config/sh_config.lua.
  • Custom Vehicle (nsandstorm2): Download the Vapid Sandstorm D205 (opens in a new tab), replace nsandstorm_livery7.yft with your desired oil field livery, and set base.vehicle.model = 'nsandstorm2' with the mods table provided in the Shared Configuration guide.

5. Why do uniforms look glitchy or invisible when starting work?

The default clothes in config/cl_config.lua are tailored for standard GTA V DLC assets (Male: jacket 363, pants 134, decals 0; Female: jacket 288, pants 217, decals 224). If your server streams custom EUP or replacement clothing packs, the internal drawable numbers shift. Check your server's clothing store menu (e.g. illenium-appearance or qb-clothing) to identify the exact drawable IDs for your custom work uniforms and update config/cl_config.lua.

6. Can I make this a whitelisted job or keep it open for everyone?

Open config/sh_config.lua:

  • Open to everyone: Set jobName = false. Any citizen can approach the foreman NPC and start working.
  • Whitelisted / Restricted job: Set jobName = 'oilworker' (or your framework job name). Only players with that job assigned will be able to talk to the foreman NPC and open the job tablet.

7. Which Frameworks, Targets, and Notifications are supported?

  • Frameworks: qbx_core (QBox), qb-core, es_extended (ESX Legacy / 1.final).
  • Target Systems: ox_target, qb-target, qbx-target.
  • Notifications: ox_lib, bs-advnotifications, and framework defaults.
  • Custom Frameworks: The entire bridge/ directory is 100% unencrypted, allowing you to adapt the resource to any custom core in minutes.

8. Why is add_ace resource.bs-oilfieldjob command.add_ace allow required?

FiveM's security engine blocks server scripts from running ExecuteCommand('add_ace ...') unless the resource itself has been granted permission to manage ACEs. Since bs-oilfieldjob dynamically links the serverConfig.adminPermission group to oilfieldjob.admin upon boot, adding add_ace resource.bs-oilfieldjob command.add_ace allow in server.cfg prevents permission rejection.