Events
Events you can listen to from your own resources.
This is not a comprehensive list and omits events intended for internal use only. Every event is prefixed with the resource name, cube_gang by default.
These events are triggered by the resource. Listening to them is fine; triggering them yourself is not - it would desynchronise the gangs from the database. Use the exports to change data.
Server#
All server events are local events: listen with AddEventHandler, they can never be triggered by a client.
cube_gang:ready#
Triggered once every gang and territory is loaded from the database.
AddEventHandler('cube_gang:ready', function() end)cube_gang:gangs:created#
AddEventHandler('cube_gang:gangs:created', function(gangId) end)- gangId:
number
cube_gang:gangs:updated#
Triggered when the label, type, color, logo, member limit or gang points of a gang change.
AddEventHandler('cube_gang:gangs:updated', function(gangId) end)cube_gang:gangs:deleted#
Triggered after a gang is deleted by an admin or disbanded by its owner.
AddEventHandler('cube_gang:gangs:deleted', function(gangId) end)cube_gang:gangs:memberAdded#
AddEventHandler('cube_gang:gangs:memberAdded', function(gangId, identifier) end)- gangId:
number - identifier:
string
cube_gang:gangs:memberRemoved#
Triggered when a member leaves, is kicked, or is removed by an admin.
AddEventHandler('cube_gang:gangs:memberRemoved', function(gangId, identifier) end)cube_gang:points:changed#
AddEventHandler('cube_gang:points:changed', function(gangId, total, amount, reason) end)- gangId:
number - total:
number- new score - amount:
number- difference, negative on a loss - reason:
string-drug_sale,zone_captured,zone_lost,zone_owned,kill,robbery,admin,externalor your own
cube_gang:territories:ownerChanged#
AddEventHandler('cube_gang:territories:ownerChanged', function(zoneId, gangId, previousGangId) end)- zoneId:
number - gangId:
numberornil-nilwhen the zone becomes neutral - previousGangId:
numberornil
Announce every capture in a Discord channel or to the whole server:
AddEventHandler('cube_gang:territories:ownerChanged', function(zoneId, gangId)
if not gangId then return end
local zone = exports.cube_gang:GetZone(zoneId)
local gang = exports.cube_gang:GetGang(gangId)
TriggerClientEvent('chat:addMessage', -1, {
args = { 'Territory', ('%s now controls %s'):format(gang.label, zone.label) },
})
end)cube_gang:influence:added#
Triggered for every influence gain or loss coming from presence, kills, robberies or the exports. Drug sales are not included.
AddEventHandler('cube_gang:influence:added', function(zoneId, gangId, amount, reason, source) end)- zoneId:
number - gangId:
number - amount:
number - reason:
string-presence,kill,death,robbery_<type>,externalor your own - source:
numberornil- the player behind it, if any
cube_gang:influence:kill#
Triggered when a kill is counted by the influence system.
AddEventHandler('cube_gang:influence:kill', function(killer, victim, gangId, victimGangId, zoneId) end)- killer, victim:
number- server ids - gangId:
number - victimGangId:
numberornil - zoneId:
numberornil
cube_gang:influence:robbery#
AddEventHandler('cube_gang:influence:robbery', function(source, robberyType, gangId, zoneId) end)Client#
cube_gang:gangs:changed#
Triggered when the player joins or leaves a gang, gets promoted, or when their gang is edited.
AddEventHandler('cube_gang:gangs:changed', function(gang, previous) end)- gang:
tableornil- same structure as GetGang - previous:
tableornil
cube_gang:territories:changed#
Triggered when the player enters or leaves a territory.
AddEventHandler('cube_gang:territories:changed', function(zone, previous) end)- zone:
tableornil- same structure as GetCurrentZone - previous:
tableornil
Show the zone name in your own HUD.
AddEventHandler('cube_gang:territories:changed', function(zone)
SendNUIMessage({
action = 'zone',
label = zone and zone.label or nil,
owner = zone and zone.ownerLabel or nil,
})
end)Warn players entering the territory of another gang.
AddEventHandler('cube_gang:territories:changed', function(zone)
local gang = exports.cube_gang:GetGang()
if not zone or not zone.owner or (gang and gang.id == zone.owner) then return end
lib.notify({ type = 'warning', description = ('You entered %s territory'):format(zone.ownerLabel) })
end)cube_gang:mapzones:hover#
Triggered when the cursor of the pause map enters or leaves a territory.
AddEventHandler('cube_gang:mapzones:hover', function(zone, previous) end)cube_gang:client:openGarage#
Triggered when a member uses the garage point of their gang. See Garages.
AddEventHandler('cube_gang:client:openGarage', function(gang, coords) end)- gang:
table- same structure as GetGang - coords:
table-{ x, y, z, w },wbeing the heading