EQ2Interface

EQ2Interface (https://www.eq2interface.com/forums/index.php)
-   UI Developer Discussion (https://www.eq2interface.com/forums/forumdisplay.php?f=3)
-   -   How to develop an UI, please: some questions (https://www.eq2interface.com/forums/showthread.php?t=6570)

Mathias 08-04-2006 09:12 PM

How to develop an UI, please: some questions
 
Greetings all!

I'm a C# programmer and I want to try to create my own EQ2 UI.

So, I've been reading the official documentation found in the ZIP file "UIBuilder.zip".

After reading it I've been looking at the default skin code and what I found was XML.

I don't understand very well how to code your own UI... what programming language you've to use in order to code an UI? Is it all made using XML?

Thank you in advance!

dragowulf 08-05-2006 02:19 AM

You use UIBuilder, a program that SOE created... knowing xml is very useful too. Play around with UIBuilder, you'll get the hang of it within a day or two

Start with opening it up, and then going to Open, go to the default UI folder, and chose eq2ui.xml, it loads all the other .xml UI pieces, from their it should be very simple.

Keep in touch!

Mathias 08-05-2006 04:09 AM

Yeah, thank you, that's ok... but I'm not meaning how to modificate an existing UI.

I want to create an UI from the beginning because I'm going to redefine all.

Playing around the UI Builder doesn't help me since I don't see any window to scripting or whatever.

Can you really help me? I promise you'll remember these words when you'll be playing with my UI *cof cof* (j/k!!).

Thank you :D

lordebon 08-05-2006 07:32 AM

If I think I know where you're going...

You can't. The only thing you can do is modify the xml files (maybe make some of your own) and use the scripts and data SOE gives you. The UI's base is hard-coded into the game: you can't redefine it in any way other than the modification of the xml files.

dragowulf 08-05-2006 10:24 AM

Aye, the way people make their own Complete Sets is by editing the default windows, because of the hardcoded stuff, it has to be exact. You don't start editing .xml's, maybe after your done you could add an "onshow" command, or something, but EQII's UI is very limited, rather than WoW's for the fact that the EQII Devs don't want us to have every single piece of info their is in the game, like WoW.

instant 08-05-2006 10:40 AM

Quote:

Originally Posted by Mathias
Greetings all!

I'm a C# programmer and I want to try to create my own EQ2 UI.

So, I've been reading the official documentation found in the ZIP file "UIBuilder.zip".

After reading it I've been looking at the default skin code and what I found was XML.

I don't understand very well how to code your own UI... what programming language you've to use in order to code an UI? Is it all made using XML?

Thank you in advance!

The EQ2UI is so basic and limited it is hardly worth the trouble to do anything with it. (And very frustrating if you come from the WoW UI scene).

If you want a good place to start, take a look at Profit Reborn v2 and modify some of their files (.xml only) and see what you can come up with.

Mathias 08-05-2006 01:10 PM

Ok. Thank you for your answers.

I'll check it and if I start creating a new UI you'll have news very soon!

Landiin 08-05-2006 04:36 PM

What most have said is true but it's not as limited as they make out. The only thing to keep in mind is you have to stay with their naming scheme of the UI tree. Other then that you are free to do what ever.

Most onscreen windows are in the module MainHud. Also keep in mind; just because you are editing the target window doesn't mean it has to be the target window, you can make the player window the target window. It all depends on what gamedata you use in the root node of a window.

Every window is made up of objects. The most common object is the page object. <page name="blah" /> Each object has a set of event handlers, such as OnShow, OnHide, OnActivated, Ondeactivated and ect.. Through these event handlers you can add your script.

The Script engine SOE has provided IS very limited. You can't do any manipulation of strings you have basic math operation. Scripts are executed top to bottom right to left.

Through scripts you can modify any property of any object in the UI but you have to call it from where you are in the UI. Example;

<page name="PageOne" OnShow="PageTwo.b1.localtext=Blah" Size="1,1">
<page name="PageTwo" Size="5,5">
<button localtext="Hrmm" name="b1" OnPress="Parent.Parent.Size=2,2"/>
</page>
</page>

Look at the OnShow event handler;

PageTwo.b1.localtext=Blah

See how I got through the layers/child object to get to where I want to go. I access each child object by its name.

Look at the OnPress envent handler.

Parent.Parent.Size='2,2'

I have to go up 2 object via the Parent directive to access PageOne's size. If I wanted to access PageTwo's Size I would of only use on Parent directive. So kind of look at the UI tree as a directory tree and you have navigate it that way replace .. with parent. :P

Prophet was brought up and he might use some advanced scripting I don't know never looked but you should take a look eq2map's code, eXteme's group and start button has some good script to look at for controlling what images are displayed based on class. Fetish's mods have some nice advanced scripting in them also.

The best thing to do is download some of the top mods, rip them apart to see what makes them tick.

Mathias 08-05-2006 06:30 PM

Thank you for the information.

BTW, I'm surprised about how SOE did the "scripting", using an XML dialect.

I believe they had to create a real scripting engine using a syntax like C (such as NWN Scripting, you know?).

I'll have to study hard the XML dialect because I've never seen something like this and I usually code using C#... =\

Well, I'll take your words! Thank you again :)

EDIT: I've been reading your post again and now I understand how it works better than before.

It's something like a very light object-oriented XML-based programming, where you can get the object properties data and show them where you need to.

If I'm understanding how it works well, I guess the work of an UI designer is to create a skin for every data found in the game, from the player stats, to the quest journal, or whatever.

Oh yeah!

Landiin 08-05-2006 09:28 PM

Quote:

Originally Posted by Mathias
It's something like a very light object-oriented XML-based programming, where you can get the object properties data and show them where you need to.!

Exactly that is a good summation of it.


All times are GMT -5. The time now is 12:55 PM.

vBulletin® - Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© MMOUI