Skip to Content

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