Installation
Overview
ML Missions is a quest system built from an in-game creator. NPCs hand out missions made of objectives, squads play them together, and rewards, reputation and cooldowns are saved in the database. NPC lines can be voiced with ElevenLabs or your own audio files.
Quick Start
- Download from CFX Portal
- Extract to your
resourcesfolder asml_missions - Add to
server.cfg:
1ensure oxmysql
2ensure ox_lib
3ensure ml_bridge
4ensure ml_missionsml_missions must start AFTER ml_bridge. Optional resources such as xsound, ML Inventory, ml_skills and ml_battlepass start before it.
Database
Tables are created on first start:
ml_missions: mission definitionsml_mission_npc: mission NPCsml_missions_xp: player reputation with each NPCml_mission_completed: one-time missions each player has finishedml_mission_battlepass_runs,ml_mission_battlepass_outbox,ml_mission_battlepass_guard: battlepass progress queue, used only withml_battlepass
Voice Lines
- Open
server/config_server.lua - Set your ElevenLabs key in
Config.TTS.ElevenLabs.ApiKey
Audio is saved in cache/tts/ inside the resource. Each server builds its own cache over time. To use your own recordings, put .mp3, .wav or .ogg files in cache/tts/ and pick Custom File as the audio source in the creator.
Set Config.TTS.Enabled = false in shared/config/config.lua to run without voice lines. No API key needed.
Verify
The console prints the version banner, with a line that starts with:
1[ml_missions] Resource startedOpen the creator with /missioncreator.
- Resource does not start: check that
oxmysql,ox_libandml_bridgestart first. /missioncreatordoes nothing: the player lacks the Creator permission. Grantml_missions.creatorwith ACE, or use an admin group detected byml_bridge.- NPC not spawning: check the ped model and the NPC position in the creator, and look for database errors in the console.
- No voice: check
Config.TTS.Enabled, the API key inserver/config_server.lua, and thatxsoundis running. - Clothing reward missing in the loot editor: ML Inventory must be running.