Configuration

Don't touch this line

Config, Lang, Blips, Noti = {}, {}, {}, {}

CONFIGURATION FILE

Config, Lang, Blips, Noti = {}, {}, {}, {}

-- $$$$$$\   $$$$$$\  $$\   $$\ $$$$$$$$\ $$$$$$\  $$$$$$\  $$\   $$\ $$$$$$$\   $$$$$$\ $$$$$$$$\ $$$$$$\  $$$$$$\  $$\   $$\ 
--$$  __$$\ $$  __$$\ $$$\  $$ |$$  _____|\_$$  _|$$  __$$\ $$ |  $$ |$$  __$$\ $$  __$$\\__$$  __|\_$$  _|$$  __$$\ $$$\  $$ |
--$$ /  \__|$$ /  $$ |$$$$\ $$ |$$ |        $$ |  $$ /  \__|$$ |  $$ |$$ |  $$ |$$ /  $$ |  $$ |     $$ |  $$ /  $$ |$$$$\ $$ |
--$$ |      $$ |  $$ |$$ $$\$$ |$$$$$\      $$ |  $$ |$$$$\ $$ |  $$ |$$$$$$$  |$$$$$$$$ |  $$ |     $$ |  $$ |  $$ |$$ $$\$$ |
--$$ |      $$ |  $$ |$$ \$$$$ |$$  __|     $$ |  $$ |\_$$ |$$ |  $$ |$$  __$$< $$  __$$ |  $$ |     $$ |  $$ |  $$ |$$ \$$$$ |
--$$ |  $$\ $$ |  $$ |$$ |\$$$ |$$ |        $$ |  $$ |  $$ |$$ |  $$ |$$ |  $$ |$$ |  $$ |  $$ |     $$ |  $$ |  $$ |$$ |\$$$ |
--\$$$$$$  | $$$$$$  |$$ | \$$ |$$ |      $$$$$$\ \$$$$$$  |\$$$$$$  |$$ |  $$ |$$ |  $$ |  $$ |   $$$$$$\  $$$$$$  |$$ | \$$ |
 --\______/  \______/ \__|  \__|\__|      \______| \______/  \______/ \__|  \__|\__|  \__|  \__|   \______| \______/ \__|  \__|

--Use "esx" or "qb"
Config.Framework = "esx"
--If you are using one of the most recent versions of ESX, set the script name. Default = "es_extended"
Config.ESXExport = ""
--Default ESX: "esx:getSharedObject" | Default QB: "qb-core"
Config.Core = "esx:getSharedObject"
-- oxmysql, mysql-async or ghmattisql
Config.Mysql = "oxmysql"
--Minimum distance required to display the parking marker
Config.markerDistance = 20
--Minimum distance required for the "Press E to access the garage" warning to appear.
Config.alertDistance = 2
--Modify only if the maximum speed bar contains errors.
Config.maxspeedBarMultiplier = 3
--If set to false, Mph will be used.
Config.useKmh = true
--If you want the user to be teleported directly to the vehicle when he/she drives it out of the garage
Config.teleportUser = true
--Command to create custom garages for jobs or users.  For administrators only.
Config.createGarageCommand = "creategarage"
--Set to true if you use OX_Inventory
Config.useOXInventory = true
--Set to true if you use QS-Inventory
Config.QSInventory = false
--Keep in true if you want the vehicles to be stored in each garage independently. Set to false if you want to be able to remove vehicles from any garage.
Config.individualGarages = false
--Check if the vehicle has been parked in a garage. Set to false if administrators use /dv to delete vehicles
Config.checkVehParked = true
--Allow transfer of vehicles between users
Config.allowTransfer = true
--Command to delete vehicles, but send them to Central garage (alternative to /dv)
Config.adminDVVCommand = "dvv"
--Use only to get debug info
Config.debug = false

--    ___  ___  ___   __   __  __ __ __  ____    ____    ____ __     ____ ______  ____    __ __  ____ __  __ __   ___ __     ____
--    ||\\//|| // \\ (( \ (( \ || || || ||       || \\  ||    ||    ||    | || | ||       || || ||    ||  || ||  //   ||    ||   
--    || \/ || ||=||  \\   \\  || \\ // ||==     ||  )) ||==  ||    ||==    ||   ||==     \\ // ||==  ||==|| || ((    ||    ||== 
--    ||    || || || \_)) \_)) ||  \V/  ||___    ||_//  ||___ ||__| ||___   ||   ||___     \V/  ||___ ||  || ||  \\__ ||__| ||___

--It serves to eliminate all the vehicles without vehicles that are in the city. It is possible to assign some hours to which it will be executed or to use a command.
--You can decide whether you want these vehicles to be impounded or simply stored in the garage
Config.useMassiveDeleteVehicle = true
Config.massiveDeleteCommand = "crane"
Config.massiveDeleteTime = 2
Config.deleteVehiclesInGarages = true
Config.massiveImpoundVehicles = true
Config.massiveImpoundPrice = 1500
Config.massiveDeleteSchedule = {
    {h = 10, m = 00},
    {h = 12, m = 00},
    {h = 14, m = 00},
    {h = 16, m = 00},
    {h = 18, m = 24},
    {h = 20, m = 00},
    {h = 22, m = 00},
}

--    ___  __ __ __  ____      ___  ___  ____ 
--   // \\ || || || ||        //   // \\ || \\
--  (( ___ || \\ // ||==     ((    ||=|| ||_//
--   \\_|| ||  \V/  ||___     \\__ || || || \\

--Command to deliver a vehicle to a user. First you must spawn it and get on it.
-- /givecar USERID 
Config.giveCarCommand = "givecar"
Config.plateLetters  = 3
Config.plateNumbers  = 3
Config.plateUseSpace = true

--    ____    ____ __     ____ ______  ____      ___  ___  ____ 
--    || \\  ||    ||    ||    | || | ||        //   // \\ || \\
--    ||  )) ||==  ||    ||==    ||   ||==     ((    ||=|| ||_//
--    ||_//  ||___ ||__| ||___   ||   ||___     \\__ || || || \\

--Command to delete a vehicle from a user account
-- /deletecar PLATE
Config.deleteCarCommand = "deletecar"

--    __ __  ____ _  _  __ 
--    || // ||    \\// (( \
--    ||<<  ||==   )/   \\ 
--    || \\ ||___ //   \_))

Config.useKeySystem = true
--Command to use the vehicle key
Config.openLockMenu = "carkey"
--Key to open vehicle key
Config.keyOpenLockMenu = "L"
--Command to hand over a vehicle key to another user. The command will be /command ID
Config.giveKeyCommand = "givekey"
--Command to remove the key assigned to another user. The command will be /command
Config.removeKeyCommand = "removekey"
Config.adminGroups = {
    "admin",
    "superadmin",
    "god",
    "moderator"
}

--     ______  ___  _   _  ____  __ 
--     | || | // \\ \\ // ||    (( \
--       ||   ||=||  )X(  ||==   \\ 
--       ||   || || // \\ ||___ \_))

--If you activate this function, users will receive a tax for each vehicle they own
Config.useTaxes = true
--Price you want to be applied for each vehicle. For example, if the user has 5 cars and the tax is 1500, the total to be paid will be 7500$
Config.taxesPrice = 1500
--In the default configuration taxes will be applied every day at 18:30, you can edit the hour and minutes:
Config.hour = 18
Config.minute = 30



--    __      ___     ___ __ __     __  _  _  __  ______  ____ ___  ___
--    ||     // \\   //   || //    (( \ \\// (( \ | || | ||    ||\\//||
--    ||    ((   )) ((    ||<<      \\   )/   \\    ||   ||==  || \/ ||
--    ||__|  \\_//   \\__ || \\    \_)) //   \_))   ||   ||___ ||    ||

--if activated, all vehicles will be blocked (especially those of the NPC's).
Config.useLockSystem = true
--possibility of the vehicle being open (from 0 to 100)
Config.luckyChance = 5
--vehicles that will always be open (e.g., work vehicles)
Config.whitelistedVehicles = {
    "t20",
    "zentorno"
}
--vehicles that will always be closed (e.g. emergency vehicles)
Config.blacklistedVehicles = {
    "police",
    "police2",
    "sheriff3",
    "sheriff2",
    "sheriff",
    "ambulance"
}

--    __      ___     ___ __ __ ____  __   ___ __ __ __ __  __   ___ 
--    ||     // \\   //   || // || \\ ||  //   || // || ||\ ||  // \\
--    ||    ((   )) ((    ||<<  ||_// || ((    ||<<  || ||\\|| (( ___
--    ||__|  \\_//   \\__ || \\ ||    ||  \\__ || \\ || || \||  \\_||

--If you want to display a lockpicking mini-game 
Config.useLockPickSystem = true
--item needed to start the mini-game and unlock the vehicles
Config.lockpickItem = "lockpick"

--    ____   ___  ____    ___  ____   __ 
--    || \\ // \\ || \\  // \\ || \\ (( \
--    ||_// ||=|| ||  )) ||=|| ||_//  \\ 
--    || \\ || || ||_//  || || || \\ \_))

--Enabling or disabling the use of speed cameras
Config.useRadars = true
--Keep true if you want to send fines (Configure in functions.lua)
Config.SendBill = true
--Activate if you want the police to be notified when a speed camera is triggered.
Config.NotifyPolice = true
--If you want to use your own warning system, activate this option and configure it in the open function.
Config.useConfigPoliceNoti = true
--prop to be used as speed camera
Config.CamProp = "prop_cctv_pole_01a" 
--If you want to display the speed as "kmh" or "mph"
Config.Speedunit = "kmh" 
--if you want a flash effect to be used when taking the picture
Config.useFlash = true
--if you want a sound effect to be used when taking the picture
Config.useSound = true
--vehicles that will not be affected by the speed camera
Config.VehWhitelistCustom = {
    [1] = "police",
    [2] = "police2",
    [3] = "ambulance",
    [4] = "firetruk"
}
--Add a discord webhook where the radar images will be received
Config.radarWebhook = ""

--     ____  ___  __ __  ____    ____  __     ___  ______  ___
--    ||    // \\ || // ||       || \\ ||    // \\ | || | ||   
--    ||==  ||=|| ||<<  ||==     ||_// ||    ||=||   ||   ||== 
--    ||    || || || \\ ||___    ||    ||__| || ||   ||   ||__

--Set to true if you want to use a system for using false license plates
Config.useFakePlate = true
--How many letters in the license plate
Config.letters  = 4
--How many numbers in the license plate
Config.numbers  = 4
--If you want use spaces on the fake plate
Config.useSpaces = false
--Name of the item to be used as a false registration plate
Config.fakePlateItem = "fakeplate"
--Name of the item to be used as the original license plate
Config.originalPlateItem = "originalplate"
--If you want to make it necessary to have an item as a tool set to true
Config.needTool = true
--Name of the item to be used as a tool
Config.toolItem = "screwdriver"
--Add a discord webhook where information will be received when a user changes the license plate of a vehicle
Config.fakePlateWebhook = ""

--    __ ___  ___ ____    ___   __ __ __  __ ____  
--    || ||\\//|| || \\  // \\  || || ||\ || || \\ 
--    || || \/ || ||_// ((   )) || || ||\\|| ||  ))
--    || ||    || ||     \\_//  \\_// || \|| ||_//

--Admin-only command that will eliminate the nearest vehicle and impound it
Config.adminDVICommand = "dvi"
--Default money required to remove the impounded vehicle with the admin command
Config.adminDVIAmount = 1500

Config.authorizedJobs = {
    ["police"] = true,
    ["sheriff"] = true,
    ["mechanic"] = true,
}

Config.Impounder = {

    {
        name = 'Police Impound',
        blipSprite = 67,
        blipColor = 17,
        blipScale = 1.1,
        loc = {x = 409.18, y = -1624.44, z = 29.29, rot = 238.11},
        pedModel = 's_f_y_cop_01',
        park = {x = 401.35, y = -1632.19, z = 29.29, rot = 322.6},
        spawn = {x = 418.19, y = -1646.30, z = 29.29, rot = 232.44},
        camera = vector3(421.30, -1651.66, 29.27),
        cameraRot = 224.85
    },

    {
        name = 'City Impound',
        blipSprite = 67,
        blipColor = 17,
        blipScale = 1.1,
        loc = {x = 490.67, y = -1318.1, z = 29.24, rot = 324.07},
        pedModel = 's_m_y_garbage',
        park = {x = 489.61, y = -1313.27, z = 29.26, rot = 290.0},
        spawn = {x = 489.61, y = -1313.27, z = 29.26, rot = 290.0},
        camera = vector3(495.16, -1313.92, 29.26),
        cameraRot = 260.85
    },

}


--$$$$$$$\  $$\       $$$$$$\ $$$$$$$\   $$$$$$\  
--$$  __$$\ $$ |      \_$$  _|$$  __$$\ $$  __$$\ 
--$$ |  $$ |$$ |        $$ |  $$ |  $$ |$$ /  \__|
--$$$$$$$\ |$$ |        $$ |  $$$$$$$  |\$$$$$$\  
--$$  __$$\ $$ |        $$ |  $$  ____/  \____$$\ 
--$$ |  $$ |$$ |        $$ |  $$ |      $$\   $$ |
--$$$$$$$  |$$$$$$$$\ $$$$$$\ $$ |      \$$$$$$  |
--\_______/ \________|\______|\__|       \______/

Config.useBlips = true

--    ___  ___  ____   __ 
--   //   // \\ || \\ (( \
--  ((    ||=|| ||_//  \\ 
--   \\__ || || || \\ \_))

Blips.blip = 524
Blips.blipColor = 2
Blips.blipScale = 0.9
Blips.blipText = "Garage"

--   ____    ___    ___  ______  __ 
--   || ))  // \\  // \\ | || | (( \
--   ||=)  ((   )) ||=||   ||    \\ 
--   ||_))  \\_//  || ||   ||   \_))

Blips.Bblip = 356
Blips.BblipColor = 2
Blips.BblipScale = 0.9
Blips.BblipText = "Boats Garage"


--   ____  __     ___  __  __  ____  __ 
--   || \\ ||    // \\ ||\ || ||    (( \
--   ||_// ||    ||=|| ||\\|| ||==   \\ 
--   ||    ||__| || || || \|| ||___ \_))

Blips.Pblip = 359
Blips.PblipColor = 2
Blips.PblipScale = 0.9
Blips.PblipText = "Planes Garage"


--$$\      $$\  $$$$$$\  $$$$$$$\  $$\   $$\ $$$$$$$$\ $$$$$$$\   $$$$$$\  
--$$$\    $$$ |$$  __$$\ $$  __$$\ $$ | $$  |$$  _____|$$  __$$\ $$  __$$\ 
--$$$$\  $$$$ |$$ /  $$ |$$ |  $$ |$$ |$$  / $$ |      $$ |  $$ |$$ /  \__|
--$$\$$\$$ $$ |$$$$$$$$ |$$$$$$$  |$$$$$  /  $$$$$\    $$$$$$$  |\$$$$$$\  
--$$ \$$$  $$ |$$  __$$ |$$  __$$< $$  $$<   $$  __|   $$  __$$<  \____$$\ 
--$$ |\$  /$$ |$$ |  $$ |$$ |  $$ |$$ |\$$\  $$ |      $$ |  $$ |$$\   $$ |
--$$ | \_/ $$ |$$ |  $$ |$$ |  $$ |$$ | \$$\ $$$$$$$$\ $$ |  $$ |\$$$$$$  |
--\__|     \__|\__|  \__|\__|  \__|\__|  \__|\________|\__|  \__| \______/

Config.enterParkingIcon = "đŸ…ŋī¸"
Config.enterSaveCarIcon = "🚗"
Lang.garage = "Garage"
Lang.garageSave = ""
Config.useMarkers = true

enterParkingMarker = {
    mtype = 23,
    --RGB COLOR:
    r = 245,
    g = 14,
    b = 70
}

enterSaveCarMarker = {
    mtype = 23,
    --RGB COLOR:
    r = 245,
    g = 14,
    b = 70
}

--$$\   $$\  $$$$$$\ $$$$$$$$\ $$$$$$\ $$$$$$$$\ $$$$$$\  $$$$$$\   $$$$$$\ $$$$$$$$\ $$$$$$\  $$$$$$\  $$\   $$\  $$$$$$\  
--$$$\  $$ |$$  __$$\\__$$  __|\_$$  _|$$  _____|\_$$  _|$$  __$$\ $$  __$$\\__$$  __|\_$$  _|$$  __$$\ $$$\  $$ |$$  __$$\ 
--$$$$\ $$ |$$ /  $$ |  $$ |     $$ |  $$ |        $$ |  $$ /  \__|$$ /  $$ |  $$ |     $$ |  $$ /  $$ |$$$$\ $$ |$$ /  \__|
--$$ $$\$$ |$$ |  $$ |  $$ |     $$ |  $$$$$\      $$ |  $$ |      $$$$$$$$ |  $$ |     $$ |  $$ |  $$ |$$ $$\$$ |\$$$$$$\  
--$$ \$$$$ |$$ |  $$ |  $$ |     $$ |  $$  __|     $$ |  $$ |      $$  __$$ |  $$ |     $$ |  $$ |  $$ |$$ \$$$$ | \____$$\ 
--$$ |\$$$ |$$ |  $$ |  $$ |     $$ |  $$ |        $$ |  $$ |  $$\ $$ |  $$ |  $$ |     $$ |  $$ |  $$ |$$ |\$$$ |$$\   $$ |
--$$ | \$$ | $$$$$$  |  $$ |   $$$$$$\ $$ |      $$$$$$\ \$$$$$$  |$$ |  $$ |  $$ |   $$$$$$\  $$$$$$  |$$ | \$$ |\$$$$$$  |
--\__|  \__| \______/   \__|   \______|\__|      \______| \______/ \__|  \__|  \__|   \______| \______/ \__|  \__| \______/

function notifications(notitype, message, time)
    --Change this trigger for your notification system keeping the variables
    TriggerEvent('codem-notification', message, time, notitype)
end

--Notifications types:
Noti.info = 'info'
Noti.check = 'check'
Noti.error = 'error'

--Notification time:
Noti.time = 5000

--$$\        $$$$$$\  $$\   $$\  $$$$$$\  $$\   $$\  $$$$$$\   $$$$$$\  $$$$$$$$\ 
--$$ |      $$  __$$\ $$$\  $$ |$$  __$$\ $$ |  $$ |$$  __$$\ $$  __$$\ $$  _____|
--$$ |      $$ /  $$ |$$$$\ $$ |$$ /  \__|$$ |  $$ |$$ /  $$ |$$ /  \__|$$ |      
--$$ |      $$$$$$$$ |$$ $$\$$ |$$ |$$$$\ $$ |  $$ |$$$$$$$$ |$$ |$$$$\ $$$$$\    
--$$ |      $$  __$$ |$$ \$$$$ |$$ |\_$$ |$$ |  $$ |$$  __$$ |$$ |\_$$ |$$  __|   
--$$ |      $$ |  $$ |$$ |\$$$ |$$ |  $$ |$$ |  $$ |$$ |  $$ |$$ |  $$ |$$ |      
--$$$$$$$$\ $$ |  $$ |$$ | \$$ |\$$$$$$  |\$$$$$$  |$$ |  $$ |\$$$$$$  |$$$$$$$$\ 
--\________|\__|  \__|\__|  \__| \______/  \______/ \__|  \__| \______/ \________|

Lang.vehicleSaved = "Vehicle has been saved"
Lang.vehicleNoOwner = "This vehicle is not yours"
Lang.vehicleTaken = "The vehicle has been properly taken out of the garage"
Lang.savedPrivGarage = "The private garage has been successfully saved"
Lang.yourVehicle = "Your Vehicle"
Lang.lockpickInfo = "Use [A / D] and [Mouse] to force"
Lang.noLockedCar = "Vehicle is not locked or has an occupant"
Lang.noNearbyVeh = "There is no vehicle nearby"
Lang.lpOpen = "The vehicle has been opened!"
Lang.lpFail = "You have failed!"
Lang.vehicleLocked = "Vehicle has been locked"
Lang.vehicleUnlocked = "Vehicle is unlocked"
Lang.nosynckey = "You have not synchronized the key with any vehicle."
Lang.modifiedPlate = "You have already modified the license plate of a vehicle"
Lang.plateNoVeh = "This license plate does not belong to this vehicle"
Lang.noMoney = "You do not have enough money"
Lang.noRemove = "This vehicle cannot be removed."
Lang.vehStreet = "The vehicle is already on the street"
Lang.alrKeys = "You already have these keys assigned to someone"
Lang.notAssignedKey = "You have not assigned these keys to anyone"
Lang.forgotTool = "You forgot a tool!"
Lang.transferedVeh = "The vehicle has been successfully transferred"
Lang.noAdmin = "You must be an administrator to use this function"
Lang.noVehPlate = "There is no vehicle with this license plate"
Lang.removedVeh = "The vehicle has been successfully removed"
Lang.vehDelivered = "The vehicle has been delivered correctly"
Lang.vehDelUser = "You have received a vehicle, you can pick it up at the garage."
Lang.massiveDelAlert = "All driverless vehicles will be eliminated (not those in garages) at"
Lang.minutes = "minutes"
Lang.massiveDelOK = "Driverless vehicles have been deleted"
Lang.cantSpawn = "There is a vehicle at the vehicle pick-up point, it is not possible to remove a vehicle at this time"
Lang.menuInVehicle = "You cannot open the menu if you are inside a vehicle"

-- $$$$$$\   $$$$$$\  $$$$$$$\   $$$$$$\   $$$$$$\  $$$$$$$$\  $$$$$$\  
--$$  __$$\ $$  __$$\ $$  __$$\ $$  __$$\ $$  __$$\ $$  _____|$$  __$$\ 
--$$ /  \__|$$ /  $$ |$$ |  $$ |$$ /  $$ |$$ /  \__|$$ |      $$ /  \__|
--$$ |$$$$\ $$$$$$$$ |$$$$$$$  |$$$$$$$$ |$$ |$$$$\ $$$$$\    \$$$$$$\  
--$$ |\_$$ |$$  __$$ |$$  __$$< $$  __$$ |$$ |\_$$ |$$  __|    \____$$\ 
--$$ |  $$ |$$ |  $$ |$$ |  $$ |$$ |  $$ |$$ |  $$ |$$ |      $$\   $$ |
--\$$$$$$  |$$ |  $$ |$$ |  $$ |$$ |  $$ |\$$$$$$  |$$$$$$$$\ \$$$$$$  |
 --\______/ \__|  \__|\__|  \__|\__|  \__| \______/ \________| \______/

Garages = {
    ["Central"] = {
        coords = vector3(212.55, -797.68, 30.86),
        spawn = vector3(225.28, -796.8, 30.22),
        heading = 252.28,
        camera = vector3(231.36, -795.19, 30.57),
        cameraRotation = 305.0,
        --saveCar = vector3(228.17, -803.52, 30.56),
        saveCar = vector3(235.59, -784.70, 30.56),
        garageType = 'car',
        noDeleteRadius = 200

    },
    ["El Burro"] = {
        coords = vector3(1179.36, -1540.98, 39.38),
        spawn = vector3(1178.71, -1554.64, 38.96),
        heading = 178.58,
        camera = vector3(1181.68, -1559.65, 39.38),
        cameraRotation = 230.0,
        saveCar = vector3(1189.05, -1546.431, 39.38),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Mirror Park"] = {
        coords = vector3(1038.87, -770.18, 58.00),
        spawn = vector3(1029.94, -788.09, 57.43),
        heading = 311.81,
        camera = vector3(1030.26, -781.36, 57.97),
        cameraRotation = 15.0,
        saveCar = vector3(1027.67, -776.21, 58.02),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Tataviam"] = {
        coords = vector3(2588.67, 420.30, 108.44),
        spawn = vector3(2579.63, 427.97, 108.01),
        heading = 181.41,
        camera = vector3(2583.08, 423.15, 108.44),
        cameraRotation = 235.0,
        saveCar = vector3(2583.08, 428.49, 108.44),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Los Santos Airport"] = {
        coords = vector3(-1038.13, -2667.13, 13.82),
        spawn = vector3(-1037.64, -2655.36, 13.39),
        heading = 150.23,
        camera = vector3(-1037.09, -2662.37, 13.82),
        cameraRotation = 205.0,
        saveCar = vector3(-1046.84, -2661.13, 13.82),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Vespucci Beach"] = {
        coords = vector3(-1186.91, -1505.10, 4.37),
        spawn = vector3(-1188.71, -1488.33, 3.95),
        heading = 121.88,
        camera = vector3(-1190.13, -1494.47, 4.37),
        cameraRotation = 185.0,
        saveCar = vector3(-1176.91, -1498.8, 4.37),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Center"] = {
        coords = vector3(-352.20, -690.10, 32.60),
        spawn = vector3(-330.22, -700.69, 32.48),
        heading = 272.12,
        camera = vector3(-324.22, -697.46, 32.98),
        cameraRotation = 317.0,
        saveCar = vector3(-338.29, -686.20, 32.90),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Alta"] = {
        coords = vector3(271.92, -342.50, 44.91),
        spawn = vector3(284.67, -339.33, 44.49),
        heading = 252.28,
        camera = vector3(291.65, -337.88, 44.91),
        cameraRotation = 300.0,
        saveCar = vector3(286.03, -347.22, 44.93),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Vinewood West"] = {
        coords = vector3(-202.21, 306.72, 96.93),
        spawn = vector3(-205.70, 301.59, 96.51),
        heading = 0.0,
        camera = vector3(-209.34, 306.96, 96.93),
        cameraRotation = 55.0,
        saveCar = vector3(-211.80, 307.21, 96.96),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Rockford Hills"] = {
        coords = vector3(-938.62, -171.79, 41.86),
        spawn = vector3(-921.53, -170.07, 41.44),
        heading = 25.51,
        camera = vector3(-927.04, -166.94, 41.86),
        cameraRotation = 80.0,
        saveCar = vector3(-928.02, -166.28, 41.86),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Galileo"] = {
        coords = vector3(-415.2, 1199.61, 325.63),
        spawn = vector3(-418.20, 1210.62, 325.21),
        heading = 235.27,
        camera = vector3(-412.25, 1210.49, 325.63),
        cameraRotation = 290.0,
        saveCar = vector3(-411.38, 1214.13, 325.63),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Grand Senora"] = {
        coords = vector3(1118.96, 2653.41, 37.99),
        spawn = vector3(1120.52, 2647.53, 37.56),
        heading = 0.0,
        camera = vector3(1115.97, 2652.14, 37.99),
        cameraRotation = 65.0,
        saveCar = vector3(1128.01, 2654.16, 37.99),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Sandy Airport"] = {
        coords = vector3(1728.59, 3297.15, 41.22),
        spawn = vector3(1725.31, 3286.58, 40.68),
        heading = 246.61,
        camera = vector3(1731.40, 3287.07, 41.12),
        cameraRotation = 295.0,
        saveCar = vector3(1727.11, 3304.68, 41.20),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Sandy"] = {
        coords = vector3(1714.35, 3767.18, 34.43),
        spawn = vector3(1707.37, 3762.68, 33.84),
        heading = 317.48,
        camera = vector3(1707.48, 3768.54, 34.38),
        cameraRotation = 378.0,
        saveCar = vector3(1716.13, 3776.55, 34.43),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Grapeseed"] = {
        coords = vector3(2154.00, 4796.13, 41.17),
        spawn = vector3(2148.48, 4796.79, 40.68),
        heading = 22.67,
        camera = vector3(2141.92, 4800.92, 41.17),
        cameraRotation = 75.0,
        saveCar = vector3(2141.49, 4800.30, 41.15),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["Paleto"] = {
        coords = vector3(87.15, 6370.60, 31.23),
        spawn = vector3(63.46, 6377.02, 30.81),
        heading = 31.18,
        camera = vector3(56.36, 6379.87, 31.23),
        cameraRotation = 87.0,
        saveCar = vector3(94.93, 6373.10, 31.21),
        garageType = 'car',
        noDeleteRadius = 200
    },
    ["La Puerta"] = {
        coords = vector3(-905.52, -1469.1, 1.63),
        spawn = vector3(-900.7, -1467.56, 0.31),
        heading = 18.72,
        camera = vector3(-900.23, -1456.95, 1.28),
        cameraRotation = 5.0,
        saveCar = vector3(-909.97, -1470.5, 0.31),
        garageType = 'boat',
        noDeleteRadius = 200
    },
    ["Los Santos Airport"] = {
        coords = vector3(-1635.9, -3140.4, 13.99),
        spawn = vector3(-1655.02, -3148.41, 14.31),
        heading = 329.48,
        camera = vector3(-1655.83, -3126.55, 13.99),
        cameraRotation = 382.0,
        saveCar = vector3(-1648.32, -3135.42, 13.47),
        garageType = 'plane',
        noDeleteRadius = 200
    },
}

Last updated