Skip to content

Configuration

Config.DebugMode = true

Enable/disable debug mode for development. When enabled, prints additional debug information to the console. Default is true for development purposes.

Config.Framework = 'esx'

The framework being used. Options: 'esx' or 'qb'.

Config.Inventory = 'ox_inventory'

The inventory system being used. Options: 'default', 'ox_inventory', 'qb-inventory', 'qs-inventory', 'ps-inventory'.

Config.InventoryImages = 'nui://ox_inventory/web/images/'

Path to inventory images for UI display. Set to false to disable images.

Common paths:

  • ox_inventory: 'nui://ox_inventory/web/images/'
  • qb-inventory: 'nui://qb-inventory/html/images/'
  • qs-inventory: 'nui://qs-inventory/html/images/'
  • ps-inventory: 'nui://ps-inventory/html/images/'
Config.DatabaseSync = 10

How often to sync gang data with the database (in minutes).

Config.AdminMenu = {
Command = { Enable = true, String = 'admingangmenu' },
Keybind = { Enable = true, DefaultMapping = 'F10' },
Permissions = { 'admin', 'god' },
License = {
['license:YOUR_LICENSE_HERE'] = true,
}
}
  • Command.Enable - Enable/disable the admin command
  • Command.String - Command trigger word
  • Keybind.Enable - Enable/disable the keybind
  • Keybind.DefaultMapping - Default key for the menu
  • Permissions - List of admin permission levels
  • License - Whitelist of admin licenses (alternative to permissions)
Config.PlayerMenu = {
Command = { Enable = true, String = 'gangmenu' },
Keybind = { Enable = true, DefaultMapping = 'F6' }
}
  • Command.Enable - Enable/disable the player command
  • Command.String - Command trigger word
  • Keybind.Enable - Enable/disable the keybind
  • Keybind.DefaultMapping - Default key for the menu
Config.InviteToGang = {
ShowFullName = true,
Distance = 10.0
}
  • ShowFullName - Whether to show player’s full name or just server ID in invite menu
  • Distance - Maximum distance to detect players for invitation (in GTA units)
Config.PoliceJobs = {
['police'] = true,
['sheriff'] = true
}

Table of job names that count as police for the purpose of police alerts and required police counts.

Config.DefaultMemberRanks = {
[1] = 'Kingpin',
[2] = 'Right Hand',
[3] = 'Shot Caller',
[4] = 'Lieutenant',
[5] = 'Enforcer',
[6] = 'Capo',
[7] = 'Soldier',
[8] = 'Hustler',
[9] = 'Thug',
[10] = 'Recruit'
}

Default rank hierarchy from highest (1) to lowest (10). Gang leaders can customize these ranks through the admin menu.

Configuration for gang garages, stashes, and lockers.

Config.GangMarkers = {
garage = {
enable = true,
blip = {
enable = true,
name = 'Gang Garage',
sprite = 357,
display = 4,
scale = 0.65,
color = 0
},
cooldown = { enable = true, time = 60 },
pincode = { enable = true, attempts = 3, cooldown = 60 },
cost = { xp = 100, cash = 5000 },
showMarker = true,
keybind = 38,
renderDist = 10.0,
interactDist = 1.0,
menuTitle = 'Garage',
icon = 'car',
},
stash = {
enable = true,
blip = {
enable = true,
name = 'Gang Stash',
sprite = 587,
display = 4,
scale = 0.65,
color = 0
},
cooldown = { enable = true, time = 60 },
pincode = { enable = true, attempts = 3, cooldown = 60 },
cost = { xp = 100, cash = 5000 },
showMarker = true,
keybind = 38,
renderDist = 10.0,
interactDist = 1.0,
menuTitle = 'Stash',
icon = 'box',
stash = { slots = 50, weight = 100000 }
},
locker = {
enable = true,
blip = {
enable = true,
name = 'Gang Locker',
sprite = 272,
display = 4,
scale = 0.65,
color = 0
},
cooldown = { enable = true, time = 60 },
pincode = { enable = true, attempts = 3, cooldown = 60 },
cost = { xp = 100, cash = 5000 },
showMarker = true,
keybind = 38,
renderDist = 10.0,
interactDist = 1.0,
menuTitle = 'Locker',
icon = 'sack-dollar'
}
}
  • enable - Enable/disable the marker type
  • blip - Map blip settings
  • cooldown - Marker placement/removal cooldown (seconds)
  • pincode - PIN code protection settings
  • cost - XP and cash cost to place the marker
  • showMarker - Show 3D marker at location
  • keybind - GTA input key to interact (38 = E key)
  • renderDist - Distance to render the marker
  • interactDist - Distance to interact with the marker
  • menuTitle - UI menu title
  • icon - Font Awesome icon name
  • stash.slots - Number of inventory slots for gang stash
  • stash.weight - Maximum weight capacity for gang stash
Config.Items = {
ziptiesitem = 'zipties',
blindfolditem = 'blindfold',
cutteritem = 'cutter'
}

Item names used in the gang system. Ensure these items exist in your inventory items database.

Config.GangContractNPC = {
Model = 'g_m_m_casrn_01',
Pos = vector4(-1059.678, -993.755, 6.41, 209.08),
Scenario = 'WORLD_HUMAN_AA_SMOKE',
Distance = 1.5,
Blip = {
enable = true,
name = 'Contract NPC',
sprite = 671,
display = 4,
scale = 0.65,
color = 5
}
}

Settings for the NPC that handles gang contracts.

  • Model - Ped model hash or name
  • Pos - Position and heading (vector4)
  • Scenario - Idle animation scenario
  • Distance - Interaction distance
  • Blip - Map blip settings
Config.PinVerificationMaxAttempts = 3

Maximum number of incorrect PIN attempts before triggering cooldown.

Config.Leaderboard = {
Enable = true,
Command = { Enable = true, String = 'gangleaderboard' },
Keybind = { Enable = false, DefaultMapping = '' },
MaxDisplay = 20,
ShowEmptyGangs = false
}
  • Enable - Enable/disable leaderboard feature
  • Command - Command settings for accessing leaderboard
  • Keybind - Keybind settings for accessing leaderboard
  • MaxDisplay - Maximum number of gangs to display
  • ShowEmptyGangs - Whether to show gangs with 0 XP
Config.AirdropXP = {
Enable = true,
Reward = 150
}

XP reward for opening an airdrop crate.

Config.TerritoryXP = {
Enable = true,
Passive = {
Enable = true,
IntervalMinutes = 30,
PerTerritory = 10
},
CaptureReward = 50
}
  • Enable - Enable/disable territory XP rewards
  • Passive.Enable - Enable passive XP from controlled territories
  • Passive.IntervalMinutes - How often to give passive XP
  • Passive.PerTerritory - XP per controlled territory per interval
  • CaptureReward - XP reward when reaching 100 points in a territory
Config.PvPXP = {
Enable = true,
KillReward = 25,
NotifyKiller = true
}
  • Enable - Enable/disable PvP kill XP
  • KillReward - XP per kill of rival gang member
  • NotifyKiller - Show notification to killer
Config.DailyXPBonus = {
Enable = true,
Hours = 24,
MinMembers = 3,
Amount = 100
}
  • Enable - Enable/disable daily XP bonus
  • Hours - How often to give bonus
  • MinMembers - Minimum members required to qualify
  • Amount - XP bonus amount
Config.MemberStats = {
Enable = true,
ScoreWeights = {
kills = 25,
drugs_sold = 10,
rackets_completed = 50,
airdrops_looted = 15
}
}
  • Enable - Enable/disable member stats tracking
  • ScoreWeights - Point values for calculating total score
Config.AirDrop = {
Enable = true,
RequiredCops = 0,
GlobalCooldown = 60,
ZoneCooldown = 60,
AirDropXp = 1000,
TimeUntilDrop = 2,
PlaneSpawnDistance = 400.0,
InteractPed = 'g_m_y_mexgoon_01',
FlareName = 'weapon_flare',
FlareModel = 'w_am_flare',
PlaneModel = 'cuban800',
PlanePilotModel = 's_m_m_pilot_01',
ParachuteModel = 'p_cargo_chute_s',
CrateModel = 'ex_prop_adv_case_sm',
MaxAirDropItems = 5,
Items = {
{ name = "cokebrick", amount = math.random(1, 5) },
-- ... more items
}
}
  • Enable - Master toggle for airdrop feature
  • RequiredCops - Minimum police required to call in airdrop
  • GlobalCooldown - Global cooldown in minutes
  • ZoneCooldown - Zone cooldown in minutes
  • AirDropXp - XP required to call in airdrop
  • TimeUntilDrop - Time until drop (minutes)
  • PlaneSpawnDistance - Distance for plane spawn
  • InteractPed, FlareName, FlareModel, PlaneModel, PlanePilotModel, ParachuteModel, CrateModel - Model configurations
  • MaxAirDropItems - Maximum items spawned from Items table
  • Items - Table of possible items and amounts
Config.RacketTakeover = {
enabled = true,
xpMultiplier = 1.5,
cashMultiplier = 2.0,
requireMoreXp = true,
requireMoreCash = false
}
  • enabled - Enable/disable takeover system
  • xpMultiplier - Multiplier for XP cost when taking over
  • cashMultiplier - Multiplier for cash cost
  • requireMoreXp - Require new gang to have more XP than current owner
  • requireMoreCash - Require new gang to have more cash than current owner
Config.GangRacketConfig.protection = {
label = 'Protection Racket',
icon = 'shield',
claimed = false,
gang = nil,
cost = 100,
data = {
keybind = 38,
timer = 30,
cash = { min = 2000, max = 10000 },
xp = 1,
marker = { ... },
shops = {
[1] = {
coords = vector3(-41.83, -1749.36, 29.41),
cache = {}
},
-- ... more shops
}
}
}
Config.GangRacketConfig.prostitution = {
label = 'Prostitution Racket',
icon = 'person-dress',
claimed = false,
gang = nil,
cost = 100,
data = {
peds = { 's_f_y_hooker_01', ... },
xp = 1,
damagePercentage = 20.0,
jobs = {
[1] = {
pickup = vector4(476.667, -1854.377, 27.352, 313.774),
dropoff = vector3(11.018, -1851.543, 24.016),
cash = { min = 100, max = 500 },
},
-- ... more jobs
}
}
}
Config.GangRacketConfig.deliveryjob = {
label = 'Delivery Racket',
icon = 'truck',
claimed = false,
gang = nil,
cost = 100,
data = {
vehicles = { 'cavalcade', 'granger', ... },
peds = { 'g_m_y_famca_01', ... },
xp = 2,
jobs = { ... }
}
}
Config.DrugSale = {
Enable = true,
AllowGangsOnly = true,
RequiredPolice = 0,
BlackMoney = {
enable = true,
account = 'black_money'
},
Blacklisted = { ... },
Distance = 2.0,
Cooldown = 3,
Animations = {
['sale'] = { dict = 'mp_common', name = 'givetake2_a' },
['report'] = { dict = 'cellphone@', name = 'cellphone_call_listen_base' }
},
Scenarios = {
greeting = {
speech = { name = 'GENERIC_HI', param = 'SPEECH_PARAMS_FORCE' },
duration = 1000,
},
sale = {
speech = { name = 'GENERIC_THANKS', param = 'SPEECH_PARAMS_FORCE' },
},
refuse = {
speech = { name = 'GENERIC_NO', param = 'SPEECH_PARAMS_FORCE' },
duration = 2000,
},
report = {
speech = { name = 'CALL_COPS_THREAT', param = 'SPEECH_PARAMS_FORCE_SHOUTED_CLEAR' },
},
aggressive = {
speech = { name = 'GENERIC_INSULT_HIGH', param = 'SPEECH_PARAMS_FORCE_SHOUTED_CLEAR' },
duration = 1500,
flee = true,
fleeDistance = 100.0,
},
},
Props = {
drug = { model = 'prop_meth_bag_01', bone = 57005, pos = { x = 0.13, y = 0.02, z = 0.0 }, rot = { x = -90.0, y = 0.0, z = 0.0 } },
money = { model = 'prop_anim_cash_note_b', bone = 28422, pos = { x = 0.0, y = 0.0, z = 0.0 }, rot = { x = 0.0, y = 0.0, z = 0.0 } },
},
Xp = {
rejected = 1,
maxSellPriceBonus = true,
requiredSales = 5,
accepted = 1
},
Items = {
coke_pooch = {
sell = {
price = { min = 700, max = 1100 },
amount = { min = 1, max = 20 },
chance = 50
},
report = {
chance = 100,
timer = 5
},
aggressive = {
chance = 30
},
policeBonus = {
enable = true,
required = 3,
percentage = 10
},
whitelistedStreets = { ... },
streetBonus = { ... }
},
-- ... more drug types
}
}
  • Enable - Master toggle for drug selling
  • AllowGangsOnly - Restrict to gang members only
  • RequiredPolice - Minimum police required
  • BlackMoney - Black money settings
  • Blacklisted - Blocked ped models
  • Distance - Interaction distance
  • Cooldown - Seconds between sales
  • Animations - Animation dictionaries and names
  • Scenarios - NPC speech scenarios for each stage of a drug sale
    • greeting - NPC greeting when approached (speech.name = ambient speech name, speech.param = speech parameter, duration = ms to wait)
    • sale - NPC response after a successful sale
    • refuse - NPC response when declining drugs
    • report - NPC response when calling the police
    • aggressive - NPC response when becoming hostile (flee = whether NPC runs away, fleeDistance = how far)
  • Props - World props attached to ped hands during sale animations
    • drug - Prop shown in player hand when offering drugs (model, bone = ped bone index, pos/rot = attachment offset)
    • money - Prop shown in NPC hand when paying (model, bone = ped bone index, pos/rot = attachment offset)
  • Xp - XP reward settings
  • Items - Individual drug configurations (item keys like coke_pooch, meth_pooch, weed_pooch)
    • Each item supports an optional aggressive table with chance (0-100) for NPC hostile behavior on failed sales
Config.Actions = {
Menu = {
ziptie = {
icon = 'handcuffs',
prop = 'p_cs_cuffs_02_s',
anim = { ... }
},
hostage = {
icon = 'gun',
weapons = { ... },
anim = { ... },
pos = { x = -0.24, y = 0.11, z = 0.0 },
rot = { x = 0.5, y = 0.5, z = 0.0 }
},
remove_zipties = { icon = 'key' },
escort = { icon = 'people-pulling' },
vehicle_in = { icon = 'car' },
vehicle_out = { icon = 'car' },
trunk_in = { icon = 'suitcase' },
trunk_out = { icon = 'suitcase' },
blindfold = {
icon = 'eye-slash',
prop = 'prop_money_bag_01'
}
}
}

Configuration for gang member actions like ziptie, hostage, escort, etc.


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.