HRGarages
Advanced garages system with impound garages and rent-a-car extras with ESX/QBCore support
Last updated
Advanced garages system with impound garages and rent-a-car extras with ESX/QBCore support
Last updated
start oxmysql
start HRLib
start framework # es_extended or "qb-core"
start HRGarageslocal config <const> = {}
config.commands = {
enable = true,
commandsSettings = {
giveVehicle = {
enable = true,
isRestricted = true,
name = 'giveVehicle',
description = 'Give vehicle to player',
suggestions = {
{
name = 'playerId',
help = 'Target player server Id'
},
{
name = 'vehicleModel',
help = 'The vehicle model (spawn code)'
},
{
name = 'vehiclePlate',
help = 'The vehicle\'s plate, must be 8 characters long, not more or less (not necessary, default - random plate)'
},
{
name = 'garageIndex',
help = 'The garage where to put the vehicle in (not necessary, default - random garage)'
}
}
},
removeVehicle = { -- Remove vehicle from garage
enable = true,
isRestricted = true,
name = 'removeVehicle',
description = 'Remove vehicle from someone\'s garage',
suggestions = {
{
name = 'vehiclePlate',
help = 'The target vehicle\'s plate'
}
}
}
}
}local config <const> = {}
config.impoundGarages = {
impoundFee = 500,
feeAccount = 'bank',
blipSettings = {
blipLabel = 'ะะฐะบะฐะทะฐัะตะปะตะฝ ะะฐัะบะธะฝะณ',
blipSprite = 50,
blipScale = 0.8,
blipColor = 1,
blipDisplay = 2
},
garagesCoords = {
{ -- The positions are the positions of davispd's impound
pedPosition = vector4(407.3775, -1624.6903, 29.2919, 229.4537),
spawnCoords = {
vector4(419.4937, -1629.6766, 28.7694, 141.8549),
vector4(416.9567, -1627.7761, 28.7691, 140.8800),
vector4(420.7558, -1635.7812, 28.7695, 90.0989),
vector4(420.2980, -1638.9332, 28.7694, 89.4561),
vector4(420.0670, -1641.9648, 28.7682, 90.4215),
vector4(417.9238, -1645.8817, 28.7692, 50.1330),
vector4(409.5179, -1639.7175, 28.7694, 50.1143),
vector4(411.7224, -1637.4547, 28.7677, 49.5121),
vector4(410.9884, -1656.1366, 28.7684, 320.7554),
vector4(408.5130, -1654.0081, 28.7674, 320.4073),
vector4(406.2133, -1651.8816, 28.7680, 321.2579),
vector4(403.6921, -1650.1006, 28.7698, 319.3674),
vector4(401.2584, -1647.9384, 28.7686, 321.0678),
vector4(398.8898, -1645.9050, 28.7681, 320.1758),
vector4(396.4982, -1643.9979, 28.7678, 319.6743)
},
},
{
pedPosition = vector4(-997.5369, -2609.1375, 34.1051, 61.4905),
spawnCoords = {
vector4(-1036.0671, -2594.7007, 33.6415, 239.7062),
vector4(-1041.9172, -2604.7439, 34.7515, 239.8721),
vector4(-1041.9172, -2604.7439, 34.7515, 239.8721),
vector4(-1043.8073, -2607.8970, 35.2286, 239.8059),
vector4(-1045.6228, -2611.1833, 35.6566, 242.0721),
vector4(-1047.4730, -2614.4690, 35.9615, 240.4093),
vector4(-1049.4044, -2617.7058, 36.0810, 240.4273),
vector4(-1051.3844, -2621.1892, 36.0819, 238.7776),
vector4(-1053.3983, -2624.7075, 36.0808, 239.7022),
vector4(-1055.1411, -2627.9231, 36.0809, 240.7404),
vector4(-1050.9165, -2634.1196, 36.0807, 330.4901),
vector4(-1045.8861, -2636.8496, 36.0816, 331.4610),
vector4(-1042.6552, -2638.9565, 36.0816, 329.7005),
vector4(-1039.1205, -2640.5459, 36.0813, 329.0218),
vector4(-1036.0254, -2642.4661, 36.0815, 329.2130),
vector4(-1032.8802, -2644.4602, 36.0807, 330.1822),
vector4(-1027.5354, -2647.1790, 36.0808, 329.9557),
vector4(-1020.0037, -2648.1252, 36.0807, 59.1351),
vector4(-1017.9937, -2645.0789, 36.0802, 59.2972),
vector4(-1016.4663, -2641.2429, 36.0812, 60.2956),
vector4(-1014.5867, -2637.9485, 36.0804, 61.3253),
vector4(-1012.6148, -2634.7622, 35.9692, 59.9850),
vector4(-1010.6698, -2631.4111, 35.6602, 59.4836),
vector4(-1008.7834, -2628.1858, 35.2374, 60.3894),
vector4(-1007.1145, -2624.9565, 34.7649, 59.8900),
vector4(-1005.0043, -2621.5977, 34.2634, 59.6823),
vector4(-990.3429, -2596.3906, 34.2909, 59.7864),
vector4(-988.6157, -2593.0942, 34.7629, 59.1846),
vector4(-986.8103, -2589.9231, 35.2353, 59.6966),
vector4(-984.6647, -2586.6897, 35.6740, 59.7913),
vector4(-983.0892, -2583.2856, 35.9689, 60.2164),
vector4(-981.1096, -2580.1484, 36.0817, 61.1329),
vector4(-979.1969, -2576.8584, 36.0813, 60.7341),
vector4(-977.2566, -2573.2073, 36.0814, 60.6374),
vector4(-975.1840, -2570.1863, 36.0806, 60.1721),
vector4(-979.5862, -2564.1074, 36.0814, 150.6615),
vector4(-984.6801, -2561.2854, 36.0803, 150.1661),
vector4(-988.0023, -2559.4822, 36.0808, 150.6355),
vector4(-991.0923, -2557.3784, 36.0819, 149.6764),
vector4(-994.3614, -2555.3557, 36.0806, 150.0310),
vector4(-997.5494, -2553.7366, 36.0804, 150.0156),
vector4(-1010.4410, -2549.7795, 36.0813, 239.5906),
vector4(-1012.2613, -2553.1436, 36.0803, 239.5801),
vector4(-1013.7484, -2556.6387, 36.0806, 240.5843),
vector4(-1015.9405, -2560.0564, 36.0814, 241.2577),
vector4(-1017.8153, -2563.3386, 35.9638, 238.7151),
vector4(-1019.6935, -2566.4441, 35.6764, 240.0490),
vector4(-1021.4668, -2569.7725, 35.2512, 239.9813),
vector4(-1023.5087, -2573.1062, 34.7443, 240.8344),
vector4(-1029.4121, -2583.2139, 33.6442, 240.5854),
vector4(-1032.8279, -2587.5667, 33.5808, 149.9727),
vector4(-1026.3269, -2631.1487, 36.0819, 60.3608),
vector4(-1024.6825, -2627.9026, 36.1887, 61.8188),
vector4(-1022.7653, -2624.3979, 36.5100, 61.4683),
vector4(-1020.8685, -2621.1584, 36.9404, 61.1954),
vector4(-1018.7793, -2617.7974, 37.4556, 59.8752),
vector4(-1017.1857, -2614.5049, 37.9135, 61.4325),
vector4(-1015.4185, -2611.3396, 38.2855, 62.0851),
vector4(-1013.4188, -2607.7563, 38.5135, 59.8955),
vector4(-1011.1500, -2603.8184, 38.5812, 61.7686),
vector4(-1008.8450, -2600.1765, 38.5809, 60.5307),
vector4(-1006.8692, -2596.5051, 38.5249, 60.3360),
vector4(-1004.6511, -2592.7224, 38.2919, 58.7827),
vector4(-1002.6298, -2589.6340, 37.9152, 60.2502),
vector4(-1001.0703, -2586.1936, 37.4431, 60.1256),
vector4(-998.9055, -2582.9937, 36.9406, 56.9936),
vector4(-997.0244, -2579.6938, 36.5058, 57.2840),
vector4(-995.3116, -2576.2146, 36.1944, 59.0174),
vector4(-993.0876, -2573.2109, 36.0807, 60.6300),
vector4(-1003.7957, -2567.1321, 36.0827, 239.0772),
vector4(-1005.5946, -2570.4246, 36.2016, 240.0495),
vector4(-1007.3491, -2573.5938, 36.4941, 242.8657),
vector4(-1009.3415, -2576.9468, 36.9389, 241.6693),
vector4(-1009.3415, -2576.9468, 36.9389, 241.6693),
vector4(-1013.2113, -2583.4050, 37.9021, 241.9596),
vector4(-1015.2641, -2586.6960, 38.2993, 240.7301),
vector4(-1017.1455, -2590.1094, 38.5125, 242.2208),
vector4(-1024.6184, -2601.6292, 38.5058, 239.7758),
vector4(-1025.5967, -2605.3992, 38.2896, 239.7485),
vector4(-1027.7299, -2608.4958, 37.9054, 237.1125),
vector4(-1029.4259, -2611.9224, 37.4243, 239.3226),
vector4(-1031.4971, -2615.0906, 36.9329, 237.0353),
vector4(-1033.2600, -2618.4114, 36.5051, 238.1352),
vector4(-1034.9653, -2621.7273, 36.2016, 239.4849),
vector4(-1037.1334, -2624.9343, 36.0816, 238.6463),
},
},
}
}local config <const> = {}
config.jobGarages = {
blip = {
scale = 0.8,
displayId = 2,
asShortRange = true,
},
garagesPositions = {
{
blipLabel = 'LSPD Garage',
blipSprite = 830,
blipColor = 3,
includeImpoundGarage = true,
jobs = {
'police'
},
vehiclesList = {
{ vehicle = 'police', minGrade = 2 },
{ vehicle = 'police2', minGrade = 2 },
{ vehicle = 'police3', minGrade = 2 },
{ vehicle = 'police4', minGrade = 2 },
{ vehicle = 'police5', minGrade = 2 },
},
coords = {
impoundBlipWaypointCoords = vector2(425.1, -979.5), -- It only matters to enter its value when includeImpoundGarage is true, it answers to the position of the waypoint when a player wants to see where its impounded vehicle is while its vehicle is in the job impound garage
pedCoords = vector4(459.0820, -1017.1157, 27.1510, 92.1553),
storeVehicle = vector3(449.1385, -1017.2701, 28.0165),
spawnCoords = {
vector4(462.2119, -1015.1483, 27.5545, 92.0322),
vector4(462.0640, -1019.4016, 27.5717, 91.4052),
vector4(446.0865, -1025.1759, 28.1097, 4.4707),
vector4(442.7256, -1025.6680, 28.1767, 3.2357),
vector4(438.7279, -1025.7568, 28.2453, 2.9294),
vector4(435.0581, -1026.0345, 28.3139, 1.2065),
vector4(431.2184, -1026.6810, 28.3892, 2.7038),
vector4(427.3548, -1026.9606, 28.4574, 3.2657)
}
}
},
{
blipLabel = 'Hospital Garage',
blipSprite = 830,
blipColor = 1,
jobs = {
'ambulance'
},
vehiclesList = {
{ vehicle = 'ambulance', minGrade = 2 },
},
coords = {
pedCoords = vector4(294.1237, -597.9418, 42.3017, 67.4052),
storeVehicle = vector3(287.3814, -597.8590, 42.6540),
spawnCoords = {
vector4(295.6890, -604.4202, 43.0926, 70.7867),
vector4(294.7276, -607.4980, 43.1167, 70.6208),
vector4(293.2164, -610.1205, 43.1302, 68.7475)
}
}
}
}
}local config <const> = {}
config.language = 'en'
config.pedInteraction = 'target' -- 'target' or 'key'
config.interactionSettings = {
target = {
distance = 5.0,
translation = {
optionLabel = 'Open garage'
}
},
key = {
distance = 1.0,
keyToInteract = 'E',
translation = {
textUIDescription = '[%s] - Garage' -- You must have the `%s` in the string, otherwise there will be an error!
}
}
}
config.garagePeds = {
'a_m_y_stbla_02',
'a_m_y_smartcaspat_01'
}
config.garagesBlip = {
blipLabel = 'Garage',
blipSprite = 357,
blipScale = 0.8,
blipColor = 5,
blipDisplay = 2,
asShortRange = true
}
config.storePoints = {
markerType = 36,
showInteractDistance = 20.0,
showTextUIDistance = 3.0,
color = { r = 255, g = 0, b = 0 },
alpha = 1000.0,
interactKey = 'E',
textUILabel = '[%s] - To store the vehicle' -- The %s is important (it is being replaced with the interact key)
}local config <const> = {}
config.rentACar = {
enable = true,
finesAccount = 'bank',
rentACarAccount = 'bank',
cars = {
{
model = 'asbo',
price = 200,
fine_markup = 100,
finePer10PercentDamage = 100
},
{
model = 'issi2',
price = 350,
fine_markup = 200,
finePer10PercentDamage = 150
},
{
model = 'blista',
price = 250,
fine_markup = 100,
finePer10PercentDamage = 200
},
{
model = 'carbonizzare',
price = 1000,
fine_markup = 300,
finePer10PercentDamage = 220
},
{
model = 'comet2',
price = 900,
fine_markup = 300,
finePer10PercentDamage = 300
},
{
model = 'comet6',
price = 2000,
fine_markup = 500,
finePer10PercentDamage = 400
}
}
}