createMarker: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Undo revision 169257 by R3vo (talk))
Tag: Undo
m (Reverted edits by R3vo (talk) to last revision by ansin11)
Tag: Rollback
Line 11: Line 11:
____________________________________________________________________________________________
____________________________________________________________________________________________


| Creates a new map marker at the given position. 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.
| 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.
{{Important|The marker will be visible once at least [[markerType]] has been defined:
{{Important|The marker will be visible once at least [[markerType]] has been defined:
<div><code>_markerName {{=}} [[createMarker]] ["markername", [[player]]];
<div><code>_markerName {{=}} [[createMarker]] ["markername", [[player]]];
Line 20: Line 20:
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[createMarker]] [name, position, channelID, creator] |Syntax=
| [[createMarker]] [name, position, channel, creator] |Syntax=


|p1= [name, position, channel, creator]: [[Array]] |Parameter 1=
|p1= [name, position, channel, creator]: [[Array]] |Parameter 1=


|p2= name: [[String]] - Name of the marker. If "_USER_DEFINED" is added as prefix, the marker can be deleted by the player |Parameter 2=
|p2= name: [[String]] |Parameter 2=


|p3= position: [[Array]] or [[Object]] - format position: [[Position2D]], [[PositionAGL]] or [[Object]] (object's [[PositionWorld]] is used)|Parameter 3=
|p3= position: [[Array]] or [[Object]] - format position: [[Position2D]], [[PositionAGL]] or [[Object]] (object's [[PositionWorld]] is used)|Parameter 3=


|p4= channelID: [[Number]] - (Optional) The marker channel for MP. {{since|arma3|2.01.146752}}|Parameter 4=
|p4= channel: [[Number]] - (Optional) The marker channel for MP. {{since|arma3|2.01.146752}}|Parameter 4=


|p5= creator: [[Object]] - (Optional) The marker creator for MP. {{since|arma3|2.01.146752}}|Parameter 5=
|p5= creator: [[Object]] - (Optional) The marker creator for MP. {{since|arma3|2.01.146752}}|Parameter 5=
Line 35: Line 35:
____________________________________________________________________________________________
____________________________________________________________________________________________
   
   
|x1= <code>_marker1 = [[createMarker]] ["Marker1", [[position]] [[player]]];
|x1= <code>_marker1 = [[createMarker]] ["Marker1", [[position]] [[player]]];</code> |Example 1=
_marker1 [[setMarkerType]] "hd_dot";</code> |Example 1=
|x2= <code>_marker2 = [[createMarker]] ["Marker2", [[player]]]; {{codecomment|// since {{arma3}} v1.50}}</code> |Example 2=
 
|x2= <code>_marker2 = [[createMarker]] ["Marker2", [[player]]];
_marker2 [[setMarkerType]] "hd_dot"; {{codecomment|// since {{arma3}} v1.50}}</code> |Example 2=
 
|x3= <code>_marker3 = [[createMarker]] ["_USER_DEFINED_Marker3", [[player]]];
_marker3 [[setMarkerType]] "hd_dot"; {{codecomment|// This marker can be deleted by the player who created it}}</code> |Example 3=
____________________________________________________________________________________________
____________________________________________________________________________________________


|mp= [[createMarker]] is global which means it will be created for every client and also for [[JIP]], use [[createMarkerLocal]] if you want to create a [[local]] marker. |multiplayer=
|mp= [[createMarker]] is global, use [[createMarkerLocal]] if you want to create a [[local]] marker. |multiplayer=


| [[allMapMarkers]], [[deleteMarker]], [[createMarkerLocal]], [[allMapMarkers]]
| [[allMapMarkers]], [[deleteMarker]], [[createMarkerLocal]], [[allMapMarkers]]
Line 52: Line 46:
[[setMarkerText]], [[setMarkerType]], [[setMarkerAlpha]], [[BIS_fnc_markerToString]], [[BIS_fnc_stringToMarker]] |See also=
[[setMarkerText]], [[setMarkerType]], [[setMarkerAlpha]], [[BIS_fnc_markerToString]], [[BIS_fnc_stringToMarker]] |See also=
}}
}}
<h3 style="display:none">Notes</h3>
<dl class="command_description">
<dd class="notedate">Posted on September 19, 2015 - 21:02 (UTC)</dd>
<dt class="note">[[User:Soldia (JP)|Soldia (JP)]]</dt>
<dd class="note">
createMarker accepts an object as position parameter as well (A3 - 1.50.131969). You could try this with the following code (both SP/MP)
<code>_markerstr = [[createMarker]] ["markername", [[player]]];
_markerstr [[setMarkerShape]] "RECTANGLE";
_markerstr [[setMarkerSize]] [100, 100];</code>
</dd>
</dl>
<!-- DISCONTINUE Notes -->
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on May 28, 2018 - 11:57 (UTC)</dd>
<dt class="note">[[User:x39|x39]]</dt>
<dd class="note">
In Arma 3, one can create markers which are deletable by the user by prefixing the name with `_USER_DEFINED`.
Example: <code>[[createMarker]] "_USER_DEFINED someMarkerName"</code>
</dd>
</dl>


<h3 style="display:none">Bottom Section</h3>
<h3 style="display:none">Bottom Section</h3>

Revision as of 17:04, 25 October 2020

-wrong parameter ("Arma") defined!-1.00
Hover & click on the images for description

Description

Description:
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).
Multiplayer:
createMarker is global, use createMarkerLocal if you want to create a local marker.
Groups:
Markers

Syntax

Syntax:
createMarker [name, position, channel, creator]
Parameters:
[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. Template:since
creator: Object - (Optional) 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:
allMapMarkersdeleteMarkercreateMarkerLocalallMapMarkers 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 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)
7erra
Arma 3 logo black.png1.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