Jump to content

Recommended Posts


MISSION MAKER FRAMEWORK for ARMA III, ver.  0002(a) (2019)

 This MODULE is compatible with BASE GAME (current version)





Q: What is this?

A: This is a Single-player design framework. I made these tools for myself but you may use them too.


Q: How do I use it?

A: There are three ways to use the framework depending on your level of skill,

LEVEL 1: Mission Maker

LEVEL 2: Script Designer

LEVEL 3: Pro


Q: What's a "Mission Maker"?

A: A Mission Maker is anybody who wants to make a custom mission in ArmA 3 but doesn't want to learn an entirely new set of skills or spend a significant amount of time doing so. If you say, "I'm going to play around in the editor for a bit.", you're probably a Mission Maker.


Q: But I can just make missions in the editor. What do I need this for?

A: Using this framework is easier (and faster) than configuring a mission in the editor. Consider this. You want to make a friendly base in your mission. You want the base to offer the player healing and ammo supply plus suffer the occasional attack. How would you do that in the editor? Go ahead and type it all out, step-by-step. I'll wait. But, by the time your finished that little tutorial, I'm already finished my next mission because what I described above (and more) is all just the default operation of the little blue arrow called "baseMARK1".


Designing in the editor makes you a frog in a pot of water. As you add just one more group or just one more trigger you don't necessarily notice the slow, eventual drag on the performance of the game. ArmA 3 is a processor intensive game. The thing that makes your game slow down is usually invisible. It's not having twelve units on the screen. It's having twelve triggers firing every half second in the background. The framework keeps the trigger count and running scripts down to the bare minimum and imposes an arbitrary 20-ish unit per side limit (at one time) to maintain a less is more design philosophy.


Frankly, even pro's can benefit from the MMF framework because it allows you to plot out an entire mission in minutes. With the framework in place you can test a basic design for flow, timing and scene-framing-- 3 factors which are super-important in ArmA 3’s wide-open world-- without committing to hours of conceptualization. After that you might decide to leave the framework in place and build on top of it to create the mission.


Q: What's a script designer?

A: I'm so super-glad you asked. Hi. I'm me. I call script functions to design a mission. In a perfect, gold-plated universe the functions I call would be handed down from up high but in this, inexplicably imperfect and so-called real-world I have to write my own. You can call the functions I wrote too because we're the same, you and I.


Q: Weird. Okay. What's a Pro?

A: If you have to ask I've got bad news for you...


Q: Sounds like I'm a Mission Maker. What's next?

A: Just download the module and read the instructions for creating a mission. The basic idea is to put the helper objects in an appropriate place and then just play. The default function will be for your mission to automatically generate one of the five different types each time you play. Otherwise, If you only want one of the five types, open the file MMF_fnc_design.sqf, scroll to the bottom labelled "setup" and change Master_type=# to the number which corresponds to the mission type you want to design.


Q: What if I want to configure more than that?

A: Congratulations you just graduated to script designer. We'll see you on the forum.


Q: I'm a designer. W'sup?

A: 'sup. Load a VR map and call some functions to see what happens. Open MMF_fnc_design.sqf to see what you're working with. This topic is open for discussion if you want to learn more or offer suggestions and feedback.


Q: Pro: "This is unacceptable. Go back and do it again."

A: Yes, sir.

Q: Where is Sasha Ashe?
A: Stranger is the default Sasha. When the SWO_Framework is complete a fully functional Sasha will be released based on FEMALE for ArmA 3. For now, any unit named SWO_SA will use the functions automatically or you can use Stranger’s module for a pre-configured companion.

Q: How do I control Sasha/Stranger?
A: You might have to remind them to catch up every once and a while but don’t worry about them-- they’re super-soldiers and can take care of themselves. Otherwise, if you have a WP, they will lead you there upon request and wait if you lag behind. There’s a teleport button on the GUI to summon the companion to you. (Immersion note: Teleporting is not very immersive! -- except technically the ArmA universe now includes aliens so nothing is off the table-- regardless you need this function in case the companion really does get stuck up in geometry). And unless you use the module the weapon change function will likely not work. The companion will automatically board player vehicles, and if they don’t just say “Follow” and they will. Say “follow” again after you exit to make them exit.

Q: Anything else I should know?
A: You can use: Just the MMF functions alone, just the SWO functions alone, the MMF functions with SWO functions, or the MMF functions with SWO functions and the GUI.


Q: ...
A: This project is WIP


Check out the readMe

NEW changelog

Check out the preview before the official release, includes a new demo mission on Altis,


MMF_functions V2 preview

Mission Types


version 2:


All mission types except type 5 pretty much require a vehicle.

Type 1
Rescue the survivor: A Blackfoot pilot survived being shot down and now a force is deploying for a rescue operation


Type 2

Rescue the captive: Enemy units captured one of our soldiers. Get him back to the base alive.

Type 3
Capture base 2 with 100 points.

Type 4

Capture base 2 to 50 points and then hunt down the enemy leader.

Type 5
Hold the friendly base against 3 waves of attacks.

Videos (NEW)


V2 Altis Demo


Version 0002 VR DEMO


Version 0001 DEMO


Version 0001 DEMO





Also included is the SWO_function library for creating a custom companion. That project is also WIP. See readMe for more details.

Have fun!


Arma Public License No Derivatives (APL-ND)



Please link back to this forum when you post maps based on MMF so other users can find these tools, too. Use my signature as a banner if you like.

You may extract functions and use them independently.


  • Like 2
  • Thanks 5

Share this post

Link to post
Share on other sites
1 hour ago, GEORGE FLOROS GR said:

Thank you very much for sharing this Wogz !

Keep it up !  :wave:


  • Like 3

Share this post

Link to post
Share on other sites

This project will be configured for 3 levels of design skill. Each level will build user confidence and encourage an eventual graduation to the next level of skill.

level 1: Mission Maker  (10 minutes)
Place the helpers and use pre-configured mission types to run the functions. This is pretty self explanatory and is exactly like the FTA Airport Module Tutorial.

Level 2: Script Designer (20 minutes to several hours depending on complexity)
Place the helpers and configure your own mission type to run functions. Like this,



The script from the VR DEMO,


    if (scene_State==1) exitWith {

        baseMARK1 call MMF_fnc_soldierWEST;
        baseMARK3 call MMF_fnc_soldierEAST;
        baseAREA1 call MMF_fnc_bluTANK;
        baseMARK3 call MMF_fnc_redTANK;
        addMARK call MMF_fnc_wreck;
        baseAREA3 call MMF_fnc_ambush;
        player call MMF_fnc_wpTracker;
        systemChat "Scene Loaded";
    waitUntil {sleep 3; !isNULL objectParent survivorX}; currentMARK=basemark1; player call MMF_fnc_wpTracker;
    waitUntil {sleep 3; !alive survivorX}; "Success!" call BIS_fnc_endMission;


Here's an example of the set up


//==================================SET UP====================================
playIntro=0; //(0,1) to play intro sequence
[]spawn MMF_fnc_intro;

master_Type =3; //set up type or use "0" for random type
if (master_Type ==0) then {randomScene= selectRandom [1,2,3,4,5]; scene_type=randomScene;} else {scene_type=master_Type};

	player setvariable ["scoreBlue",0];
	player setvariable ["scoreRed",0];

debugCHAT=1;		//display type/state on switch
dispSCORE=1;		//display score (otherwise invisible repeating area trigger & timer)
spawnONcap=1;		//autospawn new groups on each capture (default 4 units regardless of spawnNUM see below) see capTRIGS
wildCARD=1;		//toggle wildcard trig (0/1) auto-spawn trigger-- sometimes you just need more bad guys!
type_VEH=0;		//select vehicle type (0-3) see functions _staticveh & _ambush
gunTruck=1;		//select if ambush veh is manned guntruck (0/1);
type_wreck=4;		//select wreck type (0-4 & 4= rescueOP) see function _wreck
anim_type=3;		//select animation type 0 is off/none (0-9) see function _anims (see anims key below)
applyIR=1;		//add IR strobe to friendly units
spawnNUM=2;		//how many AI to spawn (0-5) can be set each time called- see functions _soldierSIDE & _bluPlus
spawnState=0;		//spawn "AWARE" (0) or "SAFE" (1)
taskTracker=1;		//show task marker
towerCall=1;		//determine if player sees tower updates with wp change
radioON=1;		//determine if radio sound plays (disable below by removing _beginBKGsound)

[]spawn MMF_fnc_beginBKGsound;
[]spawn MMF_fnc_weatherDYN;
[]spawn MMF_fnc_sceneType;


Level 3: Pro (take your time)
Use whatever objects you want to determine placement, reconfigure functions and write your own mission type.

Q: Doesn't this mean you have to rewrite everything you've done so far? Like all of FTA, the airport module, TEST LAB...?
A: Please stop.

Have fun!

  • Like 2
  • Thanks 1

Share this post

Link to post
Share on other sites

I posted a link to the V2 preview in the main topic if anybody wants to try it out before the official release.

MMF_functions V2 preview

have fun!

  • Like 1
  • Thanks 1

Share this post

Link to post
Share on other sites

It's come to my attention that I can seriously improve the framework with an edit to the system of global variables. I thought using variables like that would be easier for end-users but it could be one step easier still and closer to MP compatible all at the same time. All I have to do is completely rewrite the entire function library again.

So, no worries. You have what I have for now in the preview and we'll do the official release with an even better framework next week.

Thanks for your patience. Please stand-by...

In the meantime you can still play the demo and most importantly,

Have fun!

  • Like 2
  • Thanks 1

Share this post

Link to post
Share on other sites

It sounds like you're making a mission maker framework for MP?  Bless your heart.  I will see what comes.  

  • Like 1

Share this post

Link to post
Share on other sites
15 hours ago, jandrews said:

It sounds like you're making a mission maker framework for MP?  Bless your heart.  I will see what comes.  

It does kinda sound like that but MP is outside the current scope of this project. If I employ best practice when it comes to variables now, whenever MP is considered, it will at least be plausible.

Have fun!

  • Like 2

Share this post

Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now