Wise Garage
The Advanced Garage Script that everyone needs. Multiple parking options, including our “Realistic Parking” System and even more. Configure your Garage to your likings.
Code is accessible | Some Files |
Subscription-based | No |
Lines (approximately) | ~3500 |
Requirements | ESX or QBCore |
Support | Yes |
Video
Configs
Main
Config = {}
Config.Debug = true
Config.Locale = "en"
Config.GarageNpcHash = `a_m_y_business_01`
Config.ImpoundNpcHash = `mp_m_securoguard_01`
Config.Impound = {}
Config.Impound.Price = 3000
Config.Impound.PaymentMethod = "Money" -- Money or Bank | Default: "Money"
Config.Impound.Job = {}
Config.Impound.Job.Active = true
Config.Impound.Job.Reward = {
Account = "Money", -- Money or Bank | Default: "Money"
Amount = 50000
}
Config.ParkingInCountdown = 5
Config.ParkingOptions = {}
Config.ParkingOptions.RealisticParking = true
Config.ParkingOptions.UI = true
Config.ParkingOptions.Marker = true
Config.Parking = {}
Config.Parking.HitProtection = true
Config.Parking.LockSpawnedVehicle = false
Config.ParkingIndicator = {}
Config.ParkingIndicator.ParkingPoint = {}
Config.ParkingIndicator.ParkingPoint.Active = true
Config.ParkingIndicator.ParkingPoint.Height = 0.4
Config.ParkingIndicator.ParkingPoint.Color = {
R = 200,
G = 0,
B = 0,
Alpha = 45
}
Config.ParkingIndicator.Vehicle = {}
Config.ParkingIndicator.Vehicle.Active = true
Config.ParkingIndicator.Vehicle.CanPark = {
R = 0,
G = 255,
B = 0,
Alpha = 45
}
Config.ParkingIndicator.Vehicle.CanNotPark = {
R = 255,
G = 0,
B = 0,
Alpha = 45
}
Config.SaveVehicleInGarage = true
Config.Transfer = {}
Config.Transfer.Active = true -- Can only be used with the Option SaveVehicleInGarage (is true)
Config.Transfer.PaymentMethod = "Money" -- Money or Bank | Default: "Money"
Config.Transfer.VehicleBlacklist = {
"adder",
"t20"
}
Config.Descriptions = {}
Config.Descriptions.Default = "With its roaring engine and sleek design, it's not just a car—it's a declaration of supremacy on wheels."
Config.Descriptions.Manafactures = {
["mclaren"] = "Meet the McLaren Vortex: where speed meets sophistication in a sleek symphony of power."
}
Config.Descriptions.Vehicles = {
["t20"] = [[
The T20: a hellish fusion of speed and chaos, tearing through Los Santos with demonic fury, leaving nothing but shattered dreams and broken records in its wake.
]]
}
Config.ClassTrunkWeights = {
[VehicleClass.COMPACT] = 5000,
[VehicleClass.SEDAN] = 5000,
[VehicleClass.SUV] = 5000,
[VehicleClass.COUPES] = 5000,
[VehicleClass.MUSCLES] = 5000,
[VehicleClass.CLASSICS] = 5000,
[VehicleClass.SPORTS] = 5000,
[VehicleClass.SUPER] = 5000,
[VehicleClass.MOTORCYCLES] = 0,
[VehicleClass.OFFROAD] = 5000,
[VehicleClass.INDUSTRIAL] = 5000,
[VehicleClass.UTILITY] = 5000,
[VehicleClass.VANS] = 70000,
[VehicleClass.BICYCLE] = 0,
[VehicleClass.BOATS] = 5000,
[VehicleClass.HELICOPTERS] = 0,
[VehicleClass.PLANES] = 0,
[VehicleClass.SERVICE] = 5000,
[VehicleClass.EMERGENCY] = 90000,
[VehicleClass.MILITARY] = 90000,
[VehicleClass.COMMERCIAL] = 160000,
[VehicleClass.TRAINS] = 0
}
Config.ImpoundBlip = {
[ImpoundType.CAR_BIKES] = {
sprite = 67,
scale = 0.9,
color = 47,
name = "Impound",
shortRange = true
},
[ImpoundType.BOATS] = {
sprite = 67,
scale = 0.9,
color = 47,
name = "Boat Impound",
shortRange = true
},
[ImpoundType.PLANES] = {
sprite = 67,
scale = 0.9,
color = 47,
name = "Plane Impound",
shortRange = true
},
[ImpoundType.HELICOPTERS] = {
sprite = 67,
scale = 0.9,
color = 47,
name = "Helicopter Impound",
shortRange = true
}
}
Config.GarageBlip = {
[GarageType.CAR_BIKES] = {
sprite = 357,
scale = 0.9,
color = 38,
name = "Garage",
shortRange = true
},
[GarageType.BOATS] = {
sprite = 356,
scale = 0.9,
color = 38,
name = "Boat Garage",
shortRange = true
},
[GarageType.PLANES] = {
sprite = 359,
scale = 0.9,
color = 38,
name = "Plane Garage",
shortRange = true
},
[GarageType.HELICOPTERS] = {
sprite = 360,
scale = 0.9,
color = 38,
name = "Helicopter Garage",
shortRange = true
},
[GarageType.JOB_CAR_BIKE] = {
sprite = 357,
scale = 0.9,
color = 38,
name = "Job Garage",
shortRange = true
},
[GarageType.JOB_BOATS] = {
sprite = 356,
scale = 0.9,
color = 38,
name = "Job Boat Garage",
shortRange = true
},
[GarageType.JOB_PLANES] = {
sprite = 359,
scale = 0.9,
color = 38,
name = "Job Plane Garage",
shortRange = true
},
[GarageType.JOB_HELICOPTERS] = {
sprite = 360,
scale = 0.9,
color = 38,
name = "Job Helicopter Garage",
shortRange = true
}
}
Config.Notify = function(_type, title, message, time)
AddTextEntry('WiseGarageNotification', message)
BeginTextCommandThefeedPost('WiseGarageNotification')
EndTextCommandThefeedPostTicker(false, true)
end
Config.HelpNotify = function(message, location)
-- exports.wise_notify:HelpNotify("E", message)
if location then
AddTextEntry('WiseGarageFloatingHelpNotification', "~INPUT_CONTEXT~ " .. message)
SetFloatingHelpTextWorldPosition(1, location + vector3(0.0, 0.0, 1.8))
SetFloatingHelpTextStyle(1, 1, 2, -1, 3, 0)
BeginTextCommandDisplayHelp('WiseGarageFloatingHelpNotification')
EndTextCommandDisplayHelp(2, false, false, -1)
else
AddTextEntry('WiseGarageHelpNotification', "~INPUT_CONTEXT~ " .. message)
BeginTextCommandDisplayHelp('WiseGarageHelpNotification')
EndTextCommandDisplayHelp(0, false, true, -1)
end
end
Garages
Config.Garages = {
["VespucciBoulevard"] = {
Type = GarageType.CAR_BIKES,
CanTransferVehicles = true,
TransferPrice = 10000,
InteractionPoint = vector4(-281.2737, -888.6597, 30.3180, 155.4341),
Marker = {
position = vector3(-297.7046, -899.2769, 31.0806),
color = { r = 255, g = 0, b = 0, alpha = 50 },
height = 0.8,
radius = 9.0
},
ParkingPoints = {
vector4(-289.3262, -887.6442, 30.6538, 168.3326),
vector4(-292.9591, -886.6707, 30.6533, 168.0761),
vector4(-296.8196, -885.7382, 30.6532, 166.7703),
vector4(-300.3994, -884.8585, 30.6530, 168.2014),
vector4(-303.8376, -884.2295, 30.6531, 169.3017)
}
},
["BoatGarage"] = {
Type = GarageType.BOATS,
CanTransferVehicles = true,
TransferPrice = 10000,
InteractionPoint = vector4(-864.4397, -1488.9628, 0.6, 118.3765),
ParkingPoints = {
vector4(-855.9249, -1494.5980, 0.0620, 288.9270),
vector4(-859.1083, -1486.3040, 0.3491, 289.9573),
vector4(-862.1542, -1477.7483, 0.0585, 290.8152)
}
},
More.....
}
Impounds
Config.Impounds = {
["GangImpound"] = {
InteractionPoint = vector4(408.7257, -1623.3463, 28.2919, 214.2660),
Type = ImpoundType.CAR_BIKES,
AllowedJobs = {
"police"
},
ParkingPoints = {
vector4(416.8553, -1628.1161, 29.2920, 141.0262),
vector4(419.2605, -1630.1384, 29.2919, 139.3000),
vector4(420.3629, -1635.8816, 29.2919, 88.2781),
vector4(420.4494, -1638.9232, 29.2919, 88.5103),
vector4(420.0555, -1642.1398, 29.2920, 96.6371)
}
},
["Impound1"] = {
InteractionPoint = vector4(1524.131836, 3774.092286, 33.503296, 223.937012),
Type = ImpoundType.CAR_BIKES,
ParkingPoints = {
vector4(1523.498902, 3767.472412, 34.048340, 223.937012),
vector4(1517.024170, 3763.068116, 34.014648, 198.425202)
}
},
More....
}
Example Config: https://docs.wise-scripts.vip