onMapSingleClick: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(example)
(supports _this, example, description)
Line 15: Line 15:
| Define action performed when user clicks in map by executing command string.
| Define action performed when user clicks in map by executing command string.


the string receives 3 (localised in scope) variables:
the string receives 5 (localised in scope) variables:


* _this: [[Anything]] - Params passed to onMapSingleClick
* _pos: [[Array]] - Clicked position
* _pos: [[Array]] - Clicked position
* _units: [[Array]] - Units which were selected (via function keys) '''before''' opening the map (''may be non-functional in Arma'')
* _units: [[Array]] - Units which were selected (via function keys) '''before''' opening the map (''may be non-functional in Arma'')
* _shift, _alt [[Boolean]] - Whether <Shift> or <Alt> were pressed when clicking on the map
* _shift: [[Boolean]] - Whether <Shift> was pressed when clicking on the map
* _alt: [[Boolean]] - Whether <Alt> was pressed when clicking on the map


When click is processed, code should ultimately return [[true]] back to the engine. If [[false]] is returned, default processing by the game engine is done. Return value of any other type (including [[Nothing]]) is an error. In such case default processing by the game engine is done, and error message may be displayed.
When click is processed, code should ultimately return [[true]] back to the engine. If [[false]] is returned, default processing by the game engine is done. Return value of any other type (including [[Nothing]]) is an error. In such case default processing by the game engine is done, and error message may be displayed.
Line 31: Line 33:
____________________________________________________________________________________________
____________________________________________________________________________________________


| '''onMapSingleClick''' command |= Syntax
| params '''onMapSingleClick''' command |= Syntax


|p1=command: [[String]] or [[Code]] |= Parameter 1
|p1=params: [[Anything]] |= Parameter 1
|p2=command: [[String]] or [[Code]] |= Parameter 2


| [[Nothing]] |= Return value
| [[Nothing]] |= Return value
Line 40: Line 43:
'''ArmA:''' Creates a soldier unit at the position clicked.|= Example 1  
'''ArmA:''' Creates a soldier unit at the position clicked.|= Example 1  


| x2 = <code>'''onMapSingleClick "'''_grp1 [[move]] _pos; onMapSingleClick <nowiki>''</nowiki>; true;'''"'''</code>
| x2 = <code>[[onMapSingleClick]] "_grp1 [[move]] _pos; [[onMapSingleClick]] <nowiki>''</nowiki>; [[true]]";</code>
'''ArmA:''' Orders "_grp1" to move to position clicked. Disables further map-click actions.| = Example 2
'''ArmA:''' Orders "_grp1" to move to position clicked. Disables further map-click actions.| = Example 2


| x3 = <code>'''onMapSingleClick "'''""SoldierWB"" [[createUnit]] [_pos, [[group]] [[player]]]; true;'''"'''</code>
| x3 = <code>[[onMapSingleClick]]"""SoldierWB"" [[createUnit]] [_pos, [[group]] [[player]]]; [[true]]"</code>
'''OFP:''' In OFP single quotes cannot be used for string definition, so two double-quotes have to be used instead. |= Example 3  
'''OFP:''' In OFP single quotes cannot be used for string definition, so two double-quotes have to be used instead. |= Example 3  


| x4 = <code>//The following code will disable Shift+click waypoint marker creation
| x4 = <code>//The following code will disable Shift+click waypoint marker creation
[[onMapSingleClick]] {_shift};</code>|= Example 4
[[onMapSingleClick]] {_shift};</code>|= Example 4
| x5 = <code>//pass params to onMapSingleClick code
[[player]] [[onMapSingleClick]] {[[hint]] ("Hello " + [[name]] _this)}; //Hello KK</code>|= Example 5


| [[onGroupIconClick]], [[onDoubleClick]] |= See also
| [[onGroupIconClick]], [[onDoubleClick]] |= See also

Revision as of 00:04, 28 June 2014


Hover & click on the images for description

Description

Description:
Define action performed when user clicks in map by executing command string. the string receives 5 (localised in scope) variables:
  • _this: Anything - Params passed to onMapSingleClick
  • _pos: Array - Clicked position
  • _units: Array - Units which were selected (via function keys) before opening the map (may be non-functional in Arma)
  • _shift: Boolean - Whether <Shift> was pressed when clicking on the map
  • _alt: Boolean - Whether <Alt> was pressed when clicking on the map
When click is processed, code should ultimately return true back to the engine. If false is returned, default processing by the game engine is done. Return value of any other type (including Nothing) is an error. In such case default processing by the game engine is done, and error message may be displayed. The code is executed on every click, until the Command is
  • removed via onMapSingleClick "", or
  • replaced by onMapSingleClick "SomeOtherCommand(s)"
Arma 3
In order to keep compatability between official and community content the functions BIS_fnc_addStackedEventHandler and BIS_fnc_removeStackedEventHandler should be used instead.
Groups:
Uncategorised

Syntax

Syntax:
params onMapSingleClick command
Parameters:
params: Anything
command: String or Code
Return Value:
Nothing

Examples

Example 1:
onMapSingleClick "'SoldierWB' createUnit [_pos, group player]; true;" ArmA: Creates a soldier unit at the position clicked.
Example 2:
onMapSingleClick "_grp1 move _pos; onMapSingleClick ''; true"; ArmA: Orders "_grp1" to move to position clicked. Disables further map-click actions.
Example 3:
onMapSingleClick"""SoldierWB"" createUnit [_pos, group player]; true" OFP: In OFP single quotes cannot be used for string definition, so two double-quotes have to be used instead.
Example 4:
//The following code will disable Shift+click waypoint marker creation onMapSingleClick {_shift};
Example 5:
//pass params to onMapSingleClick code player onMapSingleClick {hint ("Hello " + name _this)}; //Hello KK

Additional Information

See also:
onGroupIconClickonDoubleClick

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 8 July, 2009
General Barron
See my Multiple OnMapSingleClick script to allow you to add multiple events to the onMapSingleClick event. Some minor editing of the scripts would be required to use them in Arma.

Notes