Config = {} -- Enables debug statements which will print in consoles -- Also enabled a command /cheist which will forcefully spawn a new heist even if one is already happening -- Do not enable this unless asked to by a KuzQuality staff member or you know what you're doing Config.debug = false -- Experimental method of syncing the trucks between players Config.experimentalSync = false -------------------------------------------------------- -------------------------------------------------------- --- MAKE SURE THAT THE CORRECT FRAMEWORK IS ENABLED ! -- -------------------------------------------------------- -------------------------------------------------------- --- SETTINGS FOR ESX Config.esxSettings = { enabled = false, -- Whether or not to use the new ESX export method useNewESXExport = true, -- Account on which players will receive their money after successfully dropping off their vehicle moneyAccount = 'black_money', } --- SETTINGS FOR QBCORE Config.qbSettings = { enabled = true, -- If you're using an old QBCore version set this to 'false' and uncomment the old export in fxmanifest.lua useNewQBExport = true, -- Account on which players will receive their money after successfully dropping off their vehicle -- Using 'crypto' for dirty money feel; change to 'cash' or 'bank' as needed moneyAccount = 'cash' } -- Minimum police officers that have to be online to allow spawning of the heist truck Config.minimumOfficers = 3 -- Whether the player must be in a gang to interact with the heist Config.requireGang = true -- How often the truck should be spawned (In minutes) -- If any players are still near the old truck new one won't be spawned -- Set to 45 minutes for RP pacing - prevents heist spam Config.heistSpawnTime = 45 -- Whether or not to announce the truck spawning to all players (Besides police officers) Config.announceTruckDepartureToPlayers = true -- Announcement blip Config.announcementBlip = { -- How long the blip will stay on the map duration = 15000, primary = { sprite = 161, color = 47, scale = 2.0, alpha = 150, shortRange = true, }, secondary = { sprite = 477, color = 47, scale = 1.3, alpha = 255, shortRange = true, }, } -- Whether or not to use audible vehicle alarms Config.useVehicleAlarm = true -- Bike jump config Config.bikeJump = { enabled = true, keybind = 'X' } -- Whether or not to require a item to open the trailer Config.requireTool = true -- item names that will allow players to open the ramp of the trailer Config.cuttingTools = { 'kq_angle_grinder' } -- Amount of key presses required to open the latch/ramp (Set it higher to make it take longer) Config.latchCuttingDuration = 15 -- Keys used for the angle grinder / cutting the latches Config.grinderKeys = { 'W', 'A', 'S', 'D', 'G' } Config.tracker = { -- How long it will take to search one spot on the vehicle (in ms) searchDuration = 15000, -- How many times the player has to press the keys to unscrew the tracker removalLength = 50, -- Time that players will need to wait when they misclick "drop the screwdriver" (in ms) removalMessedUpDuration = 6000, -- Keys used to unscrew the tracker removalKeybinds = { 'A', 'W', 'D', 'S' }, -- For how long the GPS location is going to be visible for police after tracker gets removed (in ms) stayOnMapAfterRemovalTime = 90000, } -- Name of the job(s) which will receive the alerts Config.policeJobNames = { 'police' } Config.policeBlip = { -- How often the trackers locations should be updated (Don't recommend putting it too low) (in ms) refreshTime = 5000, -- Whether or not to allow tunnels and underground areas to lower the accuracy of the tracker makeTunnelsLowerSignal = true, -- Check which works better for detection of tunnels but makes all trackers which are far away -- from the officer display as if the tracker is in a tunnel (Still recommended) unknownTunnelChecking = true, truck = { primary = { sprite = 161, color = 47, scale = 2.0, alpha = 150, shortRange = false, }, secondary = { sprite = 477, color = 47, scale = 1.3, alpha = 255, shortRange = false, } }, vehicles = { primary = { sprite = 161, color = 49, scale = 1.0, alpha = 150, shortRange = false, }, secondary = { sprite = 595, color = 49, scale = 1.0, alpha = 255, shortRange = false, } } } -- ADVANCED! If you don't know what this does. Do not change it. Config.truckDriveStyle = 1074528293 -- Speed the truck will drive at (I don't recommend putting it above 30.0) Config.truckDriveSpeed = 20.0 -- Color of the heist truck Config.truckColor = { r = 255, g = 60, b = 10 } -- All possible routes that the truck can spawn on and take -- (Be careful when adding new ones. Make sure that the NPC knows how to drive the route (test it)) Config.startLocations = { { truck = { x = 1541.56, y = 854.07, z = 77.5, h = 329.0 }, support = { x = 1524.74, y = 822.16, z = 77.5, h = 328.0 }, finish = { x = 138.46, y = 6414.1, z = 26.13, h = 261.80 }, }, { truck = { x = -2875.27, y = 2188.37, z = 35.23, h = 129.0 }, support = { x = -2841.30, y = 2207.92, z = 31.11, h = 121.19 }, finish = { x = 2506.23, y = -280.09, z = 93.05, h = 91.77 }, }, { truck = { x = -1947.37, y = -337.79, z = 46.23, h = 280.77 }, support = { x = -1980.10, y = -311.63, z = 43.65, h = 231.09 }, finish = { x = -680.03, y = 5761.55, z = 16.88, h = 304.37 }, }, { truck = { x = 1156.20, y = -1695.16, z = 35.65, h = 164.31 }, support = { x = 1165.83, y = -1669.85, z = 36.45, h = 150.35 }, finish = { x = 138.46, y = 6414.1, z = 26.13, h = 261.80 }, }, { truck = { x = 2666.48, y = 3454.13, z = 55.73, h = 247.0 }, support = { x = 2636.36, y = 3462.57, z = 55.37, h = 244.77 }, finish = { x = 1379.78, y = -2068.52, z = 51.99, h = 156.80 }, }, } -- Whether or not to reduce the drop off reward based on how damaged the vehicle is Config.reduceRewardByVehicleDamage = true -- How much percentage to remove off the vehicle price based on damage (0% nothing, 100% cars which have 0 health will pay $0) -- Set to 80% - forces careful driving for RP; damaged cars are worth much less Config.reduceByDamagePercentage = 80 Config.dropOff = { -- Minimum amount of available drop off locations per heist minLocations = 2, -- Maximum amount of available drop off locations per heist maxLocations = 3, -- Whether or not to (almost) instantly delete the vehicle when dropping it off instantlyDeleteVehicle = false, blips = { primary = { sprite = 161, color = 46, scale = 1.0, alpha = 150, shortRange = false, }, secondary = { sprite = 524, color = 46, scale = 1.0, alpha = 255, shortRange = false, } }, -- All available drop off locations locations = { { x = 1274.95, y = -3239.77, z = 5.88 }, { x = -302.86, y = -2723.41, z = 6.01 }, { x = -371.68, y = -2273.67, z = 7.60 }, { x = 452.45, y = -2755.19, z = 6.05 }, { x = -450.44, y = -2442.52, z = 6.00 }, { x = 489.70, y = -2227.92, z = 5.91 }, { x = -161.13, y = 928.02, z = 235.65 }, { x = 2469.17, y = 1589.04, z = 32.72 }, { x = 363.70, y = 3411.08, z = 36.40 }, { x = 3803.85, y = 4451.05, z = 4.25 }, { x = 2150.34, y = 4797.62, z = 41.13 }, { x = 1905.25, y = 4924.22, z = 48.87 }, { x = -197.12, y = 6536.59, z = 11.09 }, { x = -1585.75, y = 5157.74, z = 19.57 }, { x = 143.53, y = -2445.9, z = 5.99 }, { x = -38.46, y = -2547.16, z = 6.00 }, { x = -224.98, y = -2657.44, z = 6.00 }, { x = -566.59, y = -2341.45, z = 13.83 }, { x = -853.87, y = -1257.78, z = 4.99 }, { x = -81.51, y = 361.99, z = 112.46 }, { x = -1558.67, y = -247,35, z = 48.28 }, }, } -- Color of the support vehicle Config.supportColor = { r = 0, g = 0, b = 0 } -- Possible vehicle models for the support vehicle Config.supportVehicles = { 'baller2', 'kuruma', 'buffalo2', 'dubsta2', 'stanier', 'tailgater', } -- Ped models that the support can have Config.supportPeds = { 's_m_m_chemsec_01' } -- How much health all the npcs will have (normal npc's have 100) -- Increased for RP difficulty - guards are trained professionals Config.npcHealth = 250 -- Whether or not all the npcs suffer from critical hits (aka headshots) -- Enabled for realism - headshots should matter in RP Config.npcSuffersCriticalHits = true -- Integer between 0 and 100 -- Below 20 they barely hit, above 80 incredible aim -- Set to 55 for challenging but fair RP encounters Config.npcShootingAccuracy = 55 -- Chance of NPC's having a weapon (100% - armed transport convoy) Config.weaponChance = 100 Config.weapons = { 'weapon_minismg', 'weapon_snspistol', 'weapon_combatpistol' } ------------------------------------------------------------------------ -- chance = the chance of the event spawning -- trucks = list of all truck models that can be used -- npcs = list of all npc models that can be used (driver and passenger) -- passengerChance = the chance of the truck having a passenger -- bulletproofTiresChance = the chance of all heist vehicles having bullet proof tires -- vehicleSlotChance = the chance of a vehicle spawning in a trailer slot (there always is at least 1 vehicle) -- supportChance = the chance of the support vehicle spawning -- minimumVehicles = the minimum amount of the vehicles on the trailer (max 3) -- vehicles = { -- name = Vehicle name -- model = Vehicle model -- price = The max amount of money the players will get for dropping off the vehicle -- } --------------------------------------------------------------------------- --- Chances of all events must add up to 100 ! Config.events = { { chance = 20, trucks = { 'phantom3' }, npcs = { 's_m_m_chemsec_01' }, passengerChance = 100, bulletproofTiresChance = 100, vehicleSlotChance = 70, supportChance = 100, minimumVehicles = 1, vehicles = { { name = 'Adder', model = 'adder', price = 40000, }, { name = 'Entity XF', model = 'entityxf', price = 35000, }, { name = 'Furia', model = 'furia', price = 45000, }, { name = 'Nero Custom', model = 'nero2', price = 52000, }, { name = 'Nero', model = 'nero', price = 44000, }, { name = 'Cyclone', model = 'cyclone', price = 45000, }, { name = 'T20', model = 't20', price = 40000, }, { name = 'Vacca', model = 'vacca', price = 29000, }, { name = 'Bullet', model = 'bullet', price = 28000, }, { name = 'Itali GTB', model = 'italigtb', price = 33000, }, { name = 'Itali GTB Custom', model = 'italigtb2', price = 38000, }, { name = 'Visione', model = 'visione', price = 49000, }, { name = 'SC1', model = 'SC1', price = 40000, }, { name = 'Taipan', model = 'taipan', price = 47000, }, { name = 'Thrax', model = 'thrax', price = 55000, }, { name = 'Emerus', model = 'emerus', price = 51000, }, { name = 'Entity XXR', model = 'entity2', price = 54000, }, { name = 'Reaper', model = 'reaper', price = 41000, }, { name = 'Voltic', model = 'voltic', price = 30000, }, { name = '811', model = 'pfister811', price = 39000, }, { name = 'Lynx', model = 'lynx', price = 32000, }, { name = 'Autarch', model = 'autarch', price = 44000, }, { name = 'XA-21', model = 'xa21', price = 40000, }, } }, { chance = 35, trucks = { 'phantom3', 'phantom', 'hauler', 'packer', }, npcs = { 's_m_m_chemsec_01' }, passengerChance = 80, bulletproofTiresChance = 40, vehicleSlotChance = 70, supportChance = 40, minimumVehicles = 2, vehicles = { { name = 'Sultan RS', model = 'sultanrs', price = 25000, }, { name = 'Schlagen', model = 'schlagen', price = 30000, }, { name = 'Jester Classic', model = 'jester3', price = 28000, }, { name = 'Comet', model = 'comet2', price = 22000, }, { name = 'Comet Retro', model = 'comet3', price = 27000, }, { name = 'Verlierer', model = 'verlierer2', price = 30000, }, { name = 'Omnis', model = 'omnis', price = 33000, }, { name = 'Kuruma', model = 'kuruma', price = 24000, }, { name = 'Space Monkey Blista', model = 'blista3', price = 25000, }, { name = 'Coquette', model = 'coquette', price = 25000, }, { name = 'Banshee', model = 'banshee', price = 26000, }, { name = '9F', model = 'ninef', price = 26000, }, { name = 'Massacro', model = 'massacro', price = 26000, }, { name = 'Massacro Race car', model = 'massacro2', price = 33000, }, { name = 'Dominator GTX', model = 'dominator3', price = 29000, }, { name = 'Brioso R/A', model = 'brioso', price = 22000, }, { name = 'F620', model = 'f620', price = 23000, }, { name = 'Elegy Classic', model = 'elegy', price = 30000, }, { name = 'Ruston', model = 'ruston', price = 26000, }, { name = 'Flash GT', model = 'flashgt', price = 27000, }, { name = 'Elegy RH8', model = 'elegy2', price = 32000, }, } }, { chance = 25, trucks = { 'phantom3' }, npcs = { 's_m_m_chemsec_01' }, passengerChance = 100, bulletproofTiresChance = 100, vehicleSlotChance = 40, supportChance = 100, minimumVehicles = 1, vehicles = { { name = 'Turismo Classic', model = 'turismo2', price = 60000, }, { name = 'JB700W', model = 'jb7002', price = 53000, }, { name = 'Torero', model = 'torero', price = 54000, }, { name = 'Cheburek', model = 'cheburek', price = 15000, }, { name = 'Dynasty', model = 'dynasty', price = 42000, }, { name = 'Monroe', model = 'monroe', price = 40000, }, { name = 'Swinger', model = 'swinger', price = 44000, }, { name = 'Cheetah Classic', model = 'cheetah2', price = 62000, }, { name = 'Infernus Classic', model = 'infernus2', price = 61000, }, { name = 'Rapid GT Classic', model = 'rapidgt3', price = 26000, }, { name = 'Savestra', model = 'savestra', price = 27000, }, } }, { chance = 20, trucks = { 'phantom3' }, npcs = { 's_m_m_chemsec_01' }, passengerChance = 100, bulletproofTiresChance = 100, vehicleSlotChance = 45, supportChance = 80, minimumVehicles = 1, vehicles = { { name = 'Comet Safari', model = 'comet4', price = 45000, }, { name = 'Drag Tornado', model = 'tornado6', price = 47000, }, { name = 'Apocalypse Issi', model = 'issi4', price = 37000, }, { name = 'Drift Yosemite', model = 'yosemite2', price = 51000, }, { name = 'Lowrider Primo', model = 'primo2', price = 42000, }, { name = 'JB700', model = 'jb700', price = 58000, }, { name = 'Raptor', model = 'raptor', price = 35000, }, } }, }