πŸ”₯All scripts on our website are 50% off!πŸ”₯
Logo

Configuration

Framework Settings

-- Use "esx" or "qb"
Config.Framework = "qb"
-- If you are using one of the most recent versions of ESX, set the script name. Default = "es_extended"
Config.ESXExport = ""
-- Default ESX: "esx:getSharedObject" | Default QB: "qb-core"
Config.Core = "qb-core"
-- oxmysql, mysql-async or ghmattisql
Config.Mysql = "oxmysql"

General Settings

-- Waiting time to update the gang map (milliseconds)
Config.updateMapTimer = 10000

-- Points needed by the gang to pass each level
Config.PointsToNextLevel = 1500

-- Only the leader can deposit or withdraw money
Config.OnlyLeaderDW = true

-- Font type for floating alerts. Set to 0 for Chinese language
Config.alertTextFont = 4

-- Amount to be added hourly to the cash balance of the stores to be extorted
Config.CollectMoneyAmountPerHour = 60

-- Multiplier of the amount to be generated each hour by the stores
Config.CollectMoneyMultiplier = 2

-- Enable / Disable the use of garages for gangs
Config.useGarages = true

-- Enable / Disable the use of stash
Config.useStash = true

-- Enable / Disable the use of lockers
Config.useLockers = false

-- Maximum number of members allowed in a gang
Config.maxMembers = 8

-- Active if you want to use cron to trigger the actions
Config.useCron = true

-- If the previous option is activated. Hours at which actions will start for the gangs
Config.cronHours = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24}

Gang Features

Garage Integration

Configure the trigger for your garage script:

function openGarage(gangname, location)
    -- Example with bit-garage
    -- TriggerEvent("bit-garage:open", gangname)
end

Stash Integration

Configure your inventory script trigger to create a stash:

function openStash(gangname, location)
    -- Example
    -- TriggerServerEvent("inventory:server:OpenInventory", "stash", gangname)
    -- TriggerEvent("inventory:client:SetCurrentStash", gangname)
end

Locker Integration

Configure your inventory script trigger to create a locker (optional):

function openLocker(gangname, location)
    -- Your locker integration here
end

Gang Actions

Enable/disable specific gang activities:

Actions.Graffiti = true
Actions.CollectMoney = true
Actions.DrugDealing = true
Actions.ContractKilling = true
Actions.ContractKillingCommand = "gangkill"
Actions.Smuggling = true
Actions.SmugglingCommand = "gangsmuggling"
Actions.IllegalPeople = true
Actions.IllegalPeopleCommand = "gangpeople"

Points Configuration

Edit the amount of points to be awarded for each action:

Points.graffiti = 20
Points.graffitiText = "Graffiti creation"

Points.collectMoney = 30
Points.collectMoneyText = "Collect money from store"

Points.drugDealing = 50
Points.drugDealingText = "Drug dealing"

Points.contractKilling = 75
Points.contractKillingText = "Contract of murder fulfilled"

Points.smuggling = 50
Points.smugglingText = "Smuggling of goods"

Points.illegalPeople = 75
Points.illegalPeopleText = "Transportation of illegal people"

Action Options

Drug Dealing

-- Money given to the user when selling drugs (random between min and max)
AO.drugDealingAmount = math.random(50, 200)
-- Percentage of possibility to notify the police
AO.drugDealingPolice = 100
-- Allowed drugs to sell (enter the name of the item)
AO.allowedDrugs = {'weed_white-widow', 'cocaine', 'lsd'}

Contract Killing

-- Money given at the end of the murder contract
AO.contractKillingAmount = math.random(50, 200)
-- Activate if you want the police to be notified when the target is killed
AO.contractKillingPolice = true

Smuggling

-- Money given at the end of the smuggling
AO.smugglingAmount = math.random(50, 200)
-- Prop of the contraband item
AO.smugglingProp = "ex_office_swag_drugbag2"
-- Activate if you want the police to be notified when the shipment is picked up
AO.smugglingPolice = true

Illegal People Transportation

-- Money given at the end of the transport of illegal persons
AO.illegalPeopleAmount = math.random(50, 200)
-- Final point of delivery of illegal persons
AO.illegalPeopleFinalLocation = vector3(555.93, -1797.35, 29.2)
-- Activate if you want the police to be alerted when the player reaches the illegal persons
AO.illegalPeoplePolice = true

Police Dispatch

Configure your dispatch system for police alerts:

function alertDispatch(location, action, message)
    -- Example with cd_dispatch:
    --[[local data = exports['cd_dispatch']:GetPlayerInfo()
    TriggerServerEvent('cd_dispatch:AddNotification', {
        job_table = {'police', }, 
        coords = data.coords,
        title = action,
        message = message, 
        flash = 0,
        unique_id = data.unique_id,
        sound = 1,
        blip = {
            sprite = 431, 
            scale = 1.2, 
            colour = 3,
            flashes = false, 
            text = action,
            time = 5,
            radius = 0,
        }
    })]]
end

Markers

Marker = {
    mtype = 23,
    -- RGB COLOR:
    r = 11,
    g = 236,
    b = 188
}

Spray Configuration

Config.sprayPersist = 2          -- Hours the spray will remain
Config.progressBarDuration = 20000   -- Duration to create graffiti (ms)
Config.sprayRemoveDuration = 20000   -- Duration to remove graffiti (ms)
Config.blacklist = {'nigger', 'nazi', 'moron', 'retard', 'faggot'}  -- Blacklisted words

Notifications

function notifications(notitype, message, time)
    -- Change this trigger for your notification system
    TriggerEvent('codem-notification', message, time, notitype)
end

-- Notifications types:
Noti.info = 'info'
Noti.check = 'check'
Noti.error = 'error'

-- Notification time:
Noti.time = 5000

Webhooks

-- Discord webhook for logging actions
WH.Action = ""
-- Discord webhook for operations
WH.Operations = ""
-- Discord webhook for drug sales
WH.SellDrug  = ""

Server Functions

Configure server-side functions for your framework:

-- Give money to player
function giveMoney(playerID, amount)
    if Config.Framework == "esx" then
        local xPlayer = ESX.GetPlayerFromId(playerID)
        xPlayer.addAccountMoney('cash', amount)
    else
        local xPlayer = QBCore.Functions.GetPlayer(playerID)
        xPlayer.Functions.AddMoney('cash', amount, "Gangs")
    end
end

-- Get player money
function getMoney(playerID)
    -- Returns player's money
end

-- Remove money from player
function removeMoney(playerID, amount)
    -- Removes money from player
end

-- Get player identifier
function getIdentifier(playerID)
    -- Returns player identifier
end

-- Get player username
function getUsername(playerID)
    -- Returns player name
end

-- Check if player has item
function checkItem(playerID, item)
    -- Returns true/false
end

-- Check item amount
function checkItemAmount(playerID, item)
    -- Returns item count
end

-- Remove item from player
function removeItem(playerID, item, amount)
    -- Removes item from inventory
end

[!WARNING] Don't touch the first line of the configuration file: Config, Lang, Noti, WH, Points, Actions, AO = {}, {}, {}, {}, {}, {}, {}