createMarkerLocal: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Text replacement - "<sqf>([^↵][^\/]*↵[^\/]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(114 intermediate revisions by 17 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma |= Game name
|game1= arma1
|version1= 1.04


|1.04|= Game version
|game2= arma2
|version2= 1.00


|eff= local |= Effects in MP
|game3= arma2oa
____________________________________________________________________________________________
|version3= 1.50


| Creates a new marker at the given position. The marker name has to be unique. |= Description
|game4= tkoh
____________________________________________________________________________________________
|version4= 1.00


| [[String]] <nowiki>=</nowiki> '''createMarkerLocal''' ["name", position] |= Syntax
|game5= arma3
|version5= 0.50


|p1= name: [[Array]] |= Parameter 1
|gr1= Markers
|p2= position: [[Array]] in [[Position]] format |= Parameter 2


| [[String]] |= Return value
|eff= local
____________________________________________________________________________________________
 
|x1= <code>marker<nowiki>=</nowiki> createMarkerLocal [Marker1, [[position]] [[player]] ]</code> |= Example 1
____________________________________________________________________________________________
|mp= createMarkerLocal is local, so it should be used along with the other local commands|=


|[[setMarkerBrushLocal]], [[setMarkerColorLocal]], [[setMarkerDirLocal]], [[setMarkerPosLocal]], [[setMarkerShapeLocal]], [[setMarkerSizeLocal]], [[setMarkerTextLocal]], [[setMarkerTypeLocal]], [[deleteMarkerLocal]]
|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>
|= See also
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}}.


}}
{{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'''.}}
 
|mp= [[createMarkerLocal]] is local, so it should be used along with the other local commands. For global equivalent use [[createMarker]].
 
|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.
 
|s1= [[createMarkerLocal]] [name, position, channel, creator]
 
|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
 
|p4= creator: [[Object]] - (Optional) The marker creator for multiplayer
|p4since= arma3 2.02


<h3 style="display:none">Notes</h3>
|r1= [[String]] - the marker's name, or an empty string if the marker name is not unique
<dl class="command_description">
<!-- Note Section BEGIN -->
To create a marker you need to define ''at least'' the following three settings:
_markerobj = createMarkerLocal["markername",[_Xpos,_Ypos]]
_markerobj setMarkerShapeLocal "ICON"
"markername" setMarkerTypeLocal "DOT"
<!-- Note Section END -->
</dl>


<h3 style="display:none">Bottom Section</h3>
|x1= <sqf>_marker = createMarkerLocal ["Marker1", position player];</sqf>


[[Category:Scripting Commands|CREATEMARKERLOCAL]]
|seealso= [[allMapMarkers]] [[deleteMarkerLocal]] [[createMarker]] [[setMarkerBrushLocal]] [[setMarkerColorLocal]] [[setMarkerDirLocal]] [[setMarkerPosLocal]] [[setMarkerShapeLocal]] [[setMarkerSizeLocal]] [[setMarkerTextLocal]] [[setMarkerTypeLocal]] [[setMarkerAlphaLocal]] [[deleteMarkerLocal]] [[BIS_fnc_markerToString]] [[BIS_fnc_stringToMarkerLocal]]
[[Category:Scripting Commands OFP Elite |CREATEMARKERLOCAL]]
}}
[[Category:Scripting Commands ArmA|CREATEMARKERLOCAL]]
 
[[Category:Command Group: Markers|CREATEMARKERLOCAL]]
{{Note
|user= Hoz
|timestamp= 20070106172100
|text= To create a marker which is visible on the map you need to define ''at least'' the following three settings:
<sqf>
_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";