Before installing or updating, make sure sky_base and sky_jobs_base are up to date.
Current
Version 0.2.0
Update sky_base to 1.39.0 and sky_jobs_base to 1.42.0 before installing sky_crimesystem0.2.0.
Highlights
Added interrogation scenes with grabbing, carrying, vehicle transport, placeable chairs and tools, minigames, release, and rescue options.
Added organization base raids for criminal groups and police, with entry requirements, protection periods, and access to eligible storage and vehicles.
Added custom weed plants and pots, with distinct strain colors that become more visible as plants grow.
Notable Changes
Added an editor for drawing organization mainbase boundaries and previewing their height without replacing ordinary job locations.
Added administrator practice dummies for trying interrogation scenes and tools.
Added administrator tools for placing and testing heist explosives.
Added the trimming table to laboratory equipment so players can place it and process suitable products.
Improved heist planning with an estimated reward and clearer door placement controls.
Added an on-screen explosive countdown and more varied vault and camera hacking challenges.
Added selection of existing map monitors in the Heist Creator, including a supplied Pacific Standard monitor profile.
Improved the cash-cart preview so small rewards can be configured and the displayed cash does not change the actual payout.
Added a strain selector when placing a test plant through the Drug Creator.
Other Changes
Changed medical integration so Crime can start without Sky Ambulance Job installed.
Fixed an issue where the heist planning system could fail to load during startup.
Fixed an issue where purchased campers could be missing from the world or arrive without vehicle keys; unsuccessful spawns now return the purchase cost.
Fixed an issue where restarting the resource could leave base raids active and keep Drug Creator imports locked.
Fixed an issue where storage outside a mainbase could prevent a valid raid or boundary from being saved.
Fixed an issue where normal organization storage could also show an unrelated heist interaction.
Fixed an issue where heist equipment carrying inventory metadata could not be deposited into heist storage.
Improved heist pickup instructions so players know when equipment must be delivered to heist storage.
Changed the included Fleeca gas-mask pickup to an accessible location outside the Vespucci mask shop.
Fixed an issue where valid processing recipes could still leave a processing location unavailable.
Fixed an issue where the Drug Creator could block test-plant placement or accept a preview beyond the permitted placement range.
Fixed an issue where graffiti could be missing while its images were still loading.
Improved Crime interfaces at different screen sizes and corrected German translations across gameplay and creator screens.
Improved language loading so Crime screens use the selected resource translations from the first opening.
Optimized drug updates so unrelated players and unchanged interaction points do not need to reload the same information repeatedly.
Added a complete set of item images for the included Crime activities.
Money Wash and online Heist Hub publishing remain unavailable. Saved settings cannot enable Money Wash. You can still save and activate heists on your own server. Jewellery display cases remain unavailable in the Heist Creator. NPC police support remains disabled by its file-level master switch; saved configurator settings cannot bypass it. Police and medical alerts are separate features.
Added optional performance diagnostics to help support investigate lag and delays, with diagnostics disabled by default.
Update InstructionsA guided update for server owners0.1.00.2.0
Guided update
Update sky_crimesystem safely
Complete the five phases in order. Your progress is kept while this page remains open.
0 / 5phases complete
Phase 1 of 5
Prepare
Update sky_base to 1.39.0 and sky_jobs_base to 1.42.0 before installing sky_crimesystem0.2.0. These steps cover 0.1.0 → 0.2.0. Follow earlier update instructions first when upgrading from an older version. Stop the server and back up the resource, database, custom settings, and saved configurator data.
Phase 2 of 5
Replace files
Install the matching 0.2.0 package. Update every path listed in Changed Files, delete and reinsert sky_crimesystem/source/*, and replace sky_crimesystem/config/locales/* completely. Merge the configuration changes in this tab into your customized files. Preserve writable data and generated user content. Install all new interrogation and raid configuration files and the new item images and models. Delete the exact retired files under Removed Files after backing up any custom replacements. For a first installation, copy the complete resource package.
Required profiler files
For the profiler update, replace the complete sky_crimesystem/source/* tree and sky_crimesystem/fxmanifest.lua from the same download, even if diagnostics stay disabled. Delete the old source/ folder before copying the new one.
The profiler builder leaves configuration, integration and compatibility files unchanged. Apply any separate configuration or integration changes listed for this release as usual.
If you previously installed an older profiler package that also modified files outside source/, restore those affected files once from the unmodified versions in the new download and reapply your custom edits. Later profiler-only updates do not require this step.
Phase 3 of 5
Merge config
For an existing 0.1.0 installation, merge the following changes. For a first installation, use the complete supplied configuration and then set up your organization. Keep a backup of existing drug catalogs, heist definitions, laboratories, and job settings before importing anything.
In sky_crimesystem/config/config.lua, add these previously absent command entries and the explosion test command setting:
Command permissions are file settings. Keep your intended administrator groups. Add the previously absent monitor entry inside the existing Config.HeistPlanning.computerScreenProfiles table without removing your other profiles:
config/config.lua
Config.HeistPlanning.computerScreenProfiles[79209609] = {
topLeft = { x = -0.21972656, y = -0.02006421, z = 0.20175380 },
topRight = { x = 0.21777344, y = -0.02006421, z = 0.20175380 },
bottomLeft = { x = -0.21972656, y = -0.03471265, z = -0.09658604 },
}
Each organization gains a baseZone entry. The supplied Config.Jobs entry now contains the following previously absent block; add it inside the matching job table without replacing that job:
The unconfigured default does not create a usable raid zone. With /jobconfig, open Crime System → Job → Mainbase, place the real boundary points, set the height, and apply/save. The lowest boundary point sets the bottom and the height extends upward. Ordinary job locations remain in their own tab. Existing circular zones remain usable until you deliberately redraw them. Storage outside the boundary is excluded from a raid and does not prevent the zone from being saved. Without the configurator, maintain Config.Jobs[].baseZone in the file using your real coordinates and set configured = true only after configuring a valid zone.
Install sky_crimesystem/config/base_raids.lua, previously absent, with this complete default block:
config/base_raids.lua
-- Each crime job needs one baseZone in Config.Jobs (or Job Configurator > Mainbase).
-- Coordinates are deliberately not invented for existing installations.
-- baseZone = { configured = true, x = 0, y = 0, z = 30, radius = 60, height = 30, bucket = 0 }
-- Only storage, locker and heist_storage points inside the baseZone are accessible during a raid.
Config.BaseRaids = {
enabled = true,
command = "raid",
minimumDefenders = 3,
protectionHours = 24,
failedCooldownMinutes = 15,
breachTimeoutSeconds = 120,
interactionDistance = 3.0,
policeRequireDuty = true,
policeItem = "police_raidram",
crimeItem = "baseraidkit",
warrantItem = "search_warrant", -- Always consumed on a valid police raid start.
difficulty = "normal",
requiredHits = 3,
lootStorage = true,
lootHeistStorage = true,
lootPersonalLockers = true,
lootLaboratories = true,
policeVehicles = true,
crimeVehicles = false,
lootVehicleTrunks = true,
lootVehicleGloveboxes = true,
}
With /jobconfig, these values are under Crime → Base Raids. Their setting keys are baseRaid_ followed by the exact field name, for example baseRaid_enabled, baseRaid_minimumDefenders, baseRaid_protectionHours, and baseRaid_lootVehicleTrunks. Existing saved overrides remain authoritative. Police raids require the configured warrant item, which is consumed on a valid start. Vehicle inventory transfers need a supported Ox, QBCore, or Origen adapter; check your installed Origen version before using its vehicle-storage integration.
Install all four new interrogation files in full: config/interrogation_core.lua, config/interrogation_scenes.lua, config/interrogation_tools.lua, and config/interrogation_settings.lua. They were absent in 0.1.0. The manifest loads them in that order. The settings file creates the supplied-default snapshot; keep it together with the matching core, scenes, and tools. The complete new editable blocks follow so an existing development installation can compare every field.
With Config.UseJobConfigurator = true, review Crime → Interrogation for enablement, placement limits, grabbing, session duration, rescue, dispatch, logging, and presentation. The corresponding keys use interrogation..., including interrogationEnabled, interrogationGrabEnabled, interrogationMaxDurationMinutes, interrogationRescueEnabled, interrogationDispatchEnabled, and interrogationGlobalIntensity. Saved overrides take precedence. Binding paths, scene definitions, custom tool data, and settings not offered there remain in their configuration files. Creator edits to interrogation tool/zone definitions are runtime edits; keep permanent custom definitions in the files so a restart does not discard them.
The supplied Config.Interrogation.npc.enabled is true for administrator practice dummies. Change it to false in config/interrogation_core.lua before opening a server where practice dummies are unwanted; this option is not a saved configurator switch. The interrogationdummy command remains restricted by its administrator permissions. Interrogation consent checks are disabled by default and there is no player command to grant consent. Keep these defaults unless you have configured your own complete policy.
In sky_crimesystem/config/drugs_growing.lua, merge these model replacements:
Append "sky_weed_plant_small", "sky_weed_plant_medium", and "sky_weed_plant_large" to the existing Config.Drugs.Growing.pottedGrowthModels list. Keep its existing GTA model names. Saved retired pot names resolve to the replacements; custom models remain supported.
In sky_crimesystem/config/drugs_labs_power_workers.lua, change Config.Drugs.Power.equipment.plant_pot.propModel from "bkr_prop_weed_01_small_01c" to "sky_weed_plant_small". Add the previously absent trimming-table entry inside the existing equipment table:
Drug Creator catalogs and Heist Creator definitions have their own saved content. Do not reset them to adopt new file defaults. Back up/export your catalog, compare the model and equipment changes, and apply the intended entries through /drugcreator or its supported import. Update the supplied config/heists/fleeca_legion_square_v1.json and use /heistcreator to open/import that definition if you want the revised Fleeca pickup and translations; replacing the file alone does not replace your customized saved heist.
Config.NpcPoliceSupport.enabled remains false; its file value now prevents saved configurator values from enabling the unfinished feature. The other changes to its comment do not change the default. Money Wash and online Heist Hub publishing remain disabled. No provider credentials change.
Optional performance diagnostics
Sky's extra profiler information is disabled by default. This update does not start recordings or send data automatically. No configuration change is required for normal use. If support needs a performance recording, add the following line to server.cfg before the Sky ensure lines, then restart the server:
server.cfg
setr sky_profiler 1
This global setting is configured in server.cfg; it is not managed by /jobconfig. The previous state with no setting remains disabled. Set the value to 1 only when you want the additional diagnostics.
Run profiler record 1000 in the server console for a server delay, or in the player's F8 console for a client problem. Reproduce the issue during the recording. Wait until profiler status reports that recording has stopped, then run profiler saveJSON sky-profile.json in the same console to save the capture. These are the standard FiveM profiler commands.
After diagnostics, change the line to setr sky_profiler 0 and restart again. Keep the new package files installed; disabling diagnostics does not require editing Lua or removing manifest entries.
Phase 4 of 5
SQL & items
For automatic setup, keep Config.AutoExecuteQuery = true. This update adds sky_crime_interrogation_consent, sky_crime_interrogation_objects, sky_crime_interrogation_logs, sky_crime_base_raids, and sky_crime_base_raid_log; existing activity data is retained. When automatic main-table migration is disabled, run these additions from sky_crimesystem/import.sql against your active database:
import.sql
CREATE TABLE IF NOT EXISTS `sky_crime_interrogation_consent` (
`identifier` VARCHAR(64) NOT NULL,
`consented` TINYINT(1) NOT NULL DEFAULT 0,
`hint_seen` TINYINT(1) NOT NULL DEFAULT 0,
`updated_at` BIGINT NOT NULL DEFAULT 0,
PRIMARY KEY (`identifier`)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `sky_crime_interrogation_objects` (
`object_id` VARCHAR(64) NOT NULL,
`kind` VARCHAR(16) NOT NULL DEFAULT 'chair',
`model` VARCHAR(64) NOT NULL,
`pos_x` DOUBLE NOT NULL,
`pos_y` DOUBLE NOT NULL,
`pos_z` DOUBLE NOT NULL,
`heading` DOUBLE NOT NULL DEFAULT 0,
`owner` VARCHAR(64) NOT NULL DEFAULT '',
`created_at` BIGINT NOT NULL DEFAULT 0,
`last_used_at` BIGINT NOT NULL DEFAULT 0,
PRIMARY KEY (`object_id`),
KEY `idx_sky_crime_interrogation_objects_owner` (`owner`)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `sky_crime_interrogation_logs` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`session_id` VARCHAR(64) NOT NULL DEFAULT '',
`event_group` VARCHAR(24) NOT NULL,
`action` VARCHAR(32) NOT NULL,
`server_id` INT NOT NULL DEFAULT 0,
`identifier` VARCHAR(64) NOT NULL DEFAULT '',
`character_name` VARCHAR(100) NOT NULL DEFAULT '',
`target_identifier` VARCHAR(64) NOT NULL DEFAULT '',
`pos_x` DOUBLE NOT NULL DEFAULT 0,
`pos_y` DOUBLE NOT NULL DEFAULT 0,
`pos_z` DOUBLE NOT NULL DEFAULT 0,
`detail` TEXT NULL,
`created_at` BIGINT NOT NULL,
PRIMARY KEY (`id`),
KEY `idx_sky_crime_interrogation_logs_session` (`session_id`),
KEY `idx_sky_crime_interrogation_logs_created` (`created_at`)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS sky_crime_base_raids (job VARCHAR(64) NOT NULL PRIMARY KEY, data LONGTEXT NOT NULL);
CREATE TABLE IF NOT EXISTS sky_crime_base_raid_log (id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY, raid_id VARCHAR(96) NOT NULL, job VARCHAR(64) NOT NULL, actor VARCHAR(96) NOT NULL, action VARCHAR(32) NOT NULL, detail LONGTEXT NOT NULL, created_at BIGINT NOT NULL, INDEX idx_base_raid_log (raid_id, created_at));
For a new installation, apply the full import.sql if you manage the main tables manually. The separate heist tables are not included in that file: keep Config.HeistPersistence.enabled = true and Config.HeistPersistence.autoMigrate = true unless you maintain their migrations yourself. Keep Config.PvPEvents.autoMigrate = true for automatic PvP setup.
On the first start after updating, saved open base raids are completed and receive the configured protection time; unfinished breach attempts receive the failed-attempt cooldown. Further restarts do not extend already completed protection. This also releases the corresponding configuration and import locks. Preserve the raid history and existing stock; no manual raid-row deletion is needed.
Register the usual Crime inventory items in your active inventory. Add the raid items police_raidram, baseraidkit, and search_warrant, plus interrogation items cable_tie, blindfold, torture_pliers, car_battery, blowtorch, water_canister, interrogation_chair, and interrogation_cart. Check trimming_shears for the trimming table. On Qbox, also provide the stackable black_money item used for black-money payments. Use the configured item names if you customize them.
Install the supplied PNG or WebP files from sky_crimesystem/config/inventoryimages/png or webp into your inventory's image folder with matching extensions; provide any additional custom item images that are missing. Replace all Crime locales and install the new Sky plant and pot models. Remove retired Bzzz models and other obsolete files using the exact Removed Files list. Existing custom GTA plant models remain supported.
Phase 5 of 5
Restart & test
Start your framework, database, inventory, and targeting resources, then Base, Jobs Base, and Crime. Start Police, Ambulance, and Fire beforehand when using their optional integrations. Confirm administrator access to /jobconfig, /drugcreator, and /heistcreator; on Qbox, create the organization's framework gang before assigning members.
Test organization access with a regular member. Place and save a mainbase, reopen it, and confirm ordinary storage locations remain accessible. Test a raid with the configured participants and items, then a resource restart and the resulting cooldown. Check an interrogation's release and rescue actions, a camper purchase and its keys, one heist equipment deposit, Fleeca preparation pickup, a test plant, and a processing station. Reopen the interfaces in your chosen language and verify saved progress after restarting. For first-time setup, follow First Setup, Your First Heist, and Drug Basics.
Draft
Version 0.1.0
Initial release draft for Sky Crime System, based on the current development version. The release date is not yet confirmed.
Highlights
Added criminal organizations for ESX, QBCore, and Qbox, with framework job or gang membership and an independent membership option that lets players keep their regular jobs.
Added cooperative heists with crew planning, preparation missions, equipment management, different approaches, and shared progress through the robbery.
Added a drug economy covering cultivation, processing, laboratories, mobile production, and multiple ways to sell and distribute finished products.
Added territory control with supplied districts and custom areas, separate street and supply influence, ownership bonuses, and gang graffiti.
Notable Changes
Added a visual Heist Creator for arranging missions, objectives, dependencies, requirements, opening methods, and rewards, with tools to save and activate scenarios and open or export heist files.
Added an included Fleeca heist with a complete preparation and robbery flow for players and a starting point for server owners creating their own scenarios.
Added organization workshops and heist equipment storage so crews can craft tools and prepare the supplies required by their plans.
Added configurable heist security with alarms, cameras, lasers, gas zones, keycards, and doors or vaults that support different opening methods.
Added configurable loot collection and buyers, including cash, valuables, artwork, and deposit boxes.
Added optional heist preparations and escape scenarios involving computers, reconnaissance, transport vehicles, boats, diving, and one-time events.
Added a Drug Creator for managing drugs, strains, seeds, collection areas, recipes, equipment, laboratories, buyers, and routes.
Added plant cultivation with placement, growth stages, plant care, environmental conditions, harvesting, and configurable public collection areas.
Added custom weed plants and pots, including different strain appearances across growth stages.
Added public processing points and paid processing services with material requirements, production timers, and collection of finished goods.
Added purchasable laboratories with equipment placement, power, ventilation, storage, workers, upkeep, expansions, and production orders.
Added camper shops and mobile laboratories that players can purchase, convert, equip, and operate while parked.
Added product batches with quality, purity, freshness, potency, stability, contamination, packaging, and testing that affect production results and buyer demand.
Added consumable drug products with configurable effects, cooldowns, tolerance, addiction, and withdrawal.
Added street-sale conversations with buyer preferences, negotiation, refusals, scams, and the risk of police reports.
Added discoverable contacts, dealer trust, commissioned sales, delivery routes, changing market demand, and larger distribution networks with staff, storage hubs, and contracts.
Added drug-related heat, police and medical alerts, laboratory threats, and player attacks on production operations.
Added standalone shop robberies with clerk intimidation, cash registers, safe codes, drilling, and optional hacking.
Added ATM robberies using vehicle pulling and explosives, with configurable tools, rewards, police requirements, and cooldowns.
Added NPC pickpocketing with timing, pulse, and sequence minigames, selectable loot, cooldowns, and reactions such as fleeing, aggression, or police alerts after failed attempts.
Added organization base raids for criminal groups and police, with configurable entry requirements, protection periods, and access to eligible storage and vehicles.
Added the BlackBay tablet marketplace with player offers, buy requests, trade chat, configurable NPC traders, meetings, dead drops, and personal in-game coin wallets.
Added interrogation scenes with grabbing, carrying, vehicle transport, placeable chairs and tools, minigames, release, and rescue options.
Added faction PvP events with Last Man Standing, Team Deathmatch, and Free For All, including recurring schedules, entry fees, prize pools, scoreboards, and arena boundaries.
Other Changes
Added organization management with member invitations, ranks, permissions, shared funds, and configurable access to facilities.
Added shared tablet access, a gallery, garages, shops, wardrobes, storage, and lockers through Sky Jobs Base.
Added in-game configuration for organizations, locations, permissions, and gameplay settings through /jobconfig.
Added saved organization, territory, laboratory, plant, stock, heist, and event data with automatic database setup.
Added localized interfaces and optional integrations with Sky Police Job, Sky Ambulance Job, and Sky Fire Job.
Availability in this development version:
Money Wash is temporarily unavailable. Saved settings and imports cannot enable it. Existing businesses, equipment, and stored data are preserved. See Money Wash Businesses.
Online Heist Hub publishing is unavailable. Heists can still be saved and activated on your own server.
Jewellery display cases cannot be added through the Heist Creator. This does not disable the other loot types listed above.
NPC police support is disabled by default. Police and medical alerts remain separate features.
Changed Files
sky_crimesystem/* — install the complete resource package for this initial release, including configuration, translations, database files, models, and the built interface.
Update sky_base and sky_jobs_base and confirm that your framework, database, inventory, and targeting resources work. Sky Police Job, Sky Ambulance Job, and Sky Fire Job are optional integrations.
Download the complete Crime System package and copy the sky_crimesystem folder containing fxmanifest.lua into your server's resources directory. Keep its folder name unchanged. If you already use a development copy, back up its database, customized configuration, and exported heists before replacing files.
Add the following start order to server.cfg, after your framework, database, inventory, and targeting resources:
Keep Config.AutoExecuteQuery, Config.HeistPersistence.enabled, Config.HeistPersistence.autoMigrate, and Config.PvPEvents.autoMigrate enabled in sky_crimesystem/config/config.lua for automatic database setup. If you manage the main tables manually, apply sky_crimesystem/import.sql. That file includes the main Crime, PvP, interrogation, and base-raid tables but does not include the separate heist tables; keep heist auto-migration enabled unless you maintain those tables yourself.
Register the required items in your active inventory using Inventory Items as the starting list. Use the import format for your inventory. The additional raid and interrogation items below are not included in that page's default imports or in sky_crimesystem/items_esx.sql; add the ones required by your enabled features separately:
Base raids: police_raidram, baseraidkit, and search_warrant, as configured in sky_crimesystem/config/base_raids.lua.
Interrogation: cable_tie, blindfold, torture_pliers, car_battery, blowtorch, water_canister, interrogation_chair, and interrogation_cart, as configured in sky_crimesystem/config/interrogation_core.lua and sky_crimesystem/config/interrogation_tools.lua.
Copy the available item images from sky_crimesystem/config/inventoryimages/png or sky_crimesystem/config/inventoryimages/webp to your inventory's image directory with the matching extension. Supply images for additional items where none are bundled. Resolve missing-item warnings before testing activities.
Configure administrator access using Permissions. Start the server, resolve any startup errors, and verify that /jobconfig, /drugcreator, and /heistcreator open for your administrator.
Follow First Setup to configure your organization, leader, society account, member permissions, and facilities. The default membership model uses framework jobs on ESX/QBCore and gangs on Qbox. On Qbox, create the matching gang first. Prepare a leader before switching to independent membership. For base raids, also configure the organization's Mainbase zone and access to the raid tablet app; the supplied organization does not have an active Mainbase zone. Review sky_crimesystem/config/base_raids.lua, including the minimum defenders and permitted loot categories.
With Config.UseJobConfigurator enabled, configure the settings offered by /jobconfig there; saved values take priority over matching Lua-file values. Use /drugcreator for the drug catalog and /heistcreator for heist scenarios. See Configuration before importing an existing setup.
Test organization access with a regular member, then complete Your First Heist and Drug Basics and First Setup. Check item use, storage, rewards, enabled alerts, and saved progress after a restart. Test additional activities before opening them to players; administrator access can bypass some player restrictions. Observe the availability notes above when selecting features for your server.