createMarkerLocal: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " <h3 style="display:none">Notes</h3>" to "")
m (Text replacement - "<sqf>([^↵][^\/]*↵[^\/]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(59 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Command
{{RV|type=command


| arma1
|game1= arma1
|version1= 1.04


|1.04
|game2= arma2
|version2= 1.00


|gr1 = Markers
|game3= arma2oa
|version3= 1.50


|eff= local
|game4= tkoh
|version4= 1.00


| Creates a [[local]] marker at the given position. Marker exists only on PC that created it.  The marker name has to be unique, if a marker with the given name exists, the command will be ignored. Use [[deleteMarkerLocal]] to delete local marker.<br><br>
|game5= arma3
If position is given in 3D format, <tt>z</tt> coordinate is stored with the marker and will be used when marker is passed to commands like [[createVehicle]], [[createUnit]], [[createAgent]], [[createMine]], [[setVehiclePosition]] for example. However [[getMarkerPos]] and [[markerPos]] will always return 0 for <tt>z</tt>.  
|version5= 0.50


<br><br>{{Important | Local markers have own set of local commands "xxmarkerxxLocal" to work with. If you use global marker command on a local marker, the local marker will become global marker.}}
|gr1= Markers


| [[createMarkerLocal]] [name, position, channel, creator]
|eff= local
 
|p1= [name, position, channel, creator]: [[Array]]


|p2= name: [[String]]
|descr= Creates a [[Multiplayer Scripting#Locality|local]] marker at the given position - the marker only exists on the machine that created it. The marker name has to be unique, if a marker with the given name exists, the command will be ignored. Use [[deleteMarkerLocal]] to delete a local marker.<br><br>
If the position is given in 3D format, {{hl|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. However [[getMarkerPos]] and [[markerPos]] will always return 0 for {{hl|z}}.


|p3= position: [[Array]] or [[Object]] - format position: [[Position2D]], [[PositionAGL]] or [[Object]] (object's [[PositionWorld]] is used)
{{Feature|important|Local markers have their own set of local commands "xxMarkerxxLocal" to work with. If you use global marker commands on a local marker, the local marker will become '''global'''.}}


|p4= channel: [[Number]] - (Optional)The marker side for MP. {{Since|arma3|2.01.146752}}
|mp= [[createMarkerLocal]] is local, so it should be used along with the other local commands. For global equivalent use [[createMarker]].


|p5= creator: [[Object]] - (Optional) The marker creator for MP. {{Since|arma3|2.01.146752}}
|pr= [[setMarkerDrawPriority]] sorts [[allMapMarkers]] from least to most priority. Before {{GVI|arma3|2.18|size= 0.75}} [[createMarker]]/[[createMarkerLocal]] did '''not''' care about drawing priority and added the created marker to the end of the array, making it top priority. Running [[setMarkerDrawPriority]] again sorted this issue.


| [[String]]
|s1= [[createMarkerLocal]] [name, position, channel, creator]
 
|x1= <code>_marker = [[createMarkerLocal]] ["Marker1", [[position]] [[player]]];</code>
|mp= createMarkerLocal is local, so it should be used along with the other local commands. For global equivalent use [[createMarker]]


|[[allMapMarkers]], [[deleteMarkerLocal]], [[createMarker]], [[setMarkerBrushLocal]], [[setMarkerColorLocal]], [[setMarkerDirLocal]], [[setMarkerPosLocal]], [[setMarkerShapeLocal]], [[setMarkerSizeLocal]], [[setMarkerTextLocal]], [[setMarkerTypeLocal]], [[setMarkerAlphaLocal]], [[deleteMarkerLocal]], [[BIS_fnc_markerToString]], [[BIS_fnc_stringToMarkerLocal]]
|p1= name: [[String]]


|p2= position: [[Array]] or [[Object]] - format position: [[Position#Introduction|Position2D]], [[Position#PositionAGL|PositionAGL]] or [[Object]] (object's model centre is used (see [[getPosWorld]]))


}}
|p3= channel: [[Number]] - (Optional)The marker side for multiplayer
|p3since= arma3 2.02


<dl class="command_description">
|p4= creator: [[Object]] - (Optional) The marker creator for multiplayer
<!-- Note Section BEGIN -->
|p4since= arma3 2.02


<dt class="note">Unknown <dd class="note">To create a marker which is visible on the map you need to define ''at least'' the following three settings:
|r1= [[String]] - the marker's name, or an empty string if the marker name is not unique
<code>_markerstr = [[createMarkerLocal]] ["markername",[_Xpos,_Ypos]];
_markerstr [[setMarkerShapeLocal]] "ICON";
_markerstr [[setMarkerTypeLocal]] "DOT";</code>


<!-- Note Section END -->
|x1= <sqf>_marker = createMarkerLocal ["Marker1", position player];</sqf>
</dl>


|seealso= [[allMapMarkers]] [[deleteMarkerLocal]] [[createMarker]] [[setMarkerBrushLocal]] [[setMarkerColorLocal]] [[setMarkerDirLocal]] [[setMarkerPosLocal]] [[setMarkerShapeLocal]] [[setMarkerSizeLocal]] [[setMarkerTextLocal]] [[setMarkerTypeLocal]] [[setMarkerAlphaLocal]] [[deleteMarkerLocal]] [[BIS_fnc_markerToString]] [[BIS_fnc_stringToMarkerLocal]]
}}


[[Category:Scripting Commands|CREATEMARKERLOCAL]]
{{Note
{{GameCategory|ofpe|Scripting Commands}}
|user= Hoz
{{GameCategory|arma1|Scripting Commands}}
|timestamp= 20070106172100
{{GameCategory|arma2|Scripting Commands}}
|text= To create a marker which is visible on the map you need to define ''at least'' the following three settings:
{{GameCategory|arma3|Scripting Commands}}
<sqf>
{{GameCategory|tkoh|Scripting Commands}}
_markerstr = createMarkerLocal ["markername",[_Xpos,_Ypos]];
_markerstr setMarkerShapeLocal "ICON";
_markerstr setMarkerTypeLocal "DOT";
</sqf>
}}

Latest revision as of 11:35, 3 September 2024

Hover & click on the images for description

Description

Description:
Creates a local marker at the given position - the marker only exists on the machine that created it. The marker name has to be unique, if a marker with the given name exists, the command will be ignored. Use deleteMarkerLocal to delete a local marker.

If the position is given in 3D format, 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. However getMarkerPos and markerPos will always return 0 for z.
Local markers have their own set of local commands "xxMarkerxxLocal" to work with. If you use global marker commands on a local marker, the local marker will become global.
Multiplayer:
createMarkerLocal is local, so it should be used along with the other local commands. For global equivalent use createMarker.
Problems:
setMarkerDrawPriority sorts allMapMarkers from least to most priority. Before Arma 3 logo black.png2.18 createMarker/createMarkerLocal did not care about drawing priority and added the created marker to the end of the array, making it top priority. Running setMarkerDrawPriority again sorted this issue.
Groups:
Markers

Syntax

Syntax:
createMarkerLocal [name, position, channel, creator]
Parameters:
name: String
position: Array or Object - format position: Position2D, PositionAGL or Object (object's model centre is used (see getPosWorld))
since Arma 3 logo black.png2.02
channel: Number - (Optional)The marker side for multiplayer
since Arma 3 logo black.png2.02
creator: Object - (Optional) The marker creator for multiplayer
Return Value:
String - the marker's name, or an empty string if the marker name is not unique

Examples

Example 1:
_marker = createMarkerLocal ["Marker1", position player];

Additional Information

See also:
allMapMarkers deleteMarkerLocal createMarker setMarkerBrushLocal setMarkerColorLocal setMarkerDirLocal setMarkerPosLocal setMarkerShapeLocal setMarkerSizeLocal setMarkerTextLocal setMarkerTypeLocal setMarkerAlphaLocal deleteMarkerLocal BIS_fnc_markerToString BIS_fnc_stringToMarkerLocal

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
Hoz - c
Posted on Jan 06, 2007 - 17:21 (UTC)
To create a marker which is visible on the map you need to define at least the following three settings:
_markerstr = createMarkerLocal ["markername",[_Xpos,_Ypos]]; _markerstr setMarkerShapeLocal "ICON"; _markerstr setMarkerTypeLocal "DOT";