Home Forum Downloads My Favorites Register FAQ

Go Back   EQInterface Forums > General Discussion > Chit Chat
User Name
Password

Reply
 
Thread Tools Display Modes
Old 07-29-2002, 09:45 AM   #1
Saibyn
A Gray Wolf
 
Join Date: Jul 2002
Posts: 9
Send a message via AIM to Saibyn
Default XML Tutorial?

Where can I find one? I've been wanting to make my own skins but I need to learn this stuff first /sigh

If anyone can point me to a free tutorial that'd be great. Thanks.
__________________
<< Saibyn - 55 Monk of Tranquility - Blacklist >> Epic: Yes
<< Zurgu - 13 Warrior of The Warlord - Blacklist >> Epic: No
Saibyn is offline   Reply With Quote
Old 07-29-2002, 11:52 AM   #2
buzweaver
A Shissar Disciple
 
Join Date: Jul 2002
Server: Bertoxxulous
Posts: 119
Send a message via AIM to buzweaver
Default

__________________

Retired
BuzzFelinous (26 Bard)
BuzzVar(40 Shaman)
BuzzSilverThor (68 Storm Warder )
buzweaver is offline   Reply With Quote
Old 07-29-2002, 11:55 AM   #3
Kalthanan
A Hill Giant
 
Join Date: Jul 2002
Server: Cazic Thule
Posts: 34
Post XML Tutorial

Basically, the way XML is used in the EQ UI files, it's just a tiered config file, with open and close tags to define the areas.

What happens in the XML file is something along these lines:
1. Define standard stuff, like the schema (we don't have access to a list of these or a way to change them, so we have to ignore it for now), XML version, and XML ID.. just ignore this stuff.
2. Define the pieces (gauges, labels)
3. Define the window
4. List the pieces (gauges, labels)
5. Close the XML tag.

Code:
<?xml version = "1.0"?> <XML ID="EQInterfaceDefinitionLanguage"> <Schema xmlns="EverQuestData" xmlns:dt="EverQuestDataTypes"/> <Gauge item="Player_HP"> <ScreenID>PlayerHP</ScreenID> <!--<Font>3</Font>--> <TextColor> <R>240</R> <G>240</G> <B>240</B> </TextColor> <RelativePosition>true</RelativePosition> <Location> <X>3</X> <Y>0</Y> </Location> <Size> <CX>108</CX> <CY>41</CY> </Size> <TextOffsetX>8</TextOffsetX> <GaugeOffsetY>33</GaugeOffsetY> <Style_VScroll>false</Style_VScroll> <Style_HScroll>false</Style_HScroll> <Style_Transparent>false</Style_Transparent> <!--<TooltipReference/>--> <FillTint> <R>240</R> <G>0</G> <B>0</B> </FillTint> <LinesFillTint> <R>220</R> <G>220</G> <B>0</B> </LinesFillTint> <DrawLinesFill>false</DrawLinesFill> <!--<EQType>1</EQType> used to display player name JKH --> <GaugeDrawTemplate> <Background>A_GaugeBackground</Background> <Fill>A_GaugeFill</Fill> <Lines>A_GaugeLines</Lines> <LinesFill>A_GaugeLinesFill</LinesFill> <EndCapLeft>A_GaugeEndCapLeft</EndCapLeft> <EndCapRight>A_GaugeEndCapRight</EndCapRight> </GaugeDrawTemplate> </Gauge> <Screen item="PlayerWindow"> <!--<ScreenID/>--> <RelativePosition>false</RelativePosition> <Location> <X>130</X> <Y>260</Y> </Location> <Size> <CX>124</CX> <CY>96</CY> </Size> <Text>Player</Text> <Style_VScroll>false</Style_VScroll> <Style_HScroll>false</Style_HScroll> <Style_Transparent>false</Style_Transparent> <TooltipReference>The Breath Meter</TooltipReference> <DrawTemplate>WDT_RoundedNoTitle</DrawTemplate> <Style_Titlebar>false</Style_Titlebar> <Style_Closebox>false</Style_Closebox> <Style_Minimizebox>false</Style_Minimizebox> <Style_Border>true</Style_Border> <Style_Sizable>false</Style_Sizable> <Pieces>Player_HP</Pieces> <Pieces>Pet_HP</Pieces> <Pieces>Player_HPNumber</Pieces> <Pieces>Player_Mana</Pieces> <Pieces>Player_ManaPercent</Pieces> <Pieces>Player_Fatigue</Pieces> <Pieces>Player_ExpGauge</Pieces> <Pieces>Player_XPPercent</Pieces> <Pieces>Player_NextLevelSign</Pieces> <Pieces>Player_AltAdvGauge</Pieces> <Pieces>Player_AAXPPercent</Pieces> <Pieces>Player_AANextLevelSign</Pieces> </Screen> </XML>


The listing I have here is a stripped down version of the Player window. I took out all the "pieces" except the player's hit points. If you look at the code between

Code:
<Gauge item> and </Gauge>

you'll see everything that defines how the Player Hit Points gauge works. The tags are pretty descriptive, and are best left as an exercise for the reader to figure out.

Then we get to

Code:
<Screen item=PlayerWindow>

This actually defines the window itself (transparency, size, default location, window type, whether or not it should have scrollbars, etc. Then it lists the pieces you defined earlier in the code. Then it closes the Screen tag and closes the XML tag, and you're done.

A couple rules you have to remember;
1. There are quirks in the way EQ reads these files; get used to crashing out if you do a lot of modding and experimenting.
2. For those of you who don't like to use third party programs to modify your skin while you're online, you can set up a second PC on your LAN and share your UI files directory and edit the files remotely, then reload the skin and zone to update the skin.
3. Some of the windows REQUIRE certain pieces be present. You can strip them so that they don't display anything by removing everything between the defining tags, but be aware of this.
4. Displaying more than one of the same tag (ie, the player hit points label -- people like to put that on their player window in addition to their inventory window) results in one of them not working anymore. For some reason EQ can't tolerate redundant labels.

Whew! Anyway, hope this helps.

Kal
Kalthanan is offline   Reply With Quote
Old 08-13-2002, 11:14 AM   #4
syberwired
A Snow Cougar
 
Join Date: Aug 2002
Server: Erollisi Marr
Posts: 46
Interface Author - Click to view interfaces
Send a message via ICQ to syberwired Send a message via AIM to syberwired
Default Help with Dragging windows...

Where in the code does it turn off and on the ability to drag windows? I have a skin downloaded, but am not allowed to drag it to a new position. I have to, instead, resize it around the screen to get it where I want it. I thought it was one of the <Style_*> elements, but I do not see one that would turn this function on or off. Then I thought it might be the <Relative_Position> element, but that isn't it either I think. Any help would be greatly appreciated. And yes, I've used the search engine. That is how I found this string.
syberwired is offline   Reply With Quote
Reply




Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT -5. The time now is 03:15 PM.


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