Configuration

This page serves as a guide to help you configure this resource and also serves as a preview of the config file.

This resource is highly configurable and detects the most important settings automatically, however it is still recommended that you go through the config file and set these settings yourself. Each option is explained by a comment above or right next to the option.

Preview

Please do note this preview only shows the most important parts of the config and not the whole file.

-- Choose your locale
-- 'EN' = English
Config.Locale = 'EN'

Config.Database = 0 --[ 1 = oxmysql / 2 = mysql-async / 3 = ghmattimysql ] Choose your database
Config.Framework = 0 --[ 1 = ESX / 2 = QBCore / 3 = Other ] Choose your framework

-- Choose your inventory script
-- 1 = QBCore Inventory (qb-inventory)
-- 2 = OverExtended Inventory (ox_inventory)
-- 3 = Quasar Inventory (qs-inventory)
-- 4 = Chezza Inventory (inventory)
-- 5 = Core Inventory (core_inventory)
-- 6 = ModFreakz Inventory (mf-inventory)
-- 7 = ESX Inventoryhud (DOES NOT SUPPORT ROBBING/STORAGE)
-- 8 = ESX Addoninventory (DOES NOT SUPPORT ROBBING/STORAGE)
Config.Inventory = 0

-- Choose your dispatch script
-- 1 = Codesign Dispatch (cd_dispatch)
-- 2 = ProjectSloth Dispatch (ps-dispatch)
-- 3 = Core Dispatch (core_dispatch)
-- 4 = Quasar Dispatch (qs-dispatch)
Config.Dispatch = 0

-- Permissions required to use restricted commands
Config.CommandPermissions = {
    'god',
    'admin',
    'superadmin',
}

-- This option enables the script to replicate current state and override data in other gang scripts
-- This option only supports qb-gangs at the moment make sure you have the same ranks setup in this config
Config.OverrideGangs = false

-- You can find all the available keys here (https://docs.fivem.net/docs/game-references/controls/)
Config.KeyBinds = {
    target = 19, -- [LEFT ALT] Key bind for targeting script
    checkpoint = 38, -- [E] Key bind to interact with gang checkpoint
    zoneHudInfo = 48, --  [Z] Key bind to show zone hud
}

Config.ZoneOptions = {
    showHudInfo = false, -- Shows custom hud information in the lower right corner of the screen
    showZonesEveryone = false, -- Shows gang zones on the map for everyone

    hourlyDecay = 1.0, -- The percentage of how much loyalty a captured zone loses every hour
    presenceTime = 120, -- The time in minutes that a gang member must be present in a zone to gain loyalty

    maximumSprays = 8, -- The maximum number of sprays that affect zone loyalty, each spray resets every hour
    maximumMurders = 6, -- The maximum number of murders that affect zone loyalty, each murder resets every hour
    maximumHotwires = 8, -- The maximum number of hotwires that affect zone loyalty, each hotwire resets every hour
    maximumVendettas = 6, -- The maximum number of vendettas that affect zone loyalty, each vendetta resets every hour

    rivalryCost = 4000, -- The minimum amount of money needed to start a rivalry in a zone
    rivalryDuration = 48, -- The duration of rivalry in hours
}

Config.GangOptions = {
    garage = true, -- Enable garage checkpoint in gang menu
    storage = true, -- Enable storage checkpoint in gang menu

    storageSlots = 50, -- Sets the number of slots in gang storage
    storageWeight = 100000, -- Sets the maximum weight of gang storage

    restrictColors = true, -- Only gang colors can be painted on a vehicle in gang garage
    restrictSpawns = true, -- Only one entity can be spawned for each vehicle in gang garage

    robbing = true, -- Enable robbing feature from actions in gang menu
    kidnapping = true, -- Enable kidnapping feature from actions in gang menu

    zipTie = '', -- Optional ziptie item used when kidnapping is enabled
    paperBag = '', -- Optional paper bag item used when kidnapping is enabled

    maxMembers = 6, -- Maximum number of players in a gang

    robIcon = 'fas fa-sack-dollar', -- The icon for robbing when targeting a player (https://fontawesome.com/)
    restrainIcon = 'fas fa-handcuffs', -- The icon for restraining when targeting a player (https://fontawesome.com/)
    blindfoldIcon = 'fas fa-eye-slash', -- The icon for blindfolding when targeting a player (https://fontawesome.com/)
    transportIcon = 'fas fa-car', -- The icon for transporting when targeting a player (https://fontawesome.com/)
    escortIcon = 'fas fa-hand', -- The icon for escorting when targeting a player (https://fontawesome.com/)
}

Config.DrugOptions = {
    enableSales = true, -- Enables the drug selling feature
    enableGangOnly = false, -- Enables the drug selling feature for gang members only

    saleQuantity = 1, -- How many drugs the player will sell
    saleRandomQuantity = false, -- Enables the randomization of the amount of drugs that the player will sell

    minimumCops = 0, -- The minimum number of police officers on duty required for the drug selling feature

    categoryLowIcon = 'fas fa-cannabis', -- The icon for low category drugs when targeting a ped (https://fontawesome.com/)
    categoryMidIcon = 'fas fa-syringe', -- The icon for medium category drugs when targeting a ped (https://fontawesome.com/)
    categoryHighIcon = 'fas fa-pills', -- The icon for high category drugs when targeting a ped (https://fontawesome.com/)
}

Config.GarageOptions = {
    enableInsert = true, -- The leader can insert vehicles
    enableRemove = true, -- The ledare can remove vehicles
}

Config.TargetOptions = {
    enableDrugs = true, -- Enables the support for targeting scripts for drug selling
    enableActions = true, -- Enables the support for targeting scripts for actions (robbing/kidnapping)
}

Config.OtherOptions = {
    dirtyMoney = false, -- Receive dirty cash instead of clean cash
    anonymousNames = false -- Whether or not to hide a name of a player in the menu and use source instead
}

-- Multipliers that increase the loyalty of a zone
Config.IncreaseMultipliers = {
    VENDETTA   = 15,
    DRUGS      = 20,
    PRESENCE   = 40,
    SPRAY      = 80
}

-- Multipliers that decrease the loyalty of a zone
Config.DecreaseMultipliers = {
    HOTWIRE    = 5,
    MURDER     = 10,
    VENDETTA   = 15,
    SPRAY      = 20,
    ROBBERY    = 60
}

-- Multipliers that decrease the loyalty of a zone for the owner of the zone
Config.DecreaseLoyaltyOfOwner = {
    HOTWIRE    = true,
    MURDER     = true,
    ROBBERY    = true,
}

-- Adding custom access features is not supported at the moment
-- You can edit icon, label and description for each access (https://fontawesome.com/)
Config.RanksAccess = {
    -- Actions
    ['actions.perform'] = {
        icon = 'fa-hand',
        label = 'Rob/Kidnap Others',
        description = 'This rank allows the member to rob and kidnap other people',
    },

    -- Checkpoint
    ['checkpoint.edit'] = {
        icon = 'fa-gear',
        label = 'Edit Checkpoints',
        description = 'This rank allows the member to place and remove checkpoints',
    },

    -- Garage
    ['garage.use'] = {
        icon = 'fa-car',
        label = 'Use Garage',
        description = 'This rank allows the member to use garage vehicles',
    },
    ['garage.edit'] = {
        icon = 'fa-gear',
        label = 'Edit Garage',
        description = 'This rank allows the member to add and remove garage vehicles',
    },

    -- Reserve
    ['reserve.use'] = {
        icon = 'fa-money-bill',
        label = 'Use Reserve',
        description = 'This rank allows the member to view the reserve and give it money',
    },
    ['reserve.edit'] = {
        icon = 'fa-gear',
        label = 'Edit Reserve',
        description = 'This rank allows the member to view the reserve and take money from it',
    },

    -- Storage
    ['storage.use'] = {
        icon = 'fa-box',
        label = 'Use Storage',
        description = 'This rank allows the member to use storage space',
    },

    -- Members
    ['members.rank'] = {
        icon = 'fa-ranking-star',
        label = 'Change Rank',
        description = 'This rank allows the member to change the rank of lower members',
    },
    ['members.kick'] = {
        icon = 'fa-arrow-right-from-bracket',
        label = 'Kick Member',
        description = 'This rank allows the member to kick lower members',
    },
    ['members.invite'] = {
        icon = 'fa-arrow-up-from-bracket',
        label = 'Send Invite',
        description = 'This rank allows the member to invite new members',
    },

    -- Protection
    ['protection.collect'] = {
        icon = 'fa-cash-register',
        label = 'Collect Protection',
        description = 'This rank allows the member to collect protection money from businesses',
    },

    -- Rivalry
    ['rivalry.begin'] = {
        icon = 'fa-shield-halved',
        label = 'Begin Rivalry',
        description = 'This rank allows the member to begin a new rivalry in the zone',
    },
    ['rivalry.claim'] = {
        icon = 'fa-trophy',
        label = 'Claim Rivalry',
        description = 'This rank allows the member to claim a won rivalry in the zone',
    },
}

-- The ranks for each group must be in a hierarchical order to work as expected
-- One of the defined groups must have 'default' set to true to safely migrate from old rank system
-- To create a new group, assign it a unique name, label and add ranks
-- Each rank has label and 'access' table of permissions (Config.RanksAccess), rank with 'leader' set to true has all permissions automatically and can only be set for the last rank
Config.RanksGroups['GANG'] = {
    name = 'GANG',
    label = 'Gang',
    default = true,
    ranks = {
        {
            label = 'Street Rat',
            access = {
                ['reserve.use'] = true,
            },
        },
        {
            label = 'Thug',
            access = {
                ['garage.use'] = true,
                ['storage.use'] = true,
            },
        },
        {
            label = 'Soldier',
            access = {
                ['actions.perform'] = true,
                ['protection.collect'] = true,
            },
        },
        {
            label = 'Made Man',
            access = {
                ['reserve.edit'] = true,
                ['members.invite'] = true,
                ['rivalry.begin'] = true,
            },
        },
        {
            label = 'Lieutenant',
            access = {
                ['members.rank'] = true,
                ['members.kick'] = true,
                ['rivalry.claim'] = true,
            },
        },
        {
            label = 'Boss',
            leader = true,
            access = {},
        },
    },
}

-- Enable this option to create hierarchy of permissions for each rank in a group
-- In simple term this means that every 'access' of the lower rank will be automatically assigned to the higher rank too
Config.RanksInheritance = true

-- All drugs used by the script
-- Each drug must be classified into one of the three categories below
-- Each category corresponds directly to drug preferences in all zones
-- To classify a drug, write its name in the category, followed by its price
Config.Drugs = {
    CATEGORY_LOW = {
        ['weed_ak47'] = 40,
        ['weed_skunk'] = 44,
        ['weed_amnesia'] = 46,
        ['weed_og-kush'] = 52,
        ['weed_purple-haze'] = 56,
        ['weed_white-widow'] = 58,
    },
    CATEGORY_MED = {
        ['meth'] = 52,
        ['crack_baggy'] = 60,
    },
    CATEGORY_HIGH = {
        ['cokebaggy'] = 70,
    }
}

-- Price multipliers
-- Each zone has a set multiplier based on the amount of drugs sold in that zone
Config.DrugSaleMultipliers = {
    { sold = 10, multiply = 1.2 },
    { sold = 30, multiply = 1.0 },
    { sold = 45, multiply = 0.8 },
    { sold = 50, multiply = 0.6 },
    { sold = 60, multiply = 0.4 },
    { sold = 70, multiply = 0.2 }
}

-- Chances of drug sales
-- Each chance is selected based on the amount of drugs that the individual player has sold
-- Each chance has three numbers which make up one hundred
-- The script will randomly generate a number between one and one hundred every time a player tries to sell drugs
-- The first number is the chance of acceptance
-- The second number is the chance of rejection
-- The third number is the chance of rejection and a dispatch to the police
Config.DrugSaleChances = {
    { 100, 0, 0 },
    { 90, 10, 0 },
    { 85, 10, 5 },
    { 85, 15, 0 },
    { 80, 10, 10 },
    { 70, 20, 10 },
    { 70, 10, 20 },
    { 70, 15, 15 },
    { 60, 30, 10 },
    { 60, 20, 20 },
    { 60, 10, 30 },
    { 50, 35, 15 },
    { 50, 40, 10 },
    { 40, 30, 30 },
    { 40, 40, 20 },
    { 40, 20, 40 },
}

Last updated