Configuration
Overview
shared/config.lua: language, theme, interaction, stash, dispatch and claim safetyshared/lists.lua: search animations offered in the editorshared/lists_models.lua: model catalog of the editor (animals, peds, props)shared/weapons.lua: weapons offered in the kill and butcher rulesshared/config_minigames.lua: minigame definitionsserver/config_server.lua: skills, battlepass and Discord webhooks
Props, categories, loot tables, tools, cooldowns, weapon rules and no-loot zones live in the database and are edited from the admin panel.
General
1Config.Language = 'en'
2Config.Theme = 'default'
3Config.Debug = false
4Config.Interaction = nil
5Config.Command = 'mllootprops'
6Config.Admin.MinimizeKey = 'F9'Language: language file loaded from thelocales/folderTheme: admin panel theme.'default','wasteland','cyberpunk','noir'or'fantasy'Debug: prints extra console outputInteraction:niluses the target resource when one is running and a press-E prompt otherwise.'target'or'textui'forces one of the twoCommand: opens the admin panel. Admin permission requiredMinimizeKey: hides and restores the admin panel. F1 to F12, or a single letter or digit
UI Theme
1Config.UITheme = {
2 preset = nil,
3 colors = {
4 primary = nil,
5 accent = nil,
6 background = nil,
7 surface = nil,
8 text = nil,
9 },
10}preset: theme preset for this resource.nilfollows the shared theme set inml_bridgecolors: CSS hex values for single colors. Anynilvalue follows the shared theme
Lootbox Stash
A prop set as a lootbox opens a stash instead of giving the items straight away.
1Config.Stash = {
2 Prefix = 'ml_proploot',
3 DefaultLabel = 'Loot',
4 Slots = 20,
5 MaxWeight = 50000,
6}
7
8Config.AbandonedStashSeconds = 600Prefix: prefix of the stash IDsDefaultLabel: stash title when the prop has no label of its ownSlots: stash slotsMaxWeight: maximum weight in gramsAbandonedStashSeconds: an opened stash left idle this long is cleared and its prop counts as looted.0turns the check off
Claim Safety
1Config.MaxMoneyPerClaim = 50000
2Config.StrictKillWeapon = true
3Config.MinSharedCooldown = 30MaxMoneyPerClaim: highest cash or bank amount one loot can pay, whatever the prop saysStrictKillWeapon: the server reads the cause of death of the ped itself when a prop has kill weapon rules. Leave it onMinSharedCooldown: seconds a prop stays locked for everyone after a claim when it has no global cooldown, no delete on loot and no one-time setting. Two players on the same prop cannot both roll the loot.0turns it off
Dispatch
Props and categories can override every default below from the admin panel.
1Config.Dispatch = {
2 Enabled = true,
3 DefaultCooldown = 180,
4 DefaultChance = 50,
5 Jobs = { 'police', 'sheriff' },
6 BlipSprite = 161,
7 BlipColor = 1,
8 BlipFlash = true,
9 DefaultMessage = 'Suspicious Activity',
10}Enabled: turns police alerts on or off for every propDefaultCooldown: seconds between two alerts from the same spotDefaultChance: chance from 0 to 100 that a loot sends an alertJobs: jobs that receive the alertBlipSprite,BlipColor,BlipFlash: map blip of the alertDefaultMessage: alert text
Startup Delay
Set in the Settings tab of the admin panel. After a server start, claims stay closed for a random time between a minimum and a maximum, so loot opens once players have joined. Set both values to 0 to turn it off.
Lists
1Config.AnimationsList = {
2 { label = 'Search (Bin)', anim = 'base', dict = 'amb@prop_human_bum_bin@base' },
3 { label = 'Skin (Animal)', anim = 'player_search', dict = 'anim@gangops@facility@servers@bodysearch@', baseAnim = 'base', baseDict = 'amb@medic@standing@kneel@base' },
4}AnimationsList: search animations offered per prop.animanddictare the clip and dictionary.baseAnimandbaseDictplay a pose under it, such as kneeling over a carcass
1Config.LootModels.animals = {
2 { model = 'a_c_boar', label = 'Boar' },
3}LootModels: models listed in the editor catalog, grouped by type. Any other model can still be added with the in-game detector
1ML_Weapons = {
2 { name = 'WEAPON_KNIFE', label = 'Knife', category = 'melee' },
3}ML_Weapons: weapons offered in the kill weapon and butcher rules. Add your custom weapons here
Minigames
Minigames are picked per prop or per category. The four ox_lib skill checks are always listed. Lockpick and thermite appear with bd-minigames, the scrambler with ps-ui.
1Config.AvailableMiniGames["my_custom_game"] = {
2 label = "My Custom Game",
3 Start = function(params)
4 return exports['my-minigames']:StartGame('hard')
5 end
6}Start returns true on success and false on failure.
Skills
1Config.Skills = {
2 Enabled = true,
3 Resource = 'ml_skills',
4 MaxXpPerLoot = 500,
5}Enabled:falseturns off XP rewards and skill requirementsResource: name of the skills resourceMaxXpPerLoot: highest XP the server grants for one loot, whatever the prop says
Battlepass
1Config.Battlepass = { Enabled = true }Enabled: withml_battlepassrunning, looting advances battlepass objectives.falseturns it off. Withoutml_battlepassthis setting does nothing
Discord Webhooks
1Config.DiscordWebhook = {
2 PropConfigSave = 'INSERT_WEBHOOK_LINK_HERE',
3 PropConfigDelete = 'INSERT_WEBHOOK_LINK_HERE',
4 SettingsChange = 'INSERT_WEBHOOK_LINK_HERE',
5 LootCollect = 'INSERT_WEBHOOK_LINK_HERE',
6 ToolUse = 'INSERT_WEBHOOK_LINK_HERE',
7 ExploitDetected = 'INSERT_WEBHOOK_LINK_HERE',
8}PropConfigSave,PropConfigDelete: a prop is created, edited or deletedSettingsChange: global settings changeLootCollect: a player loots a propToolUse: a tool loses durabilityExploitDetected: a claim fails a server check. Repeat offenders are kicked
Set any webhook to false to disable that log entirely.