Difference between revisions of "GetButtonPressed"

641 bytes added ,  07:20, 3 March 2010
no edit summary
imported>Talkie Toaster
(Copying and editing example from CS wiki)
imported>JT
 
(3 intermediate revisions by 2 users not shown)
Line 13: Line 13:
Begin OnActivate
Begin OnActivate
showmessage ExampleMessage
showmessage ExampleMessage
set buttonPressed to 1
set awaitingInput to 1
end
end


begin gamemode
begin gamemode
if buttonPressed == 1
if awaitingInput == 1
set button to getbuttonpressed
set buttonVar to getbuttonpressed


if button > -1
if buttonVar > -1
set buttonPressed to 0
set awaitingInput to 0


if button == 0
if buttonVar == 0
; choice 1
; choice 1
elseif button == 1
elseif buttonVar == 1
; choice 2
; choice 2
elseif button == 2
elseif buttonVar == 2
; choice 3
; choice 3
endif
endif
Line 38: Line 38:
* This will only react to a [[ShowMessage]] call from within the same script.
* This will only react to a [[ShowMessage]] call from within the same script.
* The button indices are shown in the GECK when editing the message object and remain the same even if certain buttons are hidden with conditions.  So, if a Message has 3 buttons, GetButtonPressed will return '''2''' when the last one is pressed even if that is the only button actually being displayed.
* The button indices are shown in the GECK when editing the message object and remain the same even if certain buttons are hidden with conditions.  So, if a Message has 3 buttons, GetButtonPressed will return '''2''' when the last one is pressed even if that is the only button actually being displayed.
* As demonstrated in the example above, always store the return value of GetButtonPressed in a variable, then check the variable instead of calling GetButtonPressed directly in an "if" statement.  Attempting to call GetButtonPressed in successive "if" conditions will cause your menu to fail silently for all options except the first—the first "if" statement calls GetButtonPressed and gets the value of the button pressed, clearing the stored information.  GetButtonPressed will then return -1 for each of the remaining "if" statements.


=='''See Also'''==
=='''See Also'''==
Line 43: Line 44:


[[Category:Functions]]
[[Category:Functions]]
[[Category:Functions (GECK 1.1)]]
[[Category:Miscellaneous Functions]]
[[Category:Miscellaneous Functions]]
[[Category:Miscellaneous Functions (GECK 1.1)]]
Anonymous user