Configuration
All settings are in config.lua. Restart the resource after any change.
General
| Option | Default | Description |
|---|---|---|
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.
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.
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
- As Mafia, stand where the family's safe should be.
- Run
/addfamily. - 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.
| Role | Level |
|---|---|
| Leader | 3 |
| CoLeader | 2 |
| Manager | 1 |
| Member | 0 |
Default permissions per role:
| Permission | Leader | CoLeader | Manager | Member |
|---|---|---|---|---|
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
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.
| Upgrade | Level | Coins | Effect |
|---|---|---|---|
| Family roster expansion I | 5 | 50 | +5 member slots |
| Safe Reinforcement I | 8 | 80 | +40 max safe health |
| Safe Security Matrix I | 12 | 100 | Harder hack (adds a third round) |
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.
| Item | Coins |
|---|---|
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
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
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.
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