Exports
ARS Gang System Exports Reference
Section titled “ARS Gang System Exports Reference”This page documents the public integration surface of the ARS Gang System. These exports, callbacks, and events can be used by other FiveM resources to interact with the gang system.
Server Exports
Section titled “Server Exports”Server-side exports for querying gang data from other resources.
GetPlayerGangTag
Section titled “GetPlayerGangTag”Gets the gang tag for a specified player.
---@param src number Source player ID---@return string|nil Gang tag or nil if not in a ganglocal gangTag = exports['ars_gangsystem']:GetPlayerGangTag(src)Example:
RegisterCommand('mygang', function(source) local gangTag = exports['ars_gangsystem']:GetPlayerGangTag(source) if gangTag then print("You are in gang: " .. gangTag) else print("You are not in a gang") endend)GetPlayerGangRank
Section titled “GetPlayerGangRank”Gets the rank number and rank name for a specified player.
---@param src number Source player ID---@return number|nil Rank number (1-10), nil if not in a gang---@return string|nil Rank name, nil if not in a ganglocal rankNumber, rankName = exports['ars_gangsystem']:GetPlayerGangRank(src)Example:
RegisterCommand('myrank', function(source) local rankNum, rankName = exports['ars_gangsystem']:GetPlayerGangRank(source) if rankNum then print("Your rank is " .. rankNum .. " - " .. rankName) else print("You are not in a gang") endend)Default Ranks:
| Rank | Title |
|---|---|
| 1 | Kingpin |
| 2 | Right Hand |
| 3 | Shot Caller |
| 4 | Lieutenant |
| 5 | Enforcer |
| 6 | Capo |
| 7 | Soldier |
| 8 | Hustler |
| 9 | Thug |
| 10 | Recruit |
GetGangCash
Section titled “GetGangCash”Gets the cash balance for a specified gang.
---@param gangTag string Gang tag identifier---@return number Cash balance (0 if gang not found)local cash = exports['ars_gangsystem']:GetGangCash('vagos')Example:
RegisterCommand('gangcash', function(source, args) local gangTag = args[1] or exports['ars_gangsystem']:GetPlayerGangTag(source) if gangTag then local cash = exports['ars_gangsystem']:GetGangCash(gangTag) print("Gang " .. gangTag .. " has $" .. cash) endend)GetGangXp
Section titled “GetGangXp”Gets the XP balance for a specified gang.
---@param gangTag string Gang tag identifier---@return number XP balance (0 if gang not found)local xp = exports['ars_gangsystem']:GetGangXp('vagos')Example:
RegisterCommand('gangxp', function(source, args) local gangTag = args[1] or exports['ars_gangsystem']:GetPlayerGangTag(source) if gangTag then local xp = exports['ars_gangsystem']:GetGangXp(gangTag) print("Gang " .. gangTag .. " has " .. xp .. " XP") endend)GetMemberStats
Section titled “GetMemberStats”Gets the statistics for a specific player.
---@param identifier string Player identifier---@return table|nil Member stats or nil if not foundlocal stats = exports['ars_gangsystem']:GetMemberStats('license:abc123')Returns:
{ identifier = string, kills = number, drugs_sold = number, rackets_completed = number, airdrops_looted = number, total_score = number, last_updated = string}GetGangMembersWithStats
Section titled “GetGangMembersWithStats”Gets all members of a gang with their statistics.
---@param gangTag string Gang tag---@return table Array of members with statslocal members = exports['ars_gangsystem']:GetGangMembersWithStats('vagos')IncrementStat
Section titled “IncrementStat”Increments a stat for a player.
---@param identifier string Player identifier---@param statName string Stat to increment ('kills', 'drugs_sold', 'rackets_completed', 'airdrops_looted')---@param amount number Amount to add (default 1)exports['ars_gangsystem']:IncrementStat('license:abc123', 'kills', 1)ResetMemberStats
Section titled “ResetMemberStats”Resets all stats for a player.
---@param identifier string Player identifierexports['ars_gangsystem']:ResetMemberStats('license:abc123')CalculateTotalScore
Section titled “CalculateTotalScore”Calculates the total score for a player based on their stats.
---@param stats table Stats table from GetMemberStats---@return number Total scorelocal score = exports['ars_gangsystem']:CalculateTotalScore(stats)CheckVehicleInGangGarage
Section titled “CheckVehicleInGangGarage”Checks if a vehicle plate belongs to a gang garage.
---@param plate string Vehicle plate---@return string|nil Gang tag if vehicle is in a garage, nil otherwiselocal gangTag = exports['ars_gangsystem']:CheckVehicleInGangGarage('ABC123')GetActiveTurfWar
Section titled “GetActiveTurfWar”Gets the currently active turf war data.
---@return table|nil Active turf war data or nil if no war is activelocal war = exports['ars_gangsystem']:GetActiveTurfWar()GetTurfWarZones
Section titled “GetTurfWarZones”Gets all configured turf war zones.
---@return table Array of turf war zone datalocal zones = exports['ars_gangsystem']:GetTurfWarZones()GetGangBuffMultiplier
Section titled “GetGangBuffMultiplier”Gets the buff multiplier for a gang (from winning turf wars).
---@param gangTag string Gang tag---@param buffType string Buff type ('drugs' or 'xp')---@return number Multiplier value (default 1.0)local multiplier = exports['ars_gangsystem']:GetGangBuffMultiplier('vagos', 'drugs')Client Exports
Section titled “Client Exports”Client-side exports for player interaction actions.
IsTargetZiptied
Section titled “IsTargetZiptied”Checks if a target player is currently ziptied.
---@param target number Target player server ID---@return booleanlocal isZiptied = exports['ars_gangsystem']:IsTargetZiptied(targetId)AddZiptieToTarget
Section titled “AddZiptieToTarget”Zipties a target player.
---@param target number Target player server IDexports['ars_gangsystem']:AddZiptieToTarget(targetId)RemoveZiptie
Section titled “RemoveZiptie”Removes zipties from a target player.
---@param target number Target player server IDexports['ars_gangsystem']:RemoveZiptie(targetId)EscortPlayer
Section titled “EscortPlayer”Starts escorting a ziptied player.
---@param target number Target player server IDexports['ars_gangsystem']:EscortPlayer(targetId)PutInVehicle
Section titled “PutInVehicle”Puts a ziptied player into a vehicle.
---@param target number Target player server IDexports['ars_gangsystem']:PutInVehicle(targetId)RemoveFromVehicle
Section titled “RemoveFromVehicle”Removes a player from a vehicle.
---@param target number Target player server IDexports['ars_gangsystem']:RemoveFromVehicle(targetId)PutInTrunk
Section titled “PutInTrunk”Puts a ziptied player into a vehicle trunk.
---@param target number Target player server IDexports['ars_gangsystem']:PutInTrunk(targetId)RemoveFromTrunk
Section titled “RemoveFromTrunk”Removes a player from a vehicle trunk.
---@param target number Target player server IDexports['ars_gangsystem']:RemoveFromTrunk(targetId)BlindfoldPlayer
Section titled “BlindfoldPlayer”Applies a blindfold to a ziptied player.
---@param target number Target player server IDexports['ars_gangsystem']:BlindfoldPlayer(targetId)TakeHostage
Section titled “TakeHostage”Takes a player as a hostage at gunpoint.
---@param target number Target player server IDexports['ars_gangsystem']:TakeHostage(targetId)ReleaseHostage
Section titled “ReleaseHostage”Releases a hostage.
---@param target number Target player server IDexports['ars_gangsystem']:ReleaseHostage(targetId)ExecuteHostage
Section titled “ExecuteHostage”Executes a hostage.
---@param target number Target player server IDexports['ars_gangsystem']:ExecuteHostage(targetId)Server Callbacks
Section titled “Server Callbacks”Server callbacks using ox_lib for async data retrieval.
ars_gangsystem:callback:getGang
Section titled “ars_gangsystem:callback:getGang”Gets full gang data for a player.
local gang = lib.callback.await('ars_gangsystem:callback:getGang', false, src)Returns:
{ tag = string, -- Gang tag name = string, -- Gang display name xp = number, -- Gang XP cash = number, -- Gang cash balance leader = string, -- Leader identifier ranks = table, -- Rank definitions members = table, -- Member list markers = table, -- Marker locations rackets = table, -- Owned rackets disabled = boolean, -- Disabled status player = { -- Current player info name = string, identifier = string, rank = number, rankName = string }}ars_gangsystem:callback:getPoliceCount
Section titled “ars_gangsystem:callback:getPoliceCount”Gets the current count of police officers online.
local policeCount = lib.callback.await('ars_gangsystem:callback:getPoliceCount', false)ars_gangsystem:callback:getGangLeaderboard
Section titled “ars_gangsystem:callback:getGangLeaderboard”Gets the gang leaderboard data.
local leaderboard = lib.callback.await('ars_gangsystem:callback:getGangLeaderboard', false)Returns:
{ { tag = string, name = string, xp = number, cash = number, memberCount = number, territoryCount = number, racketCount = number, color = string }, -- ... more gangs}ars_gangsystem:callback:getSpecificGangData
Section titled “ars_gangsystem:callback:getSpecificGangData”Gets gang data by gang tag.
local gang = lib.callback.await('ars_gangsystem:callback:getSpecificGangData', false, gangTag)ars_gangsystem:callback:getPlayerGangInfo
Section titled “ars_gangsystem:callback:getPlayerGangInfo”Gets full gang information for a player (same as getGang).
local gang = lib.callback.await('ars_gangsystem:callback:getPlayerGangInfo', false, src)ars_gangsystem:callback:getPlayerGangInfoId
Section titled “ars_gangsystem:callback:getPlayerGangInfoId”Gets only the gang tag for a player.
local gangTag = lib.callback.await('ars_gangsystem:callback:getPlayerGangInfoId', false, src)ars_gangsystem:callback:getPlayerGangInfoRank
Section titled “ars_gangsystem:callback:getPlayerGangInfoRank”Gets the player’s rank in their gang.
local rank = lib.callback.await('ars_gangsystem:callback:getPlayerGangInfoRank', false, src)ars_gangsystem:callback:getNearbyPlayersInfo
Section titled “ars_gangsystem:callback:getNearbyPlayersInfo”Gets list of nearby players for invitation.
local players = lib.callback.await('ars_gangsystem:callback:getNearbyPlayersInfo', false, coords, distance)Returns:
{ { id = number, name = string }, -- ... more players}ars_gangsystem:callback:getMarkerCooldownStatus
Section titled “ars_gangsystem:callback:getMarkerCooldownStatus”Checks if a marker is on cooldown.
local isOnCooldown, remainingTime = lib.callback.await('ars_gangsystem:callback:getMarkerCooldownStatus', false, gangTag, markerType)ars_gangsystem:callback:getPinCodeAttempts
Section titled “ars_gangsystem:callback:getPinCodeAttempts”Gets the number of failed PIN attempts for a marker.
local attempts = lib.callback.await('ars_gangsystem:callback:getPinCodeAttempts', false, gangTag, markerType)Server Events
Section titled “Server Events”Server events that other resources can listen for.
ars_gangsystem:server:playerKilledByGangMember
Section titled “ars_gangsystem:server:playerKilledByGangMember”Triggered when a player is killed by a rival gang member.
- Usage: Listen
RegisterNetEvent('ars_gangsystem:server:playerKilledByGangMember', function(killerId, victimId) local killerGang = exports['ars_gangsystem']:GetPlayerGangTag(killerId) local victimGang = exports['ars_gangsystem']:GetPlayerGangTag(victimId) print("PvP kill: " .. killerGang .. " killed " .. victimGang .. " member")end)ars_gangsystem:server:territoryCaptureReward
Section titled “ars_gangsystem:server:territoryCaptureReward”Triggered when a gang captures a territory.
- Usage: Listen
RegisterNetEvent('ars_gangsystem:server:territoryCaptureReward', function(territoryName, gangTag) print("Gang " .. gangTag .. " captured territory: " .. territoryName)end)Client Events
Section titled “Client Events”Client events that other resources can listen for.
ars_gangsystem:playerLoaded
Section titled “ars_gangsystem:playerLoaded”Triggered when the gang system has finished loading player data.
- Usage: Listen
RegisterNetEvent('ars_gangsystem:playerLoaded', function() print("Gang system loaded")end)Usage Examples
Section titled “Usage Examples”Checking if player is in a gang
Section titled “Checking if player is in a gang”local function IsPlayerInGang(src) return exports['ars_gangsystem']:GetPlayerGangTag(src) ~= nilendChecking if player is gang leader
Section titled “Checking if player is gang leader”local function IsGangLeader(src) local gangTag = exports['ars_gangsystem']:GetPlayerGangTag(src) if not gangTag then return false end
local gang = lib.callback.await('ars_gangsystem:callback:getGang', false, src) return gang and gang.player.rank == 1 -- Rank 1 is Kingpin/LeaderendCreating a gang-restricted resource
Section titled “Creating a gang-restricted resource”RegisterCommand('gangcommand', function(source, args) local gangTag = exports['ars_gangsystem']:GetPlayerGangTag(source)
if not gangTag then TriggerClientEvent('ox_lib:notify', source, { description = 'You must be in a gang to use this command', type = 'error' }) return end
local rankNum, rankName = exports['ars_gangsystem']:GetPlayerGangRank(source) if rankNum > 3 then -- Only ranks 1-3 can use TriggerClientEvent('ox_lib:notify', source, { description = 'Your rank is too low', type = 'error' }) return end
-- Execute gang commandend)Note: This guide is written by a third party. If you find any incorrect or outdated information, please contact us on Discord so we can update it for you.