Configuration
Configure Possible Gang Levels for your server.
The resource folder on your server must be named exactly possible-gang-levels.
Core Settings
return { Debug = false, -- Lots of useful prints if you're running into any issues Framework = "qb", -- qb for QBCore/ QBOX, esx for ESX NotificationPosition = 'top', AddXPNotification = true, RemoveXPNotification = true, -- Ensure all gangs are defined here, its used to make ESX gang checks easier. Gangs = { "ballas", "families", "vagos", "triads", "lostmc", "aztecas", "marrabunta", "armenians" }, -- Colours used throughout the menus for each gang GangColors = { ballas = "purple", families = "green", vagos = "yellow", triads = "red", lostmc = "black", aztecas = "lightblue", marrabunda = "blue", armenians = "gray" }, --------------------------------------------------------------- -- Stashes ---------------------------------------------------------------- DefaultGangLevel = 1, -- Default gang level -- MDT-manageable stash locations (use database mode with Gang MDT admin tools) StashLocations = { Mode = 'config', -- 'config' | 'database' AllowMdtManagement = false, -- must be true for MDT write access via exports SeedFromConfig = true, -- seed once, then set false (see note below) }, Stashes = { ballas = { coords = vec(-1.24, -1811.67, 25.35), radius = 1.0, slots = 100, label = 'Ballas Stash', owner = false, id = 'ballas', group = 'ballas', groups = { ['ballas'] = 0 } }, vagos = { coords = vec3(364.79, -2065.06, 21.74), radius = 1.0, slots = 100, label = 'Vagos Stash', owner = false, id = 'vagos', group = 'vagos', groups = { ['vagos'] = 0 } }, lostmc = { coords = vec3(977.38, -103.95, 74.85), radius = 1.0, slots = 100, label = 'Lost MC Stash', owner = false, id = 'lostmc', group = 'lostmc', groups = { ['lostmc'] = 0 } }, triads = { coords = vec3(-652.80, -1230.42, 11.55), radius = 1.0, slots = 100, label = 'Triads Stash', owner = false, id = 'triads', group = 'triads', groups = { ['triads'] = 0 } }, families = { coords = vec3(-162.71, -1613.07, 33.65), radius = 1.0, slots = 100, label = 'Families Stash', owner = false, id = 'families', group = 'families', groups = { ['families'] = 0 } }, marrabunta = { coords = vec3(1254.36, -1571.33, 58.75), radius = 1.0, slots = 100, label = 'Marrabunta Stash', owner = false, id = 'marrabunta', group = 'marrabunta', groups = { ['marrabunta'] = 0 } }, altruists = { coords = vec3(1421.41, 6329.69, 23.87), radius = 1.0, slots = 100, label = 'Altruists Stash', owner = false, id = 'altruists', group = 'altruists', groups = { ['altruists'] = 0 } }, aztecas = { coords = vec3(495.75, -1527.70, 29.29), radius = 1.0, slots = 100, label = 'Aztecas Stash', owner = false, id = 'aztecas', group = 'aztecas', groups = { ['aztecas'] = 0 } }, armenians = { coords = vec3(841.7, -824.56, 26.33), radius = 1.0, slots = 100, label = 'Armenians Stash', owner = false, id = 'armenians', group = 'armenians', groups = { ['armenians'] = 0 } }, -- Add gangs as needed }, --------------------------------------------------------------- -- Shops ---------------------------------------------------------------- Shops = { ballas = { zoneCoords = vec3(-3.41, -1826.2, 29.15), zoneRadius = 3.0, }, vagos = { zoneCoords = vec3(335.69, -1987.51, 24.21), zoneRadius = 3.0, }, lostmc = { zoneCoords = vec3(1002.46, -128.34, 74.06), zoneRadius = 3.0, }, triads = { zoneCoords = vec3(-646.12, -1238.85, 11.55), zoneRadius = 3.0, }, families = { zoneCoords = vec3(-155.32, -1611.79, 33.65), zoneRadius = 3.0, }, marrabunta = { zoneCoords = vec3(1256.34, -1567.43, 58.35), zoneRadius = 3.0, }, altruists = { zoneCoords = vec3(1422.50, 6336.66, 23.33), zoneRadius = 3.0, }, aztecas = { zoneCoords = vec3(494.87, -1533.02, 29.29), zoneRadius = 3.0, }, armenians = { zoneCoords = vec3(836.0, -811.95, 26.35), zoneRadius = 3.0, }, -- Add gangs as needed }, --------------------------------------------------------------- -- Dogtags ---------------------------------------------------------------- EnableDogtagNotifications = true, WaitTime = 12, -- Time to wait before spawning dog tag prop (seconds) - This should correspond with your respawn time/ bleed or see the light your preference. DogTagProp = `prop_prlg_gravestone_05a`, -- Prop to spawn for dog tag DogTagLootingDuration = 5000, -- Time to loot dog tag (milliseconds) -- Dog Tag Items for each gang that will be given to the killer when they kill a player from another gang and search for dog tag Dogtags = { ballas = 'ballas_dogtag', vagos = 'vagos_dogtag', lostmc = 'lostmc_dogtag', triads = 'triads_dogtag', families = 'families_dogtag', marrabunta = 'marrabunta_dogtag', altruists = 'altruists_dogtag', aztecas = 'aztecas_dogtag', armenians = 'armenians_dogtag', }, DogTagTradeExperience = 5, -- Amount of gang XP to give for each dog tag traded -- Dog Tag Traders - These are the NPCs that will exchange dog tags for gang XP DogTagTraders = { ballas = { coords = vec3(-11.1, -1826.1, 28.75), model = 'g_m_y_ballasout_01', scenario = 'PROP_HUMAN_SEAT_ARMCHAIR', gang = 'ballas' }, vagos = { coords = vec3(324.17, -1995.63, 24.21), model = 'g_f_y_vagos_01', scenario = 'WORLD_HUMAN_LEANING', gang = 'vagos' }, lostmc = { coords = vec3(980.44, -130.09, 74.06), model = 'g_m_y_lost_01', scenario = 'WORLD_HUMAN_AA_SMOKE', gang = 'lostmc' }, triads = { coords = vec4(-655.62, -1231.48, 11.55, 212.3), model = 'g_m_y_armgoon_02', scenario = 'WORLD_HUMAN_DRUG_PROCESSORS_COKE', gang = 'triads' }, families = { coords = vec4(-161.51, -1608.64, 33.65, 152.77), model = 'g_m_y_famca_01', scenario = 'WORLD_HUMAN_DRUG_PROCESSORS_COKE', gang = 'families' }, marrabunta = { coords = vec(1245.49, -1576.6, 58.35, 297.4), model = 'g_m_y_mexgoon_02', scenario = 'WORLD_HUMAN_DRUG_PROCESSORS_WEED', gang = 'marrabunta' }, altruists = { coords = vec(1433.26, 6332.48, 23.87, 91.74), model = 'g_m_y_mexgoon_02', scenario = 'WORLD_HUMAN_DRUG_PROCESSORS_WEED', gang = 'altruists' }, aztecas = { coords = vec3(500.0, -1520.0, 29.0), model = 'g_m_y_mexgoon_02', scenario = 'PROP_HUMAN_SEAT_ARMCHAIR', gang = 'aztecas' }, armenians = { coords = vector4(835.92, -804.77, 26.35, 101.25), model = 'g_m_y_mexgoon_02', scenario = 'WORLD_HUMAN_AA_COFFEE', gang = 'armenians' }, -- Add other gangs... }, -- Define your Gangs here and blip colours for them (https://docs.fivem.net/docs/game-references/hud-colors/) -- MDT-manageable shops / catalog ShopManagement = { Mode = 'config', -- 'config' | 'database' AllowMdtManagement = false, -- must be true for MDT write access via exports SeedFromConfig = true, -- seed once, then set false (see note below) }, ShopItems = { item1 = { itemLabel = 'Phone', itemSpawnName = 'phone', price = 100, requiredGangLevel = 1 }, item2 = { itemLabel = 'Lockpick', itemSpawnName = 'lockpick', price = 125, requiredGangLevel = 1 }, item3 = { itemLabel = 'Bandage', itemSpawnName = 'bandage', price = 20, requiredGangLevel = 1 }, item4 = { itemLabel = 'Radio', itemSpawnName = 'radio', price = 350, requiredGangLevel = 2 }, item5 = { itemLabel = 'Walther P99', itemSpawnName = 'weapon_pistol', price = 5700, requiredGangLevel = 4 } }}MDT database mode / seeding
If you manage shops or stash locations from Gang MDT, set the matching block to Mode = 'database' and AllowMdtManagement = true.
SeedFromConfig copies your config into the database when you first switch. Once that is done, set SeedFromConfig = false for both StashLocations and ShopManagement so a resource restart does not overwrite in-game / MDT changes.
