X-Perl UnitFrames
Patch 6.0.3 compatibility and future of X-Perl
Use latest alpha from WoWAce for using in Patch 6.0.3
http://www.wowace.com/addons/xperl/files/
May still has problems but for most cases it should be working(at least was tested on beta), if not, clearing old setting by killing(and backup) XPerlxxxxxxx.lua in the WTF directory of your WoW installlation and try again with fresh new default setting, thanks your patience.
If still someone want to help Zeksie for he earns his donates from X-Perl then that's fine for Zek and X-Perl, but seems like it's time to cut him out as no one want to help X-Perl anymore (as many of users already heard about the mess of this poor addon), I guess.
I don't know X-Perl will still be continue or not(it's highly possible it won't be, as the new maintainer Resike continued the developing and forked to Z-Perl, and he said he won't abandon his addons), I won't force everyone should must to use Resike's one at this point, as his Z-Perl isn't stable yet, and for some reasons, I don't think he want to port his fixes back to X-Perl as he knows about how Zek did about his addons and everyone who helped Zek to maintaining this poor addon...and, of course...X-Perl may broken again when next time Blizzard's patches released..... /sigh
(At this point, I won't force everyone who used X-Perl to go Z-Perl until it's more stable than now, feel free to use Z-Perl or other Unitframe addons if you want, and do NOT hold your breathe about X-Perl too much, too. I already lost my hope on X-Perl, at least I can trust Resike and Z-Perl now...)
Sincerely,
PlayerLin - Maintainer of X-Perl but not a proper skilled coder, just a locale translator and do some shitty PRs. :(
Bug Reporting
Please use the Ticketing System on WoWAce Here and avoid posting bugs using comments on Curse because they're difficult to track and they will probably get lost.
Use a good error catcher (like BugSack from files.wowace.com) and provide the full error text, and give as much information as possible to recreate the problem. Don't assume We know what you're talking about with some three word report.
Introduction
Perl, with Extra stuff. Much enchanced from Nymbia's Perl UnitFrames, and a complete replacement for Blizzard's default unit frames, including raid frames and raid tools, with little remaining of the original Nymbia code.
- Range Finder (combined with optional health check and/or debuff check) for all frames based on spell or item range test.
- HoT Monitor will highlight units clearly that have ''your own'' active Heal over Time spells. Regardless of how many other heal over time buffs are on the raid members, you can keep track of your own ones and when they expire.
- Debuff Highlighting in standard debuff colours on all friendly frames. Priority given to show debuffs that ''you'' can cure first.
- Raid Frames, buff icons, MT list units and some other portions or X-Perl are Created on demand. Saving a lot of time and memory at system startup. Defering the creation of many parts of X-Perl to when they are actually required. And of course, most often outside of raids they are never required and are never created.
- Raid Target icon support for Target, Target's Target, MT Targets.
- Raid Tooltip will show combat rezzers available (druids with Rebirth ready (or very soon available) and any normal rezzers out of combat) if you bring up tooltip of a dead person.
- In-combat indicators for all units.
- 3D Portraits for player, pet, target, focus, party. Optional. Of course this may degrade your framerate somewhat because you are displaying more 3D character models that without this option. But some like it pretty, and it does look cool.
- Red and Green combat flashes for frames when player, pet, target, party, partypets, raid take damage/heals. Useful indication of things happening.
- Added '''time left''' on party member/target buffs/debuffs when in a raid, these depend somewhat on CTRA sending appropriate information over the addon channel, although some of it can be determined at run time by X-Perl, when a player gets a buff for example, we know how long it should last, and therefor when it should expire.
- Totally new options window including all X-Perl options and access via minimap icon and the /xperl splash command.
- Configurable colours for borders and backgrounds. Including class coloured names, and configurable reaction colours.
Much care has been taken with code size, memory load, memory usage per cycle and so on. LuaProfiler/OnEvent mods used extensively and regularly to ensure that X-Perl does not do more work than is absolutely necessary.
Assists View
Will show anyone from raid assising you with your target, and can also show healers or all plus known enemies targetting you.
Tooltips for the same also available (on player and target frames) if you prefer to not use the main window.
MT Targets
Replaces CTRA MT Targets window, and doubles as a replacement for the Perl RaidFrames warrior targets.
Indicator shows which target you are on.
Frames will be coloured to show if tanks have duplicate targets.
Casting Monitor
(WORK IN PROGRESS)
Shows selected classes (defaults to healer classes) in a list (much like the MT List), but with some differences.
Shows mana bars and cast bars on left. Their targets on right. Health bar as normal, but a secondary small red bar on targets which shows the maximum single hit this unit has received since entering combat. The secondary bar will extend downwards from their current HP level down to as far as zero.
A green name on the targets indicates this is the same target that you have. You can click on casters or their targets as expected.
For druids, right clicking on a caster will cast Innervate on them.
For shamans, right clicking on a caster will cast Mana Tide Totem. Check the * indicator to see if they're in your group.
All bars can be re-sized in X-Perl main options (Monitor section).
Totals can be toggled (from the 'T' minibutton at top of frame) which gives overview of raid mana status.
Raid Admin
(WORK IN PROGRESS)
Save/Load raid roster setups Only does direct save and load for the moment, but more to come (templates and such).
Item Check
Replacement for /raitem /radur /raresist /rareg. Use the old commands before, or drop items in the left item list.
Query button will perform /raitem on all ticked items (query always includes dur and resists) and you can then view and review all the results whenever, without having to re-query each item.
Includes everyone in raid, so you don't have to work out who doesn't have items, it'll list them with 0 instead of no entry.
Active Scanner to check raid member's equipment for the item selected. So you can be sure that people actually have the item worn (Onyxia Cloak for example), without having to go round single target inspecting everyone who 'forgot' to install CTRA for the 50th raid in a row.
Grim Reaper
Removed from X-Perl, but continues as it's own standalone Ace mod.
[http://www.wowace.com/projects/grim-reaper/]
More Buffing Features
Can be found in my new universal buffing mod, ZOMGBuffs
i'm going to revert everything he changed. i found MAJOR problems with his code, xperl is now using about 100x the cpu it used before. i was unable to raid AT ALL, i did cpu profling an xperls cpu usage was off the charts high, it was highly broken, those changes to event registration caused a massive cpu sink
Edit, revert complete. I have no idea where cpu leak is, but i suspect there is more then one so reverting all of it is sound decision until coe can be evaluated and actually tested first. If you didn't notice the cpu usage of that code you have one hell of a computer. Cause mines pretty good and i lagged out hardcore in raid and had to run cpu profiling to determine xperl 630+ was to blame.
Unfortunatly I have problems with this great addon the last weeks. When I have a levelup, my playertarget doesn't show the right lvl but my targetframe does. And when I'm playing my druid, it often shows in the playertarget the wrong form - so I have mana in bear or it shows my flyform although I'm a cat right now.
Anybody an idea?
No worries, his code seems to be working after adding nil checks for those functions being called before proper variables were loaded, the user end doesn't even see the problem the code causes cause even though it fails to properly load power on login now (cause it's called to early), it's a method that's called often enough that by time user does see their power bars, it's already been refreshed anyways.
Some of those functions should have probably stayed in variables loaded method call though to simply avoid calling them before variables load. Otherwise, how is code that checks what your mana bar color is, going to know what your mana bar color is if it's called before settings file is loaded? (this example is actually exactly what was causing lua error). I just didn't want to fiddle with half reverting while trying to retain his fixes and figured silencing error was good enough.
...oh hell, I knew it... I shouldn't commit that shit so quickly...
But I guess I'm waiting 6 days and think should be enough but guess what, IT'S NOT.
:(
(Thanks to "silences" that error in r631, and I feel so stupid now.)
@Sontix - how did you get the druid buffs to show under the eclipse bar instead of on the same line as it? Would really like to get my druid's buffs back under it how they are in the X-Perl version you posted.
The buffs work fine on all other classes, showing properly under the special bars. Only druids have an issue.
Anyone have any ideas what file I would need to be looking at for this? And where in that file I should be looking?
I even created a new char from scratch, the lua error is NOT fixed with fresh settings files. The error is caused by logging into any char regardless of settings, by event calls being made before settings load, so i'm reverting fix at least in part to not updating stuff until after variables load since it was done that way for a reason
EDIT r631 Silences the error. Now those functions won't be called if variables aren't loaded yet. I didn't revert the other code since it was easier just to add the nil checks, which should prevent those functions from trying to update mana bars too early and generating errors
That lua error is caused by trying to set values before settings are even loaded, there was a REASON some things were called after variables loaded.
I'm going to have someone look over the changes and refix them when they have time. I have no clue where to start in fixing it. Aside from reverting it all. Even if deleting config files fixes it, that's simply not an option, the proper way to do an update that affects config is to write in code to convert incompatabile config to new config. also error doesn't occur on reload UI only on player login, which leads me to suspect the only problem is a function is being called too early for login but it doesn't affect reloadui.
OK, looks like Sontix's fixes working fine (at least) in my end and only one LUA error about conf when every time login.
@@@@@@@@@@@@@@@@@
Date: 2012-05-23 12:29:39
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\XPerl\XPerl.lua line 2210:
attempt to index upvalue 'conf' (a nil value)
Debug:
[C]: ?
XPerl\XPerl.lua:2210: SetValue()
XPerl_Player\XPerl_Player.lua:505:
XPerl_Player\XPerl_Player.lua:500
XPerl_Player\XPerl_Player.lua:841: ?()
XPerl_Player\XPerl_Player.lua:750:
XPerl_Player\XPerl_Player.lua:744
@@@@@@@@@@@@@@@@@
But I can't find any broken-age in X-Perl so I guess this is OK?
I can't recall how to show the number of people targeting a single target indicator. Anyone know?
Have you focused yourself?
Try typing /clearfocus
the extra unitframe is targetoftarget. That's you once the mob notices you.
Hey.. I have bit problem with the X-Perl Frame addon.. When i am out of combta, that is cool, and when i click on the target.. But when i go into combat there comes a little frame in the middle with my name.. Wtf o.O ? Now i have 2 frames with my name in.. How ?? Help me plz... I have pictures so send my a mail on [email protected] for info. :)
Last time I checked in 4.0 launches, it should be player frame, buffs overlapping on player frame itself and it's looking funny, I don't know it did that in 3.x and older but I think it's not normal.
EDIT: Checked ingame, the buffs on above of frame did funny shit when my buffs have 2 lines or more, it give me a line of empty between the frame and buffs lines, but not overlapping on player frame anymore. Target frame do nothing when I checked the "buffs on above", its buffs still display on under of frame. ToT one works fine at all...
For "many functions are copied in every module" one, I guess it may due you can disable some X-Perl module...
Like I sometimes just disable all X-Perl Raid module addons and X-Perl still working fine, but I don't know if this make sense or...
On which frame? player or target?
I have them working on player (above and below) and the only bug i see on the target frame is that sometimes if you have big debuffs enabled some debuffs overlap the big one (and i haven't fixed that yet)
I haven't changed too much to the raid frame, my role icons are working the right way, i've heard that in the official version there problems when you change position to the players with the wrong role icon being displayed.
I'd like to make it look like voodho or make the custom highlight look like a debuff icon with stacks, timer etc
I still don't get why many functions are copied in every module or why there are huge _init functions that also update the frames etc. If i could get the animation around dispellable debuffs and the xperl skin in another better organized frame like ouf i'd change to it in no time :P
we have no idea what MoP does to it yet, they haven't enabled mods. but it's likley it will break a ton of stuff.
Actually, NOT every files, many directories of X-Perl that got changed in your modified r629 package just a TOC file modified due......stupid WoWAce/Curse Packager adding the X-Curse-blahblah shit after someone commit the change to SVN repo so they don't count if you ask me, and options UI, many localization files also not changed. Yes, it's pointless and fxxxing stupid to care them but I just care when you say something like "I changed many files of X-Perl", I'm sorry but I just cannot resist. :\
(You didn't changing any X-Perl_Raidxxxxxx files except XPerl_Raid.lua, right? :P)
OK, I don't know that's your version and it doesn't compatible with official one. Just my fault.
:3
https://docs.google.com/open?id=0Byn81YBLPCE0b2RhOG12X0RwTWc
Here is the patch based on the one that based on official r629.
(And will find some time to check them in game again...)
If Mysticalos did not want give a shit about make X-Perl working on MoP then whatever, maybe someone want to do, maybe.
And...the worst case still X-Perl just die in a shit and no one cares to fix it anymore. I don't care. :\
What needed fixed in MoP, I guess when MoP beta can using 3rd-party addons and you'll know.
But now, many X-Perl functions or features was worked then broken on patch 4.x like X-Perl info on guildmates and buffs above frame still no one can fix, maybe you can try them?
Rewritten? Personally, I guess unless you really get what Zek was did on his code and get it, else it's just hard.
I have my buffs in the upper right hand corner. On my buffs there is a clock countdown like fading effect that I belive is linked to Xperl, when I disable the addon it stops doing it. Is there a way to turn this clock like coundown off? I know it's a minor issue but it's driving me up the wall.. lol.
Did you try disabling buff cooldwon/countdown in the global tab ?
Yes I have the cooldown option on the global tab unchecked on one toon, but it shows the faded clock countdown. It seems to not be showing on my other character, even though the buff cooldown option is checked... weird...
Nevermind. It's not doing it now. Not sure what I did to change it but I'm happeh!