createMarker: Difference between revisions
Lou Montana (talk | contribs) m (Text replacement - "\[\[Category:[ _]?Scripting[ _]Commands[ _]Arma[ _]2(\|.*)]]" to "{{GameCategory|arma2|Scripting Commands}}")  | 
				 (Another drive-by edit. Reworked description and parameters.)  | 
				||
| Line 11: | Line 11: | ||
____________________________________________________________________________________________  | ____________________________________________________________________________________________  | ||
| Creates a new map marker at the given position.   | | Creates a new map marker at the given position. The marker will be created for every connected player as well as all JIP players. The marker name has to be unique; the command will be ignored if a marker with the given name already exists.  | ||
{{Important|The marker will be visible once at least [[markerType]] has been defined:  | |||
<div><code>  | {{Important|The marker will be visible only once at least [[markerType]] has been defined:  | ||
<div><code>_marker <nowiki>=</nowiki> [[createMarker]] ["markername", [[player]]]; {{cc|Not visible yet.}}  | |||
{{Informative|If position is given in 3D format, the <tt>z</tt> coordinate is stored with the marker and will be used when marker is passed to commands   | _marker [[setMarkerType]] "hd_dot"; {{cc|Visible.}}</code></div>}}  | ||
{{Informative|If the marker position is given in 3D format, the <tt>z</tt>-coordinate is stored with the marker and will be used when the marker is passed to commands such as [[createVehicle]], [[createUnit]], [[createAgent]], [[createMine]] or [[setVehiclePosition]].<br>When a marker is manually placed in the editor, <tt>z</tt> is always 0, which means the marker is placed on the ground. But when the player places a marker on the map in game, it is placed at sea level, so the <tt>z</tt>-coordinate of that marker is {{Inline code|[[-]][[getTerrainHeightASL]] [[markerPos]] <USERMARKER>}}.}}  | |||
{{Informative|'''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).}}  | {{Informative|'''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).}}  | ||
|Description=  | |Description=  | ||
| Line 22: | Line 25: | ||
| [[createMarker]] [name, position, channel, creator] |Syntax=  | | [[createMarker]] [name, position, channel, creator] |Syntax=  | ||
|p1=   | |p1= '''name''': [[String]] The marker's name, used to reference the marker in scripts. |Parameter 1=  | ||
|p2=   | |p2= '''position''': [[Array]] or [[Object]] - [[Position2D]], [[PositionAGL]] or [[Object]]. In case of object, the object's [[PositionWorld]] is used. |Parameter 2=  | ||
|p3=   | |p3= '''channel''' (Optional): [[Number]] (See also [[Channel IDs]]) - The marker channel for MP ({{since|arma3|2.01.146752}}). |Parameter 3=  | ||
|p4=   | |p4= '''creator''' (Optional): [[Object]] - The marker creator for MP ({{since|arma3|2.01.146752}}). |Parameter 4=  | ||
| [[String]] |Return value=  | | [[String]] |Return value=  | ||
| Line 38: | Line 39: | ||
|x2= <code>_marker2 = [[createMarker]] ["Marker2", [[player]]]; {{codecomment|// since {{arma3}} v1.50}}</code> |Example 2=  | |x2= <code>_marker2 = [[createMarker]] ["Marker2", [[player]]]; {{codecomment|// since {{arma3}} v1.50}}</code> |Example 2=  | ||
____________________________________________________________________________________________  | ____________________________________________________________________________________________  | ||
| [[allMapMarkers]], [[deleteMarker]], [[createMarkerLocal]]  | | [[allMapMarkers]], [[deleteMarker]], [[createMarkerLocal]]  | ||
Revision as of 18:29, 8 January 2021
Description
- Description:
 - Creates a new map marker at the given position. The marker will be created for every connected player as well as all JIP players. The marker name has to be unique; the command will be ignored if a marker with the given name already exists.
 - Groups:
 - Markers
 
Syntax
- Syntax:
 - createMarker [name, position, channel, creator]
 - Parameters:
 - name: String The marker's name, used to reference the marker in scripts.
 - position: Array or Object - Position2D, PositionAGL or Object. In case of object, the object's PositionWorld is used.
 - channel (Optional): Number (See also Channel IDs) - The marker channel for MP (Template:since).
 - creator (Optional): Object - The marker creator for MP (Template:since).
 - Return Value:
 - String
 
Examples
- Example 1:
 _marker1 = createMarker ["Marker1", position player];- Example 2:
 _marker2 = createMarker ["Marker2", player]; // since Arma 3 v1.50
Additional Information
- See also:
 - allMapMarkersdeleteMarkercreateMarkerLocal setMarkerBrushsetMarkerColorsetMarkerDir setMarkerPossetMarkerShapesetMarkerSize setMarkerTextsetMarkerTypesetMarkerAlphaBIS_fnc_markerToStringBIS_fnc_stringToMarker
 
Notes
- 
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note 
Notes
- 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)
 - x39
 - 
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)
 - killzone_kid
 - 
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 fromcreateMarker ["marker1", ASLtoAGL getPosASL _obj]This is because when object passed as position, the raw getPosWorld is usedcreateMarker ["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)
 - 7erra
 - 
 1.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
 
Categories: 
- Scripting Commands
 - Introduced with Armed Assault version 1.00
 - ArmA: Armed Assault: New Scripting Commands
 - ArmA: Armed Assault: Scripting Commands
 - Command Group: Markers
 - Scripting Commands: Global Effect
 - Scripting Commands OFP Elite
 - Arma 2: Scripting Commands
 - Take On Helicopters: Scripting Commands
 - Arma 3: Scripting Commands