Skip to Content
CoreQBCore Functions: GetPlayer, AddMoney, Notify + Examples

QBCore Functions Library

Use this guide to locate commonly used QBCore framework functions, then verify their current signatures and behavior in the deployed qb-core commit.

Getting QBCore Object

Before using any QBCore functions, you must get the QBCore object:

local QBCore = exports['qb-core']:GetCoreObject()

Player Functions

QBCore.Functions.GetPlayer(source)

Gets a player object by their server source ID.

local Player = QBCore.Functions.GetPlayer(source) if Player then print('Player found:', Player.PlayerData.charinfo.firstname) else print('Player not found') end

Returns: Player object or nil if not found

QBCore.Functions.GetPlayerByCitizenId(citizenid)

Gets a player object by their citizen ID.

local Player = QBCore.Functions.GetPlayerByCitizenId('ABC12345') if Player then print('Player online:', Player.PlayerData.charinfo.firstname) end

Returns: Player object or nil if player is offline

QBCore.Functions.GetOfflinePlayer(citizenid)

Gets offline player data from the database.

QBCore.Functions.GetOfflinePlayer('ABC12345', function(player) if player then print('Offline player:', player.PlayerData.charinfo.firstname) end end)

Returns: Calls callback with player data or nil

QBCore.Functions.GetPlayerByPhone(phone)

Gets a player object by their phone number.

local Player = QBCore.Functions.GetPlayerByPhone('555-0123') if Player then print('Player found with phone:', phone) end

Returns: Player object or nil

QBCore.Functions.GetQBPlayers()

Gets all online players.

local players = QBCore.Functions.GetQBPlayers() for src, Player in pairs(players) do print('Online player:', Player.PlayerData.charinfo.firstname) end

Returns: Table of all online Player objects

QBCore.Functions.CreateUseableItem(item, cb)

Creates a useable item that triggers when used.

QBCore.Functions.CreateUseableItem('lockpick', function(source, item) local Player = QBCore.Functions.GetPlayer(source) -- Handle item usage if Player.Functions.GetItemByName('lockpick') then TriggerClientEvent('lockpick:client:use', source) end end)

Parameters:

  • item: Item name to make useable
  • cb: Callback function when item is used

Player Object Functions

When you have a Player object, these functions are available:

Player.Functions.AddItem(item, amount, slot, info)

Adds an item to the player’s inventory.

local Player = QBCore.Functions.GetPlayer(source) local success = Player.Functions.AddItem('water_bottle', 1, false, { quality = 100, description = 'Fresh water' }) if success then TriggerClientEvent('inventory:client:ItemBox', source, QBCore.Shared.Items['water_bottle'], 'add') end

Parameters:

  • item: Item name
  • amount: Quantity to add
  • slot: Specific slot (optional)
  • info: Item metadata (optional)

Returns: true if successful, false if failed

Player.Functions.RemoveItem(item, amount, slot)

Removes an item from the player’s inventory.

local Player = QBCore.Functions.GetPlayer(source) local success = Player.Functions.RemoveItem('lockpick', 1) if success then TriggerClientEvent('inventory:client:ItemBox', source, QBCore.Shared.Items['lockpick'], 'remove') end

Returns: true if successful, false if failed

Player.Functions.GetItemByName(item)

Gets an item from the player’s inventory by name.

local Player = QBCore.Functions.GetPlayer(source) local item = Player.Functions.GetItemByName('phone') if item then print('Player has phone in slot:', item.slot, 'with info:', json.encode(item.info)) else print('Player does not have a phone') end

Returns: Item object or nil if not found

Player.Functions.GetItemBySlot(slot)

Gets an item from a specific inventory slot.

local Player = QBCore.Functions.GetPlayer(source) local item = Player.Functions.GetItemBySlot(1) if item then print('Slot 1 contains:', item.name) end

Returns: Item object or nil if slot is empty

Player.Functions.GetItemsByName(item)

Gets all instances of an item from inventory.

local Player = QBCore.Functions.GetPlayer(source) local items = Player.Functions.GetItemsByName('water_bottle') print('Player has', #items, 'water bottles') for i, item in pairs(items) do print('Slot:', item.slot, 'Amount:', item.amount) end

Returns: Array of item objects

Money Functions

Player.Functions.AddMoney(moneytype, amount, reason)

Adds money to the player.

local Player = QBCore.Functions.GetPlayer(source) local success = Player.Functions.AddMoney('cash', 1000, 'Job payment') if success then TriggerClientEvent('QBCore:Notify', source, 'You received $1000 cash', 'success') end

Money types:

  • 'cash': Physical cash
  • 'bank': Bank account
  • 'crypto': Cryptocurrency

Returns: true if successful

Player.Functions.RemoveMoney(moneytype, amount, reason)

Removes money from the player.

local Player = QBCore.Functions.GetPlayer(source) local success = Player.Functions.RemoveMoney('bank', 500, 'Store purchase') if success then TriggerClientEvent('QBCore:Notify', source, 'Paid $500 from bank', 'success') else TriggerClientEvent('QBCore:Notify', source, 'Insufficient funds', 'error') end

Returns: true if successful, false if insufficient funds

Player.Functions.SetMoney(moneytype, amount, reason)

Sets the player’s money to a specific amount.

local Player = QBCore.Functions.GetPlayer(source) Player.Functions.SetMoney('cash', 5000, 'Admin adjustment')

Player.Functions.GetMoney(moneytype)

Gets the player’s current money amount.

local Player = QBCore.Functions.GetPlayer(source) local cash = Player.Functions.GetMoney('cash') local bank = Player.Functions.GetMoney('bank') print('Player has $' .. cash .. ' cash and $' .. bank .. ' in bank')

Returns: Current amount for the specified money type

Job Functions

Player.Functions.SetJob(job, grade)

Sets the player’s job.

local Player = QBCore.Functions.GetPlayer(source) Player.Functions.SetJob('police', 0) TriggerClientEvent('QBCore:Notify', source, 'You are now a police officer', 'success')

Parameters:

  • job: Job name from qb-core/shared/jobs.lua
  • grade: Job grade level (0 = lowest)

Player.Functions.SetGang(gang, grade)

Sets the player’s gang.

local Player = QBCore.Functions.GetPlayer(source) Player.Functions.SetGang('lostmc', 1)

Player.Functions.SetJobDuty(onDuty)

Sets the player’s duty status.

local Player = QBCore.Functions.GetPlayer(source) Player.Functions.SetJobDuty(true) -- Check if on duty local isOnDuty = Player.PlayerData.job.onduty

Metadata Functions

Player.Functions.SetMetaData(meta, val)

Sets player metadata.

local Player = QBCore.Functions.GetPlayer(source) Player.Functions.SetMetaData('hunger', 75) Player.Functions.SetMetaData('thirst', 50) -- For stress (QBCore specific) Player.Functions.SetMetaData('stress', 25)

Player.Functions.GetMetaData(meta)

Gets player metadata.

local Player = QBCore.Functions.GetPlayer(source) local hunger = Player.Functions.GetMetaData('hunger') local stress = Player.Functions.GetMetaData('stress') print('Player hunger:', hunger, 'stress:', stress)

Player.Functions.AddMetaData(meta, val)

Adds to existing metadata value.

local Player = QBCore.Functions.GetPlayer(source) Player.Functions.AddMetaData('stress', 10) -- Add 10 stress

Character Functions

Player.Functions.UpdatePlayerData()

Saves player data to database and syncs with client.

local Player = QBCore.Functions.GetPlayer(source) -- After making changes to PlayerData Player.PlayerData.charinfo.phone = newPhoneNumber Player.Functions.UpdatePlayerData()

Player.Functions.SetPlayerData(key, val)

Sets specific player data.

local Player = QBCore.Functions.GetPlayer(source) Player.Functions.SetPlayerData('charinfo', { firstname = 'John', lastname = 'Doe', birthdate = '1990-01-01', gender = 0, backstory = 'A mysterious person', nationality = 'USA', phone = '555-0123', account = 'US00QBCore000000000' })

Server Utility Functions

QBCore.Functions.GetCoords(entity)

Gets entity coordinates in vector3 format.

local coords = QBCore.Functions.GetCoords(GetPlayerPed(source)) print('Player coordinates:', coords.x, coords.y, coords.z)

Returns: vector3 coordinates

QBCore.Functions.GetIdentifier(source, idtype)

Gets player identifier by type.

local license = QBCore.Functions.GetIdentifier(source, 'license') local discord = QBCore.Functions.GetIdentifier(source, 'discord') local steam = QBCore.Functions.GetIdentifier(source, 'steam') print('Player license:', license)

ID Types:

  • 'license': FiveM license
  • 'discord': Discord ID
  • 'steam': Steam ID
  • 'ip': IP address

QBCore.Functions.GetSource(identifier)

Gets player source by identifier.

local source = QBCore.Functions.GetSource('license:1234567890abcdef') if source then print('Player is online with source:', source) end

Returns: Player source or nil

QBCore.Functions.GetPlayers()

Gets all connected player sources.

local players = QBCore.Functions.GetPlayers() for i, source in pairs(players) do print('Connected player:', source) end

Returns: Array of player sources

QBCore.Functions.CreateCallback(name, cb)

Creates a server callback that can be triggered from client.

QBCore.Functions.CreateCallback('server:getPlayerMoney', function(source, cb, moneyType) local Player = QBCore.Functions.GetPlayer(source) if Player then cb(Player.Functions.GetMoney(moneyType)) else cb(0) end end)

Usage from client:

QBCore.Functions.TriggerCallback('server:getPlayerMoney', function(money) print('Player has $' .. money .. ' cash') end, 'cash')

Client Utility Functions

QBCore.Functions.GetPlayerData()

Gets the local player’s data (client-side only).

local PlayerData = QBCore.Functions.GetPlayerData() print('Local player:', PlayerData.charinfo.firstname) -- Access specific data local job = PlayerData.job local money = PlayerData.money local metadata = PlayerData.metadata

QBCore.Functions.GetCoords(entity)

Gets coordinates of an entity (client-side).

local playerPed = PlayerPedId() local coords = QBCore.Functions.GetCoords(playerPed) print('I am at:', coords.x, coords.y, coords.z)

QBCore.Functions.SpawnVehicle(model, coords, warpPed)

Spawns a vehicle (client-side).

QBCore.Functions.SpawnVehicle('adder', function(veh) SetVehicleNumberPlateText(veh, 'QBCORE') TaskWarpPedIntoVehicle(PlayerPedId(), veh, -1) -- Vehicle spawned successfully print('Vehicle spawned:', veh) end, coords, true)

QBCore.Functions.DeleteVehicle(vehicle)

Deletes a vehicle (client-side).

local vehicle = GetVehiclePedIsIn(PlayerPedId(), false) if vehicle ~= 0 then QBCore.Functions.DeleteVehicle(vehicle) end

QBCore.Functions.GetPlate(vehicle)

Gets formatted license plate from vehicle.

local vehicle = GetVehiclePedIsIn(PlayerPedId(), false) if vehicle ~= 0 then local plate = QBCore.Functions.GetPlate(vehicle) print('Vehicle plate:', plate) end

QBCore.Functions.GetVehicleLabel(model)

Gets display name for vehicle model.

local vehicle = GetVehiclePedIsIn(PlayerPedId(), false) if vehicle ~= 0 then local model = GetEntityModel(vehicle) local label = QBCore.Functions.GetVehicleLabel(model) print('You are in a:', label) end

QBCore.Functions.TriggerCallback(name, cb, …)

Triggers a server callback from client.

QBCore.Functions.TriggerCallback('server:getPlayerMoney', function(money) print('Server returned money amount:', money) -- Use the callback result if money >= 1000 then -- Player has enough money TriggerServerEvent('shop:server:purchaseItem', 'expensive_item') end end, 'bank')

Math and Utility Functions

QBCore.Shared.Round(value, numDecimalPlaces)

Rounds a number to specified decimal places.

local rounded = QBCore.Shared.Round(123.456789, 2) print(rounded) -- Output: 123.46

QBCore.Shared.Trim(value)

Removes whitespace from string.

local trimmed = QBCore.Shared.Trim(' Hello World ') print('"' .. trimmed .. '"') -- Output: "Hello World"

QBCore.Functions.GetStreetLabel()

Gets current street name (client-side).

local street = QBCore.Functions.GetStreetLabel() print('Current street:', street)

QBCore.Functions.GetZoneLabel()

Gets current zone name (client-side).

local zone = QBCore.Functions.GetZoneLabel() print('Current zone:', zone)

QBCore.Functions.GetCardinalDirection()

Gets cardinal direction player is facing.

local direction = QBCore.Functions.GetCardinalDirection() print('Facing:', direction) -- Output: North, South, East, West

Command Functions

🔗 For more details on registering and managing commands, read the Commands API reference.

QBCore.Commands.Add(name, help, arguments, argsrequired, callback, permission)

Creates a chat command.

QBCore.Commands.Add('giveitem', 'Give an item to a player', { {name = 'id', help = 'Player ID'}, {name = 'item', help = 'Item name'}, {name = 'amount', help = 'Amount to give'} }, true, function(source, args) local Player = QBCore.Functions.GetPlayer(source) local target = QBCore.Functions.GetPlayer(tonumber(args[1])) if target then target.Functions.AddItem(args[2], tonumber(args[3])) TriggerClientEvent('QBCore:Notify', source, 'Item given successfully', 'success') end end, 'admin')

QBCore.Commands.Refresh(source)

Refreshes commands for a player.

QBCore.Commands.Refresh(source)

Debug and Development Functions

QBCore.Debug(resource)

Prints debug information for development.

QBCore.Debug('My debug message from ' .. GetCurrentResourceName())

Master QBCore development! These functions provide the foundation for creating powerful and integrated scripts within the QBCore framework ecosystem.

For event handling, see our QBCore Events reference guide.