EQ2Interface.com
Search Downloads


Go Back   EQ2Interface > Developer Discussion > UI Developer Discussion

Reply
Thread Tools Search this Thread Display Modes
  #1  
Unread 01-23-2005, 10:36 PM
Morgor Morgor is offline
A Young Mystail Rat
 
Join Date: Jan 2005
Server: Antonia Bayle
Posts: 7
Default Exp Debt Display Problem

I've been trying to figure out a way to fix the negative debt display when displaying debt in a text label (as I'm sure quite a few of you have).

I've been playing with the math, and this appears to be a working formula for determining the actual debt: (ExperienceCurrent + ExperienceDebtCurrent) MOD ExperienceCurrent

So far, I haven't found out a way to have any of the objects (and their events) perform this calculation dynamically as exp changes, though.

I also thought about setting the opacity of the label to 1 + ExperienceDebtCurrent (which, I'm assuming, would round to acceptable values of either 1.000 or 0.000). Again, I can't figure out how to dynamically set this value as exp changes.

Anyone have any ideas? Can we even perform calculations with DynamicData, or do we just have to wait for SOE to either change the way they calculate debt bar length or create a new DynamicData value for ExpDebtText? It would be nice if we could (somehow) use the same logic that they use for displaying debt when you hover over the exp bar.

Last edited by Morgor : 01-23-2005 at 11:00 PM.
Reply With Quote
  #2  
Unread 01-23-2005, 10:45 PM
ZDamned ZDamned is offline
A Brown Bear
 
Join Date: Jan 2005
Server: Antonia Bayle
Posts: 11
Default

I thought about this myself, im not much of a programmer right now, but is there a way to make an IF statment in XML?

Maby this may be the outline of what you can do:

If(Debt = 0);
Show debt == 0;

Is that any possibity? because i heard that this only happened because of a patch Sony released, so may if you just work around it with a MASK so to say? instead of solving it, just hide it, its not realy a BAD thing ya know?

Hope this helps!
Reply With Quote
  #3  
Unread 01-23-2005, 11:04 PM
Humudce's Avatar
Humudce Humudce is offline
A Griffon
Interface Author - Click to view interfaces
 
Join Date: Oct 2004
Server: Blackburrow
Posts: 352
Default

Quote:
Originally Posted by ZDamned
I thought about this myself, im not much of a programmer right now, but is there a way to make an IF statment in XML?

Maby this may be the outline of what you can do:

If(Debt = 0);
Show debt == 0;

Is that any possibity? because i heard that this only happened because of a patch Sony released, so may if you just work around it with a MASK so to say? instead of solving it, just hide it, its not realy a BAD thing ya know?

Hope this helps!
I would love to find a work around to the -(negative) Regular XP display for the Debt. The problem here I believe is that the gamedata callout for debt either gets a Text String from the Server or Game. The reason I say this is the Text displayed in my 4 XP Bar mods all display a % sign. If the Server or game was supplying a Raw Number so to speak the UI author would have to put in the "%" sign manually. I know if it was a number and not a text string we could work with it, and I could fix my 4 XP Bar Mods.
__________________

[Guild Leader] Tiggler is my Main, Humudce is my Alt on Blackburrow.
Reply With Quote
  #4  
Unread 01-23-2005, 11:27 PM
ZDamned ZDamned is offline
A Brown Bear
 
Join Date: Jan 2005
Server: Antonia Bayle
Posts: 11
Default

OH, so basically you have no controll over how its shown, because its not generated by the UI, but by the server's record of your character... huh... I wonder if my mask idea can still work anyway though? ah.. but you need to make it do a call for what % it it displayign, and that would probably be required to happen at all times... IE alot of send and receive lag right?

All well, we may just need to wait for the next patch...
Reply With Quote
  #5  
Unread 01-24-2005, 12:09 AM
Humudce's Avatar
Humudce Humudce is offline
A Griffon
Interface Author - Click to view interfaces
 
Join Date: Oct 2004
Server: Blackburrow
Posts: 352
Default

I may be totally wrong about it being a text string, I have come to that conclusion only because the number that is displayed when I use the GameData.Self.ExperienceDebtCurrent call out it returns a number with the % sign. Again I do not know if the Game Client generates this or the Server does. I was hoping that maybe one of the folks from SoE can shed some light on this.
__________________

[Guild Leader] Tiggler is my Main, Humudce is my Alt on Blackburrow.
Reply With Quote
  #6  
Unread 01-24-2005, 12:17 AM
Killarny Killarny is offline
A Griffon
Interface Author - Click to view interfaces
 
Join Date: Dec 2004
Server: Neriak
Posts: 273
Default

I wouldn't think it would matter - if you strip off the % symbol and treat it as a number, I think the XML parser wouldn't care. XML is just plain text anyway - the parser doesn't know whether the data was written into memory as numeric data or not.
__________________
Reply With Quote
  #7  
Unread 01-24-2005, 12:57 AM
Morgor Morgor is offline
A Young Mystail Rat
 
Join Date: Jan 2005
Server: Antonia Bayle
Posts: 7
Default

Quote:
I may be totally wrong about it being a text string, I have come to that conclusion only because the number that is displayed when I use the GameData.Self.ExperienceDebtCurrent call out it returns a number with the % sign. Again I do not know if the Game Client generates this or the Server does.
It would have to be a string to have the '%' display, but there are 2 things to consider here:

1. String comparisons work similar to numerical comparisons ('A' < 'B', '0%' < '1%', etc). The problem still remains: based on the posts I have read, there is no if statement.

2. Even though it appears that we are using the same DynamicData value for the progress bar and the text label, I think the UI interpreter is written to handle these values differently for different types of objects. I say this for two reasons: 1. The value must be a numerical value for the progress bar to increment properly (so they're either converting the value to a string and adding the '%' for text label objects, or stripping the '%' and converting the value to a numerical value for progress bars); 2. Notice that the '/GameData.Self.TradeskillExperienceCurrent' DynamicData value somehow increments the progress bar properly, but doesn't display as a text value.

Supposing we could either perform a logical comparison with an if statement or strip the '%' and convert the string to a numerical value, the problem I mentioned in my first post still exists: How do we dynamically either change the value (to display 0% instead of a negative number) or use it to set the Opacity of the text label? (Which event (if any) is triggered when the exp value changes?)
Reply With Quote
  #8  
Unread 01-25-2005, 01:05 PM
Zonx's Avatar
Zonx Zonx is offline
A Green Troll
This person is a EQ2Map developer.
Featured
 
Join Date: Dec 2004
Server: Blackburrow
Posts: 2,221
Default

Wanted to let yal know I tried just about everything I could think of to fix this prob with no luck. Stuff I tried...

1) There is no visibility value passed, so you can't hide it with a datafilter. Particularly annoying since the tooltip is obviously doing something along these lines.

2) Tried setting visibility eqaul to the string, hoping any neg value would hide it, but it just left it visible.

3) Tried setting it equal to bar length but I can't seam to get the width as a seperate value.

The only thing I can think of left to try is dumping the tooltip value into it, but I don't think that's possible. At least I haven't seen anyone manage to spit tooltips into a normal text object.

If anyone has figured out how to do string opperations like substring(), indexof(), string.length or concatination, plz share.
Reply With Quote
  #9  
Unread 01-27-2005, 06:39 AM
Zonx's Avatar
Zonx Zonx is offline
A Green Troll
This person is a EQ2Map developer.
Featured
 
Join Date: Dec 2004
Server: Blackburrow
Posts: 2,221
Default

Nother few hours blown trying every concatination trick I could think of with no luck.

The "+" opperator is strictly math. Any attempt to use +string is ignored.

"&" doesn't work
"." doesn't work
X = X + Y doesn't work
concat(x, y) doesn't work

Tried various quote and bracketing scheams too.
Reply With Quote
  #10  
Unread 01-27-2005, 08:10 AM
Morgor Morgor is offline
A Young Mystail Rat
 
Join Date: Jan 2005
Server: Antonia Bayle
Posts: 7
Default

Quote:
Nother few hours blown trying every concatination trick I could think of with no luck.
Yeah. I'm sure SOE devs are having a good laugh watching us waste countless hours trying to figure out what the UI interpreter is expecting/allowing, which properties work for each object (and how), and which objects are just plain broken ...all with very limited documentation. I know I've wasted quite a few, myself.

On another note, excellent work on the Fetish Inventory mod; I like it, a lot. I tweaked it a little, here and there, and now it's my favorite UI mod.

I'll post a couple of fixes for minor bugs to your Fetish Combo & Pieces 1.1 thread.
Reply With Quote
  #11  
Unread 01-27-2005, 12:01 PM
Eloa Eloa is offline
EQ2MAP Webmaster
This person is a EQ2Map developer.
Interface Author - Click to view interfaces
 
Join Date: Dec 2004
Server: Unkown
Posts: 496
Default

quoted from another post of mine:

The way it looks there is no possibility of there being an if statement incorporated into the UI as the IF (or anythign else) is just bypassed and the first property with a value is set. like above:
if(selecteditemindex=1)parent.page.visible=false
sets selecteditemindex=1 and thats it.

blablahblahdevsare laughing at us(selecteditemindex=1)parent.page.visible=false
sets selecteditemindex=1 and thats it.
Reply With Quote
  #12  
Unread 01-27-2005, 12:55 PM
Humudce's Avatar
Humudce Humudce is offline
A Griffon
Interface Author - Click to view interfaces
 
Join Date: Oct 2004
Server: Blackburrow
Posts: 352
Default

My thought was to try and detect if the actual DeathDebtBubble Progress bar was there with an If Statement and if it was there, then show the death debt, otherwise keep it hidden. But it appears there is currently no way to get the If statement to work in the UI's.
__________________

[Guild Leader] Tiggler is my Main, Humudce is my Alt on Blackburrow.
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
Forum Jump


All times are GMT -5. The time now is 08:27 PM.


Our Network
EQInterface | EQ2Interface | WoWInterface | LoTROInterface | ESOUI | MMOUI