F.A.Q
Setup
Run /campsadmin and press New Camp. Set the center with your position, the in-world placement or a click on the Map tab, then add NPC groups and loot and save. The camp goes live for every player with no restart.
Players who pass Config.Permissions.Creator: admins detected by ml_bridge, or players with one of the listed ACE permissions. Force clear, force reset and teleport use the LiveActions tier.
Only for the first boot. With an empty ml_camps table and SeedExampleCamps = true, the camps in shared/config/camps.lua are copied into the database. After that, edit camps from the panel.
Raids
A camp has no NPCs until the first player walks into its radius. The defenders spawn with their loadouts and behaviors, and everyone within SyncRadius sees the same fight.
After CombatGrace seconds with no contact, and once the camp has been up for its resetDelay, the survivors are restocked to full strength. If no player stays within SyncRadius for UnloadDelay seconds, the camp despawns and goes back to idle.
A cleared camp waits respawnDelay seconds, then goes back to idle and can be raided again. The cooldown is saved in ml_camp_state and survives restarts.
A camp with respawn turned off. After a clear it stays depleted until staff press Force Reset in the Live tab. Use it for one-time story spots or bosses you restock by hand.
Yes. NPCs need line of sight within their field of view and range. Crouching shortens the distance they see you at, sprinting makes noise, and an NPC must keep you in view for detectTicks cycles before it engages. When one NPC engages, the others within alertRadius join in.
Yes. Zombie Mode on an NPC group removes guns and gives the group a shambling walk, melee lunges and damage per hit. Horde Mode on a camp spawns up to 10 waves, each one larger if you set a growth value, and the crates unlock after the last wave.
Yes. An NPC run over by a vehicle counts for its driver.
Loot and Keys
Crates spawn with the camp but stay locked while any enemy is alive. After the clear, only the raiders who took part can open them, up to maxRaiders, in the order they entered.
The loot is rolled once for the camp and spread across its crates, items and money alike. The first credited raider who searches a crate gets what is inside, and the crate disappears for everyone. More crates split the same loot into more shares.
'direct' gives every credited raider a loot roll of their own when the camp clears. 'prop' rolls the loot once and puts the items and the money in the crates, so raiders have to search them. A camp with no crates pays directly.
Turn on Require key in the editor. One random defender carries the key, and killing it gives the key to the nearest raider. If the camp is cleared first, the first credited raider gets it. One key opens all the crates of that camp for its holder. With ConsumeOnOpen it is used up on the first crate.
'virtual' is tracked by the server and needs no item. 'item' gives a real inventory item, camp_key by default, that carries metadata.camp and only opens the camp it came from. Item mode needs the item registered from _INSTALL/items.lua.
What does not fit drops on the ground at the player, with a notification. The same goes for the key in item mode.
Yes, with ML Inventory running. The loot editor offers a Clothing reward: a fixed piece, or a random piece from a series of drawables, with a photo of each model.
Battlepass
Yes, with ml_battlepass running. Every player who took part in the clear advances their objectives, also on a solo raid. Set Config.Battlepass.Enabled = false in shared/config/config.lua to turn it off.
Raid HUD
Inside a camp it shows the camp name and type, enemies alive over total with a kill bar, the camp status and, on horde camps, the current wave. After a clear it shows the respawn countdown, a cleared badge or nothing, depending on the reset setting.
With /raidhud: drag to move, scroll to resize, Enter to save, Esc to cancel. The position is saved on each player's client.
Set the reset info to 'status' or 'hidden' in the panel settings, or per camp in the editor. Players then cannot wait at the camp for the timer to run out.
Updates
- Update ML Bridge first
- Download the latest version from CFX Portal
- Back up
shared/config/,server/config_server.luaandopen/ - Replace all files except those, then copy any new config lines from the changelog
- Restart the server
Camps, camp states and panel settings are in the database and stay after an update.