Qbox Integration
This guide documents the installation for our Drivingschool with full Qbox City Hall integration.
File Modifications
Add Items
Add the following items to your inventory:
- drive_truck
- drive_bus
- drive_boat
- drive_bike
- drive_plane
qbx_cityhall/config/shared.lua
Update or insert the following license configurations under cityhalls -> licenses:
qbx_cityhall/config/shared.lua
licenses = {
  ['id'] = {
      item = 'id_card',
      label = 'ID',
      cost = 50,
  },
  ['drive_license'] = {
      item = 'driver_license',
      label = 'Driver License',
      cost = 50,
  },
  ['drive_truck'] = {
      item = 'drive_truck',
      label = 'Trucker License',
      cost = 500,
  },
  ['drive_bus'] = {
      item = 'drive_bus',
      label = 'Bus Driver License',
      cost = 250,
  },
  ['drive_boat'] = {
      item = 'drive_boat',
      label = 'Boat License',
      cost = 350,
  },
  ['drive_bike'] = {
      item = 'drive_bike',
      label = 'Class 6A Bike License',
      cost = 50,
  },
  ['drive_plane'] = {
      item = 'drive_plane',
      label = 'Pilot License',
      cost = 3000,
  },
  ['weapon'] = {
      item = 'weaponlicense',
      label = 'Weapon License',
      cost = 50,
  },
},
qbx_cityhall/server/main.lua
Replace this code.
qbx_cityhall/server/main.lua
lib.callback.register('qbx_cityhall:server:requestId', function(source, item, hall)
    local player = exports.qbx_core:GetPlayer(source)
    if not player then return end
    local itemType = sharedConfig.cityhalls[hall].licenses[item]
    if itemType.item ~= 'id_card' and itemType.item ~= 'driver_license' and itemType.item ~= 'weaponlicense' and string.sub(itemType.item, 1, 6) ~= "drive_" then
        return exports.qbx_core:Notify(source, locale('error.invalid_type'), 'error')
    end
    if not player.Functions.RemoveMoney('cash', itemType.cost) then
        return exports.qbx_core:Notify(source, locale('error.not_enough_money'), 'error')
    end
    exports.qbx_idcard:CreateMetaLicense(source, itemType.item)
    exports.qbx_core:Notify(source, locale('success.item_recieved') .. itemType.label, 'success')
end)
qbx_idcard/config/shared.lua
Update or insert the following license configurations under licenses:
qbx_idcard/config/shared.lua
licenses = {
    ['id_card'] = {
        header = 'Identity',
        background = '#ebf7fd',
        backgroundImage = 'https://r2.fivemanage.com/S24fvk6HQxnz5RKFmS5Im/card5.png',
        prop = 'prop_franklin_dl'
    },
    ['driver_license'] = {
        header = 'Driver License',
        background = '#febbbb',
        backgroundImage = 'https://r2.fivemanage.com/S24fvk6HQxnz5RKFmS5Im/card5.png',
        prop = 'prop_franklin_dl',
    },
    ['drive_truck'] = {
        header = 'Truck License',
        background = '#febbbb',
        backgroundImage = 'https://r2.fivemanage.com/S24fvk6HQxnz5RKFmS5Im/card5.png',
        prop = 'prop_franklin_dl',
    },
    ['drive_bus'] = {
        header = 'Bus License',
        background = '#febbbb',
        backgroundImage = 'https://r2.fivemanage.com/S24fvk6HQxnz5RKFmS5Im/card5.png',
        prop = 'prop_franklin_dl',
    },
    ['drive_boat'] = {
        header = 'Boat License',
        background = '#febbbb',
        backgroundImage = 'https://r2.fivemanage.com/S24fvk6HQxnz5RKFmS5Im/card5.png',
        prop = 'prop_franklin_dl',
    },
    ['drive_bike'] = {
        header = 'Bike License',
        background = '#febbbb',
        backgroundImage = 'https://r2.fivemanage.com/S24fvk6HQxnz5RKFmS5Im/card5.png',
        prop = 'prop_franklin_dl',
    },
    ['drive_plane'] = {
        header = 'Pilot License',
        background = '#febbbb',
        backgroundImage = 'https://r2.fivemanage.com/S24fvk6HQxnz5RKFmS5Im/card5.png',
        prop = 'prop_franklin_dl',
    },
    ['weaponlicense'] = {
        header = 'Weapon License',
        background = '#c7ffe5',
        backgroundImage = 'https://r2.fivemanage.com/S24fvk6HQxnz5RKFmS5Im/card5.png',
        prop = 'prop_franklin_dl',
    },
    ['lawyerpass'] = {
        header = 'Lawyer Pass',
        background = '#f9c491',
        backgroundImage = 'https://r2.fivemanage.com/S24fvk6HQxnz5RKFmS5Im/card5.png',
        prop = 'prop_cs_r_business_card'
    },
}
