Jump to content

XML files and custom menus


sagittarius22

Recommended Posts

I was going to create some custom menu addons for my HUD, so I decided to take a look at already existing XML files.

I.Don't. Understand. Anything.

My goal would be to make something like in PN (with custom menus for implants, for example). Where should I learn this?

Can someone make a tutorial?

Thanks in advance...

Link to comment
Share on other sites

I learned some by looking at how it's done in this mod. That mod allowed me to figure out how to make HUD elements in my mod here.

 

The implant menu in PN is actually just the tutorial menu (open weapon tab, ammo tab, etc for the first time) high-jacked to display the new stuff. IIRC, they said it was a lot of work and barely worth the effort.

 

When I first looked at the HUD stuff, I was confused too. But working on that counters menu stuff helped. I just kept working on it, and referring to parts of other menu files that looked similar. Alternatively, look in a mod like PN, and check out the game scripts compared to the xml files to see if that helps them make more sense.

 

It took me probably about 2 weeks of staring at the stuff to figure it out, but once I got it, the xml stuff just kind of falls into place and I can now look at it and understand most of what's going on in them.

Link to comment
Share on other sites

Although it's fairly simple once you know what's going on, it's a really complex thing to dive into or explain to someone. Fortunately, there's some good documentation on Oblivion XML. (Unfortunately, I only found that a few weeks ago... I had to learn the hard way.) Since that's for Oblivion XML and not Fallout XML, there have been some additions from what's written there. You can find the new stuff if you browse through master_menu_file.txt, though.

 

You'll also need to learn how to use menu input, which isn't covered there. One way is to detect a hotrect element's <mouseover> value and have your script run IsKeyPressed to detect a click. Another way, which also works for controllers, is to have a custom tag (one with a _ prefix, or user#) that adds the hotrect's <clicked> value and then gets cleared when another value is set via script. You'll find this method used by most interactive menus.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...