Config
The default configuration provided with Possible Gang MDT.
The resource folder on your server must be named exactly possible-gang-mdt.
The default configuration provided with Possible Gang MDT.
return { Debug = false, Framework = "qbx", -- qbx, qb-core, esx loggingModule = { enabled = true, service = '', -- 'oxlib' or 'your_webhook_discord' }, -- Gang cooldown for players leaving/ joining a gang GangCooldown = { Enabled = true, -- Whether the cooldown system is enabled Duration = 24, -- Cooldown duration in hours Message = "You must wait %d hours before joining another gang" -- Message shown to players }, CacheInterval = 0, -- How often you want the data to be cached for, there's lots of db calls so ideally this isn't low (in seconds) Emotes = "scully", MDTKey = 'F6', -- The keybind for opening the MDT -- Gang strike configuration MaxStrikes = 3, -- Maximum number of strikes before severe penalties -- Territory coordinates for navigation GangLevelCap = { Enabled = true, -- When enabled, a gang's level will determine how many territories they can own BaseAmount = 2, -- Minimum number of territories any gang can own regardless of level LevelsPerTerritory = 100, -- How many levels needed per territory (level 100 = 1 territory, level 200 = 2 territories) GangCap = 12 -- Maximum number of territories a gang can own regardless of level }, TerritoriesV2 = true, -- If you own Possible Territories V2, set this to true (for custom map display) DefaultMapStyle = 'atlas', -- 'atlas' or 'satellite' -- Default colors for unowned territories DefaultTerritoryColors = { fill = "#000000", -- Default fill color for unowned territories (black) border = "#bbbbbb" -- Default border color for unowned territories }, Territories = { { name = "Observatory", coords = vector3(-422.3, 1141.61, 325.85) }, }, GangLevelsV2 = true, -- Set to true if using Possible Gang Levels V2 --------------------------------------------------------------- -- Gang Level Ranges Configuration ---------------------------------------------------------------- -- Define XP requirements for each level -- Each level requires the CUMULATIVE XP amount specified -- For example: Level 1 = 0 XP, Level 2 = 100 XP, Level 3 = 250 XP, etc. LevelRanges = { [1] = 0, [2] = 200, [3] = 800, [4] = 1800, [5] = 3200, [6] = 5000, [7] = 7200, [8] = 9800, [9] = 12800, [10] = 16200, -- Add more levels as needed }, -- These should match your Possible Gang Levels unlocks in the format below ShopUnlocks = { { itemLabel = 'Lockpick', itemSpawnName = 'lockpick', unlockLevel = "1" }, { itemLabel = 'Radio', itemSpawnName = 'radio', unlockLevel = "2" }, { itemLabel = 'Bandage', itemSpawnName = 'bandage', unlockLevel = "5" }, { itemLabel = 'Armor', itemSpawnName = 'armour', unlockLevel = "7" }, { itemLabel = 'Walther P99', itemSpawnName = 'weapon_pistol', unlockLevel = "10" }, { itemLabel = 'Bandage', itemSpawnName = 'bandage', unlockLevel = "10" }, { itemLabel = 'Radio', itemSpawnName = 'radio', unlockLevel = "15" }, { itemLabel = 'Lockpick', itemSpawnName = 'lockpick', unlockLevel = "20" }, { itemLabel = 'Armor', itemSpawnName = 'armour', unlockLevel = "25" }, }, -- These should match your Possible Gang Levels stash progression in the format below StashUnlocks = { { itemLabel = '+5000 Storage', unlockLevel = "1" }, { itemLabel = '+5000 Storage', unlockLevel = "5" }, { itemLabel = '+5000 Storage', unlockLevel = "10" }, { itemLabel = '+5000 Storage', unlockLevel = "15" }, { itemLabel = '+5000 Storage', unlockLevel = "20" }, { itemLabel = '+5000 Storage', unlockLevel = "25" }, { itemLabel = '+5000 Storage', unlockLevel = "30" }, { itemLabel = '+5000 Storage', unlockLevel = "35" }, { itemLabel = '+5000 Storage', unlockLevel = "40" }, }, SlotUnlocks = { { itemLabel = '+5000 Storage', unlockLevel = "1" }, { itemLabel = '+5000 Storage', unlockLevel = "5" }, { itemLabel = '+5000 Storage', unlockLevel = "10" }, { itemLabel = '+5000 Storage', unlockLevel = "15" }, { itemLabel = '+5000 Storage', unlockLevel = "20" }, { itemLabel = '+5000 Storage', unlockLevel = "25" }, { itemLabel = '+5000 Storage', unlockLevel = "30" }, { itemLabel = '+5000 Storage', unlockLevel = "35" }, { itemLabel = '+5000 Storage', unlockLevel = "40" }, }, -- These should match your turfs in Possible Turfs TurfShop = { { turfName = 'Kortz Center', -- Must match the name of your turf in Possible Turfs -- Your turf shop items and their requirements items = { {itemLabel = 'Lockpick', itemSpawnName = 'lockpick', turfPointsRequired = "1" }, {itemLabel = 'Lockpick', itemSpawnName = 'lockpick', turfPointsRequired = "5"}, {itemLabel = 'Lockpick', itemSpawnName = 'lockpick', turfPointsRequired = "10"}, {itemLabel = 'Lockpick', itemSpawnName = 'lockpick', turfPointsRequired = "15"}, {itemLabel = 'Lockpick', itemSpawnName = 'lockpick', turfPointsRequired = "20"}, }, -- The location of the turf boss location = vector3(-2240.5, 258.36, 174.6) }, { turfName = 'Power Station', items = { {itemLabel = 'Lockpick', itemSpawnName = 'lockpick', turfPointsRequired = "1" }, {itemLabel = 'Lockpick', itemSpawnName = 'lockpick', turfPointsRequired = "5"}, {itemLabel = 'Lockpick', itemSpawnName = 'lockpick', turfPointsRequired = "10"}, {itemLabel = 'Lockpick', itemSpawnName = 'lockpick', turfPointsRequired = "15"}, {itemLabel = 'Lockpick', itemSpawnName = 'lockpick', turfPointsRequired = "20"}, }, location = vector3(2745.51, 1521.99, 24.5), }, }, GangWar = { MinimumRank = 3, -- Minimum gang rank required to request/accept wars WagerAmounts = {1000, 5000, 10000, 25000, 50000}, -- Available wager amounts KillAmounts = {5, 10, 15, 20, 25}, -- Available kill targets WarTimeout = 30 -- Time in minutes before a war request expires }, TerritoryManagement = { MinimumRank = 2, -- Minimum gang rank required to change peaceful status }, GangCap = 10, -- The cap of your gang (calcs against positions left in a roster) MinimumRankManagement = 3, -- Minimum rank to recruit/kick members -- These must match how you set your grades up in core Gangs = { ['none'] = { label = 'No Gang', grades = { [0] = { name = 'Unaffiliated' } } }, ['ballas'] = { label = 'Ballas', grades = { [0] = { name = 'Recruit' }, [1] = { name = 'Enforcer' }, [2] = { name = 'Shot Caller' }, [3] = { name = 'Boss', isboss = true, bankAuth = true } }, }, ['vagos'] = { label = 'Vagos', grades = { [0] = { name = 'Recruit' }, [1] = { name = 'Enforcer' }, [2] = { name = 'Shot Caller' }, [3] = { name = 'Boss', isboss = true, bankAuth = true } }, }, }, -- Default permissions for each grade level -- These are used when a gang hasn't customized their permissions in the MDT -- Permissions: open_gang_stash, open_turf_shop, open_territory_stash, manage_members, manage_territories, manage_wars -- Note: The highest grade (boss) always has all permissions regardless of this config DefaultGradePermissions = { [0] = { open_gang_stash = false, open_turf_shop = false, open_territory_stash = false, manage_members = false, manage_territories = false, manage_wars = false }, [1] = { open_gang_stash = true, open_turf_shop = true, open_territory_stash = false, manage_members = false, manage_territories = false, manage_wars = false }, [2] = { open_gang_stash = true, open_turf_shop = true, open_territory_stash = true, manage_members = false, manage_territories = true, manage_wars = false }, -- Add more grade levels as needed for your server -- [3] = { ... }, -- [4] = { ... }, }, RecruitPlayerDistance = 5.0, -- Distance to recruit players -- If a gang colour is predefined you should use it, alternatively if you're creating a new gang you should duplicate one of the setups, this is due to color-mix limitations of fivem -- I'd suggest using/ reusing one of the below themes otherwise generate a colour pallete and use rgb for the shades I have done so in the pre configured ones GangColors = { ballas = { primary = { [50] = "249, 249, 255", [100] = "#e1e1ff", [200] = "#c8c8ff", [300] = "#b0b0ff", [400] = "152, 152, 255", [500] = "128, 128, 255", [600] = "#6d6dd9", [700] = "90, 90, 179", [800] = "#46468c", [900] = "#333366", [950] = "32, 32, 64" } }, vagos = { primary = { [50] = "254, 253, 247", [100] = "#f9f7da", [200] = "#f5f0bc", [300] = "#f1ea9f", [400] = "236, 227, 129", [500] = "232, 221, 100", [600] = "#c5bc55", [700] = "162, 155, 70", [800] = "#807a37", [900] = "#5d5828", [950] = "58, 55, 25" } }, families = { primary = { [50] = "243, 252, 247", [100] = "#c6efda", [200] = "#98e2bc", [300] = "#6bd59e", [400] = "61, 201, 129", [500] = "16, 188, 99", [600] = "#0ea054", [700] = "11, 1323, 69", [800] = "#096736", [900] = "#064b28", [950] = "4, 47, 25" } }, triads = { primary = { [50] = "253, 245, 246", [100] = "#f4cdd2", [200] = "#eca5af", [300] = "#e37d8c", [400] = "219, 85, 104", [500] = "210, 45, 69", [600] = "#b3263b", [700] = "147, 31, 48", [800] = "#741926", [900] = "#54121c", [950] = "53, 11, 17" } }, marabunta = { primary = { [50] = "245, 248, 252", [100] = "#d0dbf0", [200] = "#acbfe5", [300] = "#87a2d9", [400] = "98, 134, 206", [500] = "61, 105, 194", [600] = "#3459a5", [700] = "43, 74, 136", [800] = "#223a6b", [900] = "#182a4e", [950] = "15, 26, 49" } } }, -- You need to get your weapon hashes and define your weapons here for the turf leaderboards weaponMappings = { { hash = '-134954891', name = 'SF-19 Pistol', spawnName = 'WEAPON_X19' }, { hash = '1976190304', name = 'SF-17 Pistol', spawnName = 'WEAPON_X17M' }, { hash = '1593441988', name = 'Combat Pistol', spawnName = 'WEAPON_COMBATPISTOL' }, { hash = '-619010992', name = 'Machine Pistol', spawnName = 'WEAPON_MACHINEPISTOL' }, { hash = '324215364', name = 'Mini UZI', spawnName = 'WEAPON_MICROSMG' }, { hash = '-1121678507', name = 'Scorpion', spawnName = 'WEAPON_MINISMG' }, { hash = '453432689', name = 'Wather Pistol', spawnName = 'WEAPON_PISTOL' } }}