allMapMarkers: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([a-zA-Z][a-zA-Z0-9_]+)\]\]([^<]*) *<\/code>" to "<code>$1$2$3</code>")
m (Some wiki formatting)
 
(9 intermediate revisions by the same user not shown)
Line 6: Line 6:
|gr1= Markers
|gr1= Markers


|descr= Returns all markers in map including user placed markers (_USER_DEFINED #). <br><br>
|descr= Returns all map marker names, including user-placed markers.
Since Arma 3 v1.58 User defined markers have the following name format: <br>{{hl|_USER_DEFINED #<PlayerID>/<MarkerID>/<ChannelID>}} where:
* <PlayerID> - unique network id of the player in [[String]] format, also available as [[String]] in the 6th param in [[Arma 3: Mission Event Handlers#PlayerConnected | "PlayerConnected"]] and [[Arma 3: Mission Event Handlers#PlayerDisconnected|"PlayerDisconnected"]] EHs
* <MarkerID> - a marker counter id
* <ChannelID> - id of the chat channel on which marker was placed (see [[currentChannel]])
For custom waypoint position (LShift+LMB) see [[customWaypointPosition]]


|s1= '''allMapMarkers'''
{{Feature|informative|
* {{GVI|arma3|1.58|size= 0.75}} User-defined markers have the following name format: {{hl|_USER_DEFINED #<PlayerID>/<MarkerID>/<ChannelID>}}, where:
** <PlayerID> - unique network id of the player in [[String]] format, also available as [[String]] in the 6th param in [[Arma 3: Mission Event Handlers#PlayerConnected | "PlayerConnected"]] and [[Arma 3: Mission Event Handlers#PlayerDisconnected|"PlayerDisconnected"]] Event Handlers
** <MarkerID> - an incrementing marker counter id
** <ChannelID> - id of the chat channel in which the marker was placed (see [[currentChannel]])
* To obtain the custom waypoint's (set with {{Controls|LShift|LMB}}) position, see [[customWaypointPosition]].
}}
 
|s1= [[allMapMarkers]]


|r1= [[Array]] of [[String]]s
|r1= [[Array]] of [[String]]s


|x1= <sqf>_markers = allMapMarkers;</sqf>
|x1= <sqf>_markers = allMapMarkers; // returns e.g ["marker1", "_USER_DEFINED #2/0"]</sqf>


returns: ["marker1","_USER_DEFINED #2/0"]
|x2= <sqf>
 
{
|x2= <code>{
private "_a";
private "_a";
_a = [[toArray]] _x;
_a = toArray _x;
_a [[resize]] 15;
_a resize 15;
[[if]] ([[toString]] _a == "_USER_DEFINED #") [[then]]
if (toString _a == "_USER_DEFINED #") then
// or if (_x select [0, 15] == "_USER_DEFINED #") since {{arma3}} v1.28
{
{
[[deleteMarker]] _x;
deleteMarker _x;
}
};
} forEach allMapMarkers;</code>
} forEach allMapMarkers;
</sqf>


|x3= <code>if (_someString in allMapMarkers) then
|x3= <sqf>
if (_someString in allMapMarkers) then
{
{
hint (_someString [[valuea_plus_valueb|+]] " is a valid marker name");
hint (_someString + " is an existing marker");
};</code>
};
</sqf>


|seealso= [[createMarker]] [[deleteMarker]] [[customWaypointPosition]]
|seealso= [[createMarker]] [[deleteMarker]] [[customWaypointPosition]]
}}
{{Note
|user= Waffle SS.
|timestamp= 20140317221100
|text= '''A3 1.12''': Markers placed in editor will be in the array as a string of their name. Markers placed by the player will begin with "_USER_DEFINED #."
}}
{{Note
|user= Killzone_Kid
|timestamp= 20140317231200
|text= To expand on the comment above. In Multiplayer, user created marker will appear in [[allMapMarkers]] as _USER_DEFINED #ID/Number, where ID is unique id related to _id param from [[onPlayerConnected]] and Number is sequential integer incremented by 1 with each marker placement by the IDed user.
}}
}}

Latest revision as of 20:05, 17 February 2024

Hover & click on the images for description

Description

Description:
Returns all map marker names, including user-placed markers.
  • Arma 3 logo black.png1.58 User-defined markers have the following name format: _USER_DEFINED #<PlayerID>/<MarkerID>/<ChannelID>, where:
  • To obtain the custom waypoint's (set with ⇧ Shift + Left Mouse Button) position, see customWaypointPosition.
Groups:
Markers

Syntax

Syntax:
allMapMarkers
Return Value:
Array of Strings

Examples

Example 1:
_markers = allMapMarkers; // returns e.g ["marker1", "_USER_DEFINED #2/0"]
Example 2:
{ private "_a"; _a = toArray _x; _a resize 15; if (toString _a == "_USER_DEFINED #") then // or if (_x select [0, 15] == "_USER_DEFINED #") since Arma 3 v1.28 { deleteMarker _x; }; } forEach allMapMarkers;
Example 3:
if (_someString in allMapMarkers) then { hint (_someString + " is an existing marker"); };

Additional Information

See also:
createMarker deleteMarker customWaypointPosition

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