Messagebox Tutorial/Set Variables

From the Oblivion ConstructionSet Wiki
Revision as of 02:53, 14 June 2007 by imported>Haama (New page: 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 variab...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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)

        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)