buttonSetAction: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(add. classification)
m (Text replacement - "\<dt class\=\"note\"\>\'\'\'\[\[(.*)\]\]\'\'\'" to "<dt class="note">$1")
(26 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{Command|Comments=
____________________________________________________________________________________________
____________________________________________________________________________________________


| ofp |= Game name
| ofp |Game name=


|1.5|= Game version
|1.5|Game version=


|arg= local |= Arguments in MP
|arg= local |Multiplayer Arguments=


|eff= local |= Effects in MP
|eff= local |Multiplayer Effects=
____________________________________________________________________________________________
____________________________________________________________________________________________


| Set the action of a control of the currently active user dialog. Can be used for buttons and active texts. See [[Dialog Control]] for more information about user dialogs. |= Description
| Set the action of a control of the currently active user dialog. Can be used for buttons and active texts. See [[Arma: GUI Configuration]] for more information about user dialogs. Works with:
* CT_BUTTON
* CT_XBUTTON
* CT_ACTIVETEXT
* CT_SHORTCUTBUTTON
{{warning | The action code is expected to be in '''[[SQS]]''' format}} |DESCRIPTION=
____________________________________________________________________________________________
____________________________________________________________________________________________


| '''buttonSetAction''' [idc, action] |= Syntax
| '''buttonSetAction''' [idc, action] |SYNTAX=
|p1= [idc, action]: [[Array]] |= Parameter 1
|p1= [idc, action]: [[Array]] |PARAMETER1=
|p2= idc: [[Number]] - control ID |= Parameter 2
|p2= idc: [[Number]] - control ID |PARAMETER2=
|p3= action: [[String]] - code body that should be executed when the button/active text is clicked |= Parameter 3
|p3= action: [[String]] - [[SQS]] code body that should be executed when the button/active text is clicked |PARAMETER3=
| [[Nothing]] |= Return value
| [[Nothing]] |RETURNVALUE=


|s2= control '''buttonSetAction''' action |= Syntax
|s2= control '''buttonSetAction''' action |SYNTAX2=
|p21= control:  [[Control]]|= Parameter 1
 
|p22= action:  [[String]]|= Parameter 2
|p21= control:  [[Control]] - button control|PARAMETER21=
|r2= [[Nothing]] |= Return value
|p22= action:  [[String]] - [[SQS]] code body that should be executed when the button/active text is clicked |PARAMETER2=
|r2= [[Nothing]] |RETURNVALUE2=
____________________________________________________________________________________________
____________________________________________________________________________________________
   
   
|x1= <pre>buttonSetAction [100, "player exec ""reply.sqs"""]</pre> |= Example 1
|x1= <code>[[buttonSetAction]] [100, "[[player]] [[exec]] ""reply.sqs"""];</code> |EXAMPLE1=
|x2= <code>_ctrl [[buttonSetAction]] "[[if]] ([[alive]] bob) [[then]] {[[hint]] 'alive'} [[else]] {[[hint]] 'dead'}"; // SQF but SQS compatible, see [[SQS]]</code> |EXAMPLE2=
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[buttonAction]], [[ctrlActivate]] |= See also
| [[buttonAction]], [[ctrlActivate]] |SEEALSO=


}}
}}
Line 36: Line 43:
<dl class="command_description">
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section BEGIN -->
<dd class="notedate">Posted on October 5, 2009 - 16:23</dd>
<dd class="notedate">Posted on October 5, 2009 - 16:23
<dt class="note">'''[[User:Kungtotte|kungtotte]]'''</dt><dd class="note">
<dt class="note">[[User:Kungtotte|kungtotte]]<dd class="note">
When using buttonSetAction for an ActiveText control from a script, you cannot use any variables local to the script in it.
When using buttonSetAction for an ActiveText control from a script, you cannot use any variables local to the script in it.
<pre><nowiki>
<pre><nowiki>
Line 45: Line 52:
_foo = "foo";
_foo = "foo";
buttonSetAction [100, "hint format[""%1 bar"", _foo];"];</nowiki></pre>
buttonSetAction [100, "hint format[""%1 bar"", _foo];"];</nowiki></pre>
</dd>
 
<!-- Note Section END -->
<!-- Note Section END -->
</dl>
</dl>
Line 52: Line 59:


[[Category:Scripting Commands|BUTTONSETACTION]]
[[Category:Scripting Commands|BUTTONSETACTION]]
[[Category:Scripting Commands OFP 1.99|BUTTONSETACTION]]
[[Category:Scripting Commands OFP 1.96|BUTTONSETACTION]]
[[Category:Scripting Commands OFP 1.96|BUTTONSETACTION]]
[[Category:Scripting Commands ArmA|BUTTONSETACTION]]
[[Category:Scripting Commands ArmA|BUTTONSETACTION]]
[[Category:Scripting Commands ArmA2|BUTTONSETACTION]]
[[Category:Scripting Commands Arma 2|BUTTONSETACTION]]
[[Category:Command_Group:_GUI_Control|BUTTONSETACTION]]
[[Category:Command_Group:_GUI_Control|BUTTONSETACTION]]
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands VBS2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]]
 
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on February 15, 2016 - 10:15 (UTC)</dd>
<dt class="note">[[User:Molaron|Molaron]]</dt>
<dd class="note">
This command does not overwride the buttonaction which was set via "action" in the hpp of the dialog
</dd>
</dl>
<!-- DISCONTINUE Notes -->
 
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on June 11, 2016 - 19:24 (UTC)</dd>
<dt class="note">[[User:Nomisum|Nomisum]]</dt>
<dd class="note">
To use variables local to the defining script, a syntax like the one below needs to be used:
<code>_foo = "foo";
buttonSetAction [100, format["hint '%1 bar'", _foo]];
</code>
works! thanks to Kronzky for commenting this workaround in the VBS wiki
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 16:36, 17 May 2020

Hover & click on the images for description

Description

Description:
Set the action of a control of the currently active user dialog. Can be used for buttons and active texts. See Arma: GUI Configuration for more information about user dialogs. Works with:
  • CT_BUTTON
  • CT_XBUTTON
  • CT_ACTIVETEXT
  • CT_SHORTCUTBUTTON
The action code is expected to be in SQS format
Groups:
Uncategorised

Syntax

Syntax:
buttonSetAction [idc, action]
Parameters:
[idc, action]: Array
idc: Number - control ID
action: String - SQS code body that should be executed when the button/active text is clicked
Return Value:
Nothing

Alternative Syntax

Syntax:
control buttonSetAction action
Parameters:
control: Control - button control
action: String - SQS code body that should be executed when the button/active text is clicked
Return Value:
Nothing

Examples

Example 1:
buttonSetAction [100, "player exec ""reply.sqs"""];
Example 2:
_ctrl buttonSetAction "if (alive bob) then {hint 'alive'} else {hint 'dead'}"; // SQF but SQS compatible, see SQS

Additional Information

See also:
buttonActionctrlActivate

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 October 5, 2009 - 16:23
kungtotte
When using buttonSetAction for an ActiveText control from a script, you cannot use any variables local to the script in it.
/* This will print 'any bar' in the hint box,
 since _foo has no value according to buttonSetAction */

_foo = "foo";
buttonSetAction [100, "hint format[""%1 bar"", _foo];"];

Bottom Section

Posted on February 15, 2016 - 10:15 (UTC)
Molaron
This command does not overwride the buttonaction which was set via "action" in the hpp of the dialog
Posted on June 11, 2016 - 19:24 (UTC)
Nomisum
To use variables local to the defining script, a syntax like the one below needs to be used: _foo = "foo"; buttonSetAction [100, format["hint '%1 bar'", _foo]]; works! thanks to Kronzky for commenting this workaround in the VBS wiki