Messagebox Tutorial/Set Variables
Though not a necessary part of every menu, this is a nice bit of code. This allows the player to use a menu to set a variable to any number (I suppose it's limited by the short/long variable limits). Basically, the player is given the current number the variable is set to, and is allowed to change it from -2 to +2. If they want to change it by more than that, they can modify it by -10, -5, +5, or +10 and then the menu is displayed again, with the new number. This allows the player to select any number (i.e., if they want -3, they would choose "-5" and then "+2"). Due to the limit of the number of choices available, there can only be one other option. For most, this option should be "Return to Previous Menu". Here's an example: (NumNewIngsDefault is the variable that the player is setting. Also, due to wiki limitations, the messagebox has several line breaks even though these wouldn't be in the CS script)
elseif (Choosing == -22)
messagebox "Set the default number of essences to be created.
(Currently %g)", NumNewIngsDefault,
"About 10 fewer (-12 to -8)"
"About 5 fewer (-7 to -3)"
"Default to that amount -2"
"Default to that amount -1"
"Default to that amount"
"Default to that amount +1"
"Default to that amount +2"
"About 5 more (+3 to +7)"
"About 10 more (+8 to +12)"
"Return to previous menu"
set Choosing to 22
set Choice to GetButtonPressed
elseif (Choosing == 22)
if (Choice == -1)
set Choice to GetButtonPressed
return
elseif (Choice == 0) ;10 fewer
set NumNewIngsDefault to (NumNewIngsDefault - 10)
set Choosing to -22
return
elseif (Choice == 1) ;5 fewer
set NumNewIngsDefault to (NumNewIngsDefault - 5)
set Choosing to -22
return
elseif (Choice == 7) ;5 more
set NumNewIngsDefault to (NumNewIngsDefault + 5)
set Choosing to -22
return
elseif (Choice == 8) ;10 more
set NumNewIngsDefault to (NumNewIngsDefault + 10)
set Choosing to -22
return
elseif (Choice == 2) ;-2
set NumNewIngsDefault to (NumNewIngsDefault - 2)
set Choosing to -21
return
elseif (Choice == 3) ;-1
set NumNewIngsDefault to (NumNewIngsDefault - 1)
set Choosing to -21
return
elseif (Choice == 4) ;Cancel
set Choosing to -21
return
elseif (Choice == 5) ;+1
set NumNewIngsDefault to (NumNewIngsDefault + 1)
set Choosing to -21
return
elseif (Choice == 6) ;+2
set NumNewIngsDefault to (NumNewIngsDefault + 2)
set Choosing to -21
return
elseif (Choice == 9) ;Return to previous menu
set Choosing to -2
return
endif
Haama 03:53, 14 June 2007 (EDT)