Housing Integration
QS-Housing Integration
Step 1
Edit Config.Garage from qs-housing\config\main.lua to look like this:
local garages = { -- [CORE] Resource name → internal alias
['qb-garages'] = 'qb-garages',
['qs-advancedgarages'] = 'qs-advancedgarages',
['jg-advancedgarages'] = 'jg-advancedgarages',
['cd_garage'] = 'cd_garage',
['okokGarage'] = 'okokGarage',
['loaf_garage'] = 'loaf_garage',
['rcore_garage'] = 'rcore_garage',
['zerio-garage'] = 'zerio-garage',
['codem-garage'] = 'codem-garage',
['ak47_garage'] = 'ak47_garage',
['ak47_qb_garage'] = 'ak47_qb_garage',
['vms_garagesv2'] = 'vms_garagesv2',
['cs-garages'] = 'cs-garages',
['msk_garage'] = 'msk_garage',
['RxGarages'] = 'RxGarages',
['ws_garage-v2'] = 'ws_garage-v2',
['op_garages_v2'] = 'op_garages_v2',
['prism-advancedgarage'] = 'prism-advancedgarage'
}
Config.Garage = DependencyCheck(garages) or 'standalone' -- [AUTO]Step 2
Create prism-advancedgarage.lua in qs-housing\server\custom\garages folder with the following content:
if Config.Garage ~= 'jg-advancedgarages' then
return
end
function TriggerAddHouseGarage(house, garageInfo)
return
end
function TriggerHouseUpdateGarage(garages)
return
end
function TriggerHouseRemoveGarage(house)
return
end
Step 3
Create prism-advancedgarage.lua in qs-housing\client\custom\garages folder with the following content:
--[[
In this section you will find the configuration of the garage that you have selected, in
case your system is not found here, you can ask the creator of your garage to add its exports
in any of these files, or use these files to create your own, that would help our community!
]]
if Config.Garage ~= 'prism-advancedgarage' then
return
end
function TriggerHouseUpdateGarage() end
function StoreVehicle(house)
exports['prism-advancedgarage']:StoreVehicleInHouseGarage(house)
end
function OpenGarage(house)
local HousingData = exports['qs-housing']:getHouseData(house)
if HousingData and HousingData.garage then
exports['prism-advancedgarage']:OpenHouseGarage(house, {
spawnCoords = vec4(HousingData.garage.x, HousingData.garage.y, HousingData.garage.z, HousingData.garage.h)
})
end
end
CreateThread(function()
while true do
Wait(0)
local ped = cache.ped
local pos = GetEntityCoords(ped)
if CurrentHouse ~= nil and (CurrentHouseData.haskey or not Config.Houses[CurrentHouse].locked) and Config.Houses and Config.Houses[CurrentHouse] and Config.Houses[CurrentHouse].garage then
local dist = GetDistanceBetweenCoords(pos, Config.Houses[CurrentHouse].garage.x, Config.Houses[CurrentHouse].garage.y, Config.Houses[CurrentHouse].garage.z, true)
if dist < 5.0 then
DrawMarker(20, Config.Houses[CurrentHouse].garage.x, Config.Houses[CurrentHouse].garage.y, Config.Houses[CurrentHouse].garage.z + 0.3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.3, 0.15, 120, 10, 20, 155, false, false, false, 1, false, false, false)
if dist < 2.0 then
local vehicle = GetVehiclePedIsIn(ped, false)
if Config.Houses[CurrentHouse].garage and Config.Houses[CurrentHouse].garage.x and Config.Houses[CurrentHouse].garage.y and Config.Houses[CurrentHouse].garage.z then
if vehicle and vehicle ~= 0 then
DrawText3D(Config.Houses[CurrentHouse].garage.x, Config.Houses[CurrentHouse].garage.y, Config.Houses[CurrentHouse].garage.z + 0.3, 'Store', 'open_garage1', 'E')
if IsControlJustPressed(0, Keys['E']) or IsDisabledControlJustPressed(0, Keys['E']) then
if not StoreVehicle then return print('Your client/custom/garages/*.lua is not correctly configured') end
StoreVehicle(CurrentHouse)
end
else
DrawText3D(Config.Houses[CurrentHouse].garage.x, Config.Houses[CurrentHouse].garage.y, Config.Houses[CurrentHouse].garage.z + 0.3, 'Store', 'open_garage2', 'E')
if IsControlJustPressed(0, Keys['E']) or IsDisabledControlJustPressed(0, Keys['E']) then
if not OpenGarage then return print('Your client/custom/garages/*.lua is not correctly configured') end
OpenGarage(CurrentHouse)
end
end
end
end
else
Wait(1000)
end
end
end
end)Step 4
Restart your server and you should be good to go!
Last updated on