Skip to content

Introduction

Christian Sacher edited this page Nov 11, 2018 · 2 revisions

Introduction

This framework is made as a tool for United Operations with the intent of making anyone capable of making missions and to make mission making as easy as possible.

Important Note

The Arma 3 coding community is riddled with bad code based on guess work and trial and error. So if you need a feature for your mission that is not in the framework, post it on the issue tracker and let me make a framework compatible module, so that others can benefit from the feature.

#Changes compared to the Olsen Framework The UO Framework is based to 85% on the Olsen framework, but both frameworks are completly independent from each other and do not interact in anyway. But this does not make it impossible to use sqf in an UOF mission. There are various hooks for sqf.files inside the UOF, mainly for the briefing, gear and endconditions.

As an example the endconditions.sqf the Olsen way

private _eastCasualty = "MSV" call FNC_CasualtyPercentage; //Gets the casualty percentage of team "USMC"
private _indCasualty = "Chernorussian Army" call FNC_CasualtyPercentage; //Gets the casualty percentage of team "VDV"
if (_indCasualty >= 95) exitWith {
      "MSV VICTORY<br />Chernorussian forces have retreated due to casualties." call FNC_EndMission;
};

if (_eastCasualty >= 75) exitWith {
	"Chernorussian VICTORY<br />MSV have retreated due to casualties." call FNC_EndMission;
};
private _num = [independent,200,obj1] call FNC_areaCount;
if(_num < 3) exitWith
{
	"MSV VICTORY<br />OBJ1 has been cleared of enemies" call FNC_EndMission;
};
sleep (30); //This determines how frequently the end conditions should be checked in seconds

Now in the UOF way

private _eastCasualty = "MSV" call UO_FW_FNC_CasualtyPercentage; //Gets the casualty percentage of team "USMC"
private _indCasualty = "Chernorussian Army" call UO_FW_FNC_CasualtyPercentage; //Gets the casualty percentage of team "VDV"
if (_indCasualty >= 95) exitWith {
      "MSV VICTORY<br />Chernorussian forces have retreated due to casualties." call UO_FW_FNC_EndMission;
};

if (_eastCasualty >= 75) exitWith {
	"Chernorussian VICTORY<br />MSV have retreated due to casualties." call UO_FW_FNC_EndMission;
};
private _num = [independent,200,obj1] call UO_FW_FNC_areaCount;
if(_num < 3) exitWith
{
	"MSV VICTORY<br />OBJ1 has been cleared of enemies" call UO_FW_FNC_EndMission;
};
sleep (30); //This determines how frequently the end conditions should be checked in seconds

Because the UOF is based on the Olsen Framework there is 99% overlap of functions. They just have different names to make them independent and conform to the Addon Guidelines of Arma 3. To change an Olsen Function into a UOF function you only need to add UO_FW_ infront of the function.

Example: FNC_areaCount to UO_FW_FNC_areaCount


#Making your first mission

Clone this wiki locally