Skip to main content

qbx_spawn

Integration for housing for qbx_spawn

Find: qbx_spawn:server:getProperties

lib.callback.register('qbx_spawn:server:getProperties', function(source)
local player = exports.qbx_core:GetPlayer(source)
local houseData = {}
local properties = MySQL.query.await('SELECT id, property_name, coords FROM properties WHERE owner = ?', {player.PlayerData.citizenid})
for i = 1, #properties do
local property = properties[i]
houseData[#houseData + 1] = {
label = property.property_name,
coords = json.decode(property.coords),
propertyId = property.id,
}
end

return houseData
end)

Replace:

lib.callback.register('qbx_spawn:server:getProperties', function(source)
local player = exports.qbx_core:GetPlayer(source)
local houseData = {}
local playerHouses = exports.bcs_housing:GetOwnedHomeKeys(player.PlayerData.citizenid)
for i = 1, #playerHouses do
local house = playerHouses[i]
local entry = house.entry
houseData[#houseData + 1] = {
label = house.name,
coords = vec4(entry.x, entry.y, entry.z, entry.w),
propertyId = house.identifier
}
end
return houseData
end)

Find:

    if spawnData.propertyId then
TriggerServerEvent('qbx_properties:server:enterProperty', { id = spawnData.propertyId, isSpawn = true })

Replace:

    if spawnData.propertyId then
TriggerEvent('Housing:client:EnterHome', spawnData.propertyId)

Follow this to using Starter Apartment​

Delete qbx_properties, add provide 'qb-spawn' to qbx_spawn/fxmaniest.lua

Find: AddEventHandler('qb-spawn:client:setupSpawns', function()

    AddEventHandler('qb-spawn:client:setupSpawns', function()
spawns = {}

local lastCoords, lastPropertyId = lib.callback.await('qbx_spawn:server:getLastLocation')
spawns[#spawns + 1] = {
label = locale('last_location'),
coords = lastCoords,
propertyId = lastPropertyId
}

for i = 1, #config.spawns do
spawns[#spawns + 1] = config.spawns[i]
end

local properties = lib.callback.await('qbx_spawn:server:getProperties')
for i = 1, #properties do
spawns[#spawns + 1] = properties[i]
end

Wait(400)

managePlayer()
setupCamera()
setupMap()

Wait(400)

scaleformDetails(currentButtonID)
inputHandler()
end)

Replace:

AddEventHandler('qb-spawn:client:setupSpawns', function(_, new, appartments)
spawns = {}

if new then
for k, v in pairs(appartments) do
local home = exports.bcs_housing:GetHome(k)
local entry = home.entry or home.properties.entry
spawns[#spawns + 1] = {
propertyId = k,
label = v.name,
coords = vec4(entry.x, entry.y, entry.z, entry.w),
appartment = true
}
end
else
local lastCoords, lastPropertyId = lib.callback.await('qbx_spawn:server:getLastLocation')
spawns[#spawns + 1] = {
label = locale('last_location'),
coords = lastCoords,
propertyId = lastPropertyId
}

for i = 1, #config.spawns do
spawns[#spawns + 1] = config.spawns[i]
end

local properties = lib.callback.await('qbx_spawn:server:getProperties')
for i = 1, #properties do
spawns[#spawns + 1] = properties[i]
end
end

Wait(400)

managePlayer()
setupCamera()
setupMap()

Wait(400)

scaleformDetails(currentButtonID)
inputHandler()
end)

Find:

    if spawnData.propertyId then
TriggerEvent('Housing:client:EnterHome', spawnData.propertyId)

Replace:

    if spawnData.propertyId then
if spawnData.appartment then
TriggerServerEvent('Housing:server:CreateApartment', spawnData.propertyId)
else
TriggerEvent('Housing:client:EnterHome', spawnData.propertyId)
end

Find:

qbx_core/client/character.lua
    elseif GetResourceState('qbx_spawn'):find('start') then
TriggerEvent('qb-spawn:client:setupSpawns', character.citizenid)
TriggerEvent('qb-spawn:client:openUI', true)

Replace:

    elseif GetResourceState('qbx_spawn'):find('start') then
TriggerEvent('Housing:client:SetupSpawnUI', character)