Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(670 Kb)
Download
Updated: 04-03-13 12:57 PM
Pictures
File Info
Updated:04-03-13 12:57 PM
Created:unknown
Downloads:1,052,856
Favorites:2,790
MD5:

X-Perl UnitFrames  Popular! (More than 5000 hits)

Version: 3.6.35
by: MysticalOS, Zeksie

A much enchanced version of Nymbia's Perl UnitFrames, and a complete replacement for Blizzard's default unit frames, including raid frames and raid tools, with many additions and improvements over the original Nymbia code.

Range Finder (combined with optional health 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.

Debuff Highlights 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 Pet, Target, Target's Target, Party, Party pets, Raid, MT Targets.

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/oRA/oRA2 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.

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.

With that in mind, the event system was totally re-written, and is as kind to system performance as possible. The majority of events are disabled while zoning to alleviate any event backlog issues. And where most addons use 1 event handler per unit frame, which although standard, the alternative has improved X-Perl's performance. By using single main event handlers, we can route the events to appropriate units. So, for example, when a single UNIT_HEALTH update is fired, then just a single raid frame or party frame etc. gets the event, rather than 40 raid frame's handlers, 4 party and so on. Nymbia's Perl used to do a lot of crazy full frame udpates all over the place, eating away at CPU cycles. This was all fixed to only update what was necessary based on events.

Liberal usage of local functions to cut down compiled code size, and increase speed since functions are called directly rather than by name. Every time you have a global function, you have a global string name associated with it, so size in the global environment saved where possible.

XPerl_RaidHelper sub-addon
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/oRA2 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.

XPerl_RaidMonitor sub-addon (WORK IN PROGRESS)
Casting Monitor
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.

XPerl_RaidAdmin sub-addon (WORK IN PROGRESS)
Raid Admin
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.

Supported Addons
CT_RaidAssist, oRA2. Shows tooltip info and player status, replaces MT Targets List, improves raid frames, shows player status, resurrection monitor, buff timers aware.
MobInfo-2 / MobHealth3 - Shows target health from MobHealth database.
DruidBar - Shows druid mana bar from DruidBar when shapeshifted.
Clique compatible. And any other click cast addon that uses the same communication method. (see below)

Changes:
*Updated for 5.x
*Should use signifcently less cpu then it did before
Optional Files (0)


Archived Files (5)
File Name
Version
Size
Author
Date
3.5.20
683kB
MysticalOS
09-15-12 04:27 PM
3.5.3
704kB
MysticalOS
08-29-12 06:37 AM
3.2.1
703kB
MysticalOS
02-19-12 05:13 PM
3.0.7
668kB
Zeksie
12-16-09 05:24 AM
3.0.6
668kB
Zeksie
10-05-09 06:40 AM


Post A Reply Comment Options
Unread 01-11-07, 06:40 AM  
Bahmut
A Deviate Faerie Dragon

Forum posts: 18
File comments: 19
Uploads: 0
Originally posted by Bahmut
ah works thanks alot
BTW on the screenshot above its not very clear, what is the raid pullout box you have highlighted?.

I've only upgraded to x-perl from perl classic recently and stopped using Ctraid assist as i prefer perl for healing etc, Still not so clued in on what some of the advanced features are,
Bahmut is offline Report comment to moderator  
Reply With Quote
Unread 01-11-07, 03:55 AM  
Bahmut
A Deviate Faerie Dragon

Forum posts: 18
File comments: 19
Uploads: 0
Originally posted by Zeksie
No.

Replace self.groupFrame.text:Hide() with self.groupFrame:Hide()
Replace self.groupFrame.text:Show() with self.groupFrame:Show()

ah works thanks alot
Bahmut is offline Report comment to moderator  
Reply With Quote
Unread 01-11-07, 03:31 AM  
Zeksie
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 24
File comments: 364
Uploads: 4
Originally posted by Bahmut
well i replaced the sentence with self.groupFrame:Hide() with self.groupFrame:Show() is this right?.

Im not sure of line numbers so i used ctrl + f, i use word pad which to my knowledge doesnt have line numbers.

Hope what i did was correct but u said replace 2 things but didnt say which text to replace, so i assumed this was what u meant?
No.

Replace self.groupFrame.text:Hide() with self.groupFrame:Hide()
Replace self.groupFrame.text:Show() with self.groupFrame:Show()

Zeksie is offline Report comment to moderator  
Reply With Quote
Unread 01-11-07, 03:29 AM  
Bahmut
A Deviate Faerie Dragon

Forum posts: 18
File comments: 19
Uploads: 0
well i replaced the sentence with self.groupFrame:Hide() with self.groupFrame:Show() is this right?.

Im not sure of line numbers so i used ctrl + f, i use word pad which to my knowledge doesnt have line numbers.

Hope what i did was correct but u said replace 2 things but didnt say which text to replace, so i assumed this was what u meant?


with u saying to replace 2 lines i assume i didnt do this correct, like i said i dont have line numbers so if u could state which lines of text it is to be replaced as u did with the previous replacement i can find it with ctrl+f hopefully :S
Last edited by Bahmut : 01-11-07 at 03:43 AM.
Bahmut is offline Report comment to moderator  
Reply With Quote
Unread 01-11-07, 01:49 AM  
Zeksie
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 24
File comments: 364
Uploads: 4
Originally posted by Maischter
<event>ADDON_ACTION_BLOCKED:AddOn 'XPerl' tried to call the protected function 'StartDuel()'.
<in C code>: in function `StartDuel'
From http://forums.worldofwarcraft.com/th...64187212&sid=1
* Dueling, dismissing your pet, and abandoning your pet are no longer protected functions. *2.0.3* - Possibly not working right


@Bahmut
Yeah, minor issue. Replace XPerl_Player.lua, line 121 with
Code:
self.groupFrame:Show()
Replace XPerl_Player.lua, line 126 with
Code:
self.groupFrame:Hide()
Last edited by Zeksie : 01-11-07 at 01:58 AM.
Zeksie is offline Report comment to moderator  
Reply With Quote
Unread 01-10-07, 10:26 PM  
Maischter
A Defias Bandit

Forum posts: 2
File comments: 94
Uploads: 0
<event>ADDON_ACTION_BLOCKED:AddOn 'XPerl' tried to call the protected function 'StartDuel()'.
<in C code>: in function `StartDuel'
Last edited by Maischter : 01-10-07 at 10:27 PM.
Maischter is offline Report comment to moderator  
Reply With Quote
Unread 01-10-07, 08:12 PM  
Bahmut
A Deviate Faerie Dragon

Forum posts: 18
File comments: 19
Uploads: 0
Originally posted by Zeksie
Yeah. noticed that myself today. in XPerl.lua line 519 ish, replace GetNumWorldStates() with GetNumWorldStateUI().
thanks that worked a treat, One more PvP issue at least i think its just in Pvp as i havent been in a raid atall other than Bg since patch, The group numbers although checked in options aint showing above my player frame like they were pre-patch. But if i select to show it in my portrait it works just fine. Any ideas?

can i also throw in a question not regarding the patch if i may?, I replaced Ctraid with the raid windows supplied with Xperl as imo its way more healer friendly. my question is this: when the raid leader sets Mt's In ctr will these same Mt's be picked up and displayed by Xperl or can i just show warriors targets? Not that this really affects me as a healer

edit i noticed theres a Mt targets option in helper(use ctra etc) did this replace warriors targets? as i dont seem to have that option from what i can see on the settings now?.
Last edited by Bahmut : 01-10-07 at 08:24 PM.
Bahmut is offline Report comment to moderator  
Reply With Quote
Unread 01-10-07, 02:24 PM  
Zeksie
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 24
File comments: 364
Uploads: 4
Originally posted by Bahmut
hey i've been using this mod ages, and love it, today i updated from ui.worldofwar.net, anyway its working fine other than in Bg if i happen to mouse over the mini map icon i get spammed witha red perl error containg 'getNumWorldStates' a nil value.. this only happens in bg when hovering over the mini map perl.

any ideas?
Yeah. noticed that myself today. in XPerl.lua line 519 ish, replace GetNumWorldStates() with GetNumWorldStateUI().
Zeksie is offline Report comment to moderator  
Reply With Quote
Unread 01-10-07, 01:51 PM  
Bahmut
A Deviate Faerie Dragon

Forum posts: 18
File comments: 19
Uploads: 0
hey i've been using this mod ages, and love it, today i updated from ui.worldofwar.net, anyway its working fine other than in Bg if i happen to mouse over the mini map icon i get spammed witha red perl error containg 'getNumWorldStates' a nil value.. this only happens in bg when hovering over the mini map perl.

any ideas?
Bahmut is offline Report comment to moderator  
Reply With Quote
Unread 01-10-07, 01:32 PM  
Zeksie
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 24
File comments: 364
Uploads: 4
Originally posted by Maischter
Hey ho nice Mod...

Could you maybe add some MyRolPlay support/compatibility... (i mean this small little button on the unitframe for opening the detailed roleplay informations..)

Are you just supporting oRA or oRA and oRA2 ?
It reads the CTRA channel, so any mod that communicates in a method compatible with CTRA is supported, so that means yes to oRA and oRA2 (what I use).

If MyRolePlay adds a button to the player frame? or whatever frame? I think it would make a lot more sense if the author of that mod used the clickcast table that most UnitFrame mods are populating and search for a frame with the appropriate unit attribute. Then it would automatically work with all mods, even ones that don't exist yet.
Zeksie is offline Report comment to moderator  
Reply With Quote
Unread 01-10-07, 01:20 PM  
Maischter
A Defias Bandit

Forum posts: 2
File comments: 94
Uploads: 0
Hey ho nice Mod...

Could you maybe add some MyRolPlay support/compatibility... (i mean this small little button on the unitframe for opening the detailed roleplay informations..)

Are you just supporting oRA or oRA and oRA2 ?

Cheers

Helandor
Maischter is offline Report comment to moderator  
Reply With Quote
Unread 01-10-07, 05:17 AM  
Zeksie
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 24
File comments: 364
Uploads: 4
Re: Re: Re: Re: Re: Thanx

Originally posted by Sletznikova
I wouldnt like a prio system, because aggro and the fact that my hot is already on the target are both very important to determine if I want to hot the target. Maybe you could highlight something else for the hot? I guess healthbar would be intuitive...
Intuitive maybe, but since hte healthbar is already pushed up against the frame edges, any outline style highlight would still be merged with the aggro highlight. And if we chose to highlight the bar itself, it may well partly obscure the bar itself.

Don't get me wrong, I like the ideas. But the implementation is not so easy. I'll have a play with it though and see what looks clear.
Zeksie is offline Report comment to moderator  
Reply With Quote
Unread 01-10-07, 04:53 AM  
Sletznikova
A Murloc Raider

Forum posts: 5
File comments: 7
Uploads: 0
Re: Re: Re: Re: Thanx

Originally posted by Zeksie
And yes. I'm looking into improving the way that 2 highlights merge together. I don't like it either. Maybe a priority option, with the option to only show highest.
I wouldnt like a prio system, because aggro and the fact that my hot is already on the target are both very important to determine if I want to hot the target. Maybe you could highlight something else for the hot? I guess healthbar would be intuitive...
Sletznikova is offline Report comment to moderator  
Reply With Quote
Unread 01-10-07, 04:21 AM  
Zeksie
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 24
File comments: 364
Uploads: 4
Originally posted by UniqueLT
Getting this when I load in on my warlock (haven't tried that many of the other chars, but didn't come up on druid or hunter):
Just looked into this. I've not had the error, cos it'll only fail on the 20003 code, which I don't have yet. Waiting for servers to come up atm. But will fix it.
Zeksie is offline Report comment to moderator  
Reply With Quote
Unread 01-10-07, 04:19 AM  
Zeksie
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 24
File comments: 364
Uploads: 4
Re: Re: Re: Thanx

Originally posted by Sletznikova
It looks very smooth! I have not seen it work for druids yet, but did you add some way for druids to see the difference of their 2 hots?

1 ergonomic problem I see is that the hot indicator is on the same place as the aggro indicator (player border) and they overlap. You found some way to make it half overlap eachother, but in heavy combat I tend to feel it's a tad hard to process. I tend to scan the raid for people having aggro and hot them when they don't have one yet or their hot is expiring very soon.

It would be perfect if I could somehow actually see the length left on my hots so I can anticipate on the loss of it.. If you don't have the space to add some time indicator (maybe a little decreasing bar in the player name area?) maybe you could have it flash on the last second?

I also noted that the indicator only stays on for about 10 seconds, while renew is actually 15 seconds. Also we priests get a 8/8 tier2 bonus hot called "Greater Heal" that you might want to include? (Although with the release of TBC the number of priests actually using this willl likely decrease very fast!)

I hope I don't strain you too much with these comments, and you feel that I'm ungrateful, because I'm NOT! I was totally flabbergasted when I saw the 2.1.7 notes!
I did think about the 2 HoTs, but hadn't decided what to do about them yet. For now, it'll use the timer of the longest one. So if you cast short one after long one it'll keep long timer. Short then long and it'll replace with long timer.

Renew timer bug fixed for next.

Did consider the set bonus thing, but it's going to be harder to determine when that fires, and onto what target (since you don't necessarily target what u cast on), and I'd have to do some parsing prolly to detect the effect proc.

Next version already has the HoTs flasing when they're expiring (5 secs flash).

I thought about bars and other display methods, but considering there's already health and mana bars there it would get ugly. Plus it would add to the CPU load updating everything. At the moment the load is negligable as it's all done from events, except the processing of the 5 second flash, which is a very simple check every 1 sec.

I'm hoping the 5 second flash will be enough for most cases.

And yes. I'm looking into improving the way that 2 highlights merge together. I don't like it either. Maybe a priority option, with the option to only show highest.
Last edited by Zeksie : 01-10-07 at 04:26 AM.
Zeksie is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: