Difference between revisions of "Category:MenuMate"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Speedo
imported>Shademe
(Updated to reflect recent developments)
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{OBSE Plugin
{{OBSE Plugin
|Version    = Beta 1
|Version    = Beta 3
|InternalVer = 1
|InternalVer = 3
|Name        = MenuMate
|Name        = MenuMate
|Author      = [http://www.bethsoft.com/bgsforums/index.php?showuser=233615 Speedo]
|Author      = [http://www.bethsoft.com/bgsforums/index.php?showuser=233615 Speedo]
Line 9: Line 9:
*#Browse to the folder Oblivion\Data\obse\plugins
*#Browse to the folder Oblivion\Data\obse\plugins
*#Extract the contents of the downloaded zip into that folder
*#Extract the contents of the downloaded zip into that folder
|Download    = [http://www.tesnexus.com/downloads/file.php?id=21199 TES Nexus]
|Download    = Not Available
|Source      = 0
|Source      = 0
|Discussions = [http://www.bethsoft.com/bgsforums/index.php?showtopic=920401 <nowiki>[BETA]</nowiki> MenuMate]
|Discussions = [http://www.bethsoft.com/bgsforums/index.php?showtopic=920401 <nowiki>[BETA]</nowiki> MenuMate]
Line 23: Line 23:
For general information about XML, see [http://en.wikipedia.org/wiki/Xml Wikipedia]
For general information about XML, see [http://en.wikipedia.org/wiki/Xml Wikipedia]


Each menu created by MenuMate consists of various elements, all of which are defined within the XML file.  Each menu must be defined within a single XML file, and each XML file may contain only one menu.
Each menu created by MenuMate consists of various elements, all of which are defined within the XML file.


===Elements===
===Elements===
The elements are:
The elements are:
*[[Menu_(MenuMate)|Menu]] - An element which defines all of the dialogs contained within your menu.
*[[Menu_(MenuMate)|Menu]] - An element which defines all of the dialogs contained within your menu.  Each file may contain only one menu.
*[[Dialog_(MenuMate)|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.
*[[Dialog_(MenuMate)|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_(MenuMate)|Button]] - Defines a single button within a dialog.  Each dialog must contain at least one button, and may contain a maximum of ten buttons.
*[[Button_(MenuMate)|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===
===Variables===
In several places throughout this documentation, the use of variables is referred to.  When used in the XML, you must give the '''name''' of the variable you wish to use. You '''''may not''''' use the ObjectName.VariableName syntax for these variableThe variable '''''must''''' be located within the script which calls [[mmLoadMenu]] to display the menu.
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 scriptingIn 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====
====Note====
Line 38: Line 50:


==Miscellaneous==
==Miscellaneous==
*Magic effect scripts should generally be avoided for displaying MenuMate menus.  They '''can not''' be used if your menu attempts to use any variables (attempting to use them will likely cause a crash)If your menu does not use variables then it should work, however [[mmGetStatus]] will not be able to track your menu's status correctly.
*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 crashesRemote 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.
*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 "..\My Documents\My Games\Oblivion\MenuMate\", though you may specify additional sub-folders within that directory.
*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.
*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.

Latest revision as of 17:17, 26 September 2009


MenuMate
Author(s)

Speedo

Current Version Beta 3 (GetPluginVersion returns 3)
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

Not Available

Source Code

Not Available

Discussions

[BETA] MenuMate

OBSE Name "MenuMate"

(for use with IsPluginInstalled/GetPluginVersion)



Tutorial[edit | edit source]

See MenuMate Tutorial

General Information[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

  • 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.