How the framework works
Valid from Framework version 4
Anvil Framework attempts to be an extremely light weight objective management framework which can be used either
on its own or in conjunction with other scripts and BI modules placed in the official ArmA 3 Editor.
The framework functions by taking a list of markers which the mission maker provides in a script and as the
mission is run, generating the spawn locations, tasks and markers that make the mission come to life. The role of
the Anvil Editor makes placing and configuring these markers as well as keeping the markers in
mission.sqm very simple.
Two things must be provided by the mission maker to get a mission up and running:
- A list of markers in the
objective_listarray (located in
anvil\mission_description.sqfcontaining objective details)
The advantage of splitting the markers and objective details is that the mission maker can create a mission using the Anvil Editor in a very short time period and then tweak objective locations inside the ArmA editor by simply moving markers.
In later versions of the editor (v3.x +) the changes made in the ArmA editor can be imported back into the Anvil mission format
Edit >> Update from SQM menu option or the keyboard shortcut
The mission has the following folder structure:
MISSION FOLDER | briefing.sqf | description.ext | init.sqf | mission.sqm | mission_data.json | README.md +---eos +---anvil
README is provided in Markdown format (you can also view it on the about page). Additionally there
may be several included scripts in the top level folder if you have included them from the editor
|=BTC=_logistic||Used to provide lift, fast ropes and loading for vehicles|
|eos (required)||Bangabob's Enemy Occupation System, used to spawn and cache enemy|
|taw_vd||The TAW View Distance script for managing view distance in game|
|TG||Some scripts TacticalGamer.com uses for managing groups (Aerson's group manager) and for displaying player name tags|
anvil folder contains all of the scripts required to operate the framework. Inside this folder the
file contains a list of objectives which are used to place and populate mission objectives, tasks and rewards.
mission_data.json file is the editor file used to generate the mission. It is present in sample mission downloads, but is not
required by the framework. Opening this file allows you to modify the mission in the Anvil Editor and export any changes you make, but
in practice its best to make any changes in the Anvil Editor to prevent doing something which breaks the input format.
anvil\framework_init.sqf file contains a list of objectives that will be created on the map. A standard objective definition may look like this:
[ 1, "FRINI", "fw_obj_1", 50, 1, 0, 0, 0, 2, FALSE, "", "", [2, 4], 2, ""]
It will be added to the
objective_list array and made into a
publicVariable. An objective array contains all the information the framework requires to build up an objective at the specified marker.
The array elements are described further in the table below:
|1||String||Title / Brief description||
|4||Number||Number of Infantry Units||
|5||Number||Number of Motorised Units||
|6||Number||Number of Armoured Units||
|7||Number||Number of Air Units||
|8||Number||EOS unit size||
|9||Boolean||Create a spawn point on objective completion?||
|10||String||Name of an ammobox marker to place on objective completion, or empty for none||
|11||String||Name of an special weapons marker to place on objective completion, or empty for none||
|12||Array||A list of prerequisite objective IDs. Completing any single objective in this list will unlock the current objective||
|13||Number||The type of mission to create. This is an array index and refers to the objective type list in
|14||String||Additional text to display in the player's tasks||