onMapSingleClick: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) (supports _this, example, description) |
Lou Montana (talk | contribs) m (Text replacement - "\[\[Category:[ _]?Scripting[ _]Commands[ _]Take[ _]On[ _]Helicopters(\|.*)?\]\]" to "{{GameCategory|tkoh|Scripting Commands}}") |
||
(31 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{Command|Comments= | |||
{{Command|= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| ofpr | | | ofpr |Game name= | ||
|1.85| | |1.85|Game version= | ||
|gr1= Map |GROUP1= | |||
|gr2= Event Handlers |GROUP2= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| 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 code is executed on every click, until the '''command''' is | ||
* removed via '''onMapSingleClick''' "", or | |||
* replaced by '''onMapSingleClick''' "SomeOtherCommand(s)" | |||
the string receives 5 (localised in scope) variables: | the string receives 5 (localised in scope) variables: | ||
* _this: [[Anything]] - Params passed to onMapSingleClick | * _this: [[Anything]] - Params passed to onMapSingleClick | ||
* _pos: [[Array]] - Clicked position | * _pos: [[Array]] - Clicked position | ||
Line 23: | Line 22: | ||
* _alt: [[Boolean]] - Whether <Alt> was pressed when clicking on the map | * _alt: [[Boolean]] - Whether <Alt> was pressed when clicking on the map | ||
In Arma 3 the code should return [[true]] only if you wish to override default engine handling of the mouse click on map (see example #4)<br> For older games, 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. | |||
<br><br> | |||
{{Feature|arma3 | Since '''{{arma3}}''' v1.57 a stackable MissionEventHandler is available and should be used instead: [[Arma_3:_Event_Handlers/addMissionEventHandler#MapSingleClick|MapSingleClick]].<br> | |||
Before that, the functions [[BIS_fnc_addStackedEventHandler]] and [[BIS_fnc_removeStackedEventHandler]] should be used instead in order to keep compatibility between official and community content.}} |Description= | |||
____________________________________________________________________________________________ | |||
| [[onMapSingleClick]] command |SYNTAX= | |||
|= | |||
|p1= command: [[String]] or [[Code]] |PARAMETER1= | |||
| [[Nothing]] |RETURNVALUE= | |||
|s2= params [[onMapSingleClick]] command |SYNTAX2= | |||
| params | |p21= params: [[Anything]] |PARAMETER21= | ||
| | |p22= command: [[String]] or [[Code]] |PARAMETER22= | ||
| [[Nothing]] |= | |r2= [[Nothing]] |RETURNVALUE2= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| | |x1= '''ArmA:''' Creates a soldier unit at the position clicked: | ||
<code>[[onMapSingleClick]] "'SoldierWB' [[createUnit]] [_pos, [[group]] [[player]]]; true";</code> |EXAMPLE1= | |||
| | |x2= '''ArmA:''' Orders "grp1" to move to position clicked. Disables further map-click actions: | ||
<code>[[onMapSingleClick]] "grp1 [[move]] _pos; [[onMapSingleClick]] <nowiki>'</nowiki>'; [[true]]";</code> |Example 2= | |||
| | |x3= '''OFP:''' In OFP single quotes cannot be used for string definition, so two double-quotes have to be used instead: | ||
[[onMapSingleClick]] | <code>[[onMapSingleClick]] "'SoldierWB' [[createUnit]] [_pos, [[group]] [[player]]]; [[true]]";</code> |EXAMPLE3= | ||
| | |x4= <code>{{cc|The following code will disable Shift+click waypoint marker creation}} | ||
[[onMapSingleClick]] {_shift};</code>|EXAMPLE4= | |||
| [[ | |x5= <code>{{cc|Pass params to onMapSingleClick code}} | ||
[[player]] [[onMapSingleClick]] {[[hint]] ("Hello " + [[name]] _this)}; {{cc|Hello KK}}</code> |EXAMPLE5= | |||
|x6= <code>{{cc|Pass params to onMapSingleClick code '''and''' disable Shift+click waypoint marker creation}} | |||
[[player]] [[onMapSingleClick]] "[[hint]] (""Hello "" + [[name]] [[_this]]); _shift"; {{cc|Hello KK}}</code> |EXAMPLE6= | |||
| [[onGroupIconClick]] |SEEALSO= | |||
}} | }} | ||
Line 63: | Line 69: | ||
<!-- Note Section BEGIN --> | <!-- Note Section BEGIN --> | ||
<dd class="notedate">Posted on 8 July, 2009 | <dd class="notedate">Posted on 8 July, 2009 | ||
<dt class="note"> | <dt class="note">[[User:General Barron|General Barron]] | ||
<dd class="note"> | |||
See my [http://www.ofpec.com/editors-depot/index.php?action=details&id=292&game=ArmA 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. | See my [http://www.ofpec.com/editors-depot/index.php?action=details&id=292&game=ArmA 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. | ||
<!-- Note Section END --> | <!-- Note Section END --> | ||
Line 74: | Line 81: | ||
<!-- Note Section END --> | <!-- Note Section END --> | ||
</dl> | </dl> | ||
<h3 style="display:none">Bottom Section</h3> | |||
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]] | |||
[[Category:Scripting Commands OFP 1.96|{{uc:{{PAGENAME}}}}]] | |||
[[Category:Scripting Commands OFP 1.99|{{uc:{{PAGENAME}}}}]] | |||
{{GameCategory|arma1|Scripting Commands}} | |||
{{GameCategory|arma2|Scripting Commands}} | |||
{{GameCategory|arma3|Scripting Commands}} | |||
{{GameCategory|tkoh|Scripting Commands}} | |||
<!-- CONTINUE Notes --> | |||
<dl class="command_description"> | |||
<dd class="notedate">Posted on April 1, 2016 - 00:25 (UTC)</dd> | |||
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt> | |||
<dd class="note"> | |||
<tt>_units</tt> param is supposed to return what [[groupSelectedUnits]] returns. Player must be [[leader]] and some [[units]] in the [[group]] must be selected on the group bar. However selected units are connected with group orders menu, which interferes with map click. In other words, when you click on the main map, the map gets focus and group orders menu closes, deselecting any selected unit, so <tt>_units</tt> is [] pretty much all the time. | |||
</dd> | |||
</dl> | |||
<!-- DISCONTINUE Notes --> |
Revision as of 20:37, 10 January 2021
Description
- Description:
- Define action performed when user clicks in map by executing command string. The code is executed on every click, until the command is
- removed via onMapSingleClick "", or
- replaced by onMapSingleClick "SomeOtherCommand(s)"
- _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
For older games, 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.
- Groups:
- MapEvent Handlers
Syntax
- Syntax:
- onMapSingleClick command
- Parameters:
- command: String or Code
- Return Value:
- Nothing
Alternative Syntax
- Syntax:
- params onMapSingleClick command
- Parameters:
- params: Anything
- command: String or Code
- Return Value:
- Nothing
Examples
- Example 1:
- ArmA: Creates a soldier unit at the position clicked:
onMapSingleClick "'SoldierWB' createUnit [_pos, group player]; true";
- Example 2:
- ArmA: Orders "grp1" to move to position clicked. Disables further map-click actions:
onMapSingleClick "grp1 move _pos; onMapSingleClick ''; true";
- Example 3:
- OFP: In OFP single quotes cannot be used for string definition, so two double-quotes have to be used instead:
onMapSingleClick "'SoldierWB' createUnit [_pos, group player]; true";
- 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
- Example 6:
// Pass params to onMapSingleClick code and disable Shift+click waypoint marker creation player onMapSingleClick "hint (""Hello "" + name _this); _shift"; // Hello KK
Additional Information
- See also:
- onGroupIconClick
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
Bottom Section
- Posted on April 1, 2016 - 00:25 (UTC)
- Killzone Kid
- _units param is supposed to return what groupSelectedUnits returns. Player must be leader and some units in the group must be selected on the group bar. However selected units are connected with group orders menu, which interferes with map click. In other words, when you click on the main map, the map gets focus and group orders menu closes, deselecting any selected unit, so _units is [] pretty much all the time.
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint: Resistance version 1.85
- Operation Flashpoint: Resistance: New Scripting Commands
- Operation Flashpoint: Resistance: Scripting Commands
- Command Group: Map
- Command Group: Event Handlers
- Scripting Commands OFP 1.96
- Scripting Commands OFP 1.99
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 3: Scripting Commands
- Take On Helicopters: Scripting Commands