The ghost,  My menus system is a bit more complex for sure .. See example script below to get you started.... 
MenuDefinition Options (wrapped in _):   ControlBar, Status, HeartBeat, Location, ToolBarsAllowed, Mainbar1, Mainbar2, Mainbar3, Action, House, XIIXSuperStuff, Info, Antiidle, ScriptBar, ScriptTools, EliteBar, MiscTools, Gardening, Resources, Health, PlayerBar, ScriptInfo, Overseer
Play around adding different menu definition options ..
Get a copy of EN-Settings.txt here <- 
http://www.scriptuo.com/index.php?topic=10609.msg89005#msg89005Reason I use EN-Settings.txt to record your custom pathing is that this way you can share the script without people needing to modify your path as they will have thier own en-settings.txt with thier custom pathing.
set %EN_ScriptName   The-Ghost-Menu-Experiement
call #curpath , ENs-Settings.txt       ; Put your custom pathing information inside here.
call %EN_SubScriptPath , \ENs-Subs-Standard.txt  ENs_SetupSubNamesAndPaths     ; see this sub for all pathing vars to subs that get set
set %EN_Script_MenuDefinition _ControlBar_Status_HeartBeat_Location
call %ENs_Subs_Menus SetProgressBox %EN_ScriptName - #CharName  ; initalize menu
set !Count 1
Repeat
  call %ENs_Subs_Menus CheckProgressMenu    noghost    ; if dont add noghost option checks if you are a ghost.
  ; do something
  set !Count !Count + 1
  call %ENs_Subs_Menus GLOBALSetStatus  Status Line - My Count: !count
  wait 1
until  %DontStop = #false
Halt
Above code will give you a fully functional menu with   Pause,  Exit , EUO-Pause, EUO-Halt, Settings, ? Buttons,  Inform  you of your current location, provide a script heartbeat so you can always see the script is functioning and provide a script status line.
Its pretty powerfull stuff, let me know what you think.