Configuration

Configure Possible Gang Levels for your server.

Important

The resource folder on your server must be named exactly possible-gang-levels.

Core Settings

Lua
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.

JDB-NET Logo
Partner Service

Self-hosted unlimited logs with managed Grafana

JDB-NET provides a self-hosted solution with unlimited logs, a fully managed Grafana instance, and unlimited users. Perfect for FiveM servers that need comprehensive logging and monitoring.

Check out JDB-NET