From Bohemia Interactive Community
Jump to navigation Jump to search
Introduced with Armed Assault version 1.001.00Effects of this scripting command are broadcasted over the network and happen on every computer in the network
Hover & click on the images for descriptions


Creates a new map marker at the given position. The marker will be created for every player on network as well as JIP. The marker name has to be unique, if a marker with the given name exists, the command will be ignored. Use deleteMarker to delete global marker.
The marker will be visible once at least markerType has been defined:
_markerName = createMarker ["markername", player]; _markerName setMarkerType "hd_dot";
If position is given in 3D format, the z coordinate is stored with the marker and will be used when marker is passed to commands like createVehicle, createUnit, createAgent, createMine, setVehiclePosition for example. When marker is manually placed in the editor, z is 0, which means it is placed on the ground. However when user manually places marker on the map in game, it is placed on the water, so z of the marker will be: -getTerrainHeightASL markerPos <USERMARKER>
Multiplayer optimisation: Global marker commands always broadcast the entire marker state over the network. As such, the number of network messages exchanged when creating or editing a marker can be reduced by performing all but the last operation using local marker commands, then using a global marker command for the last change (and subsequent global broadcast of all changes applied to the marker).
createMarker is global, use createMarkerLocal if you want to create a local marker.


createMarker [name, position, channel, creator]
[name, position, channel, creator]: Array
name: String
position: Array or Object - format position: Position2D, PositionAGL or Object (object's PositionWorld is used)
channel: Number - (Optional) The marker channel for MP. since Arma 3 v2.01.146752
creator: Object - (Optional) The marker creator for MP. since Arma 3 v2.01.146752
Return Value:


Example 1:
_marker1 = createMarker ["Marker1", position player];
Example 2:
_marker2 = createMarker ["Marker2", player]; // since Arma 3 v1.50

Additional Information

See also:
allMapMarkersdeleteMarkercreateMarkerLocalallMapMarkers setMarkerBrushsetMarkerColorsetMarkerDir setMarkerPossetMarkerShapesetMarkerSize setMarkerTextsetMarkerTypesetMarkerAlphaBIS_fnc_markerToStringBIS_fnc_stringToMarker


Only post proven facts here. Report bugs on the Feedback Tracker and discuss on the Arma Discord or on the Forums.


Posted on September 19, 2015 - 21:02 (UTC)
Soldia (JP)
createMarker accepts an object as position parameter as well (A3 - 1.50.131969). You could try this with the following code (both SP/MP) _markerstr = createMarker ["markername", player]; _markerstr setMarkerShape "RECTANGLE"; _markerstr setMarkerSize [100, 100];
Posted on May 28, 2018 - 11:57 (UTC)
In Arma 3, one can create markers which are deletable by the user by prefixing the name with `_USER_DEFINED`. Example: createMarker "_USER_DEFINED someMarkerName"

Bottom Section

Posted on April 11, 2019 - 07:10 (UTC)
Passing object as argument for position may produce slightly different position than when explicitly obtaining object position via position commands, as in createMarker ["marker1", _obj] may slightly differ from createMarker ["marker1", ASLtoAGL getPosASL _obj] This is because when object passed as position, the raw getPosWorld is used createMarker ["marker1", ASLtoAGL getPosWorld _obj] will produce identical result in this case, but may not be what is required
Posted on May 3, 2019 - 15:53 (UTC)
Introduced with Arma 3 version 1.921.92 There is a new function with which you can create a marker with all settings applied in one step: BIS_fnc_stringToMarker and BIS_fnc_stringToMarkerLocal