|
05-22-2007, 01:44 AM
|
|
Snoogans!
|
|
Join Date: Oct 2005
Server: Befallen
Posts: 53
|
|
Targets that turn attackable still not showing
Sadly the target windows are still not working in v3.4 when it comes to targets that turn attackable.
Last edited by Mayve : 05-22-2007 at 01:56 AM.
|
05-22-2007, 05:26 AM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Yes I already noticed that as well. I'll have to sit down and finally figure this one out, that must be the longest standing issue with the interface... Will do so after my vacation (2 weeks starting this weekend, yay!). For some reason the DynamicData I'm using does not trigger correctly when targets turn attackable. I'll just have to find another one that works and use that instead...
Last edited by gm9 : 05-22-2007 at 05:32 AM.
Reason: added info
|
05-22-2007, 03:55 PM
|
A Brown Bear
|
|
Join Date: Mar 2005
Server: Antonia Bayle
Posts: 9
|
|
Keep up the great work Gm9!
|
05-23-2007, 02:39 PM
|
|
A Griffon
|
|
Join Date: Mar 2005
Server: Lucan DLere
Posts: 847
|
|
Ah shoot. I must not have looked at this very closely before.
Your target window has a special page for NPCs and shinies so that it displays them entirely differently. Hmm, for shinies it only checks for "?" though and not the "!" book pages... Anyway, there's a lot of scripting attached to the "Info" text which is where the target shows a mob's level. It looks like:
<Text AbsorbsInput="false" actiontype="Target" DynamicDataFilter="FBFB" Font="/Profit.Fonts.FontArial14T" LocalText="Level 75 Epic(x4)" Location="0,18" Name="Info" OnHide="Parent.Name.size="500,0"
Parent.Power.Visible=False
Parent.Health.Visible=False
Parent.Info.Size="0,0"
Parent.Parent.Common.Shiney.Visible=((Parent.Name.Text)==('?'))
COND=(Parent.Name.Text == '?')
CONDTRUE="0,0"
CONDFALSE="154,75"
Parent.Parent.Common.Name2.Size=COND ? CONDTRUE : CONDFALSE
Visible=True" PackLocation="top,left" PackLocationProp="0000/0001,0018/0001" ScrollExtent="172,21" ShadowStyle="/ShadowStyles.BlackOutlineNoShadow.Outline1" Size="172,21" TextAlignment="Center" TextAlignmentVertical="Center">Level 75 Epic(x4)</Text>
When this "Info" text is hidden it switches modes entirely and shows the Name2 style text from the Common page. I messed around with it a bit and put in some OnShow scripting like:
<Text AbsorbsInput="false" actiontype="Target" DynamicDataFilter="FBFB" Font="/Profit.Fonts.FontArial14T" LocalText="Level 75 Epic(x4)" Location="0,18" Name="Info" OnHide="Parent.Name.size="500,0"
Parent.Power.Visible=False
Parent.Health.Visible=False
Size="0,0"
Parent.Parent.Common.Shiney.Visible=((Parent.Name.Text)==('?'))
COND=(Parent.Name.Text == '?')
CONDTRUE="0,0"
CONDFALSE="154,75"
Parent.Parent.Common.Name2.Size=COND ? CONDTRUE : CONDFALSE" OnShow="Parent.Name.Size='164,14'
Parent.Power.Visible=True
Parent.Health.Visible=True
Size='172,21'
Parent.Parent.Common.Shiney.Visible=False
Parent.Parent.Common.Name2.Size='0,0'"
PackLocation="top,left" PackLocationProp="0000/0001,0018/0001" ScrollExtent="172,21" ShadowStyle="/ShadowStyles.BlackOutlineNoShadow.Outline1" Size="172,21" TextAlignment="Center" TextAlignmentVertical="Center">Level 75 Epic(x4)</Text>
which basically reverses everything that the OnHide scripting does. It seems to work ok. It doesn't switch modes to show you the health and power instantly. The window has to be updated by some kind of event, like a change in health or power etc. but the default interface window works the same way. It doesn't change instantly either.
Oh, I was doing all this testing on the sparring partners in Hate's Envy. Those change back and forth from NPC to attackable really easily.
Last edited by Othesus : 05-23-2007 at 02:43 PM.
|
05-23-2007, 03:19 PM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Quote:
Originally Posted by Othesus
Your target window has a special page for NPCs and shinies so that it displays them entirely differently. Hmm, for shinies it only checks for "?" though and not the "!" book pages...
|
I'm fairly certain that you cannot tab-target "!" pages. The code for "?" is a workaround where you tab-target the "?" and then double-click it again or something like that (memory is hazy and that code is a mess anyway - was actually my first use of conditionals ever IIRC).
Quote:
Originally Posted by Othesus
It seems to work ok. It doesn't switch modes to show you the health and power instantly. The window has to be updated by some kind of event, like a change in health or power etc. but the default interface window works the same way. It doesn't change instantly either.
|
Right, currently I use the power bar. NPC's don't have one. Once you target something with a power bar the DynamicData gets triggered and switches the mode of the window. However, on NPC's turning attackable and thus obtaining a power bar while you have them targetted, this does not work.
Interesting that your code seems to work, I'm fairly certain that I already tested an OnShow event on the info text - actually it was the first thing I tried since I already use the OnHide event of that object. Maybe the behaviour of that object changed over time, it was long ago when I last looked at the code, and I can't remember what the issue with it was. Would be cool if that's it, in any case thanks for taking the time to find a workaround.
To you want to go ahead an upload your window here so people can test it just in case the sparring partner's behave differently than other mobs or other issues appear like the window not switching to NPC mode when it should?
|
05-24-2007, 05:28 AM
|
|
A Griffon
|
|
Join Date: Mar 2005
Server: Lucan DLere
Posts: 847
|
|
Well, I spent a few more hours testing the scripts and it's a little more complicated still. Putting all the scripts into the "Info" text object almost works but not quite. This is what is visible in the target window depending on the type of thing you're targeting:
MOB: health, power, level
NPC: health, power, no level
Shiny/Harvestable: health, power is inactive (gray), no level
So you would think that putting the script into the level "Info" text object would work. It works for every case except for tabbing from NPC to NPC or between NPCs and Shiny/Harvestables. In that case the health and power bars pop up. Grrr.
So there has to be a couple more checks.
Last edited by Othesus : 05-24-2007 at 05:45 AM.
|
05-24-2007, 06:57 AM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Quote:
Originally Posted by Othesus
So you would think that putting the script into the level "Info" text object would work. It works for every case except for tabbing from NPC to NPC or between NPCs and Shiny/Harvestables. In that case the health and power bars pop up. Grrr.
|
That's what I thought I remembered about that actually and why I did not use it. Glad I'm not the only one that goes "Grrr" on this one.
Maybe putting it on another object that receives DD or even triggering it from another window (player window?) works. Have fun finding the solution - I hope you do. I thought you didn't even use ProfitUI btw?
|
05-24-2007, 11:59 AM
|
|
A Griffon
|
|
Join Date: Mar 2005
Server: Lucan DLere
Posts: 847
|
|
I think I have this almost figured out. I decided to build all the scripts from scratch into some hidden buttons that have master control over everything else. Putting scripts into different objects and having them fight and interact in strange ways was just too complicated.
I mostly use the default interface with some of my own pieces and a few downloaded from eq2interface. I keep Profit and Fetish folders for reference though. A lot of times I'll try to find an example of some kind of script or syntax and I can't find it in the forums so I'll look through them for an example.
I actually like fixing bugs and things. It's frustrating sometimes but it's more challenging than playing the game.
|
05-24-2007, 12:14 PM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Quote:
Originally Posted by Othesus
I actually like fixing bugs and things. It's frustrating sometimes but it's more challenging than playing the game.
|
QFE. That's probably why many if not most of us do this.
|
05-24-2007, 09:06 PM
|
|
A Griffon
|
|
Join Date: Mar 2005
Server: Lucan DLere
Posts: 847
|
|
Whew! After a few more hours of testing and debugging I think this window works.
The script buttons control the visibility of all the window parts, so there isn't any funky size changing scripts. The real trick was figuring out which objects should trigger the buttons since the game client shows and hides a lot of parts by itself. It turned out that the buttons need to be triggered from the "Info" level text object and the v0/v1 pages.
The InfoTestButton makes each part visible depending on the "Info" level text and triggers the ShineyTestButton if necessary. The ShineyTestButton checks if the Name is ? or ! and makes the Name2 font really big if it is.
<Button Name="InfoTestButton" OnActivate="Parent.Health.Visible=Parent.Info.Visible
Parent.Power.Visible=Parent.Info.Visible
Parent.Name.Visible=Parent.Info.Visible
Parent.Parent.Common.Name2.Visible='!'Parent.Info.Visible
Parent.ShineyTestButton.Activated='!'Parent.Info.Visible
Activated=False" Visible="False"/>
<Button Name="ShineyTestButton" OnActivate="QuestionText = (Parent.Name.Text == '?')
ExclamationText = (Parent.Name.Text == '!')
ShineyCOND = QuestionText || ExclamationText
Parent.Parent.Common.Name2.Font = ShineyCOND ? '/Fonts.FontKabosGyula30' : '/Profit.Fonts.Font20'
Activated=False" Visible="False"/>
I only got to test this target window against the sparring partners in Hate's Envy and in that area. If anyone else can, please test it out in other situations.
Last edited by Othesus : 05-26-2007 at 12:01 AM.
|
07-08-2007, 08:19 AM
|
gm10-1
|
|
Join Date: Feb 2006
Posts: 6,479
|
|
Finally got to test this, also with sparring partners. Interesting implementation. It doesn't appear to update automatically, but works fine each time you enter attack stance (alas not when you exit attack stance). I suppose that's good enough. Going to use this. Thanks.
|
07-10-2007, 07:16 AM
|
|
A Griffon
|
|
Join Date: Mar 2005
Server: Lucan DLere
Posts: 847
|
|
Quote:
Originally Posted by gm9
Finally got to test this, also with sparring partners. Interesting implementation. It doesn't appear to update automatically, but works fine each time you enter attack stance (alas not when you exit attack stance). I suppose that's good enough. Going to use this. Thanks.
|
Which situation does the target not change? (You mean it works from NPC -> attackable but not from attackable -> NPC? I think there might be a delay of a second or two... I forget now.) The good thing about putting the master control into two buttons is that they can be triggered from any other object and they don't have any funny side effects. I ended up triggering them from three places but they could be triggered from anywhere else too.
Last edited by Othesus : 07-10-2007 at 07:29 AM.
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 10:43 PM.
|
|