Full View config.garages.lua
Preview File Updated: v1.0.8 - 21.10.2024
---@class Impounds
Config.Impounds = {
['Impound1'] = {
label = 'Capital Blvd',
type = 'vehicle',
societyName = 'society_mechanic',
percentFromFineAmountToSociety = 40,
nameBlip = 'impound:vehicle',
showBlip = true,
blipCoords = vector3(485.16, -1322.74, 49.07),
jobImpound = nil,
garageZone = { -- PolyZone
vec2(522.45, -1346.62),
vec2(480.01, -1349.45),
vec2(463.45, -1299.82),
vec2(491.68, -1299.93),
},
minZ = 26.0,
maxZ = 40.0,
-- priceForImpound = 1000, -- Static price, regardless of the time how much is the vehicle towed
priceForImpoundPerDay = 800, -- Price depends on how long the vehicle is towed away
npc = {
enabled = true,
model = 'a_m_m_rurmeth_01',
animation = {'mini@hookers_spvanilla', 'idle_reject_loop_a'},
coords = vector4(495.75, -1340.83, 28.31, 358.03),
},
impoundPoint = vector3(495.73, -1340.29, 29.31),
-- advancedTowingReturnPoint = vector4(482.67, -1332.86, 28.34, 101.3),
impoundData = {
pedCoords = vector4(489.62, -1332.06, 28.33, 320.0),
vehicleCoords = vector4(488.86, -1334.42, 28.24, 272.15),
cameraCoords = vector3(493.58, -1328.73, 30.75),
cameraFov = 60.0,
},
spawnPoint = vector4(485.44, -1307.5, 28.26, 214.9),
checkAreaOccupied = true,
},
['ImpoundBoat'] = {
...
},
['ImpoundPlane'] = {
...
},
['ImpoundHeli'] = {
...
},
['ImpoundPolice'] = {
...
},
}
---@class Garages Configuration Guide - https://docs.vames-store.com/assets/vms_garagesv2/guides/registering-new-garage
Config.Garages = {
-- █▀ █▀▄ ██▀ ██▀ ▄▀ ▄▀▄ █▀▄ ▄▀▄ ▄▀ ██▀ ▄▀▀
-- █▀ █▀▄ █▄▄ █▄▄ ▀▄█ █▀█ █▀▄ █▀█ ▀▄█ █▄▄ ▄██
-- Vehicles Garages:
['EclipseTowerGarage'] = {
label = "Eclipse Tower Garage",
type = 'vehicle',
isPaid = false,
nameBlip = 'free_garage:vehicle',
showBlip = true,
blipCoords = vec3(-796.06, 323.87, 84.7),
garageZone = { -- PolyZone
vec2(-801.79, 305.05),
vec2(-789.88, 304.67),
vec2(-782.44, 340.66),
vec2(-810.96, 340.84),
},
minZ = 82.0,
maxZ = 92.0,
menuPoint = vec3(-803.15, 325.57, 85.7),
garageData = {
pedCoords = vec4(-797.95, 319.04, 84.68, 165.48),
vehicleCoords = vec4(-796.15, 322.22, 84.62, 180.85),
cameraCoords = vec3(-798.75, 313.43, 87.13),
cameraFov = 60.0,
},
spawnPoint = vec4(-800.42, 332.31, 85.7, 180.46),
checkAreaOccupied = true,
returnVehiclePoint = vec3(-791.66, 331.94, 85.7),
},
['EastbourneWayGarage'] = {
...
},
-- Planes Garages:
['InternationalAirport'] = {
...
},
-- Helicopters Garages:
['InternationalAirportHeli'] = {
...
},
-- █▀ █▀▄ ██▀ ██▀ ▄▀ ▄▀▄ █▀▄ ▄▀▄ ▄▀ ██▀ ▄▀▀ █ █▄ █ ▀█▀ ██▀ █▀▄ █ ▄▀▄ █▀▄
-- █▀ █▀▄ █▄▄ █▄▄ ▀▄█ █▀█ █▀▄ █▀█ ▀▄█ █▄▄ ▄██ █ █ ▀█ █ █▄▄ █▀▄ █ ▀▄▀ █▀▄
-- Vehicles Garages:
['OlimpicFwyGarage'] = {
label = "Olimpic Fwy Garage",
type = 'vehicle',
requiredJob = nil,
isPaid = false,
nameBlip = 'free_garage:vehicle',
showBlip = true,
blipCoords = vector3(-219.33, -1164.8, 22.02),
garageZone = { -- PolyZone
vec2(-214.94, -1154.14),
vec2(-247.95, -1152.02),
vec2(-250.58, -1195.97),
vec2(-215.42, -1191.78),
},
minZ = 21.0,
maxZ = 30.0,
interior = {
routingBucket = 1001,
enterOnFoot = vec4(-218.64, -1162.0, 23.02, 91.21),
exitOnFoot = vec4(1380.2, 178.5, -48.99, 358.12),
enterWithVehicle = vec4(-222.67, -1162.87, 23.02, 359.46),
exitWithVehicle = vec4(1339.74, 190.82, -48.31, 269.62),
},
parkingSpaces = {
[1] = {coords = vector4(1366.35, 200.26, -50.41, 89.89)},
[2] = {coords = vector4(1366.19, 204.52, -50.41, 90.23)},
[3] = {coords = vector4(1366.29, 208.72, -50.41, 89.73)},
...
},
},
-- █▀ █▀▄ ██▀ ██▀ █▀▄ ▄▀▄ █▀▄ █▄▀ █ █▄ █ ▄▀ ▄▀▀
-- █▀ █▀▄ █▄▄ █▄▄ █▀ █▀█ █▀▄ █ █ █ █ ▀█ ▀▄█ ▄██
-- Vehicle Parkings:
['LegionSquareParking'] = {
label = "Legion Square Parking",
type = 'vehicle',
requiredJob = nil,
isPaid = false,
nameBlip = 'free_garage:vehicle',
showBlip = true,
blipCoords = vector3(229.87, -784.03, 54.95),
garageZone = { -- PolyZone
vec2(250.83, -847.42),
vec2(175.2, -818.76),
vec2(216.62, -699.35),
vec2(292.69, -735.6),
},
minZ = 29.0,
maxZ = 45.0,
parkingSpaces = {
[1] = {coords = vector4(206.21, -800.94, 29.29, 69.48)},
[2] = {coords = vector4(207.09, -798.51, 29.28, 69.48)},
[3] = {coords = vector4(208.22, -796.05, 29.26, 68.63)},
...
},
},
['AmericanoParking'] = {
...
},
['MiltonRdParking'] = {
...
},
['BoulevardDelPerro'] = {
...
},
['BoulevardDelPerro2'] = {
...
},
['GreatOceanHwy'] = {
...
},
-- Boat Parkings:
['GomaStParking'] = {
...
},
-- █▀▄ ▄▀▄ █ █▀▄ █▀▄ ▄▀▄ █▀▄ █▄▀ █ █▄ █ ▄▀ ▄▀▀
-- █▀ █▀█ █ █▄▀ █▀ █▀█ █▀▄ █ █ █ █ ▀█ ▀▄█ ▄██
-- Vehicles Parkings:
['MacDonaldParking'] = {
label = "Mac Donalds Parking",
type = 'vehicle',
requiredJob = nil,
isPaid = true,
pricePerHour = 20, -- 20$ per hour
payStations = {
vector3(345.61, -1686.81, 27.3), -- Floor G
vector3(386.29, -1681.73, 27.31), -- Floor G
vector3(345.63, -1686.8, 32.51), -- Floor 1
vector3(386.34, -1681.8, 32.53), -- Floor 2
vector3(345.63, -1686.8, 37.79), -- Floor 2
vector3(386.29, -1681.73, 37.79), -- Floor 2
vector3(345.63, -1686.8, 43.05), -- Floor 3
vector3(386.28, -1681.75, 43.05), -- Floor 3
vector3(345.63, -1686.8, 48.31), -- Floor 4
vector3(386.28, -1681.75, 48.3), -- Floor 4
},
nameBlip = 'paid_garage:vehicle',
showBlip = true,
blipCoords = vector3(370.76, -1674.14, 31.53),
garageZone = { -- PolyZone
vec2(358.37, -1742.52),
vec2(312.49, -1703.84),
vec2(376.71, -1633.93),
vec2(419.48, -1668.84),
},
minZ = 24.0,
maxZ = 55.0,
parkingSpaces = {
[1] = {coords = vector4(364.69, -1707.2, 26.05, 139.26)},
[2] = {coords = vector4(362.06, -1704.85, 26.05, 139.22)},
[3] = {coords = vector4(359.12, -1702.56, 26.05, 139.63)},
...
},
},
['MeteorStParking'] = {
...
},
-- █▀▄ ▄▀▄ █▀▄ █▄▀ █ █▄ █ ▄▀ █▀ ▄▀▄ █▀▄ █▀▄ ██▀ █▄ █ ▀█▀
-- █▀ █▀█ █▀▄ █ █ █ █ ▀█ ▀▄█ █▀ ▀▄▀ █▀▄ █▀▄ █▄▄ █ ▀█ █
-- Vehicles Parkings:
['NorthRockfordParking'] = {
label = "North Rockford Parking",
type = 'vehicle',
requiredJob = nil,
isPaid = false,
isForRent = true,
payStations = {
vector3(-1161.07, -740.21, 20.7),
},
pricePerDay = 1200, -- 1200$ per day
rentDays = {1, 2, 3, 4, 5, 6, 7, 14},
npc = {
enabled = true,
model = 'cs_stretch',
animation = {'rcmnigel1a', 'base'},
coords = vector4(-1161.07, -740.21, 18.73, 130.08),
},
nameBlip = 'rent_garage:vehicle',
showBlip = true,
blipCoords = vector3(-1141.54, -752.76, 38.03),
garageZone = { -- PolyZone
vec2(-1141.25, -714.22),
vec2(-1179.01, -746.88),
vec2(-1139.72, -792.12),
vec2(-1100.56, -761.01),
},
minZ = 14.0,
maxZ = 25.0,
parkingSpaces = {
[1] = {coords = vector4(-1146.21, -745.69, 18.23, 286.29), camCoords = vec(-1150.42, -747.32, 20.9)},
[2] = {coords = vector4(-1143.56, -748.69, 18.08, 287.42), camCoords = vec(-1148.0, -750.22, 20.9)},
[3] = {coords = vector4(-1140.94, -751.61, 17.94, 286.41), camCoords = vec(-1145.38, -753.19, 20.9)},
...
},
},
-- █ ▄▀▄ ██▄ █▀▄ ▄▀▄ █▀▄ █▄▀ █ █▄ █ ▄▀ ▄▀▀
-- ▀▄█ ▀▄▀ █▄█ █▀ █▀█ █▀▄ █ █ █ █ ▀█ ▀▄█ ▄██
-- Vehicles Parkings:
['MissionRow'] = {
label = "Police Parking",
type = 'vehicle',
requiredJob = {
['police'] = {0, 1, 2, 3, 4, 5, 6},
['sheriff'] = true
},
isPaid = false,
nameBlip = 'job_garage',
showBlip = false,
blipCoords = vector3(0.0, 0.0, 0.0),
garageZone = { -- PolyZone
vec2(405.26, -1007.58),
vec2(404.81, -1036.99),
vec2(459.96, -1030.72),
vec2(459.46, -1001.09)
},
minZ = 26.0,
maxZ = 45.0,
allowParkPrivateVehicles = false, -- if you want players to be able to park all their private vehicles, set true, it is also recommended to disable allowedModels
allowedModels = {
[joaat('police')] = true,
[joaat('police2')] = true,
[joaat('police3')] = true,
[joaat('police4')] = true,
[joaat('police5')] = true,
},
parkingSpaces = {
[1] = {coords = vector4(427.59, -1027.5, 27.55, 178.6)},
[2] = {coords = vector4(431.11, -1026.96, 27.48, 183.28)},
[3] = {coords = vector4(434.84, -1026.5, 27.41, 182.98)},
...
},
},
-- █ ▄▀▄ ██▄ ▄▀ ▄▀▄ █▀▄ ▄▀▄ ▄▀ ██▀ ▄▀▀ █▀▄ █▀▄ ██▀ █▀▄ ██▀ █▀ █ █▄ █ ██▀ █▀▄ █ █ ██▀ █▄█ █ ▄▀▀ █ ██▀ ▄▀▀
-- ▀▄█ ▀▄▀ █▄█ ▀▄█ █▀█ █▀▄ █▀█ ▀▄█ █▄▄ ▄██ █▀ █▀▄ █▄▄ █▄▀ █▄▄ █▀ █ █ ▀█ █▄▄ █▄▀ ▀▄▀ █▄▄ █ █ █ ▀▄▄ █▄▄ █▄▄ ▄██
['SandyShoresPolice'] = {
label = "Police Garage",
type = 'vehicle',
requiredJob = {
['police'] = {0, 1, 2, 3, 4},
},
isPaid = false,
nameBlip = 'job_garage',
showBlip = false,
blipCoords = vector3(0.0, 0.0, 0.0),
garageZone = { -- PolyZone
vec2(1883.49, 3686.12),
vec2(1866.77, 3712.9),
vec2(1848.26, 3704.3),
vec2(1864.46, 3675.74),
},
minZ = 29.0,
maxZ = 39.0,
allowedModels = {
[joaat('police')] = true,
[joaat('police2')] = true,
[joaat('police3')] = true,
[joaat('police4')] = true,
[joaat('police5')] = true,
},
availableVehicles = {
['police'] = {
model = 'police'
},
['police2'] = {
model = 'police2',
gradesAccess = {1, 2, 3, 4}
},
['police3'] = {
model = 'police3',
gradesAccess = {2, 3, 4}
},
['police4'] = {
model = 'police4',
gradesAccess = {3, 4}
},
['police5'] = {
model = 'police5',
gradesAccess = {4},
customProperties = {
['modEngine'] = 3,
['modTurbo'] = true,
['windowTint'] = 2,
}
},
},
menuPoint = vector3(1866.63, 3688.4, 34.27),
garageData = {
pedCoords = vector4(1873.61, 3691.09, 32.53, 238.32),
vehicleCoords = vector4(1870.77, 3691.41, 32.38, 206.87),
cameraCoords = vector3(1876.68, 3688.59, 33.9),
cameraFov = 60.0,
},
spawnPoint = vector4(1873.36, 3682.98, 32.49, 119.93),
checkAreaOccupied = true,
returnVehiclePoint = vector4(1870.77, 3691.41, 33.38, 206.87),
},
-- █ ▄▀▄ ██▄ ▄▀ ▄▀▄ █▀▄ ▄▀▄ ▄▀ ██▀ ▄▀▀ ▄▀▄ █ █ █▄ █ ██▀ █▀▄ █ █ ██▀ █▄█ █ ▄▀▀ █ ██▀ ▄▀▀
-- ▀▄█ ▀▄▀ █▄█ ▀▄█ █▀█ █▀▄ █▀█ ▀▄█ █▄▄ ▄██ ▀▄▀ ▀▄▀▄▀ █ ▀█ █▄▄ █▄▀ ▀▄▀ █▄▄ █ █ █ ▀▄▄ █▄▄ █▄▄ ▄██
['PaletoBayPolice'] = {
label = "Police Garage",
type = 'vehicle',
requiredJob = {
['police'] = true,
['sheriff'] = true,
},
isPaid = false,
nameBlip = 'job_garage',
showBlip = false,
blipCoords = vector3(0.0, 0.0, 0.0),
garageZone = { -- PolyZone
vec2(-463.86, 6043.0),
vec2(-442.56, 6023.36),
vec2(-463.51, 6002.4),
vec2(-482.54, 6020.82)
},
minZ = 29.0,
maxZ = 35.0,
societyName = "society_police",
vehiclesToOrder = {
['police'] = {label = "Police", model = "police", price = 50000},
['police2'] = {label = "Police 2", model = "police2", price = 70000},
['police3'] = {label = "Police 3", model = "police3", price = 65000},
},
platePrefix = "LSPD",
plateFormat = "LSPD 999",
menuPoint = vector3(-460.9, 6014.68, 31.48),
garageData = {
pedCoords = vector4(-468.35, 6022.44, 30.34, 234.34),
vehicleCoords = vector4(-470.41, 6023.94, 29.95, 277.97),
cameraCoords = vector3(-464.82, 6021.1, 32.1),
cameraFov = 60.0,
},
spawnPoint = vector4(-462.76, 6018.75, 30.35, 314.31),
checkAreaOccupied = true,
returnVehiclePoint = vector3(-462.46, 6035.22, 31.34)
},
['PillboxAmbulance'] = {
...
},
-- ██▄ █ █ ▄▀▀ █ █▄ █ ██▀ ▄▀▀ ▄▀▀ █▀▄ ▄▀▄ █▀▄ █▄▀ █ █▄ █ ▄▀
-- █▄█ ▀▄█ ▄██ █ █ ▀█ █▄▄ ▄██ ▄██ █▀ █▀█ █▀▄ █ █ █ █ ▀█ ▀▄█
['VespucciBlvdParking'] = {
label = "Vespucci Blvd Parking",
type = 'vehicle',
purchasePrice = 1100000,
businessGarage = true,
managementPoint = vector3(-281.09, -888.47, 31.32),
requiredJob = nil,
isPaid = false,
isForRent = true,
payStations = {
vector3(-349.11, -874.61, 31.32)
},
pricePerDay = 1200, -- 1200$ per day
priceForInfinity = 80000,
rentDays = {1, 2, 3, 4, 5, 6, 7, -1},
nameBlip = 'rent_garage:vehicle',
showBlip = true,
blipCoords = vector3(-335.97, -917.15, 46.34),
garageZone = { -- PolyZone
vec2(-261.06, -880.88),
vec2(-304.71, -867.69),
vec2(-364.54, -856.91),
vec2(-364.52, -970.61),
vec2(-274.68, -1003.16),
vec2(-268.24, -984.5),
vec2(-309.87, -968.94),
vec2(-292.67, -922.81),
vec2(-282.14, -925.86),
},
minZ = 26.0,
maxZ = 40.0,
parkingSpaces = {
[1] = {coords = vector4(-343.7, -875.52, 29.43, 347.93), camCoords = vector3(-344.69, -880.17, 32.23)},
[2] = {coords = vector4(-339.98, -876.38, 29.43, 347.56), camCoords = vector3(-341.01, -881.02, 32.23)},
[3] = {coords = vector4(-336.38, -876.94, 29.43, 347.72), camCoords = vector3(-337.39, -881.59, 32.23)},
...
}
},
}
---@class HousingGarages Garages belonging to houses
Config.HousingGarages = {
['HouseGarage:1'] = { -- SMALL GARAGE (2 VEHICLES)
routingBucket = 10001,
zoneSize = 8.0,
houseCoords = vector4(1274.34, -672.64, 64.92, 272.98),
exitCoords = vector4(178.74, -1006.61, -99.0, 89.23),
parkingSpaces = {
[1] = {coords = vector4(175.26, -1004.05, -100.02, 179.98)},
[2] = {coords = vector4(171.35, -1004.15, -100.02, 178.67)},
}
},
['HouseGarage:2'] = { -- SMALL GARAGE (2 VEHICLES)
...
},
['HouseGarage:3'] = { -- SMALL GARAGE (2 VEHICLES)
...
},
['HouseGarage:4'] = { -- SMALL GARAGE (2 VEHICLES)
...
},
['HouseGarage:5'] = { -- SMALL GARAGE (2 VEHICLES)
...
},
['HouseGarage:6'] = { -- SMALL GARAGE (2 VEHICLES)
...
},
['HouseGarage:7'] = { -- SMALL GARAGE (2 VEHICLES)
...
},
['HouseGarage:8'] = { -- SMALL GARAGE (2 VEHICLES)
...
},
['HouseGarage:9'] = { -- SMALL GARAGE (2 VEHICLES)
...
},
['HouseGarage:10'] = { -- SMALL GARAGE (2 VEHICLES)
...
},
...
}
Last updated