Events
👂 Server events you can listen to
Listen to these on the server with AddEventHandler.
AddEventHandler('kartik-gangs:onTurfOwnerChanged', function(turfId, newOwnerId, oldOwnerId)
print(('Turf %s taken by gang %s'):format(turfId, newOwnerId))
end)Gangs
| Event | Arguments |
|---|---|
kartik-gangs:onGangCreated | gangId, name |
kartik-gangs:onGangUpdated | gangId |
kartik-gangs:onGangDeleted | gangId, name |
kartik-gangs:onGangLevelUp | gangId, newLevel |
kartik-gangs:onMemberJoined | cid, gangId, source (if online) |
kartik-gangs:onMemberLeft | cid, gangId, source (if online) |
kartik-gangs:onGangTierChanged | gangId, tierKey, promoted (true up, false down) |
Territory
| Event | Arguments |
|---|---|
kartik-gangs:onTurfInfluence | turfId, gangId, change, reason |
kartik-gangs:onTurfOwnerChanged | turfId, newOwnerId, oldOwnerId |
kartik-gangs:onHotspotCaptured | hotspotId, gangId, players (list of server IDs) |
kartik-gangs:onRacketCollected | source, gangId, racketId, amount |
kartik-gangs:onBusinessSale | gangId, turfId, business, saleAmount, cut (after a BusinessSale pays a gang) |
kartik-gangs:onGraffitiSprayed | source, gangId, tagId, coords |
kartik-gangs:onGraffitiRemoved | source, removerGangId, tagId, ownerGangId, coords |
kartik-gangs:onTurfCrime | source, kind (NpcKill, Robbery, Theft), turfId, gangId, info |
Street & Underworld
| Event | Arguments |
|---|---|
kartik-gangs:onDrugSold | source, { item, amount, price, coords } |
kartik-gangs:onRobberyReported | source, kind, coords, turfId |
kartik-gangs:onVehicleStolen | source, netId |
kartik-gangs:onLaunderingFinished | source, gangId, cleanAmount (fires after each laundering stop) |
Rewards
| Event | Arguments |
|---|---|
kartik-gangs:onSpinWon | source, gangId, reward ({ kind, name, amount, label, rarity }), given (false if it's waiting to be claimed) |
kartik-gangs:onLeaderboardFinished | period ('weekly' / 'monthly'), winners (list of { place, id, name, score, rewards }) |
kartik-gangs:onAirdropLooted | source, gangId (nil when a player without a gang opened it) |
Contracts
| Event | Arguments |
|---|---|
kartik-gangs:externalContractStarted | key, source, runId, gangId (only for external contracts) |
kartik-gangs:externalContractEnded | key, runId, status ('done', 'failed', 'expired'), reason |
Wars
| Event | Arguments |
|---|---|
kartik-gangs:onWarFinished | warId, winnerGangId (nil for a draw) |
📤 Server events you can trigger
These work from server-side scripts only (not from clients). They do the same as the matching exports.
| Event | Arguments | Same as |
|---|---|---|
kartik-gangs:addXp | gangId, amount, reason | AddGangXp |
kartik-gangs:addMoney | gangId, account, amount | AddGangMoney |
kartik-gangs:removeMoney | gangId, account, amount | RemoveGangMoney |
kartik-gangs:addStat | gangId, key, amount | AddGangStat |
kartik-gangs:drugSold | source, item, amount, price | DrugSold |
TriggerEvent('kartik-gangs:addXp', gangId, 500, 'bank_heist')🖥️ Client event
See onGangChanged.