Skip to content

Mission Designer Manuel

Timi007 edited this page Dec 24, 2023 · 3 revisions

As a mission designer or scripter you have the ability to create global markers in the 3DEN editor.
By default these markers cannot be edited by any player in-game and are always opaque regardless of the channel.

Warning

Beware that markers do not appear if the mission is not saved!

Keybinds

The keybinds are listed here.

Mission dependencies

Our mod makes no dependencies on missions. That means that you can create mission markers, remove the mod and still play the mission (but the markers won't be visible). If you add the mod again, all already placed markers will be visible again.
Also major changes in e.g. config classnames of markers will have no impact on missions as long as the IDs of icons, modifiers or echelons don't change (which they probably won't).

Functions

We provide a number of public functions for using our markers.
For more information about the functions itself and its parameters, you can read more about them in the header of every function.

Function Description
mts_markers_fnc_createMarker Create marker with given channel locality. Returns the marker prefix.
mts_markers_fnc_deleteMarker Delete marker based on channel of origin.
mts_markers_fnc_setMarkerPos Move marker & broadcast based on channel of origin.
mts_markers_fnc_getMarkerPos Returns marker position.
mts_markers_fnc_isMtsMarker Returns 0 if it's not a Metis marker, 1 if it's a editable marker or 2 if it's a non-editable marker.
mts_markers_fnc_getBroadcastChannel Retrieves the original broadcast channel ID of a marker.
mts_markers_fnc_getAllMarkers Returns all local editable and non-editable Metis marker on the map.
mts_markers_fnc_setMarkerScale Set new marker scale/size & broadcast based on channel of origin.
mts_markers_fnc_getMarkerScale Returns the scale/size of the given marker (similar to Arma's getMarkerSize command).
mts_markers_fnc_setMarkerAlpha Sets the transparency (alpha) value of given marker & broadcast based on channel of origin.
mts_markers_fnc_getMarkerAlpha Returns the alpha value of the given marker (similar to Arma's markerAlpha command).
mts_markers_fnc_getPlayerUID Returns PlayerUID from marker prefix.
mts_markers_fnc_getMarkerConfig Returns the configuration of the marker.

Broadcast channel

The mts_markers_fnc_createMarker function needs a broadcast channel which is being used to send the marker to specific players and to change the transparency depending on the channel.
Non-editable, 3DEN or local (ID: -1) markers are always opaque and will therefore not change the transparency depending on the channel.

Channel/Broadcast options Broadcast targets
Global (ID: 0) Broadcast to every human player on the server (excluding HC).
Side (ID: 1) Broadcast to every player which is on the same side as the initiator.
Command (ID: 2) Broadcast to every group leader which is also on the same side as the initiator.
Group (ID: 3) Broadcast to every player in the group where the initiator is a member of.
Vehicle (ID: 4) Broadcast to every player in the vehicle of the initiator.
Direct (ID: 5) Broadcast to every player which is within 40 meters of the initiator.
Local (ID: -1; script only) Broadcast only to the initiator.

⚠️ Server side function execution

If you want to create, modify or delete markers on the server, you have to call the functions on the players. Our functions will not work directly within the server, except for global markers (Broadcast channel: 0). Therefore, you should use remoteExecCall on one player and use the correct broadcast channel in the parameters.

Example: You want to create a marker for a specific side. First you need to pick a player from this side. Execute the mts_markers_fnc_createMarker function on the picked player and specify to broadcast over the side channel (1).

private _players = allPlayers;
private _firstBluforPlayerIndex = _players findIf { side _x isEqualTo west };
// There are no Blufor players
if (_firstBluforPlayerIndex < 0) exitWith {};
private _bluforPlayer = _players select _firstBluforPlayerIndex;

// Create side marker
[_pos, 1, _editable, _markerParameter] remoteExecCall ["mts_markers_fnc_createMarker", _bluforPlayer];

Icon, Modifier and Echelon IDs

For functions like mts_markers_fnc_createMarker, IDs are needed for the modifier or echelon parameter. Those IDs can be retrieved from the following tables:

ID Icon
0 Empty (No marker)
1 Infantry
2 Mechanized Infantry
3 Motorized Infantry
4 Armor
5 Anti Armor
6 Armored Anti Armor
7 Motorized Anti Armor
8 Maintenance
9 Air Defence
10 Air Defence Missile
11 Fixed Wing
12 Rotary Wing
13 Unmanned Systems
14 Engineer
15 Armored Engineer
16 Motorized Engineer
17 Field Artillery
18 Self-Propelled Field Artillery
19 Mortar
20 Tracked Mortar
21 Reconnaissance
22 Armored Reconnaissance
23 Motorized Reconnaissance
24 Surface-Surface Missile
25 CBRN Defence
26 Military Intelligence
27 Military Police
28 Signal
29 Combat Service Support
30 Medical
31 Supply
32 Transportation
33 Amphibious Infantry
34 Amphibious Armor
35 Amphibious Reconnaissance
36 Naval
37 Combined Arms
38 Joint Fire Support
39 Special Forces
40 Special Operation Forces
41 Radar
42 Field Artillery Observer
43 Explosive Ordnance Disposal (EOD)
44 Ranger
45 Aviation Composite
46 Electromagnetic Warfare
47 Internal Security Force
48 International Security Assistance Force (ISAF)
49 Liaison
50 Main Gun System
51 Infantry with Main Gun System
52 Mechanized Infantry with Main Gun System
53 Air Defence with Main Gun System
54 Police
55 Search and Rescue

ID Modifier 1 (top)
0 Empty (No marker)
1 Air Assault
2 Attack
3 Maintenance
4 Multiple Rocket Launcher
5 Single Rocket Launcher
6 Sniper
7 Headquarters (Element)
8 Naval
9 Radar
10 Bridging
11 MEDEVAC
12 Explosive Ordnance Disposal (EOD)

ID Modifier 2 (bottom)
0 Empty (No marker)
1 Airborne
2 Heavy
3 Medium
4 Light
5 Mountain
6 VSTOL
7 Wheeled
8 Towed

ID Group size/Echelon
0 Empty (No marker)
1 Team/Crew
2 Squad
3 Section
4 Platoon
5 Company/Battery
6 Battalion
7 Regiment/Group
8 Brigade
9 Division
10 Corps
11 Army
12 Army Group