createMarkerLocal: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "PositionWorld" to "PositionWorld") |
Lou Montana (talk | contribs) m (Text replacement - "<sqf>([^↵][^\/]*↵[^\/]*)<\/sqf>" to "<sqf> $1 </sqf>") |
||
(25 intermediate revisions by the same user not shown) | |||
Line 20: | Line 20: | ||
|eff= local | |eff= local | ||
|descr= Creates a [[Multiplayer Scripting#Locality|local]] marker at the given position | |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 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}}. | 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'''.}} | {{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]]. | |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] | |s1= [[createMarkerLocal]] [name, position, channel, creator] | ||
Line 31: | Line 33: | ||
|p1= name: [[String]] | |p1= name: [[String]] | ||
|p2= position: [[Array]] or [[Object]] - format position: [[Position#Introduction|Position2D]], [[Position#PositionAGL|PositionAGL]] or [[Object]] (object's [[ | |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 | |p3= channel: [[Number]] - (Optional)The marker side for multiplayer | ||
|p3since= arma3 2.02 | |p3since= arma3 2.02 | ||
|p4= creator: [[Object]] - (Optional) The marker creator for | |p4= creator: [[Object]] - (Optional) The marker creator for multiplayer | ||
|p4since= arma3 2.02 | |p4since= arma3 2.02 | ||
|r1= [[String]] - the marker's name or empty string if the marker name is not unique | |r1= [[String]] - the marker's name, or an empty string if the marker name is not unique | ||
|x1= < | |x1= <sqf>_marker = createMarkerLocal ["Marker1", position player];</sqf> | ||
|seealso= [[allMapMarkers]] | |seealso= [[allMapMarkers]] [[deleteMarkerLocal]] [[createMarker]] [[setMarkerBrushLocal]] [[setMarkerColorLocal]] [[setMarkerDirLocal]] [[setMarkerPosLocal]] [[setMarkerShapeLocal]] [[setMarkerSizeLocal]] [[setMarkerTextLocal]] [[setMarkerTypeLocal]] [[setMarkerAlphaLocal]] [[deleteMarkerLocal]] [[BIS_fnc_markerToString]] [[BIS_fnc_stringToMarkerLocal]] | ||
}} | }} | ||
Line 50: | Line 52: | ||
|timestamp= 20070106172100 | |timestamp= 20070106172100 | ||
|text= To create a marker which is visible on the map you need to define ''at least'' the following three settings: | |text= To create a marker which is visible on the map you need to define ''at least'' the following three settings: | ||
< | <sqf> | ||
_markerstr | _markerstr = createMarkerLocal ["markername",[_Xpos,_Ypos]]; | ||
_markerstr | _markerstr setMarkerShapeLocal "ICON"; | ||
_markerstr setMarkerTypeLocal "DOT"; | |||
</sqf> | |||
}} | }} |
Latest revision as of 11:35, 3 September 2024
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. - 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 2.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 2.02
- channel: Number - (Optional)The marker side for multiplayer
- since 2.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:
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
- 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";
Categories:
- Scripting Commands
- Introduced with Armed Assault version 1.04
- ArmA: Armed Assault: New Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Markers
- Scripting Commands: Local Effect