Skip to content

Configuration ​

All settings are in config.lua. Restart the resource after any change.

General ​

OptionDefaultDescription
Config.Item'flaptop'Item that opens the family laptop.
Config.SafeProp'prop_ld_int_safe_01'Model of the family safe.

Systems ​

Everything is detected automatically. Change a value only to force a specific resource.

lua
Config.Systems = {
    Framework = 'auto',
    Inventory = 'auto',
    Target = 'auto',
    Menu = 'auto',
    Input = 'auto',
    Notify = 'auto',
    Progress = 'auto',
}

Keep Config.Inventory.ResourceName = 'qb-inventory' as it is. It's only a fallback.

Mafia ​

The Mafia manages all families from the laptop.

lua
Config.Mafia = {
    name = 'maf',            -- job or gang name that counts as Mafia
    useJob = true,           -- players with this job are Mafia
    useGang = true,          -- players in this gang are Mafia
    addCommand = 'addfamily',
    mafiaCommand = false,    -- set a name (e.g. 'mafia') to open the dashboard by command
}

Creating a family ​

  1. As Mafia, stand where the family's safe should be.
  2. Run /addfamily.
  3. Place the safe with the gizmo, then fill in the family's details and leader.

Roles & permissions ​

Each family has four roles. Higher level = higher rank.

RoleLevel
Leader3
CoLeader2
Manager1
Member0

Default permissions per role:

PermissionLeaderCoLeaderManagerMember
invite_members✓✓✓
view_family_settings✓✓✓✓
edit_family_settings✓
remove_roster_members✓✓
manage_matchmaking_queue✓✓✓
edit_roster_roles✓✓
family_safe_stash_access✓✓✓✓
family_upgrades_buy✓✓✓

Change them in Config.FamilyRoleDefaultPermissions.

New families ​

lua
Config.FamilyRosterMembersBase = 25   -- starting member slots
Config.FamilyRosterMembersMax = 30    -- hard cap

Config.NewFamily = {
    level = 1,
    xp = 0,
    safeHealth = 50,
    safeHealthMax = 50,
    coins = 50,
}

Config.FamilyInvite = {
    expireSeconds = 120,
}

Levels ​

Config.FamilyLevelProgression lists the XP needed for each of the 50 levels. Families gain XP from Safes War results.

Upgrades ​

Families buy upgrades with coins once they reach the required level.

UpgradeLevelCoinsEffect
Family roster expansion I550+5 member slots
Safe Reinforcement I880+40 max safe health
Safe Security Matrix I12100Harder hack (adds a third round)
lua
Config.Upgrades = {
    {
        id = 1,
        key = 'roster_expansion_1',
        name = 'Family roster expansion I',
        desc = '...',
        level = 5,
        Coins = 50,
        rosterIncrease = 5,
    },
    -- safeHealthIncrease = 40   / safeHackLevel = 1
}

Family coins (tokens) ​

Using a token item gives the family coins. Players must be in a family.

ItemCoins
token_store (F)1–3
token_house (E)5–7
token_truck (D)7–10
token_laundry (C)10–13
token_cashexchange (B)15–20
token_fleeca (A)20–25
token_global (S+)25–30

Give these tokens as rewards in your robbery scripts so families earn coins from crime.

Safe stash & repair ​

lua
Config.MafiaSafeStash = {
    enabled = true,
    slots = 30,
    maxWeight = 500000,
    requiredPermission = 'family_safe_stash_access',
}

Config.repair_safe = {
    enabled = true,
    coinsPrice = 25,
    bankPrice = 2500,
    itemName = 'repairkit',
    scrapItem = 'safescrap',
    repairIntervalMs = 30 * 60 * 1000,  -- repair tick every 30 minutes
    healthPerScrap = 0.5,
}

Families put safescrap into the safe's repair storage, and the safe slowly regains health from it.

MVP leaderboard ​

lua
Config.MVP = {
    enabled = true,
    updateSeconds = 60,
    maxKillDistance = 1000.0,
}

Laptop map ​

Config.Map controls the map in the laptop. Leave it as it is unless you replace the map image.

Discord logs ​

Webhooks are in the server-only file server/log_config.lua. Never put them in config.lua, because players download that file.

lua
Config.DiscordLogs = {
    enabled = true,
    username = 'MG-Family Logs',
    webhooks = {
        default = 'https://discord.com/api/webhooks/...',
        family = '',
        mafia = '',
        matchmaking = '',
        economy = '',
        missions = '',
        messages = '',
        inventory = '',
        robbery = '',
        elimination = '',
        match_disconnect = '',
        security = '',
    },
}

Empty categories use default. After a restart, test a webhook from the server console:

mgfamilylogtest default
mgfamilylogtest robbery

All MG Development resources are protected. Redistribution is not permitted.