F.A.Q
Setup
Players who pass Config.Permissions.Creator: admins detected by ml_bridge, or players with one of the listed ACE permissions, such as ml_missions.creator. The default command is /missioncreator.
Check that the NPC was saved, that its ped model exists on your server, and that the console shows no database error.
NPCs
Yes. Add Additional Positions under the main coordinates in the NPC editor. The NPC spawns at every position with the same missions and reputation.
The turn-in always points back to the position where the player took the mission. The other positions do not show the turn-in.
No. One player at a time can open the dialogue, and the others see that the NPC is busy. The lock ends when the first player closes the dialogue or disconnects, or after 5 minutes.
Yes. Turn on Time-Based Presence in the NPC editor to set its hours on game time or real time, and give it a set of spots to rotate between. A player in the middle of a mission still finds the NPC where they took the job.
In the NPC editor, add missions to its pool as fixed, always offered, or random, rotated from the pool. The minimum and maximum pool size set how many random missions it offers at once.
Creator
Turn on Private Mission in the creator. Each player plays in a separate world, without other players or their enemies. Start it from your script after the character has spawned:
1exports.ml_missions:StartQuest(source, 'tutorial')Open the creator, press New Mission, set the title and add objectives. Place locations on the map or in the world. The mission is live as soon as you save.
Yes. Test Mission runs a copy for you only, with no cooldowns and no logs, and cleans up when it ends.
The creator warns you when someone else saved the mission while you were editing it, so you do not overwrite their changes by mistake.
Yes. Required Job takes jobs and gangs, comma separated. One match is enough. Required Jobs Online can also ask for a number of players of a job, such as 2 police, before the mission starts.
Objectives
GOTO_COORDS, KILL_PEDS, DEFEND_AREA, ESCORT, TAKE_VEHICLE, GIVE_VEHICLE, INTERACT_PROGRESS, RETRIEVE_ITEM, CHECK_ITEM, HEIST_LOOT, GATHER_REWARD, INTERACTION_TALK and CAMERA. TURN_IN is added on its own when the mission needs it. See the Developer page.
Yes. Link them with activateOnStart to start one when another starts, activateOnEvent to start one when another completes, and pauseUntilComplete to hold one until another is done.
It plays a cinematic of up to 32 shots, a single shot, or opens a security camera network linked to a terminal. Cinematics have transitions, subtitles and voice, and you set up each shot in game with a free camera. In a squad the cinematic starts for everyone once the members are together, and late members join where it is.
On KILL_PEDS and DEFEND_AREA, enemies fight unarmed with zombie walk styles and attacks, whatever weapon they were given.
Use a HEIST_LOOT objective and pick a preset for each loot point: cash or gold trolleys, a safe, table stacks, a jewel case, a laptop, bolt cutters, a container grinder or a crate crowbar. The prop spawns in the world, the grab plays a synced animation, and each point can need a minigame and pays its own reward.
Yes. Call CompleteObjective, AdvanceObjective or SetObjectiveProgress from the server. See the Developer page.
Squads
The leader invites players within NearbyPlayerDistance. When the leader starts a mission, every member plays it. If every member dies, the mission fails. A squad bonus can raise the rewards by squad size.
Yes. Set the minimum members in the squad options of the mission.
The mission stops for that player, who has to start it again.
Rewards
Fixed items, chance items rolled a set number of times, money to cash or bank, reputation, ml_skills XP and unlocks, and, with ML Inventory, clothing: a fixed piece or a random piece from a series.
Reward items that cannot be given are saved and given to the player later.
Yes. Edit them in Handlers.ModifyRewards in open/handlers_server.lua.
Reputation and Cooldowns
Each NPC keeps a reputation value for every player. Finishing a mission gives its reputation points, and failing can take some away. Missions can require a minimum reputation, which lets you build chains.
Yes. Put them in the same Reputation Group and they read and write the same value. An NPC can also greet the player differently as their reputation grows.
Yes. Set finished missions as prerequisites. Until then the mission shows as locked or stays hidden, your choice.
With a global cooldown, one player finishing the mission makes everyone wait. With a personal cooldown, each player has their own timer.
Turn on One Time Only. Each player can finish the mission once, saved in ml_mission_completed.
Battlepass
Yes, with ml_battlepass running. Finished missions advance battlepass objectives. Set Config.Battlepass.Enabled = false in shared/config/config.lua to turn it off.
Voice Lines
No. The first request creates the audio and saves it in cache/tts/. The same text with the same voice plays from disk after that, with no extra credits.
The first time, the server waits for ElevenLabs to create the audio. Later plays come from the cache.
Yes. Put .mp3, .wav or .ogg files in cache/tts/, up to 2 MB each with plain names, and pick Custom File as the audio source. It works for NPC greetings, briefings and Talk objectives, and never calls the API.
Generation is capped at 50000 characters per player per hour, and a single line at 500 characters.
Live Missions
Open the creator and go to the Live Missions tab. Each run shows its squad, time and objective progress, and the list refreshes on its own.
Yes. From the Live Missions tab, staff with the LiveActions permission can force complete, force fail or teleport to the squad leader.
Community Hub
A shared library of missions on the Micio Mods API. Browse, download, upload, vote on and report missions from the creator. No setup needed.
Only the missions you upload. Your server license is used for rate limits and vote tracking and is never shown.
Updates
- Download the latest version from CFX Portal
- Back up
shared/config/,server/config_server.lua,open/andcache/tts/ - Replace all files except those, then copy any new config lines from the changelog
- Restart the server
Missions, NPCs and reputation are in the database and stay after an update. Keep cache/tts/ to avoid generating the audio again.