As a player, you will enjoy a seamless and user-friendly UI.
- You can start the mission with your group.
- You can make it work with any other MLOs, all the data and coords are in the config.lua
- As a dev you can configure the following settings :
- The Framework.
- The Target/Dialog useage.
- The Target/Interact useage.
- The minimum cops required.
- The minigame settings.
- The alarm sounds.
- The dispatch.
- The rewards and their chances.
- ++ More.
Code is accessible | 80% |
Subscription-based | No |
Lines (approximately) | 5k+ |
Requirements | qb-core/ es_extended |
Support | Yes |
- Config.lua :
Config = {}
Config.Framework = "qb" -- "esx"
Config.Inventory = "qb" -- "qb", "ox", "qs"
Config.QBInventory = "old" -- new
Config.Target = "qb" -- ox
Config.FrameworkPseudo = 'qb-core'
Config.UseInteract = false -- better to use target
Config.Doorlock = 'qb'
Config.phone = 'qb-phone'
Config.Debug = true -- use /placebox and /placeshoe and /placepc command to place the prop using gizmo and get coords
--::::::::::::::::::::::::: NPC DIALOG ::::::::::::::::::::::::::::::
Config.UseNPCDialog = true
-- Only if NPCDialog is set to false
Config.NPC = {
model = "a_f_y_business_04",
anim = "CODE_HUMAN_MEDIC_TIME_OF_DEATH",
coords = vector4(-1224.08, -1442.37, 3.31, 210.98)
}
--:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Config.Alarm = {
started = false,
dispatch = 'qb-core',
url = 'https://www.youtube.com/watch?v=EnRK43JkxJk', -- alarm URL
time = 3, -- 3 minutes and the alarm sound will stop
}
Config.MiniumCops = 0
Config.Timeout = 45 -- 45 minutes timeout between each robbery
Config.RobberyTime = 5 -- 5 minutes before alarm starts and doors get locked
Config.GenerateTime = 1 -- 1 minute to generate a mission
Config.Scanner = 'rfid_scanner'
Config.Prices = { -- price to sell the shoes
min = 500,
max = 850
}
-----------------------------------------------------------------------------------------------------------------------
--!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!--
-- The ['shoes'].coords Length must be >= to the ['boxes'].coords Length
-- So if in a store you create 8 boxes coords you MUST create at least 8 shoes coords
-- Otherwise you will have an infinite loop...
-- If you do not understand what is writen, please do not touch the Config.Locations
--!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!--
-----------------------------------------------------------------------------------------------------------------------
Config.Locations = {
['Innocence Blvd'] = {
['main'] = vector3(73.05, -1388.59, 30.92),
['boxes'] = {
coords = {
-- 8 slots
vector4(73.05, -1388.59, 30.92, 20.0),
vector4(73.05, -1388.59, 31.08, 0.0),
vector4(73.16, -1387.09, 31.08, 20.0),
vector4(73.16, -1387.09, 31.24, 0.0),
vector4(81.42, -1388.41, 29.33, 88.15),
vector4(81.25, -1388.78, 29.33, 333.81),
vector4(75.12, -1389.39, 28.94, 316.14),
vector4(75.12, -1389.39, 29.10, 0.0),
}
},
['shoes'] = {
coords = {
-- 8 slots
vector4(73.11, -1393.51, 29.69, 65.8),
vector4(73.07, -1392.81, 29.71, 340.66),
vector4(82.11, -1394.78, 29.45, 218.78),
vector4(82.03, -1395.32, 28.42, 317.46),
vector4(81.61, -1395.0, 28.42, 146.56),
vector4(80.05, -1396.38, 28.42, 331.95),
vector4(80.41, -1400.73, 28.42, 61.84),
vector4(80.04, -1400.76, 28.42, 155.37),
-- Extra
vector4(73.04, -1394.03, 29.36, 327.53),
vector4(78.25, -1396.36, 28.43, 207.84),
vector4(82.03, -1397.41, 28.42, 148.45),
vector4(82.12, -1397.69, 28.42, 235.87),
vector4(73.64, -1386.67, 28.85, 316.58),
}
},
['pc'] = {
coords = vector4(74.67, -1392.91, 29.32, 284.58),
prop = 'prop_laptop_01a',
},
['doors'] = { -- list all shop doors id
'shoesheist-1'
},
['Hacked'] = false,
},
['Grapeseed Main'] = {
['main'] = vector3(1690.65, 4818.17, 42.04),
['boxes'] = {
coords = {
-- 8 slots
vector4(1690.65, 4818.17, 42.04, 0.0),
vector4(1690.2, 4817.75, 42.02, 317.87),
vector4(1696.16, 4817.55, 41.15, 90.99),
vector4(1696.16, 4817.55, 41.31, 0.0),
vector4(1695.49, 4818.35, 42.1, 297.53),
vector4(1695.84, 4818.83, 42.1, 0.0),
vector4(1695.83, 4824.67, 41.58, 0.0),
vector4(1695.76, 4824.72, 41.74, 302.48),
}
},
['shoes'] = {
coords = {
-- 8 slots
vector4(1691.29, 4830.28, 41.11, 309.88),
vector4(1691.13, 4830.14, 41.11, 14.64),
vector4(1697.39, 4827.67, 41.11, 333.63),
vector4(1697.41, 4827.42, 41.11, 0.0),
vector4(1689.79, 4822.02, 41.11, 229.18),
vector4(1689.91, 4821.77, 41.11, 144.58),
vector4(1691.68, 4826.17, 41.11, 248.19),
vector4(1690.79, 4825.87, 41.12, 0.0),
-- Extra
vector4(1686.77, 4826.63, 41.11, 0.0),
vector4(1686.83, 4826.84, 41.11, 49.04),
vector4(1687.6, 4824.51, 41.11, 330.4),
vector4(1687.64, 4824.69, 41.11, 0.0),
vector4(1689.34, 4816.32, 41.11, 57.58),
}
},
['pc'] = {
coords = vector4(1694.68, 4822.99, 42.01, 81.93),
prop = 'prop_laptop_01a',
},
['doors'] = { -- list all shop doors id
'shoesheist-2'
},
['Hacked'] = false,
},
['North Rockford'] = {
['main'] = vector3(-1193.41, -766.55, 17.32),
['boxes'] = {
coords = {
-- 8 slots
vector4(-1193.95, -765.29, 17.35, 37.58),
vector4(-1193.6, -765.02, 17.35, 38.61),
vector4(-1193.61, -765.43, 17.35, 38.35),
vector4(-1189.29, -774.34, 16.42, 38.71),
vector4(-1189.31, -774.37, 16.58, 17.77),
vector4(-1197.04, -768.5, 16.6, 0.0),
vector4(-1196.97, -768.57, 16.77, 328.84),
vector4(-1191.63, -764.71, 16.4, 0.0),
}
},
['shoes'] = {
coords = {
-- 8 slots
vector4(-1190.24, -764.57, 16.83, 0.0),
vector4(-1190.29, -764.87, 16.83, 246.65),
vector4(-1190.78, -775.1, 16.85, 68.99),
vector4(-1190.99, -775.02, 16.85, 115.48),
vector4(-1193.03, -770.18, 17.78, 154.22),
vector4(-1191.94, -769.83, 17.78, 55.97),
vector4(-1187.5, -770.35, 16.37, 179.13),
vector4(-1187.34, -770.07, 16.37, 119.69),
-- Extra
vector4(-1192.28, -776.19, 16.37, 255.62),
vector4(-1192.02, -776.36, 16.37, 212.25),
vector4(-1204.52, -774.57, 16.36, 307.35),
vector4(-1204.7, -774.69, 16.36, 0.0),
vector4(-1189.59, -771.05, 16.37, 25.69)
}
},
['pc'] = {
coords = vector4(-1193.01, -767.16, 17.27, 180.03),
prop = 'prop_laptop_01a',
},
['doors'] = { -- list all shop doors id
'shoesheist-3'
},
['Hacked'] = false,
},
['Sinners Passage'] = {
['main'] = vector3(424.59, -807.43, 29.49),
['boxes'] = {
coords = {
-- 8 slots
vector4(422.23, -810.5, 29.47, 330.09),
vector4(422.23, -810.5, 29.58, 0.0),
vector4(421.21, -810.56, 29.45, 35.47),
vector4(425.95, -809.73, 29.05, 309.85),
vector4(425.97, -809.74, 29.21, 0.0),
vector4(427.14, -812.39, 29.01, 340.04),
vector4(427.14, -812.42, 29.17, 0.0),
vector4(427.77, -804.75, 29.01, 0.0),
}
},
['shoes'] = {
coords = {
-- 8 slots
vector4(427.14, -798.68, 28.53, 233.58),
vector4(427.51, -798.68, 28.53, 322.64),
vector4(431.44, -802.02, 28.53, 177.9),
vector4(431.21, -802.41, 28.53, 124.94),
vector4(419.81, -805.61, 28.53, 53.05),
vector4(419.84, -805.33, 28.53, 339.7),
vector4(423.91, -802.56, 28.53, 132.52),
vector4(423.89, -803.02, 28.53, 0.0),
-- Extra
vector4(421.88, -805.7, 28.53, 298.15),
vector4(421.63, -805.7, 28.53, 242.0),
vector4(420.32, -811.61, 28.53, 36.74),
vector4(420.54, -811.74, 28.53, 0.0),
vector4(426.05, -805.1, 29.48, 36.61),
}
},
['pc'] = {
coords = vector4(426.38, -806.18, 29.44, 79.92),
prop = 'prop_laptop_01a',
},
['doors'] = { -- list all shop doors id
'shoesheist-4'
},
['Hacked'] = false,
},
['Paleto Blvd'] = {
['main'] = vector3(2.89, 6512.37, 31.88),
['boxes'] = {
coords = {
-- 8 slots
vector4(2.44, 6509.94, 31.44, 0.0),
vector4(2.45, 6509.96, 31.6, 255.41),
vector4(9.11, 6514.35, 31.42, 0.0),
vector4(9.49, 6513.94, 31.42, 70.44),
vector4(2.38, 6508.47, 31.92, 0.0),
vector4(2.42, 6508.44, 32.08, 101.49),
vector4(-0.72, 6512.49, 31.85, 92.91),
vector4(-0.72, 6511.98, 31.85, 0.0),
}
},
['shoes'] = {
coords = {
-- 8 slots
vector4(11.74, 6511.11, 30.93, 128.79),
vector4(11.9, 6511.3, 30.93, 0.0),
vector4(10.3, 6512.83, 31.37, 0.0),
vector4(10.1, 6512.99, 31.37, 80.13),
vector4(10.16, 6517.72, 30.92, 0.0),
vector4(10.0, 6517.91, 30.92, 246.61),
vector4(2.43, 6518.54, 30.92, 0.0),
vector4(2.53, 6518.76, 30.92, 35.0),
-- Extra
vector4(2.19, 6515.22, 30.92, 0.0),
vector4(2.07, 6515.41, 30.92, 56.99),
vector4(6.18, 6516.2, 30.92, 0.0),
vector4(6.21, 6516.53, 30.92, 97.96),
vector4(5.8, 6516.96, 30.92, 215.9),
}
},
['pc'] = {
coords = vector4(5.49, 6511.93, 31.82, 0.0),
prop = 'prop_laptop_01a',
},
['doors'] = { -- list all shop doors id
'shoesheist-6'
},
['Hacked'] = false,
},
['Route 68'] = {
['main'] = vector3(612.49, 2761.91, 42.09),
['boxes'] = {
coords = {
-- 8 slots
vector4(611.62, 2763.72, 42.12, 0.0),
vector4(611.69, 2763.72, 42.29, 62.93),
vector4(613.72, 2762.01, 42.12, 0.0),
vector4(613.72, 2762.02, 42.29, 64.36),
vector4(612.55, 2759.79, 41.92, 296.74),
vector4(612.54, 2759.76, 42.09, 0.0),
vector4(612.98, 2766.75, 41.64, 315.4),
vector4(612.99, 2766.74, 41.8, 0.0),
}
},
['shoes'] = {
coords = {
-- 8 slots
vector4(616.49, 2762.76, 42.55, 0.0),
vector4(616.16, 2761.7, 42.55, 0.0),
vector4(618.93, 2766.7, 41.13, 257.51),
vector4(619.01, 2766.52, 41.13, 203.36),
vector4(621.54, 2760.81, 41.6, 0.0),
vector4(621.39, 2761.05, 41.6, 71.89),
vector4(613.61, 2749.68, 41.13, 303.56),
vector4(613.4, 2749.55, 41.13, 0.0),
-- Extra
vector4(614.67, 2754.04, 41.97, 301.42),
vector4(614.45, 2754.32, 41.97, 228.04),
vector4(616.51, 2754.3, 41.97, 252.0),
vector4(619.25, 2754.52, 41.97, 236.48),
vector4(619.48, 2754.42, 41.97, 0.0),
}
},
['pc'] = {
coords = vector4(613.51, 2763.41, 42.04, 274.94),
prop = 'prop_laptop_01a',
},
['doors'] = { -- list all shop doors id
'shoesheist-7'
},
['Hacked'] = false,
},
}
Config.Shoes = {
-- model 1
{
model = 'Air Force', -- nike
box = 'prop_shoebox_0192021', -- done
shoe = 'prop_shoe_0192021',
color = 'red',
size = '43',
ref = '0192021',
},
{
model = 'Runfalcon', -- adidas
box = 'prop_shoebox_2510251', --done
shoe = 'prop_shoe_2510251',
color = 'red',
size = '42',
ref = '2510251',
},
{
model = 'Upland', -- vans
box = 'prop_shoebox_1254891', --done
shoe = 'prop_shoe_1254891',
color = 'red',
size = '41',
ref = '1254891',
},
{
model = 'Rebound V6', -- puma
box = 'prop_shoebox_5484158', --done
shoe = 'prop_shoe_5484158',
color = 'red',
size = '40',
ref = '5484158',
},
{
model = 'True Flight', -- jordan
box = 'prop_shoebox_1247145', --done
shoe = 'prop_shoe_1247145',
color = 'red',
size = '39',
ref = '1247145',
},
{
model = 'Nimbus 26', -- Asics
box = 'prop_shoebox_8457915',--done
shoe = 'prop_shoe_8457915',
color = 'red',
size = '38',
ref = '8457915',
},
-- model 2
{
model = 'Air Force', -- nike
box = 'prop_shoebox_8547516',--done
shoe = 'prop_shoe_8547516',
color = 'yellow',
size = '42',
ref = '8547516',
},
{
model = 'Runfalcon', -- adidas
box = 'prop_shoebox_6512547', --done
shoe = 'prop_shoe_6512547',
color = 'yellow',
size = '41',
ref = '6512547',
},
{
model = 'Upland', -- vans
box = 'prop_shoebox_1241257', --done
shoe = 'prop_shoe_1241257',
color = 'yellow',
size = '40',
ref = '1241257',
},
{
model = 'Rebound V6', -- puma
box = 'prop_shoebox_6262514', --done
shoe = 'prop_shoe_6262514',
color = 'yellow',
size = '39',
ref = '6262514',
},
{
model = 'True Flight', -- jordan
box = 'prop_shoebox_0221514', --done
shoe = 'prop_shoe_0221514',
color = 'yellow',
size = '38',
ref = '0221514',
},
{
model = 'Nimbus 26', -- Asics
box = 'prop_shoebox_2251400', --done
shoe = 'prop_shoe_2251400',
color = 'yellow',
size = '43',
ref = '2251400',
},
-- model 3
{
model = 'Air Force', -- nike
box = 'prop_shoebox_0221465', -- done
shoe = 'prop_shoe_0221465',
color = 'black',
size = '41',
ref = '0221465',
},
{
model = 'Runfalcon', -- adidas
box = 'prop_shoebox_20001421',-- done
shoe = 'prop_shoe_20001421',
color = 'black',
size = '40',
ref = '20001421',
},
{
model = 'Upland', -- vans
box = 'prop_shoebox_9555841',-- done
shoe = 'prop_shoe_9555841',
color = 'black',
size = '39',
ref = '9555841',
},
{
model = 'Rebound V6', -- puma
box = 'prop_shoebox_6362681', -- done
shoe = 'prop_shoe_6362681',
color = 'black',
size = '38',
ref = '6362681',
},
{
model = 'True Flight', -- jordan
box = 'prop_shoebox_6363659', -- done
shoe = 'prop_shoe_6363659',
color = 'black',
size = '43',
ref = '6363659',
},
{
model = 'Nimbus 26', -- Asics
box = 'prop_shoebox_9695989', -- done
shoe = 'prop_shoe_9695989',
color = 'black',
size = '42',
ref = '9695989',
},
-- model 4
{
model = 'Air Force', -- nike
box = 'prop_shoebox_9151417',--done
shoe = 'prop_shoe_9151417',
color = 'blue',
size = '40',
ref = '9151417',
},
{
model = 'Runfalcon', -- adidas
box = 'prop_shoebox_7471725', --done
shoe = 'prop_shoe_7471725',
color = 'blue',
size = '39',
ref = '7471725',
},
{
model = 'Upland', -- vans
box = 'prop_shoebox_5152541', --done
shoe = 'prop_shoe_5152541',
color = 'blue',
size = '38',
ref = '5152541',
},
{
model = 'Rebound V6', -- puma
box = 'prop_shoebox_7141526', --done
shoe = 'prop_shoe_7141526',
color = 'blue',
size = '43',
ref = '7141526',
},
{
model = 'True Flight', -- jordan
box = 'prop_shoebox_0221451', --done
shoe = 'prop_shoe_0221451',
color = 'blue',
size = '42',
ref = '0221451',
},
{
model = 'Nimbus 26', -- Asics
box = 'prop_shoebox_1447848', --done
shoe = 'prop_shoe_1447848',
color = 'blue',
size = '41',
ref = '1447848',
},
-- model 5
{
model = 'Air Force', -- nike
box = 'prop_shoebox_3332514', --done
shoe = 'prop_shoe_3332514',
color = 'white',
size = '39',
ref = '3332514',
},
{
model = 'Runfalcon', -- adidas
box = 'prop_shoebox_6654715', -- done
shoe = 'prop_shoe_6654715',
color = 'white',
size = '38',
ref = '6654715',
},
{
model = 'Upland', -- vans
box = 'prop_shoebox_6633251',-- done
shoe = 'prop_shoe_6633251',
color = 'white',
size = '43',
ref = '6633251',
},
{
model = 'Rebound V6', -- puma
box = 'prop_shoebox_0012141',-- done
shoe = 'prop_shoe_0012141',
color = 'white',
size = '42',
ref = '0012141',
},
{
model = 'True Flight', -- jordan
box = 'prop_shoebox_0321451',
shoe = 'prop_shoe_0321451',
color = 'white',
size = '41',
ref = '0321451',
},
{
model = 'Nimbus 26', -- Asics
box = 'prop_shoebox_6338874',-- done
shoe = 'prop_shoe_6338874',
color = 'white',
size = '40',
ref = '6338874',
},
}
----------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------OPTIMISATION PART --------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------
-- Description : this part is responsable on deleting the not needed props when no players are nearby
-- refreshprops : is the time to check if there is someone near the props or not
-- radius : is to check how far is the player from the prop if it is < then the prop will be deleted until someone is nearby...
Config.RefreshProps = 10 -- 15 seconds
Config.Radius = 100.0 -- if the distance between the player and the prop is < 50 then the prop will be deleted.
----------------------------------------------------------------------------------------------------------------------------------------
- Showcase : https://youtu.be/CvtrNwt2r8M
- QBCORE :
- Documentation : Clothing Store Heist | ZaT Scripts
- Tebex : https://zatv.tebex.io/category/qbcore
- ESX:
- Documentation : Clothing Store Heist | ZaT Scripts
- Tebex : https://zatv.tebex.io/category/esx