Download
(151Kb)
Download
Updated: 08-03-10 03:18 AM
Pictures
File Info
Updated:08-03-10 03:18 AM
Created:04-09-10 08:35 AM
Downloads:4,747
Favorites:38
MD5:

Broker H3DungeonCooldowns

Version: r017
by: SuranthianH3 [More]

All users with revision 10 or under, delete it before you install a newer version

***IMPORTANT***
This requires a databroker addon such as
Chocolate Bar or TitanPanel.

Broker_H3DungeonCooldown is only available in English and was designed for enUS. If you aren't enUS, the only thing that should break is expansion sorting. Just disable expansion headers.

Broker H3 DungeonCooldowns started out as a quick "Hello World" test to start out coding Lua in WoW and eventually turned into this. It is a somewhat simple DataBroker Display that shows what dungeons you are saved to and how long until they unlock.

Please provide feedback in comments. Also provide suggestions for more features. I will update with a list of features I plan on adding when there are enough.

It is important that if you find a bug that you please a comment here, otherwise the bug will not be fixed.

Features
Self explanatory section title is self explanatory.

  • Showing data on any/every character on your account (current server). (Note: Requires you to log in atleast once so the addon can register the toon's data into the database.)
  • *NEW* Time for dungeon deserter and random dungeon queue cooldown.
  • Customizing the look of your tooltip with options such as:
    • 2 optional columns for the save's ID and the unlock's date and time (rounded to the nearest 15 minutes, based off of local time)
    • Enabling and disabling the display of expansion content
    • Enabling and disabling the icon's text.
    • *NEW* Adding whitespaces or expansion names between expansion content.
    • Toggling showing unlocked dungeons.
    • Changing the maximum height of the tooltip before it uses a scrollbar.
    • Font options:
      • Change tooltip's text font using shared media (Default Friz Quadrata TT)
      • Change tooltip text sizes (Header, name, hints, text)
    • Change colors of:
      • Dungeon Names
      • Dungeon Difficulties
      • Unlock time remaining (Gradually changes colors as the time expires. So, assuming you are on the default settings and it's a heroic, it will be red at 24 hours, orange at 18, yellow at 12, lime at 6, and green when it's a few minutes.)
      • Class colors (for name display)
      • The separators (Horizontal lines in the tooltip)

  • *NEW* Dungeon Finder Information Including:
    • The average time and average time for every role
    • The role(s) you are queued as in the dungeon finder.
    • *NEW* The time left to accept the invite and what role you are assigned in the group.
    • The roles for the group that have been found (also shows beside the icon, regardless of icon only)
    • Who has accepted the invitation (when the group has been made), even before you accept it!
    • *NEW* Hiding the minimap icon (if wanted)
  • Clicking Line Scripts:
    • Clicking a line to report its info to chat (Doesn't matter what type of click, as long as it isn't a shift click on a current toon's line)
    • Shift-Clicking a line to toggle lock extensions


Known Issues
Issues that are.. Known...
The chat report feature inserts the text without enabling text input, so pressing enter opens the edit box (sets it to full opacity), and clears what was in it.
I am aware of this issue but I do not have a solution at the moment. I am not very experienced in handling widgets. Before, I was using ChatFrameEditBox:Show() and ChatFrameEditBox:Insert(string), but with the new chatbox, the now "ChatFrame1EditBox" is already shown, but doesn't input text unless you hit enter. So I will have to find another way.

Just click the edit box after clicking the line then hit enter, or hit enter, click the line, then hit enter again.

Revision 016 - Bugfix (3.3.5)
- Uploaded a fix by spAnser for the random dungeon cooldown and dungeon deserter.

Revision 016 - Bugfix (3.3.5)
- Forgot for a second that some functions return nil instead of 0 sometimes. Quick fix. Only need this update if you got revision 15.

Revision 015 - FEATURES (Minor) (3.3.5)
- Added Dungeon Deserter and Random Queue Cooldown
- Fixed a minor typo. Removed brackets from dungeon invite roles, but not on the queue. They are now removed from both.
Sorry for the wait, been busy

Revision 014 - FEATURES (3.3.5)
- Removed brackets from LFD roles to preserve space
- Added whitespaces between expansions (none, whitespace, or expansion name)
- Made seperators customizable (color and height)
- Added showing time left and your role on the icon when an invite is avaliable.
- Added a teleport in and out button at the top of the tooltip (EXPERIMENTAL: Only shows if you have a role assigned)
- Added the ability to hide the minimap icon for the LFD system, since this does everything it does

Revision 013 - FEATURES (3.3.3)
- Added dungeon sorting (Expansion, then name, then difficulty)
- Made current character display at the top of the character list instead of where it is alphabetically.
- Added dungeon finder information! Shows average time for every role, average time in general, what you are queued as, what your currently forming group has so far, who accepted the invitation (even before you accept it!)

Revision 012 - BUGFIX (3.3.3)
- Readded AceLocale-3.0


Revision 011 - MAJOR VERSION (3.3.3)
- Rerelease. Remade the entire addon because I know more about Lua now. The nil table bug is now 100% gone without using garbage collection. Delete your old version before installing this new one. It's a "new" addon (different folder name).


Revision 010 fix (3.3.3)
- Nothing important or new, just makes it appear in the addons list next to all of my other mods instead of alone.


Revision 010 - BUGFIX (3.3.3)
- Added garbage collection. No more random nil tables! :D


Revision 009 - BUGFIX (3.3.3)
- Sometimes, if you crash or disconnect, a characters data will go nil (usually the one you're on when you DC). Now, it will notify you upon login/reload that it happened and clear the toon's data, turning it into an empty table with 3 more empty tables (Vanilla, BC, WotLK) instead of getting an error that breaks the addon's tooltip display altogether by leaving it nil. TL;DR - No more table errors.


Revision 008 - BUGFIX (3.3.3)
- Formatting on the chat report had a bug with the name with some settings configured in certain ways (it was either considered nil or it was the wrong character, depended on your character selection setting).


Revision 007 - BUGFIX (3.3.3)
- The report did not have the correct character name and server. It instead reported the last saved character's name.


Revision 006 - FRIDAY-FEATURES (3.3.3)
- Added 2 new columns (optional) for ID and unlock date/time and save ID. Allows toggling expansion headers and whitespaces, setting column alignment, toggling instance extensions for your current toon, and even sending a lines data to chat! I also updated the libraries and showed how long until the addon will load on the icon (when you change options or logon), and made it update the data on rollover instead of every 20 seconds.


Revision 005 - BUGFIX (3.3.3)
- Fixed a bug for people who don't have any other addons that use LibQTip (minor spelling error in the .toc file caused it to not be included). This patch is only needed if you are experiencing a certain error regarding LibQTip in the comments.


Revision 004 - BUGFIX (3.3.3)
- Instances that are unlocked not being registered as an unlocked dungeon if you aren't on that character.


Revision 003 - FRIDAY-FEATURES (3.3.3)
- Allows the showing of date on every single character on your account that you have logged onto with the addon installed.


Revision 002 - BUGFIX (3.3.3)
- Addon's variable tables being invalid on characters that have never done a savable dungeon.


Revision 001 - Initial release (3.3.3)
- Had a bug for toons that have never been in an instance that is savable, so a new version was released less than 30 minutes later.
Post A Reply Comment Options
Unread 04-21-10, 06:37 AM  
SuranthianH3
A Murloc Raider
 
SuranthianH3's Avatar
AddOn Author - Click to view AddOns

Forum posts: 8
File comments: 41
Uploads: 4
Re: TBC heroics

Originally posted by Yukashii
Okay, they DO work, it's just MGT which was giving trouble. In your addon you spelled it "Magisters' Terrace", and it should be "Magister's Terrace". I changed it locally, and it displays correctly now.

Continuing this pattern, "Temple of Ahn'Qiraj" is actually called "Ahn'Qiraj Temple" in the raid info window. Haven't had a chance to test the ruins there yet though.
Ok, I made it so it will work both ways, because it works how it is on MY client. I will upload the fix on the next update (which will be this Friday or next Friday, figuring out and coding different requests; I want to have a week to test and make sure it works so I don't have to re-release 3 times for bug fixes).
Report comment to moderator  
Reply With Quote
Unread 04-21-10, 06:53 AM  
Yukashii
A Kobold Labourer
 
Yukashii's Avatar

Forum posts: 1
File comments: 14
Uploads: 0
No problem, if it helps, I'm on a european client, but english language, so I'm not really sure where the differences come from.
Report comment to moderator  
Reply With Quote
Unread 04-21-10, 07:48 AM  
SuranthianH3
A Murloc Raider
 
SuranthianH3's Avatar
AddOn Author - Click to view AddOns

Forum posts: 8
File comments: 41
Uploads: 4
Originally posted by Yukashii
No problem, if it helps, I'm on a european client, but english language, so I'm not really sure where the differences come from.
Ok, well just let me know if you find any other language issues with your client. This addon was designed on and for the enUS client/locale, so there may be other issues I'm unaware of. If you really want, you can give me a list of how the instances appear on your locale (enEU, right?), and I can make locales to include the instances for different foreign English clients.
Last edited by SuranthianH3 : 04-21-10 at 07:49 AM.
Report comment to moderator  
Reply With Quote
Unread 04-26-10, 03:03 AM  
SuranthianH3
A Murloc Raider
 
SuranthianH3's Avatar
AddOn Author - Click to view AddOns

Forum posts: 8
File comments: 41
Uploads: 4
Feature Friday Update

Sorry I couldn't update last Friday. Been real busy lately. I started back up today and finished up the columns. I will try to get to whitespace and header elimination later. I can confirm that the 2 optional columns will be uploaded this Friday, though!

EDIT: The update will have Whitespace toggling and Expansion Header toggling. Only took like 10 minutes. XD
Last edited by SuranthianH3 : 04-26-10 at 03:27 AM.
Report comment to moderator  
Reply With Quote
Unread 04-30-10, 08:24 PM  
Xylan Trueheart
Premium Member
Premium Member

Forum posts: 64
File comments: 166
Uploads: 0
Error message

This error message appeared when I selected the Icon only option and moused over the icon. As seen by BugGrabber, English client.

1x ...roker_H3DungeonCooldown\Broker_H3DungeonCooldown.lua:1625: attempt to get length of field 'InstanceInfoTableVanilla' (a nil value):
...roker_H3DungeonCooldown\Broker_H3DungeonCooldown.lua:1922: in function `OnEnter':
ChocolateBar-r107\Chocolate.lua:207: in function <ChocolateBar\Chocolate.lua:176>

Locals:
self = ChocolateBroker_H3DungeonCooldown {
0 = <userdata>
text = <unnamed> {}
Update = <function> @ ChocolateBar\Chocolate.lua:253:
settings = <table> {}
tooltip = <unnamed> {}
obj = <table> {}
name = "Broker_H3DungeonCooldown"
icon = <unnamed> {}
bar = ChocolateBar1 {}
}
tooltip = nil
LibQTip = <table> {
activeTooltips = <table> {}
LabelPrototype = <table> {}
tooltipHeap = <table> {}
cellPrototype = <table> {}
tableHeap = <table> {}
providerMetatable = <table> {}
providerPrototype = <table> {}
layoutCleaner = <unnamed> {}
tipMetatable = <table> {}
frameHeap = <table> {}
IterateTooltips = <function> @ AckisRecipeList\libs\LibQTip-1.0\LibQTip-1.0.lua:132:
LabelProvider = <table> {}
CreateCellProvider = <function> @ AckisRecipeList\libs\LibQTip-1.0\LibQTip-1.0.lua:216:
tipPrototype = <table> {}
IsAcquired = <function> @ AckisRecipeList\libs\LibQTip-1.0\LibQTip-1.0.lua:125:
Release = <function> @ AckisRecipeList\libs\LibQTip-1.0\LibQTip-1.0.lua:115:
Acquire = <function> @ AckisRecipeList\libs\LibQTip-1.0\LibQTip-1.0.lua:92:
cellMetatable = <table> {}
frameMetatable = <table> {}
}
db = <table> {
dunNameCol_B = 0.65
dunLoTimeCol_R = 0
dunNameCol = <table> {}
showExpansionHeaders = true
dunLoTimeCol = <table> {}
dunDiffCol_R = 0.65
ADDONVERSION = "r007"
showBurningCrusade = true
dunHiTimeCol_G = 0
resetLeftColor_R = 200
resetLeftColor_G = 200
dunDunIDCol_G = 0.65
ToonHasLocked = <table> {}
ServerHasLocked = <table> {}
InstanceInfoTable = <table> {}
TTErrorMsg = " Detected setting changes. Reloading. "
dunUnlockCol_G = 0.7843137254902
currentDisplayToon = "All Characters"
colCount = 5
ToonLockedAmt = <table> {}
instanceResetStr = "Unlocked!"
ChatMethods = <table> {}
dunMeTimeCol_R = 1
currentAllServer = "Current Server"
dunHiTimeCol = <table> {}
AccountCharacterList = <table> {}
AccountServers = <table> {}
Col5Alignment = 3
dunDiffCol_G = 1
dunUnlockCol = <table> {}
showWhiteSpaces = true
dunUnlockCol_R = 0.7843137254902
dunHiTimeCol_B = 0
ReportString = ""
reportChatMethod = "GUILD"
dunUnlockCol_B = 0.7843137254902
dunDiffCol_B = 1
showDunID = true
unlockDateStr = ""
dunDateCol_R = 1
dunNameCol_G = 1
isMultiToon = true
showDungeonFinderInfo = true
AccountCharacters = <table> {}
dunNameCol_R = 0.65
dunDunIDCol = <table> {}
LockExtendTarget = ""
tooltipHeight = 500
dunLoTimeCol_B = 0
dunDunIDCol_B = 0.65
showWrathoftheLichKing = true
dunMeTimeCol_B = 0
showUnlockTimeDate = true
AccountServerList = <table> {}
showVanillaWoW = true
Col2Alignment = 2
dunMeTimeCol = <table> {}
resetLeftColor_B = 200
dunLoTimeCol_G = 1
dunDiffCol = <table> {}
showUnlocked = true
IsOnLine = false
iconOnly = true
dunDateCol_G = 1
curTime = 1272680132
dunHiTimeCol_R = 1
dunDunIDCol_R = 0.65
finishedStartup = true
Col4Alignment = 2
dunDateCol_B = 0.65
dunDateCol = <table> {}
Col1Alignment = 1
Col3Alignment = 2
dunMeTimeCol_G = 1
AccountInstanceData = <table> {}
}
DCD_2 = Broker_H3DungeonCooldown {
0 = <userdata>
}
elapsed = 0.85200001485646

---
Report comment to moderator  
Reply With Quote
Unread 04-30-10, 09:06 PM  
SuranthianH3
A Murloc Raider
 
SuranthianH3's Avatar
AddOn Author - Click to view AddOns

Forum posts: 8
File comments: 41
Uploads: 4
Re: Error message

Originally posted by Xylan Trueheart
This error message appeared when I selected the Icon only option and moused over the icon. As seen by BugGrabber, English client.

<Bug log>
I experienced this bug, too. But I noticed that if I waited 10 seconds it wouldn't happen. So I put a 20 second wait in the addon so people wouldn't get this error.. Only reason I can think of that you would have this error is other addons taking up more total memory than my client's addons (Which would be kind of weird, unless you have over 70 addons).

I can't find any cause for this bug in the code, so the only solution I can offer is waiting a bit more after the load is complete. :\ If any addon authors might know what the cause of this bug is (some tables saved via AceAddon-3.0 to be nil for 10-30 seconds), please tell me.

EDIT: I just experienced the bug even after the load was complete and it has been a few minutes. It seem clearing the table works as a fix (for now) :\.. But again, if anyone might know a possible fix, as this is my first addon, please let me know.

EDIT 2: I went back and added a line that only allowed the loop to continue if the data wasn't 'nil'. which means it will still display, it just won't update on that particular rollover. As this isn't that much of a serious bug (can be fixed with a reload or table clear click), I will upload this fix Friday.

EDIT 3: Added the above bugfix since I had to upload a fix the the other bug (name in chat reporting).
Last edited by SuranthianH3 : 05-03-10 at 07:18 AM.
Report comment to moderator  
Reply With Quote
Unread 05-02-10, 08:15 PM  
ffcloud2000
A Fallenroot Satyr

Forum posts: 24
File comments: 98
Uploads: 0
Code:
Message: ...roker_H3DungeonCooldown\Broker_H3DungeonCooldown.lua:4293: bad argument #3 to 'format' (string expected, got nil)
Time: 05/02/10 22:13:34
Count: 9
Stack: [C]: in function `format'
...roker_H3DungeonCooldown\Broker_H3DungeonCooldown.lua:4293: in function `_OnEnter_func'
...er_H3DungeonCooldown\Lib\LibQTip-1.0\LibQTip-1.0.lua:1941: in function <...er_H3DungeonCooldown\Lib\LibQTip-1.0\LibQTip-1.0.lua:1931>

Locals: (*temporary) = "%s%s%s%s (%s)%s%s%s%s (%s)"
(*temporary) = "[H3DCD]: <"
(*temporary) = nil
(*temporary) = "> "
(*temporary) = "Vault of Archavon"
(*temporary) = "25 Player"
(*temporary) = " - ID: "
(*temporary) = 27298464
(*temporary) = " - Unlocks: "
(*temporary) = "1 Days 13 Hr"
(*temporary) = "0:00 AM  5/4/2010"
(*temporary) = "string expected, got nil"
__________________
Report comment to moderator  
Reply With Quote
Unread 05-02-10, 11:53 PM  
SuranthianH3
A Murloc Raider
 
SuranthianH3's Avatar
AddOn Author - Click to view AddOns

Forum posts: 8
File comments: 41
Uploads: 4
Originally posted by ffcloud2000
[code]
Message: ...roker_H3DungeonCooldown\Broker_H3DungeonCooldown.lua:4293: bad argument #3 to 'format' (string expected, got nil)
<more error log>
What version is that? Because no version I have released has been over 4000 lines.
Report comment to moderator  
Reply With Quote
Unread 05-03-10, 06:22 AM  
ffcloud2000
A Fallenroot Satyr

Forum posts: 24
File comments: 98
Uploads: 0
well i have the most recent version but it seems the lua is all double spaced for whatever reason

redownloaded the most update to date version from here.. but in the toc it says 006 anyways still get the error

Code:
Message: ...roker_H3DungeonCooldown\Broker_H3DungeonCooldown.lua:2147: bad argument #3 to 'format' (string expected, got nil)
Time: 05/03/10 08:31:27
Count: 15
Stack: [C]: in function `format'
...roker_H3DungeonCooldown\Broker_H3DungeonCooldown.lua:2147: in function `_OnEnter_func'
...er_H3DungeonCooldown\Lib\LibQTip-1.0\LibQTip-1.0.lua:971: in function <...er_H3DungeonCooldown\Lib\LibQTip-1.0\LibQTip-1.0.lua:966>

Locals: (*temporary) = "%s%s%s%s (%s)%s%s%s%s (%s)"
(*temporary) = "[H3DCD]: <"
(*temporary) = nil
(*temporary) = "> "
(*temporary) = "Vault of Archavon"
(*temporary) = "25 Player"
(*temporary) = " - ID: "
(*temporary) = 27298464
(*temporary) = " - Unlocks: "
(*temporary) = "1 Days 3 Hr"
(*temporary) = "0:00 AM  5/4/2010"
(*temporary) = "string expected, got nil"
__________________
Last edited by ffcloud2000 : 05-03-10 at 06:31 AM.
Report comment to moderator  
Reply With Quote
Unread 05-03-10, 07:13 AM  
SuranthianH3
A Murloc Raider
 
SuranthianH3's Avatar
AddOn Author - Click to view AddOns

Forum posts: 8
File comments: 41
Uploads: 4
Originally posted by ffcloud2000
well i have the most recent version but it seems the lua is all double spaced for whatever reason

redownloaded the most update to date version from here.. but in the toc it says 006 anyways still get the error

Code:
Message: ...roker_H3DungeonCooldown\Broker_H3DungeonCooldown.lua:2147: bad argument #3 to 'format' (string expected, got nil)
<buglog>
Went to that line, it has the local variable for that "nil value" defined in the incorrect spot. I'll upload a fix in a sec.
Last edited by SuranthianH3 : 05-03-10 at 07:36 AM.
Report comment to moderator  
Reply With Quote
Unread 05-03-10, 07:46 AM  
ffcloud2000
A Fallenroot Satyr

Forum posts: 24
File comments: 98
Uploads: 0
thanks for the quick update.. um im not sure if im just too early in trying to update but the zip file doesn't seem to be working when i download :S
__________________
Report comment to moderator  
Reply With Quote
Unread 05-03-10, 09:36 AM  
SuranthianH3
A Murloc Raider
 
SuranthianH3's Avatar
AddOn Author - Click to view AddOns

Forum posts: 8
File comments: 41
Uploads: 4
Originally posted by ffcloud2000
thanks for the quick update.. um im not sure if im just too early in trying to update but the zip file doesn't seem to be working when i download :S
What do you mean?
Report comment to moderator  
Reply With Quote
Unread 05-03-10, 09:43 AM  
darni
A Kobold Labourer

Forum posts: 0
File comments: 8
Uploads: 0
Originally posted by SuranthianH3
What do you mean?
its 0kb... somehow broken...
Report comment to moderator  
Reply With Quote
Unread 05-03-10, 11:20 AM  
SuranthianH3
A Murloc Raider
 
SuranthianH3's Avatar
AddOn Author - Click to view AddOns

Forum posts: 8
File comments: 41
Uploads: 4
Originally posted by darni
its 0kb... somehow broken...
K, rezipped and reuploaded.. It's pending at the time I made this comment.
Report comment to moderator  
Reply With Quote
Unread 05-26-10, 11:41 AM  
Zidomo
A Cliff Giant
 
Zidomo's Avatar

Forum posts: 76
File comments: 1046
Uploads: 0
Your revision 010 change--BUGFIX - Added garbage collection--is not a good move at all. Addons should never be arbitrarily calling garbage collection on their own (without being prompted by a specific user action in the mod), as is being done in this revision.

For expert discussion on the matter, take a look at this thread: Garbage Collection on UI Load.... Some highlights:

From Jerry (author of Talented, Grid2 and others):
--"There is no reason for any addon to call this function without user input."
--"An addon can not and should not call collectgarbage() because it possibly created a lot of memory that needs collection. There is no addon that is by himself important enough to force the full lua heap to be traversed just to clean up its mess."
--"You should understand that garbage memory will be reclaimed by the system even if no addon ever calls collectgarbage() ever. This process is done in small steps, while executing other instructions. It's called the "incremental garbage collection cycle""
--"But the mistake that is made by all the addons (that automatically call collectgarbage() as part of their loading/execution process) is that they assume they know what the user lua heap is and that they are important enough to allow themselves to hang your computer while they do their cleanup."

From Xbeeps (author of LibHealComm-3.0 & 4.0, VisualHeal & others):
--"Calling collectgarbage deprives the interpreter engine from sensibly collecting the garbage incrementally and slowly in a low priority thread (i.e. it never disturbs the thread that runs the addons), and only forcible running a blocking garbage collect if it really needs to (which does disturb the thread running the addons). The memory released during garbage collection is returned to the pool used by the interpreter only, so you achieve exactly nothing by doing it, except that you always keep more memory idle than you have to, and you expend more high priority cycles collecting garbage than you have to.

Addons that collect garbage usually does so because they pretend to think that they know when it is opportune to do so, and they think that if they do it at this oppertune time it will not happen later at a bad time. This way of thought is flawed, because a single addon does not know when it is a good time to spend cycles doing this, and the incremental garbage collection used by Lua is never noticable (as it was in the early days of wow, where the garbage collection was invoked as a blocking call when it ran out of addon memory).
"
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.