Frequently Asked Questions
1. How does the multiplayer crew system work?
Every cleaner automatically has a personal crew lobby.
- Inviting Partners: The crew leader can open the in-game dashboard (default key:
F7) and invite a nearby player (within 10m) who has the required job. The job supports 1 to 2 players per crew. - 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 shift.
- Synchronized Route: When the leader initiates the shift, both crew members are assigned to the exact same crime scenes and service vehicle.
- Shared Progression: As one player scrubs a blood pool or disables a security alarm, the task status updates in real time for their partner, updating both players' task checklists and HUD trackers.
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 shift, get their assigned service van, complete all crime scenes, and collect 100% of the route earnings upon returning to base.
3. What happens if a player disconnects or crashes mid-shift?
The script features an intelligent Ghost Lobby & Reconnect Protection System:
- When a cleaner disconnects, they are flagged as a "ghost" (
isOffline = true), and the lobby continues without resetting. - Their earned task progress and shift earnings are safely preserved in the lobby pool (
pendingPayment). - The remaining partner can continue completing the crime scene.
- 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.
4. How do players unlock and work the illegal Shady Job route?
- Unlock Requirement: Players must complete a configurable number of legal cleanup shifts (configured via
illegalJob.requiredCoursesinsh_config.lua, default: 20 shifts). - The Mysterious Contact: Once the threshold is met, the cleaner receives an anonymous SMS notification on their phone (
17mov_phone,lb_phone, or popup notification). - Secluded Meeting: A map blip marks the Shady Contact NPC located in a secluded back alley.
- High-Risk Cover-Ups: Accepting mob cleanup contracts sends cleaners to dangerous crime scenes with potential police dispatch triggers and high stakes. In return, all payouts feature a 2.0x cash multiplier!
5. Why are Hazmat Suits required and how do players equip them?
Handling biohazard contamination, chemical blood splatters, and decomposing evidence without protective equipment poses extreme health hazards:
- Approach the company van (
burritocsc). - Use your target interaction eye (
ox_target/qb-target) to select Put on Hazmat Suit. - The cleaner instantly changes into an airtight biohazard suit with respirator mask and goggles.
- Once the crime scene is sanitized, return to the van to switch back to standard Workwear.
6. How do I create new crime scenes and place tasks in-game?
Administrators can create new scenes entirely in-game using the /csctaskmanager command:
- Stand at the desired crime scene location (or the entrance of an interior MLO).
- Choose Create New Scene and enter a name.
- Select Add New Task and pick one of the 6 minigame types.
- Position the task using the 3D Visual Task Creator with raycast surface snapping.
- Save the task and use Debug Load Scene to test it immediately without restarting the server!
7. Which Frameworks, Targets, Phones, and Dispatches are supported?
- Frameworks:
qbx_core(QBox),qb-core,es_extended(ESX Legacy / 1.final). - Target Systems:
ox_target,qb-target,qbx-target. - Dispatch Systems:
qb_dispatch,ps_dispatch,cd_dispatch, ornone. - Phone Systems:
17mov_phone,lb_phone, ornone. - 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-crimescenecleanerjob 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-crimescenecleanerjob dynamically links the serverConfig.adminPermission group to crimescenecleanerjob.admin upon boot, adding add_ace resource.bs-crimescenecleanerjob command.add_ace allow in server.cfg prevents permission rejection.