buttonSetAction: Difference between revisions
No edit summary  | 
				Killzone Kid (talk | contribs)   (code is SQS!!!)  | 
				||
| Line 11: | Line 11: | ||
____________________________________________________________________________________________  | ____________________________________________________________________________________________  | ||
| 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 [[Dialog Control]] for more information about user dialogs. Works with:  | ||
* CT_BUTTON  | |||
* CT_XBUTTON  | |||
* CT_ACTIVETEXT  | |||
* CT_SHORTCUTBUTTON  | |||
{{warning | The action code will be interpreted as '''[[SQS]]'''}} |= Description  | |||
____________________________________________________________________________________________  | ____________________________________________________________________________________________  | ||
| Line 17: | Line 22: | ||
|p1= [idc, action]: [[Array]] |= Parameter 1  | |p1= [idc, action]: [[Array]] |= Parameter 1  | ||
|p2= idc: [[Number]] - control ID |= Parameter 2  | |p2= idc: [[Number]] - control ID |= Parameter 2  | ||
|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 |= Parameter 3  | ||
| [[Nothing]] |= Return value  | | [[Nothing]] |= Return value  | ||
|s2= control '''buttonSetAction''' action |= Syntax  | |s2= control '''buttonSetAction''' action |= Syntax  | ||
|p21= control:  [[Control]]|= Parameter 1  | |p21= control:  [[Control]] - button control|= Parameter 1  | ||
|p22= action:  [[String]]|= Parameter 2  | |p22= action:  [[String]] - [[SQS]] code body that should be executed when the button/active text is clicked |= Parameter 2  | ||
|r2= [[Nothing]] |= Return value  | |r2= [[Nothing]] |= Return value  | ||
____________________________________________________________________________________________  | ____________________________________________________________________________________________  | ||
|x1= <  | |x1= <code>[[buttonSetAction]] [100, "[[player]] [[exec]] ""reply.sqs"""];</code> |= Example 1  | ||
|x2= <code>_ctrl [[buttonSetAction]] "[[if]] ([[alive]] bob) [[then]] {[[hint]] 'alive'} [[else]] {[[hint]] 'dead'}" // SQF but SQS compatible, see [[SQS]]</code> |= Example 2  | |||
____________________________________________________________________________________________  | ____________________________________________________________________________________________  | ||
Revision as of 23:27, 11 November 2016
Description
- Description:
 - 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. Works with:
- CT_BUTTON
 - CT_XBUTTON
 - CT_ACTIVETEXT
 - CT_SHORTCUTBUTTON
 
 - 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 
Categories: 
- Scripting Commands
 - Introduced with Operation Flashpoint version 1.5
 - Operation Flashpoint: New Scripting Commands
 - Operation Flashpoint: Scripting Commands
 - Command Group: Uncategorised
 - Scripting Commands: Local Effect
 - Scripting Commands OFP 1.99
 - Scripting Commands OFP 1.96
 - Scripting Commands ArmA
 - Scripting Commands ArmA2
 - Command Group: GUI Control
 - Scripting Commands Arma 3
 - Scripting Commands Take On Helicopters