Category:MenuMate

From the Oblivion ConstructionSet Wiki
Revision as of 21:02, 7 December 2008 by imported>Speedo
Jump to navigation Jump to search


MenuMate
Author(s)

Speedo

Current Version Beta 2 (GetPluginVersion returns 2)
Description

MenuMate significantly simplifies the create of complex in-game menus. It completely eliminates the need for complex scripts to display and process menus, instead allowing you to define your menu in an XML file and display it in game with a single command.

Installation
  • Manual Install:
    1. Browse to the folder Oblivion\Data\obse\plugins
    2. Extract the contents of the downloaded zip into that folder
Download

TES Nexus

Source Code

Not Available

Discussions

[BETA] MenuMate

OBSE Name "MenuMate"

(for use with IsPluginInstalled/GetPluginVersion)



Tutorial

See MenuMate Tutorial

General Information

For general information about XML, see Wikipedia

Each menu created by MenuMate consists of various elements, all of which are defined within the XML file.

Elements

The elements are:

  • Menu - An element which defines all of the dialogs contained within your menu. Each file may contain only one menu.
  • Dialog - A dialog is a single screen which is displayed to the player, comperable to a MessageBox. There is no limit on the number of dialogs a menu may contain.
  • Button - Defines a single button within a dialog. Each dialog must contain at least one button, and may contain a maximum of ten buttons.

Variables

Several parts of MenuMate make use of variables. When using variables with MenuMate, you may do one of two things:

  • Local Variable - a variable which is located in the same script that calls mmLoadMenu. Simply use the name of the variable.
  • Remote Variable - a variable located on a different object. For these variables, use the ref.variablename syntax, however they work slightly different than in normal scripting. In order for MenuMate to read the variable, the ref must be the name of a local ref variable set to the object (a quest or persistent reference) which actually contains the desired variable. For example, to have MenuMate access a variable named "debugstatus" on a quest named "DebugInfo", the script which loads the menu would go something like:
ref debugquestref

...

set debugquestref to DebugInfo
mmLoadMenu "mymenu.xml"
Meanwhile, the XML for a togglebutton in mymenu.xml which accessed this variable would be defined as:
<togglebutton targetvar="debugquestref.debugstatus">
...

Note

When MenuMate loads variables, it does no checking of the types of the variables. It is 100% your responsibility to be sure that the correct variable types are used in the right place.

Miscellaneous

  • Magic effect scripts should generally be avoided for displaying MenuMate menus. If you do use them, there are several limitations on your menus:
    • You may not use any local variables in the menu - doing so may cause crashes. Remote variables will work fine.
    • mmGetStatus may not return reliable information.
    • mmUpdate may not work reliably.
  • Be sure that you use mmGetStatus to check that your menu has completed successfully before using settings or information from it.
  • All XML files must be located under the path "Oblivion\DataMenuMate\", though you may specify additional sub-folders within that directory.
  • MenuMate saves no additional data to the hard drive, and uses little memory in game. Your menu is loaded when you request that it be displayed, and is cleared from memory when it exits.

Pages in category "MenuMate"

The following 7 pages are in this category, out of 7 total.