Go to Page... |
Updated: | 09-02-08 08:09 AM |
Created: | unknown |
Downloads: | 4,593 |
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 |
VagrantEsha |
View Public Profile |
Send a private message to VagrantEsha |
Find More Posts by VagrantEsha |
Add VagrantEsha to Your Buddy List |
VagrantEsha |
View Public Profile |
Send a private message to VagrantEsha |
Find More Posts by VagrantEsha |
Add VagrantEsha to Your Buddy List |
08-27-08, 06:53 PM | ||||||
|
I'll give it some thought as to the best way to separate it, then I'll get it out of there. The hardest part will probably be coming up with a name for the new selling-of-greys mod.
DataBroker plugins are really something that a new user could pick up and use right away, without having to worry about anything fiddly. So I wouldn't really be able to use a slash-handler with a DataBroker plugin because it's asynchronous to the focus of the plugin. It'd be like giving with one hand and taking away with the other. "Okay, here's a really easy to use plugin thingy, but it has a difficult-for-newbies to understand slash-command part." This leas to one solution; embedding libraries to make a graphical interface. Now I'm no stranger to doing this as plenty of my older mods have Ace3 config panels, but in Junkie it would really just take away from what I have here. I have an incredibly tiny plugin with the most minimal of libraries used, and that's helped me keep Junkie lightweight. When comparing Junkie with GarbageFu, the difference is really incredible and I like that. Also, including a menu by default might confuse a new user who may not thouroughly understand the point of it, thus taking away from Junkie's user-friendliness, it'd give them a huge, fiddly database that they'd have to manage on a level-by-level, item-by-item database. So, does all of this mean that I won't allow for some kind of permanent list? Well, actually... sort of no, no it doesn't. You see, I had an idea when I was writing this (this always bloody happens to me) and I have a counter-proposition for you, please give me your honest opinion on what you think of it. Because believe me, I do value your opinion, and you've been very helpful in the development of Junkie. Okay, counter-proposition: Including a list in Junkie-proper is bad, in my opinion. But all I'd have to do is make sure that the ignore list can be accessed somehow from outside the Junkie plugin, I'd either have to throw in a set of functions to call/modify the ignore list, or simply make it global. Once I've done that, any mod can then tinker with Junkie's ignore list, and that's where things get initeresting. If I did that, I could create a plugin for Junkie (and list it in the optional files) which has its own permanent database, it would have Ace3 embedded for the purpose of a configuration screen and via that configuration it would allow for the creation and maintenance of a permanent list. I'll check out StealYourCarbon too to see if tek's libraries are more suited than Ace3 in this case too (as I do love the guy's work, I have most of his mods in my ersonal collection so I should). Then all I'd have to do is--at load time--ensure that Junkie's temporary list is synched with that of the management mod, that'd simply be a matter of 'ignore = thisOtherDB'. Then any changes to the management database would be reflected in Junkie itself, as it would use the same database for its display. The only other thing I'd need to do is ensure that if the person has the database manager installed, the temporary ignore functions should be removed. Instead, I'd put a link there to open the management frame, and that'd be all I'd have to put into Junkie. What this would achieve: 1) I could keep Junkie itself small and to my original vision (something which is important to me). 2) I could ensure that I don't force the database on people by default, but instead make it an optional element that people can choose to have or not. 3) Keep extra and unnecessary libraries out of the main part of Junkie. Let me know what you think of this. I am really seriously considering this because you've always been respectful, and you've given me opinions which have been both honest and helpful. I might just say "Screw it anyway!" and put the DB handling in Junkie-proper, but I'm hoping you'll understand my reasons for not wanting to do that. The thing is, Junkie is still the mod I created for my own use at the end of the day, and at the end of the day I actually find managing a temporary list far simpler than the incredible irritation of having to manage a huge database. So yes, let me know. I'm going to work on getting the auto-sell element out of Junkie and into its own mod first, but if you think that this is a good idea then I'll work on that next. The great thing about this approach is that Junkie is split up without any unnecessary additional overhead (I'll see to that!) and everyone, myself, you, the next lady/fellow can all decide on the bits they want to take, instead of having one humongous package forced on them. That was my problem with GarbageFu, that it offered a mansion of a mod when all I wanted was a hut, I don't want it to become my problem with Junkie. The solution above though is something I'm perfectly content with.
I actually did it because I spotted that ZOMGbuffs did it, and I thought to myself "Hey, that's neat!", but it really does screw up alphabetising. So that'll be gone in my next round of updates. I don't want to make the life of anyone more difficult just to make my mod look more pretty, that's highly counter-intuitive to my own personal philosophy of mod design.
It's just a habit. I admit though that it's partly for organisation (I've recently started subtitling my mods, not sure why but it stuck) and partly for the humour value of it. Teapot: It Makes Tea - I do realise it's basically like that. I find it oddly endearing though, it's the special kind of idiocy (and I know, I said it) that I'm prone to. I think it looks really fun in the tooltip titles and I'd hate to see that go. Still... I suppose it is an annoyance to everyone but myself, so I will consider removing it. It's just one of those weird eccentricities that makes my mods mine, as opposed to just another dull part of the UI. (Edit.) Maybe I should make it more pertinent to the mod at hand! Like Junkie: Junk Management, Bagsy: Bag Information, and Mad Hatter: Total Fashion Control! I feel like I'm going to be pelted with fish though for even suggesting that.
Last edited by VagrantEsha : 08-27-08 at 06:59 PM.
|
|||||
|
VagrantEsha |
View Public Profile |
Send a private message to VagrantEsha |
Find More Posts by VagrantEsha |
Add VagrantEsha to Your Buddy List |
08-27-08, 04:11 PM | ||
|
As for the ignore list, I think you're making it out to be a lot more complex than it needs to be. I'd recommend you check out my addon Unlinked for a very simple example of how to maintain a flat list of itemIDs. If you prefer a GUI approach, Tekkub's StealYourCarbon has a very nice, minimal interface for maintaining a list of items. The only other things I have for you right now are: - Ditch the TOC title coloring. It screws with alphabetizing. I actually thought I'd failed to install the addon at first, because it didin't show up where I expected it would. - The "A DataBroker Plugin" in the in-game tooltip title isn't really necessary; I installed the addon and am using it -- I know it's a DataBroker plugin. This would be like every FuBar or Titan Plugin including "A FuBar Plugin" or "A Titan Panel Plugin" in their name. O RLY? |
|
|
Phanx |
View Public Profile |
Send a private message to Phanx |
Find More Posts by Phanx |
Add Phanx to Your Buddy List |
08-27-08, 03:29 PM | |
A Kobold Labourer
Forum posts: 0
File comments: 41
Uploads: 0
|
Got this error since today
Interface\AddOns\Analyst\VendorValue.lua:65: Usage: GetItemInfo(itemID|"name"|"itemlink") [C]: ? [C]: in function `GetItemInfo' Interface\AddOns\Analyst\VendorValue.lua:65: in function <Interface\AddOns\Analyst\VendorValue.lua:59> (tail call): ? Interface\AddOns\Junkie\Junkie.lua:53: in function `?' Interface\AddOns\Junkie\Junkie.lua:18: in function <Interface\AddOns\Junkie\Junkie.lua:18> And seems that junkie cant finish scaning the bags - Please wait, junkie is currently scanning ur bags message for ever. Not sure is it analyst faulth
Last edited by zedbg : 08-27-08 at 03:29 PM.
|
|
zedbg |
View Public Profile |
Send a private message to zedbg |
Find More Posts by zedbg |
Add zedbg to Your Buddy List |
08-27-08, 12:09 PM | |
|
Okay, I need opinions.
There have been commenters on my DataBroker plugins who've been invaluable when it comes to generally improving the plugins and simply making them better, their opinions have really counted towards that and I consider the input of these people important. Specifically; Phanx, Beoko, OttoDeFe, Nyte, and Fred. (My apologises if I've forgotten anyone.) The thing is, as you've no doubt seen from the description pages and the latest updates of my plugins that there are areas where I'm willing to listen and agree to something, and others where I've put my foot down. One area where I did put my foot down is in regards to building customised auto-sell lists, that's never going to exist in Junkie because it already exists in other mods which are pretty damned good in and of themselves. This got me to thinking though; about the element of Junkie where trash is sold to the vendor. I've been pondering its future within the mod and I'm not so sure of its worthiness as a part of Junkie. There are other mods that do it, but they don't do everything I want out of a junk-seller, or they do too much. If tekJunkSeller reported on the sale of each item (and its price), and the overall cash one got from selling junk, then I'd just rip out the functionality and tell everyone to use tekJunkSeller instead. It doesn't though, and that's why I added similar functionality to Junkie, but my own spin on it. So here's what it comes down to: I'm thinking of moving the grey trash-selling part of Junkie out of the plugin, into its own mod. From there I could build on it and add an idea into it I've been thinking about (I'll get to that later), and I could concentrate on it as its own project. I might even make this new mod a DataBroker plugin aswell, I probably will with some kind of bin icon that can be clicked to sell off junk. As to the new features I could work in; I could possibly add a new hard-coded list of grey items to the new trash-seller which wouldn't be sold, things like the Darkmoon Faire hand-ins. I could then have a primary click system to sell all greys, or a secondary click system that would avoid selling certain types of valuable greys. If someone wanted to customise that then, they could edit the list (which I'd likely put in its own file). So these are my thoughts, and I want opinions. I'd like to hear your opinions on whether I should section this out from Junkie or not at all, and if I do what I should do with it, should it be a DataBroker plugin, and should it have a hard-coded list of valuable greys? Moreover, if I did add such a list, could anyone point me to a list of such valuable greys? I will take all thoughts into consideration, but after the way I put my foot down and said no to customised lists, I'm beginning to think that really the junk-selling bit should be beyond Junkie's scope too. So... thoughts! If you would? |
|
VagrantEsha |
View Public Profile |
Send a private message to VagrantEsha |
Find More Posts by VagrantEsha |
Add VagrantEsha to Your Buddy List |
08-27-08, 05:47 AM | ||||
|
The long and short of it was though that Junkie isn't just a cut-and-dry replacement for GarbageFu, it was a re-envisioning. I always felt that GarbageFu was way too heavy for just a display plugin, and I wanted something lightweight that really fit the ideology of a plugin. If I had permanent lists in there, it would completely destroy the vision and the direction of Junkie, and make it just another rehash. So I don't want to go in that direction. Not to mention that I'd have to add a database to handle all the items you'd want to ignore/keep, that database would quickly get huge, it'd be annoying to manage, I'd have to include another library to allow me to have menus for managing the list, I'd have to almost doublet he size of the plugin to accomodate the management of the permanent list... so, as you can see, the result would be something that's very not-Junkie.
I'll look into the best implementation of this once I'm done gaming today, but I can guarantee you that that'll get in there in some form or another.
Last edited by VagrantEsha : 08-27-08 at 05:47 AM.
|
|||
|
VagrantEsha |
View Public Profile |
Send a private message to VagrantEsha |
Find More Posts by VagrantEsha |
Add VagrantEsha to Your Buddy List |
08-27-08, 05:33 AM | |
|
I beg to differ with regard to ButtonBin; it makes a fine display for non-launcher plugins. I disliked Fortress and StatBlockCore because they made each plugin its own frame, and I prefer the combined bar model that FuBar and Titan Panel use. ButtonBin gives me the flexibility to display my plugins on a single bar.
Anyway, for Junkie, I'd really like to see either a permanent ignore list, or an option to consider only gray items, as it's rather tedious to repeatedly ignore reagents, food and water, tradeskill materials, rep turnin items, and even ammo, all of which have low vendor sell prices but are have far greater actual value than a gray item that sells for 25s. |
|
Phanx |
View Public Profile |
Send a private message to Phanx |
Find More Posts by Phanx |
Add Phanx to Your Buddy List |
08-26-08, 11:14 PM | ||||
|
... Gods damn it. I'll just revert it to 20400 then, I don't know if there's been a more recent toc version than that. Thanks for letting me know, I appreciate that. I'll have a new wave of plugins coming out this morning anyway, so I'll correct the tocs. I think the correct number should be 20400 then, but I'll take a look at some of the mods in my Addons folder just to be sure.
With my descriptions, to try and avoid confusion on the end-user end of things, I've only provided launchers for the type of plugin. For example, ButtonBin is great but it's designed more for handling launchers. Things that are more about being a button rather than having a text display. I have both Fortress and ButtonBin, the text-display plugins I have Fortress handling, the clickable buttons and the plugins with no text displays I have ButtonBin handling. So ButtonBin I have listed in the descriptions of plugins like MadHatter and Opticon. I'm interested in your opinion though, should I remove the distinction between the two and simply list all the mods that can handle DataBroker plugins for each plugin? Edit: I finally got to test my implementation of GetSellValue in game, I've supplied it below so it can be previewed before I upload the latest Junkie (which I'll be doing soonish). I've been trying to minimise the use of variable-creation and heavy function calls, but whether what I've been doing there is good or bad... I cannot say. I'd appreciate an opinion. The example below is in its own lua file (GetSellValue.lua) and I call the GetSellValue() function in my plugin now, as opposed to the GetPrice functionality of the ItemPrice library directly. I've also got the original GetSellValue hook in a table, I'm not sure whether this is the right thing to do or not but I don't feel entirely safe unless I house hooks within a table. But perhaps I'm being old-fashioned about that? Iono. Anyway, here's the preview code: http://www.pastebin.ca/1186163
Last edited by VagrantEsha : 08-27-08 at 03:30 AM.
|
|||
|
VagrantEsha |
View Public Profile |
Send a private message to VagrantEsha |
Find More Posts by VagrantEsha |
Add VagrantEsha to Your Buddy List |
08-26-08, 05:34 PM | |
|
Looks great. One request - support other "item value" addons via the unofficial GetSellValue API.
P.S. - 20403 isn't a valid TOC number. P.S.S. - ButtonBin is also an excellent DataBroker display addon if you wanted to add to your list.
Last edited by Phanx : 08-26-08 at 05:35 PM.
|
|
Phanx |
View Public Profile |
Send a private message to Phanx |
Find More Posts by Phanx |
Add Phanx to Your Buddy List |