Difference between revisions of "MessageBox Tutorial"

Jump to navigation Jump to search
2,622 bytes added ,  02:50, 15 September 2007
imported>Haama
(→‎Extras: Centralizing Menu Exits no longer needed)
imported>Haama
<pre>scn YourMenuScript
 
Short Working
Short Choosing
Short Choice
 
;Centralized Menu Exiting variable
Short Reset
 
;GameMode and MenuMode variables
 
;Ensuring Your Menu Is Read variables
Short MessageCounter
Float MessageTimer
Short MessageButton
 
 
 
Begin onActivate
If (Choosing >= 0) ;Controlling the menu system via external scripts
Set Choosing to -1
Endif
Set ResetWorking to 1
Set MessageCounter to 0 ;Ensuring your menus are seen
If (MenuMode == 0)
If (MenuMode == 0) ;Running menus in both GameMode and MenuMode
Set GMRun to 1
Endif
If (GetInSameCell player == 0) ;always keep it near the player
MoveTo player
Endif
End
 
 
Begin GameMode ;Running menus in both GameMode and MenuMode
If (Choosing == 0)Working
SetIf GMRun(Choosing to== 0)
Set GMRun to 0
If (GetInSameCell YourXMarker == 0)
MoveToSet YourXMarkerWorking to 0
Set MessageCounter to 0 ;Ensuring your menu is seen
Endif
;Add anything that needs to be re-initialized
Return
Elseif GMRun
Set GMRun to 0
Set ExitButton to 0
Messagebox "Exiting options..."
Elseif (Choice == -1) ;Ensuring your menus are seen
If (MessageTimer > 0) ||if (MessageCounter >< 030)
Set set Choice to GetButtonPressed
If if (Choice >== -1)
Return if (MenuMode 1001 == 0)
if (MenuMode 1004 == 0) && (MenuMode 1005 == 0) && (MenuMode 1006 == 0) &&
Endif
If (MenuMode 10011010 == 0) && (MenuMode 1011 == 0) && (MenuMode 1013 == 0) &&
If (MenuMode 10041015 == 0) ||&& (MenuMode 10051016 == 0) ||&& (MenuMode 10061017 == 0) ||&&
(MenuMode 10101018 == 0) ||&& (MenuMode 10111019 == 0) ||&& (MenuMode 10131020 == 0) ||&&
(MenuMode 10151021 == 0) ||&& (MenuMode 10161024 == 0) ||&& (MenuMode 10171038 == 0) ||&&
(MenuMode 10181039 == 0) ||&& (MenuMode 10191044 == 0) ||&& (MenuMode 10201045 == 0) ||&&
(MenuMode 10211046 == 0) ||&& (MenuMode 10241047 == 0) ||&& (MenuMode 1038)1057 ||== 0)
(MenuMode 1039) || (MenuModeset 1044)MessageCounter ||to (MenuModeMessageCounter 1045+ 1) ||
endif
(MenuMode 1046) || (MenuMode 1047) || (MenuMode 1057)
Returnelse ;MenuMode 1001
Else set MessageCounter to 0
endif
Set MessageTimer to (MessageTimer - GetSecondsPassed)
else ;Choice Set MessageCounter to (MessageCounter> - 1)
Endif set MessageCounter to 0
Else ;MenuMode 1001endif
else ;Display Setmenu MessageTimer to 1again
Setset MessageCounterChoosing to 45-(Choosing)
Returnset MessageCounter to 0
message "Trying menu again..."
Endif
Else ;Display menu againendif
Elseif (Choice != ExitButton)
Message "Trying menu again..."
Set ChoosingExitButton to -(Choosing)0
Messagebox "Exiting options..."
Elseif (Choice == ExitButton)
Set Choosing to 0
Endif
Set Working to 1
Elseif (Choice != ExitButton)
Set ExitButton to 0
Messagebox "Exiting options..."
Endif
End
 
Begin MenuMode
If (Choosing == 0)Working
If Reset(Choosing == 0)
Set GMRun to 0 ;Running menus in both GameMode and MenuMode
;reset whatever you need to
Set ResetWorking to 0
Set MessageCounter to 0 ;Ensuring your menu is seen
Endif
;Add anything that needs to be re-initialized
If (GetInSameCell YourXMarker == 0)
MoveTo YourXMarker
Endif
 
 
;Ensuring your menu is seen
Elseif (Choosing > 0) && (Choice == -1) ;No choice yet
;Centralizing your menu decisions
If (MessageTimer > 0) || (MessageCounter > 0)
Elseif (Choosing Set> 0) && (Choice to== -1) ;No choice GetButtonPressedyet
Ifif (ChoiceMessageCounter >< -130)
Returnset Choice to GetButtonPressed
Endif if (Choice == -1)
If if (MenuMode 1001 == 0)
If if (MenuMode 1004 == 0) ||&& (MenuMode 1005 == 0) ||&& (MenuMode 1006 == 0) ||&&
(MenuMode 1010 == 0) ||&& (MenuMode 1011 == 0) ||&& (MenuMode 1013 == 0) ||&&
(MenuMode 1015 == 0) ||&& (MenuMode 1016 == 0) ||&& (MenuMode 1017 == 0) ||&&
(MenuMode 1018 == 0) ||&& (MenuMode 1019 == 0) ||&& (MenuMode 1020 == 0) ||&&
(MenuMode 1021 == 0) ||&& (MenuMode 1024 == 0) ||&& (MenuMode 1038 == 0) ||&&
(MenuMode 1039 == 0) ||&& (MenuMode 1044 == 0) ||&& (MenuMode 1045 == 0) ||&&
(MenuMode 1046 == 0) ||&& (MenuMode 1047 == 0) ||&& (MenuMode 1057 == 0)
set MessageCounter to (MessageCounter + 1)
Return
Else endif
else ;MenuMode 1001
Set MessageTimer to (MessageTimer - GetSecondsPassed)
Set MessageCounter toset (MessageCounter -to 1)0
Returnendif
Endifelse ;Choice > -1
set MessageCounter to 0
Else ;MenuMode 1001
Set MessageTimer to 1endif
else ;Display menu again
Set MessageCounter to 45
Returnset Choosing to -(Choosing)
set MessageCounter to 0
Endif
Else ;Display message "Trying menu again..."
endif
Message "Trying menu again..."
Set Choosing to -(Choosing)
Return
Endif
 
 
Elseif (Choosing == -1) ;Display your menu
Set ExitButton to #1 ;1Running menus in thisboth GameMode and exampleMenuMode
Messagebox "What would you like to do?" "First Option" ... "Exit Menu"
Set Choosing to 1
Set Choice to GetButtonPressed-1
Elseif (Choosing == 1) ;Catch the player's decision
Return
If (Choice == 0) ;First Option
;run your code for the first decision
Elseif (Choice == 1) ;Exit Menu
;run your code for the second descision
Set Choosing to 0 ;to finish up
Endif
 
Elseif (Choosing == 1) ;CatchAllowing the player's decisionto set any number
short NumNewIngsDefault
Elseif (Choice == 0) ;First Option
elseif (Choosing == -2)
;run your code for the first decision
set ExitButton to -2 ;Running menus in both GameMode and MenuMode
Set Choosing to 0 ;to finish up
messagebox "Set the default number of essences to be created.
Elseif (Choice == 1) ;Second Option
(Currently %g)", NumNewIngsDefault,
;run your code for the second descision
"About 10 fewer (-12 to -8)"
Set Choosing to 0 ;to finish up
"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 2
set Choice to -1
elseif (Choosing == 2)
if (Choice == 0) ;10 fewer
set NumNewIngsDefault to (NumNewIngsDefault - 10)
set Choosing to -2
elseif (Choice == 1) ;5 fewer
set NumNewIngsDefault to (NumNewIngsDefault - 5)
set Choosing to -2
elseif (Choice == 7) ;5 more
set NumNewIngsDefault to (NumNewIngsDefault + 5)
set Choosing to -2
elseif (Choice == 8) ;10 more
set NumNewIngsDefault to (NumNewIngsDefault + 10)
set Choosing to -2
elseif (Choice == 2) ;-2
set NumNewIngsDefault to (NumNewIngsDefault - 2)
set Choosing to -1
elseif (Choice == 3) ;-1
set NumNewIngsDefault to (NumNewIngsDefault - 1)
set Choosing to -1
elseif (Choice == 4) ;Cancel
set Choosing to -1
elseif (Choice == 5) ;+1
set NumNewIngsDefault to (NumNewIngsDefault + 1)
set Choosing to -1
elseif (Choice == 6) ;+2
set NumNewIngsDefault to (NumNewIngsDefault + 2)
set Choosing to -1
elseif (Choice == 9) ;Return to previous menu
set Choosing to -1
endif
Endif
 
Set Working to 1
 
Elseif (Choosing == -2)
...
Endif
End</pre>
Anonymous user

Navigation menu