Server Exports
This document contains all server-side exports available in Framework Core.
Reputation System
Functions for managing player reputation.
AddReputation
Set the reputation value for a player. Will initialize at a value of 0 if it doesn't exist. If a negative value is passed, it will subtract from the current reputation instead of setting it to a negative value.
Parameters
repType
Yes
String
The reputation type to set (e.g., "crafting", "crime", "civ")
value
Yes
Number
The value to set. If negative, subtracts from current reputation
Returns
Boolean
Returns true if successful, false if player is offline or invalid parameters
Examples
-- Get player
local player = exports.core:GetPlayer(source)
-- Set reputation to 50
player.Functions.AddReputation("crafting", 50)
-- Subtract 50 from current reputation (if current is 100, becomes 50)
player.Functions.AddReputation("crafting", -50)
-- Set to max (respects max value from config)
player.Functions.AddReputation("crafting", 9999)
-- Checking Rep Example
local function getRep(src, type)
local Player = exports.core:GetPlayer(src)
if not Player then return 0 end
local repData = Player.Functions.CheckRep(type)
if repData then
return repData.value or 0
end
return 0
end
local function checkingrep(src)
local crimeRep = getRep(src, 'crime')
if crimeRep == 50 then
print("has rep")
else
print("no")
end
end
Player Management
Functions for getting and managing player objects.
GetPlayer
Get a player object by source or identifier.
Parameter
source
Yes
Source/String
Player source ID or identifier string
Returns
Player
Player object, or nil if not found
local player = exports.core:GetPlayer(source)
local player2 = exports.core:GetPlayer('license:abc123')GetPlayerByCitizenId
Get a player object by citizenid.
Parameter
citizenid
Yes
String
Player's citizenid
Returns
Player
Player object, or nil if not found
local player = exports.core:GetPlayerByCitizenId('ABC12345')GetPlayerByUserId
Get a player object by userId.
Parameter
userId
Yes
String
Player's userId
Returns
Player
Player object, or nil if not found
local player = exports.core:GetPlayerByUserId('12345')GetPlayerByPhone
Get a player object by phone number.
Parameter
number
Yes
String
Phone number
Returns
Player
Player object, or nil if not found
local player = exports.core:GetPlayerByPhone('555-1234')GetSource
Get player source ID by identifier.
Parameter
identifier
Yes
String
Player identifier (steam, license, etc.)
Returns
Number
Player source ID, or 0 if not found
local src = exports.core:GetSource('license:abc123')GetUserId
Get player userId by identifier.
Parameter
identifier
Yes
String
Player identifier
Returns
Number
Player userId, or 0 if not found
local userId = exports.core:GetUserId('license:abc123')GetQBPlayers
Get all online players.
Returns
Table
Table of all online players (source -> Player object)
local players = exports.core:GetQBPlayers()GetPlayersData
Get player data for all online players.
Returns
Table
Array of PlayerData objects
local playersData = exports.core:GetPlayersData()SearchPlayers
Search for players by filters.
Parameter
filters
Yes
Table
Search filters
Returns
Table
Array of Player objects (online and offline)
local players = exports.core:SearchPlayers({
citizenid = 'ABC12345'
})Job & Group Functions
Functions for checking jobs, groups, and duty counts.
GetDutyCountJob
Get count and list of on-duty players for a specific job.
Parameter
job
Yes
String
Job name
Returns
Number
Count of on-duty players
Table
Array of player source IDs
local count, players = exports.core:GetDutyCountJob('police')GetDutyCountType
Get count and list of on-duty players for a specific job type.
Parameter
type
Yes
String
Job type
Returns
Number
Count of on-duty players
Table
Array of player source IDs
local count, players = exports.core:GetDutyCountType('leo')HasPrimaryGroup (Server)
Check if a player has the specified group as their primary job/gang.
Parameters
source
Yes
Source
Player source ID
filter
Yes
String/Table
Group name(s) or table of groups with grades
Returns
Boolean
Returns true if player has the primary group
local hasPrimary = exports.core:HasPrimaryGroup(source, 'police')HasGroup (Server)
Check if a player has any of the specified groups.
Parameters
source
Yes
Source
Player source ID
filter
Yes
String/Table
Group name(s) or table of groups with grades
Returns
Boolean
Returns true if player has any of the groups
local hasGroup = exports.core:HasGroup(source, 'police')GetGroups (Server)
Get all groups (jobs, gangs) a player has.
Parameter
source
Yes
Source
Player source ID
Returns
Table
Table of groups with their grades
local groups = exports.core:GetGroups(source)IsGradeBoss
Check if a specific grade is a boss grade for a group.
Parameters
group
Yes
String
Group name (job or gang)
grade
Yes
Number
Grade level
Returns
Boolean
Returns true if grade is boss, nil if group/grade doesn't exist
local isBoss = exports.core:IsGradeBoss('police', 4)GetGroupMembers
Get all members of a group.
Parameters
group
Yes
String
Group name
type
Yes
String
Group type ('job' or 'gang')
Returns
Table
Array of group member data
local members = exports.core:GetGroupMembers('police', 'job')GetHighestRank
Get the highest rank/grade for a job.
Parameter
jobName
Yes
String
Job name
Returns
Number
Highest grade level, or nil if job doesn't exist
local highestRank = exports.core:GetHighestRank('police')Routing Bucket Functions
Functions for managing routing buckets on the server.
GetBucketObjects
Get routing bucket objects.
Returns
Table
Player buckets table
Table
Entity buckets table
local playerBuckets, entityBuckets = exports.core:GetBucketObjects()SetPlayerBucket
Set a player's routing bucket.
Parameters
source
Yes
Source
Player source ID
bucket
Yes
Number
Bucket ID
Returns
Boolean
Returns true if successful
exports.core:SetPlayerBucket(source, 5)SetEntityBucket
Set an entity's routing bucket.
Parameters
entity
Yes
Number
Entity handle
bucket
Yes
Number
Bucket ID
Returns
Boolean
Returns true if successful
exports.core:SetEntityBucket(vehicle, 5)GetPlayersInBucket (Server)
Get all players in a routing bucket.
Parameter
bucket
Yes
Number
Bucket ID
Returns
Table
Array of player source IDs, or false if no buckets exist
local players = exports.core:GetPlayersInBucket(5)GetEntitiesInBucket
Get all entities in a routing bucket.
Parameter
bucket
Yes
Number
Bucket ID
Returns
Table
Array of entity handles, or false if no buckets exist
local entities = exports.core:GetEntitiesInBucket(5)Item Functions
Functions for registering and managing useable items.
CreateUseableItem
Register a useable item callback.
Parameters
item
Yes
String
Item name
data
Yes
Function
Callback function (source, item)
exports.core:CreateUseableItem('bread', function(source, item)
local Player = exports.core:GetPlayer(source)
-- Use item logic
end)CanUseItem
Check if an item is useable.
Parameter
item
Yes
String
Item name
Returns
Function
Callback function if useable, or nil
local useable = exports.core:CanUseItem('bread')Vehicle Functions
Functions for managing vehicles.
DeleteVehicle
Delete a vehicle safely (disables persistence first).
Parameter
vehicle
Yes
Number
Vehicle entity handle
exports.core:DeleteVehicle(vehicle)Permission Functions
Functions for checking permissions and whitelist status.
IsWhitelisted
Check if a player is whitelisted.
Parameter
source
Yes
Source
Player source ID
Returns
Boolean
Returns true if whitelisted or whitelist disabled
local whitelisted = exports.core:IsWhitelisted(source)AddPermission (Deprecated)
Add a permission to a player (deprecated - use ACEs instead).
Parameters
source
Yes
Source
Player source ID
permission
Yes
String
Permission name
exports.core:AddPermission(source, 'admin')RemovePermission (Deprecated)
Remove a permission from a player (deprecated - use ACEs instead).
Parameters
source
Yes
Source
Player source ID
permission
No
String
Permission name (if nil, removes all permissions)
exports.core:RemovePermission(source, 'admin')HasPermission (Deprecated)
Check if a player has a permission (deprecated - use IsPlayerAceAllowed instead).
Parameters
source
Yes
Source
Player source ID
permission
Yes
String/String[]
Permission name(s)
Returns
Boolean
Returns true if player has permission
local hasPerm = exports.core:HasPermission(source, 'admin')GetPermission (Deprecated)
Get all permissions for a player (deprecated - use ACEs instead).
Parameter
source
Yes
Source
Player source ID
Returns
Table
Table of permissions (permission -> true)
local perms = exports.core:GetPermission(source)Admin Functions
Admin-related functions for managing players and server administration.
IsOptin
Check if a player is opted in to admin reports.
Parameter
source
Yes
Source
Player source ID
Returns
Boolean
Returns true if opted in and is admin
local optedIn = exports.core:IsOptin(source)ToggleOptin
Toggle a player's opt-in status for admin reports.
Parameter
source
Yes
Source
Player source ID
exports.core:ToggleOptin(source)IsPlayerBanned
Check if a player is banned.
Parameter
source
Yes
Source
Player source ID
Returns
Boolean
Returns true if player is banned
String
Ban message (if banned)
local banned, message = exports.core:IsPlayerBanned(source)
if banned then
print(message)
endExploitBan
Ban a player for exploiting.
Parameters
playerId
Yes
Source
Player source ID
origin
Yes
String
Ban reason/origin
exports.core:ExploitBan(source, 'Cheat detected')GetCoreVersion
Get the core framework version.
Parameter
InvokingResource
No
String
Resource name calling this (for logging)
Returns
String
Framework version
local version = exports.core:GetCoreVersion('my_resource')Notification Functions (Server)
Functions for sending notifications to players from server-side.
Notify (Server)
Send a notification to a player from server-side.
Parameters
source
Yes
Source
Player source ID
text
Yes
String/Table
Notification text or table
notifyType
No
String
Notification type ('info', 'success', 'error', 'warning')
duration
No
Number
Duration in milliseconds
subTitle
No
String
Subtitle text
notifyPosition
No
String
Position on screen
notifyStyle
No
Table
Custom styling
notifyIcon
No
String
Font Awesome icon
notifyIconColor
No
String
Icon color
exports.core:Notify(source, 'Hello World!', 'info', 5000)
exports.core:Notify(source, {
text = 'Success!',
caption = 'Operation completed'
}, 'success', 3000)Last updated
