Go to Page... |
Updated: | 09-02-08 08:09 AM |
Created: | unknown |
Downloads: | 4,608 |
Favorites: | 58 |
MD5: |
Junkie: A DataBroker Plugin
Have you ever wanted an easy way to track the junk in your bag, and to be rid of it on demand? If so, then Junkie is for you. Take a look at the screenshots to see how it works.
To elaborate on what you're seeing there a little; Junkie basically seeks out the cheapest trash (grey coloured) item in your bag and then displays that for you (along with the size of the item's stack and the overall price, taking the stack into account).
Junkie presents a number of options to you for managing grey items:
Clicking Junkie adds the item to a temporary ignore list, this item won't be considered again until the temporary ignore list is cleared or until the current session ends (logout/reload). The way this works is sort of like an inverse shopping list, it checks off the current item and then goes to the next item (on the most worthless list).
Shift-clicking Junkie clears the aforementioned temporary ignore list, going back to the first (and cheapest) trash item it found.
Alt-clicking Junkie destroys the item that's currently being shown to you.
If you want to be able to have Junkie consider certain non-grey items as trash, you can do that. Junkie has an exceptions management mode, which can be toggled on and off by control-clicking.
When in exceptions mode, the click and shift-click functionality remains the same, but alt-clicking an item adds an exception tag to an item. Alt-clicking the same item again removes its exception tag. When an item has an exception tag, it'll be shown amidst the greys in Junkie's default mode.
Once you're done managing exceptions, you can return to Junkie's default mode again by control-clicking.
Just to bring everything together, I'll provide an example of my long-winded explication: Let's say that I want Junkie to be able to consider Shiny Fish Scales for destruction. First, I'd control-click Junkie to put it into exceptions management mode, then I'd click it as many times as needed until Shiny Fish Scales are shown, once they are I'd then do an alt-click to add an exception tag to the Shiny Fish Scales. At this point, I'd reset the temporary ignore list with a shift-click, then I could return to normal mode with a control-click.
This might sound complicated, but give it a go and see for yourself. I really disliked how complicated junk-management systems with long, long fiddly menus were, and this is nothing like that. It does a similar thing, but it's a completely new way to handle it, and once you've used it for a while I feel it becomes really intuitive. All it takes is getting used to the click combinations.
And if you only want to destroy greys, then don't worry, you won't have to fiddle with the exceptions management system at all! It's completely optional.
Things to Consider
If you're after a mod that can sell all grey items, then you might want to check out Haggler (linked below). Haggler also has Junkie interoperability built in, so it can read JunkieDB's list of exceptions. Normally, Haggler just sells all grey items to the vendor whenever its button is clicked at a vendor, but if Junkie is present then it will also sell items from the exceptions list too (this can be toggled on/off, of course).
Haggler: http://www.wowinterface.com/downloads/info10658-Haggler.html
What is DataBroker?
DataBroker is part of a system that's similar to FuBar and its plugins, what you have here is a plugin but you'll also need something to display the output of the plugin. You have many options for this, and I've listed a number of them below for your perusal, just pick the one that interests you the most.
- Fortress: http://www.wowinterface.com/downloads/info10401-Fortress.html
- ButtonBin: http://www.wowinterface.com/downloads/info10474-ButtonBin.html
- StatBlockCore: http://www.wowinterface.com/downloads/info9221-StatBlockCore.html
- MakeRocketGoNow: http://www.wowinterface.com/downloads/info9771-MakeRocketGoNow.html
- Carousel: http://www.wowinterface.com/downloads/info10295-Carousel.html
- Titan: http://www.wowinterface.com/downloads/info8092-TitanPanel.html
If you want further information, that nice feller tekkub has put together some information on his wiki. And it's good information too, information that you should probably read if you're just getting into DataBroker plugins. (Not to mention that poor old tek puts these pages together and not many people seem to read them, so I thought I'd do my part to help remedy that situation. )
http://github.com/tekkub/libdatabroker-1-1/wikis
Comment Options |
06-01-09, 11:26 AM | ||
|
Vrul author of DockingStation was able to help me here, for DockingStation (and any other LDB display add-on that requires plug-in's to assign a type attribute) anyone who wants to fix this add-on until the mod author does, simply edit the Junkie.lua as follows:
Last edited by Gsusnme : 06-05-09 at 07:17 PM.
|
|
|
Gsusnme |
View Public Profile |
Send a private message to Gsusnme |
Find More Posts by Gsusnme |
Add Gsusnme to Your Buddy List |
03-07-09, 04:07 PM | |
|
Are there plans to exclude certain greys from being destroyed, such as the empty bottles you get from drinking the brews of the month? Or is there an existing option I've missed?
|
|
xtoq |
View Public Profile |
Send a private message to xtoq |
Find More Posts by xtoq |
Add xtoq to Your Buddy List |
shobu |
View Public Profile |
Send a private message to shobu |
Find More Posts by shobu |
Add shobu to Your Buddy List |
12-03-08, 11:20 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 1
Uploads: 0
|
Problems with install?
Hi,
I installed this plug-in, yesterday, and it is listed as out of date. Did I make some mistake, or is it really out of date? Thank you! rsilkens |
|
rsilkens |
View Public Profile |
Send a private message to rsilkens |
Find More Posts by rsilkens |
Add rsilkens to Your Buddy List |
10-17-08, 08:44 PM | |
A Kobold Labourer
Forum posts: 1
File comments: 25
Uploads: 0
|
Excellent. I've been searching for a GarbageFu replacement for LDB (and for 3.0.2). Thanks for making this.
|
|
tobarstep |
View Public Profile |
Send a private message to tobarstep |
Find More Posts by tobarstep |
Add tobarstep to Your Buddy List |
09-07-08, 08:01 AM | |
|
Relax, Esha...breathe Your addons are fine when it comes to CPU usage, trust me, I'm running tests on my own addons and I do not see them doing something excessive. That being said, the dilemma of accuracy vs performance is an old one and sometimes difficult to answer. As for the OnUpdates, I completely agree that events are preferable, sometimes that method is not that accurate, but there are other ways if you are so inclined to use a timer (for example AceTimer-3.0 is a fine alternative, it's a "cheap" 14kb embed with no other dependencies and I don't view it as the "kitchen-sink"). Don't take this the wrong way, these are suggestions out of genuine interest, ultimately it's your own addon and you are very much entitled to tell us to go to hell ;p I respect your work (hell I use most of your Broker plugins ) and admire the fact that you strive to keep your addons small and efficient, however it is my opinion that sometimes authors tend to get a bit obsessive about stuff that at the end of the day may not have that much of an impact on the user.
|
|
Tristanian |
View Public Profile |
Send a private message to Tristanian |
Find More Posts by Tristanian |
Add Tristanian to Your Buddy List |
09-03-08, 06:35 PM | ||
|
I stated that it didn't -appear- to work, because I had -never- seen it actually fire the event, (yes, I use bankstack, and therefore -should- fire the event according to what you posted earlier..) and I grabbed at straws to determine why, missed the local declaration at the top of the file. I was _NOT_ being arrogant at all. I have nothing at all to prove. I am a 3rd rate coder, who's barely managed to bang out 3 addons, 2 of which are stupidly simple fubar plugins that do nothing but hook into existing addons' functions to replicate their minimap button stuff. The third one has to deal with multiple events, firing several times a second, yet only needs to run a function once, but -must- run it at the end of said event spam, or it doesn't work right.. So, I used a timer, in exactly the way I mentioned to you earlier, and I thought I'd toss the idea out to you, to see if you thought it had merit. Which you obviously didn't. No worries, I didn't mean to step on your toes, was just trying to help. |
|
|
break19 |
View Public Profile |
Send a private message to break19 |
Find More Posts by break19 |
Add break19 to Your Buddy List |
09-03-08, 09:38 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 19
Uploads: 1
|
I tried the updated version with very similar effects, and *no error messages*. I Bankstacked a messy inv then alt-clicked the grey in my ldb display. I got the message that the grey was deleted (but it wasn't - and luckily notheing else was - bags purposely nearly empty), and the grey was still listed in the ldb.
I found a work-around though - I shift click the Junkie ldb and reset the ignore list before alt-clicking - that seems to re-orient Junkie after a Bankstack nuke. I will give Sort a try this weekend. |
|
Caliban7263 |
View Public Profile |
Send a private message to Caliban7263 |
Find More Posts by Caliban7263 |
Add Caliban7263 to Your Buddy List |
09-03-08, 05:05 AM | |||||||
|
@break19
Adding an OnUpdate would cause the CPU usage of the mod to balloon, as profiling via GetFrameCPUUsage() would prove. An OnUpdate should only be used if there is no other method available and the mod is dependent on the OnUpdate to function. If there is an event that could be used instead then it should be, in the case of Junkie there are such events and the use of an OnUpdate is very wasteful.
Is there any reason you think this? Did you actually run any tests to confirm your suspicions, or are you just running with a gut feeling? I can't imagine that you'd openly have a go at someone's work on just a gut feeling without having run tests for yourself, would you? Still... I'm going to wait for Caliban's results, if that's all the same.
First line of Junkie: local ldb_tip, scanning See why? The scanning variable is not global. Make sure you actually understand what you're criticising before you criticise it, assumptions just makes an ass out of you and me. (Me because I have to correct you.)
This states that "It's okay to do A because B justifies the means." Of course I want to make sure that Junkie is reliable, but I'll do that in my own way. I have faith that those who use my mods will trust me to do that, and if they don't then that's their choice. You cite a "slight" over-usage of CPU, this is something I could almost accompany by a nervous cough. Suffice it to say, it's not slight enough for me, and it definitely doesn't fit my personal design philosophy. (Edit.) My design philosophy: I recognise that not everyone has top of the range computers or can afford to and in many cases, because Warcraft will run on lower-end spec computers it means that not everyone will have the computing equivalent of a hotrod. This means that whilst CPU-abuse might not be so noticeable on a modern machine, it might be on a machine that's three or more years old. What I propose is that mods shouldn't forsake people on older hardware, we should try and create mods which are as optimised as possible so those running older hardware can run more mods. Just because newer hardware exists is no reason to be lazy.
As it is, what you've achieved is humourous at best. Global indeed... (Edit.) Oh and if you continue to bash my work in such an arrogant manner without even bothering to verify your assumptions, I will bring Cairenn in on this. Those who use my mods don't need to see this kind of thing, and I can see you'll try and cover your above blunders and argue this until the end. If you want to do that, you can do it here politely or you can be more insulting via PMs. But if you're rude here, it will be reported.
Last edited by VagrantEsha : 09-03-08 at 06:33 AM.
|
||||||
|
VagrantEsha |
View Public Profile |
Send a private message to VagrantEsha |
Find More Posts by VagrantEsha |
Add VagrantEsha to Your Buddy List |
09-02-08, 05:11 PM | ||
|
This has a few benefits: 1) you can do away with your "inform()" stuff, that doesn't appear to work anyway 2) You can do away with attempting to set a global called "scanning" which again isn't appearing to work, thus why #1 isnt either. 3) You can then hook more reliable-yet-spammy events to the timer, and no matter how many times the events call the timer-related function, the cpu overhead will be minimal, as all it'd be doing is resetting the timer. Yes, there is slightly (VERY slightly, infact) more CPU usage in using the 2 functions like I said, however, imo the slight CPU cost is worth the reliability of the addon. But, this -is- your addon, and if you disagree, so be it, I'll just do it myself to my copy. In fact, give me a few days, and I may be able to spare the time to do it before this weekend and paste a snippet here for you to peruse. |
|
|
break19 |
View Public Profile |
Send a private message to break19 |
Find More Posts by break19 |
Add break19 to Your Buddy List |
09-02-08, 02:46 PM | |||
|
@Caliban
The OnClick method is a good idea, I'll definitely look into adding that. All I'd want it to be though is a simple check, so if the item link doesn't match the one being displayed it'll refuse to destroy the item, output an error, and update itself. That'll be in the next version, but really it shouldn't need to be something that's used commonly, it should be rare. That's why I'd like to get this issue sorted out and include that click method, that way I can foster confidence in the mod. i'm definitely thinking it's the anti-spamming system though, so I'll be very interested in hearing what you find out. The only reason I did that is because a lot of mods design their BAG_UPDATE handlers against floods, because as far as proper behaviour of the game is concerned, BAG_UPDATE hsould never flood. The fact that I didn't put an error report in there though is idiotic at best, but it was arrogance that did it because in my own tests I hadn't seen any problems and therefore I figured there wouldn't be. Mod developing is a humbling experience, I can say that. But in my opinion, that's a good thing. I'm certainly learning from all this. @Nyte
Grey Market is a clever name though, I'd actually consider renaming it but I think that everyone'll be used to the name it has, now.
|
||
|
VagrantEsha |
View Public Profile |
Send a private message to VagrantEsha |
Find More Posts by VagrantEsha |
Add VagrantEsha to Your Buddy List |
09-02-08, 01:58 PM | |
|
Vagrant, been reading this thread and, since you asked for opinions...
Re: Name for a grey-selling plugin. Grey Market Re: A Data Broker Plugin in the tooltip. I have absolutely no problem with it; in fact, since I use Titan Panel as my display-er, I kinda like the reminder that it's not a Titan plugin and it won't have a right-click menu. Re: Itemized Deductions. I still use it, but only for destroying greys when my bags are full. I am considering Junkie, but ID has programmed me to shift-click to destroy (at my age, old habits are hard to break). But then again, ID is probably on its last legs (the last fix for Item Data Cache was a fan update). Nyte PS Thanks for the nice words.
__________________
Beware of the Nyte! |
|
Nyte |
View Public Profile |
Send a private message to Nyte |
Find More Posts by Nyte |
Add Nyte to Your Buddy List |
09-02-08, 10:25 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 19
Uploads: 1
|
Thanks for addressing this and I will check it out this afternoon.
The only reason I like Bankstack is because it is blazingly fast (I'm an old MR. Plow user). Is Sort comparable in speed? As an off note I was wondereing if in the OnClick event for destroying the item that an insanity check be made against the item ID held by Junkie and the actual item in the bag slot. If it doesn't match up - don't destroy and trigger a new scan for the old item - display a message to the fact if a new low has been found - if not proceed with the destroy at the new spot. I think in this way you don't have to monitor the BAG_UDATE spam of sorters. Just a thought. |
|
Caliban7263 |
View Public Profile |
Send a private message to Caliban7263 |
Find More Posts by Caliban7263 |
Add Caliban7263 to Your Buddy List |
09-02-08, 08:01 AM | |
|
@Caliban
I know what's causing that. I put some protection in Junkie to deal with BAG_UPDATE duplicates, basically if a scan is going on, another can't be initiated. This has always worked fine with Sort (http://files.wowace.com/Sort/), which I consider to be a well-behaved sorting mod, but with BankStack (that nuke-sorts the bags in ways I don't entirely like) the anti-spamming protection is hit upon numerous times, meaning an old item is shown. I'll just remove the anti-spamming protection and put up a new version, but this is really one of the reasons I could never stand BankStack, the amount of BAG_UPDATE events it causes to fire and how often it causes them to fire is unbearable. I might see if I can think another way around this, but since one or two to almost every item can be moved in a sort, there's little I can do to actually offer any kind of buffer. What I might do instead is put up one version first where--if the anti-spamming protection is hit against--a warning is offered in the chat-frame. That way you can see for yourself whether BankStack is causing that to happen, and whether Sort really is better or not. If it happens only with BankStack and not Sort (I can't test this for myself at the moment) then I'll leave the mod as it is, but if it happens with only BankStack then you're probably better off using Sort. (Updated.) Caliban, could you check out the new version? Test it out with Sort and BankStack, if you would. A number of things might happen... 1.) You might get no errors. 2.) You might get an error with BankStack but not with Sort. 3.) You might get an error with BankStack and Sort. If the case is 1, then I'm going to have to start looking elsewhere for the issue. If the case is 2, then I'm likely going to leave my mod as it is because it's working as intended (it just needed that warning in there). If the case is 3 then I'll have to remove the protection, but doing so could really ramp up memoory usage. Personally, I'm hoping it won't be 3. Let me know your findings. Thanks!
Last edited by VagrantEsha : 09-02-08 at 08:12 AM.
|
|
VagrantEsha |
View Public Profile |
Send a private message to VagrantEsha |
Find More Posts by VagrantEsha |
Add VagrantEsha to Your Buddy List |
09-02-08, 06:25 AM | |
A Kobold Labourer
Forum posts: 0
File comments: 19
Uploads: 1
|
Not sure if this touches on the same issue but...
I really like the recent changes and direction this addon has taken, however i have a very serious problem with it. Twice now when trying to delete junk to make space in my bags it has destroyed quest items. Once it was one of the heads from the Arathi quest "To Steal from Thieves' - no big deal I went and killed the named mob again. But just now it deleted a stack of Indurium flakes from a quest in the Badlands and it is quite a grind for those so you can understand how concerned I am. Just glad I am testing this on a 40 alt and not with epics in my bags. The problem I think stems from the interaction between Junkie and Bankstack. I believe Junkie scans and locates it's low cost grey target an puts it in the tooltip. Sometime later I trigger a bankstack and items in my bags swap places. Junkie destroys whatever is in the place it targeted. Is there any verification prior to destruction that the item still matches the location in the bags? |
|
Caliban7263 |
View Public Profile |
Send a private message to Caliban7263 |
Find More Posts by Caliban7263 |
Add Caliban7263 to Your Buddy List |