buttonSetAction: Difference between revisions
Lou Montana (talk | contribs) m (Text replacement - " \| *s([0-9]) *= ([^ ]+)? ?'''([a-zA-Z0-9_]+)''' ?([^ ]+)? " to " |s$1= $2 $3 $4 ")  | 
				Lou Montana (talk | contribs)  m (Text replacement - "]]<dd class="note">" to "]]</dt> <dd class="note">")  | 
				||
| Line 63: | Line 63: | ||
<dt></dt>  | <dt></dt>  | ||
<dd class="notedate">Posted on October 5, 2009 - 16:23</dd>  | <dd class="notedate">Posted on October 5, 2009 - 16:23</dd>  | ||
<dt class="note">[[User:Kungtotte|kungtotte]]<dd class="note">  | <dt class="note">[[User:Kungtotte|kungtotte]]</dt>  | ||
<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.  | ||
<code>/* This will print 'any bar' in the hint box,  | <code>/* This will print 'any bar' in the hint box,  | ||
Revision as of 18:32, 12 June 2021
Description
- Description:
 - Set the action of a control of the currently active user dialog. The script statement is executed on button release and _this is available, but contains ""; See Arma: GUI Configuration for more information about user dialogs. Works with:
 - Groups:
 - GUI Control
 
Syntax
- Syntax:
 - buttonSetAction [idc, action]
 - Parameters:
 - idc: Number - Button IDC
 - 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- Example 3:
 - Script is SQS
_control buttonSetAction "hint format ['Is SQS: %1', !isNil '_time']"; 
Additional Information
- See also:
 - buttonAction
 
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 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];"]; - Posted on February 15, 2016 - 10:15 (UTC)
 - Molaron
 - This command does not overwrite the button's action that 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 
Categories: 
- Scripting Commands
 - Introduced with Operation Flashpoint version 1.75
 - Operation Flashpoint: New Scripting Commands
 - Operation Flashpoint: Scripting Commands
 - Operation Flashpoint: Elite: 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: GUI Control
 - Scripting Commands: Local Effect