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'
    },
}