createMarker: Difference between revisions
Jump to navigation
Jump to search
(explanation of return value) |
Lou Montana (talk | contribs) m (Text replacement - "\{\{( *)Informative( *)\|" to "{{$1Feature$2|$2Informative$2|") |
||
Line 15: | Line 15: | ||
_marker [[setMarkerType]] "hd_dot"; {{cc|Visible.}}</code></div>}} | _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>}}.}} | {{Feature|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>}}.}} | ||
|mp = {{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).}} | |mp = {{Feature|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).}} | ||
|s1= [[createMarker]] [name, position, channel, creator] | |s1= [[createMarker]] [name, position, channel, creator] |
Revision as of 00:14, 7 February 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.
- Multiplayer:
- 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 - The marker's name or empty string if the marker name is not unique.
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
- 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"
- 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
- Posted on January 26, 2021 - 22:42 (UTC)
- tirpitz
-
When creating a marker with the name format: "_USER_DEFINED #n1/n2/n3".
n1 can be used to set the owner, n2 I think is an incrementing index to ensure markers are unique, to this end also mangle some more characters onto the end of the string, and n3 is the channel ID the marker is in.
_markerName = format ["_USER_DEFINED #%1/%2/%3" , clientOwner,_index, _ChannelID]; _marker = createMarkerLocal [_markerName, _pos];
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
- Operation Flashpoint: Elite: Scripting Commands
- Arma 2: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands