Break into a police department to clone a copy of some federal software. Options to complete the heist "quiet" or "loud". Intended to compliment by giving players a unique heist to clone the USB required.
Preview
Heist Summary
Use trojan_usb on electrical box outside La Mesa PD to hack the panel, opening the gate.
Use thermite (with a lighter) on back door to break into the building.
Hack the PD computer inside the archives room.
After successful hack, use a number of blank_usb's to copy the data from exposed repository.
Option to download ONE per heist attempt for a "quiet" heist, or MULTIPLE at one time for a "loud" heist.
Important: players require at least ONE of the CCAT USBs in order to access the hack from the PD computer (how would you clone software without having a copy of it first). Bulk-download option (aka "loud" heist) requires players to wait 5 minutes for their download - ensuring PD/Crim negotiation roleplay.
The system will then shut down after a few seconds - players must take their cloned USB(s) before then (no running away and coming back 2 hours later when no one is there).
When cloning multiple USBs, the player can bring anywhere between 2-5 blank USBs and receive that many copies.
Installation
Dependencies
Gabz La Mesa PD MLO - need to move locations if not using this
Resource tested using qb-inventory/lj-inventory
Items
Add this to your shared items:
-- radio hack
["radiousb"] = {["name"] = "radiousb", ["label"] = "CCAT USB", ["weight"] = 100, ["type"] = "item", ["image"] = "RadioUSB.png", ["unique"] = false, ["useable"] = true, ["shouldClose"] = true, ["combinable"] = nil, ["description"] = "USB loaded with Covert Channel Access Tool."},
-- blank usb
["blank_usb"] = {["name"] = "blank_usb", ["label"] = "Blank USB", ["weight"] = 100, ["type"] = "item", ["image"] = "usb_device.png", ["unique"] = false, ["useable"] = false, ["shouldClose"] = false, ["combinable"] = { accept = { 'gatecrack' }, reward = 'trojan_usb', anim = { dict = 'anim@amb@business@weed@weed_inspecting_high_dry@', lib = 'weed_inspecting_high_base_inspector', text = 'Loading USB with Trojan Software', timeOut = 7500, } }, ["description"] = "This blank USB stick could be turned into anything in a professional's hands..."},
ps-dispatch
Add this to your alerts.lua:
-- mad-ccat-heist
local function CCATHeist()
local coords = GetEntityCoords(cache.ped)
local dispatchData = {
message = 'La Mesa PD Alarm',
codeName = 'ccatheist',
code = '10-90',
icon = 'fa-solid fa-computer',
priority = 2,
coords = coords,
street = GetStreetAndZone(coords),
alertTime = 10,
jobs = { 'leo' }
}
TriggerServerEvent('ps-dispatch:server:notify', dispatchData)
end
exports('CCATHeist', CCATHeist)
If the final hack is too difficult for your players, consider using the edited version included in the "INSTALL" folder.
Configuration
You can adjust the resource to your server's needs in config.lua.
Notes
The heist is intended to be used once per server restart, therefore includes no cool-down feature. The heist will sync its state with all players on client load. The building has 2 outer security systems that require bypassing in order to access the final hack.
The final hack for this is very difficult and the player is provided a lot of time to complete it. The maths mini-game from glow_minigames is used. If this is too hard for your players, consider using the edited version of glow-minigames that we have provided within this resource in the "INSTALL" folder. This edited version is slightly easier than the base maths mini-game, but will still take the average player a decent time to figure out.
for skill gain/loss on hacking success/fail
for police alerts
if you want to give the same item, otherwise not needed
The resource was written to compliment . Successfully completing the heist will give the player a 'Radio USB' item, intended to use to begin the V7-RadioHack. At the time and within the story of my server La Mesa PD was an abandoned police department, so it made sense to have players break into it to on the sly to get their reward. If your server has the department as functional, you may want to edit the doorlock config provided.