Thread Tools Display Modes
01-09-15, 12:47 PM   #1
Tonyleila
A Molten Giant
 
Tonyleila's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 758
Please someone fix GladiusEx

So some time ago I found this nice addon GladiusEx and I still love it. However there was no Update since 6.0.2. One week ago I decided to update the missing spells from the addon and update all Libs, took me some hours to remove all spells that don't exist any more. I have attached my updated version with this post.

But the AddOn still needs a small update for WoD, if anyone can help updating this I woud donate for it if you want :

1. Enable Buffs on Party unitframes dosen't work, it will not show any buffs in Testmode and also no Buffs in Arena.
This is most important bug atm, I NEED to see buffs on partyframes

2. I get this lua Error:
Code:
3x ...ns\GladiusEx\libs\LibCooldownTracker-1.0-10\library.lua:219 attempt to index local 'spelldata' (a nil value)
...ns\GladiusEx\libs\LibCooldownTracker-1.0-10\library.lua:219 in function <...ns\GladiusEx\libs\LibCooldownTracker-1.0\library.lua:182
...ns\GladiusEx\libs\LibCooldownTracker-1.0-10\library.lua:526 in function <...ns\GladiusEx\libs\LibCooldownTracker-1.0\library.lua:525
(tail call): ?

Locals:
3. DR Modul is not working and breaking frame testing as long as it is enabled in Party of Arenafreames.
I can live with that but writing it here just in case someone has an easy fix for it?

4. I also have a small request, I'd like to disable my own unitframe for the Partyframes.
I already see myself with an other addon and I don't need another unitframe showing my HP

Here is my current setup, if you know any other addon that can do this please write here


EDIT:
DR Tracker error:
Code:
14x GladiusEx\modules\drtracker.lua:86: attempt to concatenate local 'drCat' (a nil value)
GladiusEx\modules\drtracker.lua:86: in function `CreateIcon'
GladiusEx\modules\drtracker.lua:146: in function `DRFaded'
GladiusEx\modules\drtracker.lua:298: in function `Test'
GladiusEx\GladiusEx-v0.34-beta.lua:849: in function `TestUnit'
GladiusEx\GladiusEx-v0.34-beta.lua:475: in function `UpdatePartyFrames'
GladiusEx\GladiusEx-v0.34-beta.lua:530: in function `UpdateFrames'
GladiusEx\GladiusEx-v0.34-beta.lua:551: in function `CheckArenaSize'
GladiusEx\GladiusEx-v0.34-beta.lua:580: in function `ShowFrames'
GladiusEx\GladiusEx-v0.34-beta.lua:417: in function `SetTesting'
GladiusEx\GladiusEx-v0.34-beta.lua:383: in function `CheckFirstRun'
GladiusEx\GladiusEx-v0.34-beta.lua:628: in function `?'
...ibs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:147: in function <...ibs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
[string "safecall Dispatcher[1]"]:4: in function <[string "safecall Dispatcher[1]"]:4>
[C]: ?
[string "safecall Dispatcher[1]"]:13: in function `?'
...ibs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92: in function `Fire'
...uctionMaster\libs\Ace3\AceEvent-3.0\AceEvent-3.0-3.lua:120: in function <...uctionMaster\libs\Ace3\AceEvent-3.0\AceEvent-3.0.lua:119>

Locals:
nil
Attached Files
File Type: zip GladiusEx34A.zip (550.3 KB, 266 views)
__________________
Author of: LeilaUI and Aurora: Missing Textures
__________________

Last edited by Tonyleila : 01-10-15 at 03:27 PM.
  Reply With Quote
01-11-15, 09:35 PM   #2
Tonyleila
A Molten Giant
 
Tonyleila's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 758
So there were still some druid spells bugged and also some others classes so I hope they are fixed now. I'll look into add new cooldowns to the AddOn now.

I also found this Lua error and I think it has to do something with the Buffs not working?

Code:
1x GladiusEx\modules\auras-Auren.lua:221: script ran too long
GladiusEx\modules\auras-Auren.lua:221: in function <GladiusEx\modules\auras.lua:181>
GladiusEx\modules\auras-Auren.lua:388: in function `scan'
GladiusEx\modules\auras-Auren.lua:436: in function `?'
...ibs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:147: in function <...ibs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
[string "safecall Dispatcher[2]"]:4: in function <[string "safecall Dispatcher[2]"]:4>
[C]: ?
[string "safecall Dispatcher[2]"]:13: in function `?'
...ibs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92: in function `Fire'
...uctionMaster\libs\Ace3\AceEvent-3.0\AceEvent-3.0-3.lua:120: in function <...uctionMaster\libs\Ace3\AceEvent-3.0\AceEvent-3.0.lua:119>

Locals:
And there are also this two:

Code:
1x [string "safecall Dispatcher[6]"]:13: script ran too long
[string "safecall Dispatcher[6]"]:13: in function `?'
...ibs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92: in function `Fire'
...ns\GladiusEx\libs\LibCooldownTracker-1.0-10\library.lua:324: in function <...ns\GladiusEx\libs\LibCooldownTracker-1.0\library.lua:182>
...ns\GladiusEx\libs\LibCooldownTracker-1.0-10\library.lua:526: in function <...ns\GladiusEx\libs\LibCooldownTracker-1.0\library.lua:525>
(tail call): ?

Locals:
Code:
1x GladiusEx\modules\cooldowns.lua:692: script ran too long
GladiusEx\modules\cooldowns.lua:692: in function <GladiusEx\modules\cooldowns.lua:634>
GladiusEx\modules\cooldowns.lua:748: in function `UpdateGroupIcons'
GladiusEx\modules\cooldowns.lua:559: in function `UpdateIcons'
GladiusEx\modules\cooldowns.lua:422: in function `?'
...ibs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:147: in function <...ibs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
[string "safecall Dispatcher[6]"]:4: in function <[string "safecall Dispatcher[6]"]:4>
[C]: ?
[string "safecall Dispatcher[6]"]:13: in function `?'
...ibs\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:92: in function `Fire'
...ns\GladiusEx\libs\LibCooldownTracker-1.0-10\library.lua:324: in function <...ns\GladiusEx\libs\LibCooldownTracker-1.0\library.lua:182>
...ns\GladiusEx\libs\LibCooldownTracker-1.0-10\library.lua:526: in function <...ns\GladiusEx\libs\LibCooldownTracker-1.0\library.lua:525>
(tail call): ?

Locals:
Attached Files
File Type: zip GladiusEx35A.zip (549.6 KB, 249 views)
__________________
Author of: LeilaUI and Aurora: Missing Textures
__________________
  Reply With Quote
01-12-15, 12:23 AM   #3
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Well, after looking at that auras.lua file I'm not even a little surprised you're getting "script ran too long" errors. Whoever wrote it clearly had no idea how functions in Lua work. Every time anyone's auras change (which can be dozens or even hundreds of times per second per unit in combat!) it's calling the "UpdateUnitAuras" method, which creates seven functions every time it runs, not to mention the many, many tables it's creating every time. I didn't even look at the rest of the addon, but it's probably doing the same thing everywhere. All these functions should only be created once and then called when needed -- not created over and over again. Outside of a few specific situations (which are generally advanced topics that most addons will never encounter) you should never create a function inside another function.

If you want to fix it, you've got a lot of boring work on your hands -- you'll need to move all functions outside of other functions, and then modify them to accept (and be passed) the additional variables they're currently acting on. For example, the first function-in-function:

Code:
function Auras:UpdateUnitAuras(event, unit)
	if not self.buffFrame[unit] and not self.debuffFrame[unit] then return end

	--[[ bunch of local variables defined here ]]

	local function set_aura(index, buff)
After you move "set_aura" outside of the "UpdateUnitAuras" method, you'd also need to make it receive the other variables it works on:

Code:
local function set_aura(index, buff, auraFrame, icon_index, aurasBuffsMax)
... then pass those variables when you call the function later (currently line 375):

Code:
if set_aura(aura_index, buffs, auraFrame, icon_index, aurasBuffsMax) then return end
Also, since the value of "icon_index" is modified inside the function, you'd need to make more changes so that the new value was passed back at the end of the "set_aura" function:

Code:
return icon_index > aurasBuffsMax, icon_index
... and receive that value on line 375, assigning it to the original "icon_index" variable:

Code:
local stop_here
stop_here, icon_index = set_aura(aura_index, buffs, auraFrame, icon_index, aurasBuffsMax)
if stop_here then return end
In this particular case though, it would be more efficient to just rewrite the "set_aura" function so it doesn't need any of those additional variables:

Code:
local function set_aura(aura_frame, index, buff)
	-- local aura_frame = auraFrame[icon_index] -- REMOVE THIS LINE

	--[[ code here is fine ]]

	-- show
	aura_frame:Show()
	-- icon_index = icon_index + 1 -- REMOVE THIS LINE
	-- return icon_index > aurasBuffsMax -- REMOVE THIS LINE
end
Then change the part where it's called to this:
Code:
			set_aura(aura_frame, aura_index, buffs)
			icon_index = icon_index + 1
			if icon_index > aurasBuffsMax then return end
Frankly I'd say it would be a lot easier just to use some other addon that's actually being maintained and was written by someone who knows what they're doing (at least enough to avoid such glaring errors as re-creating functions billions of times inside a UNIT_AURA handler) or even to write your own from scratch as an oUF layout -- at least oUF handles all this basic stuff like placing aura icons for you!
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.

Last edited by Phanx : 01-12-15 at 12:27 AM.
  Reply With Quote
01-12-15, 06:36 AM   #4
Tonyleila
A Molten Giant
 
Tonyleila's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2010
Posts: 758
Thanks Phanx, thats the problem with PvP AddOns, no body wants to maintain them so people who are new with coding try to make and Addon for it.
I have seen no other addon that can do anything like GEX exapt Gladius and Gladius is even more bugged it was giving me errors in chat everywhere and option menu did not work and then everything lagged... and it has much less options that can be changed.

If you want to fix it, you've got a lot of boring work on your hands
I'll look into the fixes you wrote here tomorrow. I don't mind boring work for this but I fear I'll not be able to fix it
__________________
Author of: LeilaUI and Aurora: Missing Textures
__________________
  Reply With Quote
01-12-15, 07:48 AM   #5
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Originally Posted by Tonyleila View Post
Thanks Phanx, thats the problem with PvP AddOns, no body wants to maintain them so people who are new with coding try to make and Addon for it.
I suspect this is because addons aren't allowed in "e-sports" PvP, so hardcore PvPers don't use them, and for most casual PvPers the default UI or whatever general unit frame addon they already have is good enough, leaving a rather small potential audience for PvP-specific unit frame addons.

The more I think about it, the more strongly I'd recommend (you or someone else) to just build arena frames from scratch as an oUF layout. All the basic stuff is already handled for you, so aside from telling it where to put things (eg. health bar here, name text there, auras underneath) you'd only need to write the PvP-specific stuff like trinket and DR tracking yourself. This way, at least if whoever writes it is going to stop maintaining it, it would be a lot less work for someone else to pick it up and update it for future patches, since most of the updates would either be already handled by oUF, or just updating spell IDs and DR data.
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.
  Reply With Quote
01-12-15, 12:22 PM   #6
ravagernl
Proceritate Corporis
Premium Member
AddOn Author - Click to view addons
Join Date: Feb 2006
Posts: 1,176
Originally Posted by Phanx View Post
The more I think about it, the more strongly I'd recommend (you or someone else) to just build arena frames from scratch as an oUF layout. All the basic stuff is already handled for you, so aside from telling it where to put things (eg. health bar here, name text there, auras underneath) you'd only need to write the PvP-specific stuff like trinket and DR tracking yourself.[...] or just updating spell IDs and DR data.
That is definitly possible, oUF_Adirelle does that. It's not licensed open source however so you can't copy any code from it. But you can use DRData and/or DiminishingReturns:

http://www.wowace.com/addons/drdata-1-0/ (licensed BSD) for an example, check here

OR
http://www.wowace.com/addons/diminishingreturns/

Trinkets are kind of easy, just listen to UNIT_SPELLCAST_SUCCEEDED.

lua Code:
  1. local cooldown_times = {}
  2. cooldown_times[GetSpellInfo(59752)] = 120
  3. cooldown_times[GetSpellInfo(42292)] = 120
  4. -- wotf
  5. -- cooldown_times[GetSpellInfo(7744)] = 30

You can also just add http://www.wowinterface.com/download...FTrinkets.html.
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » Please someone fix GladiusEx


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