Ouro Loot
What
Ouro Loot tracks loot during a raid and then produces output formatted for pasting on a guild forum or similar place. Loot is optionally categorized by boss if you have Deadly Boss Mods installed. Loot can be annotated with notes (getting disenchanted, awarded for offspec, going to a guild vault, etcetera) and the forum output will be marked up appropriately. A longer-term history of loot is kept also.
This addon does not replace or augment the Master Looter interface or behavior. In fact, it specifically has nothing to do with the actual awarding of loot, only the tracking of it. So if your raids already have an addon to help with that (loot council, GDKP, whatever), you can continue using it without interference.
Some stats on the raid roster are kept for attendance tracking, although this is not the main goal. That info is primarily intended for other modules to use for data export.
If you have downloaded this addon from anywhere other than directly from Curse or WoWInterface, then it is outdated at best and infected with viruses at worst. Clone sites not only leech bandwidth from real sites, lately they've been adding malware as well. Get your addons from safe sites with a good reputation!
How
Instructions and documentation are built in. Just use the /ouroloot command, or click the help link that comes up when you login the first time after installing it. There is deliberately no minimap icon or similar "always visible" component to soak up valuable screen space or CPU cycles.
Best coverage of loot tracking is obtained if multiple people in your raid are running the addon, with at least one person tracking and the others broadcasting. This allows loot to be noticed even when the looting is happening out of detection range of the person doing the tracking. This is explained further in the help screens.
If you have Addon Loader installed, this addon will delay loading until you use any of its configuration methods or join a raid group.
It is relatively simple to add more output formats. Each one appears as one or more additional tabs. They are implemented as load-on-demand plugin modules and are dropped in as standalone addons.
How (Else)
Plugins can do other things besides generate output text. Ouro Loot implements the standard CallbackHandler approach of firing off your addon's functions in response to events related to tracking loot, like "player received loot", "loot was reassigned between players", and so forth. Coming from the other side, your code can control things that would normally require human interaction in the Ouro Loot UI, like marking loot as offspec. You can even register your own options and actions inside the main addon, such as additional choices for the "Mark as offspec / guild vault / disenchanted" list. This means if you want to do additional work for your guild's loot tracking, you can let this addon handle all the network-related issues, and just do your tasks as event callbacks are fired off, saving a ton of development work!
See Plugins for more information. (The plugins link might only work if you view this page at the Project Site link above; it's curse.com brokenness, sorry.)
Feedback and bug reports are welcome; see the help screens for how. A list of known bugs, occasional gotchas, and future ideas is also built in.
When
Notable changes in 2.21
- Stuff for WoD and some brief pokes at the new loot and raiding systems. Upgrade! 2.21.0 is the latest release.
Notable changes in 2.20
- MoP, MoP, MoP.
- Saved options have transitioned to Ace profiles. (Only your options are stored in profiles, actual loot data is not.) Settings from 2.19 and earlier are just tossed out, since the default options have gotten smarter with this release. In particular, the way the item filter lists are managed, and their initial contents.
- Plugin settings are saved in your profile, as namespace variables.
- The options tab got a facelift, allowing for other addons (including plugins) to register their own entries.
- The extra "/loot" command is gone, as it's now a builtin command in MoP. There's a control on the options tab for other slash commands.
- Clicking on chat links to open the main display will now try and scroll/page/highlight the corresponding entry that caused the chat message to be printed in the first place, e.g., clicking the prefix in "[Ouro Loot] SomeOfficer has changed RaiderX's [New Shiny Toy] to offspec." will open the display as usual, but also find the New Shiny Toy from two hours earlier.
- Only of interest to programmers: an initial set of history and loot management events has been added. Code can register callbacks to be notified on simple things like receiving loot, and synchronized things like reassigning loot. These callbacks happen after all notifications from other trackers and broadcasters have all been sifted.
Notable changes in 2.19
- Raiders running older versions will not see all the data rebroadcast from players running 2.19 and later.
- Raiders running 2.19 will see data broadcast from older versions, however.
- Items can be marked as automatically assigned to the guild bank, exactly like the current list of items automatically marked as disenchanted. The default list is crafting materials dropping from Cataclysm raid bosses.
- Player names are colored by class when their data is available; the
CUSTOM_CLASS_COLORS
array is supported. - The first combat after a boss kill clears the internal "most recent boss name" record, so that subsequent loot from yard trash will be marked as such. (This can mean a spurious "trash" entry if your raidmates go off and kill things while loot is still being handed out. Right-click and delete it.)
- Loot events have associated unique IDs, enabling some new actions over the network. These IDs are preserved as part of realm history. As a result, the stored history format has completely changed (and requires less memory as a bonus).
- "Mark as <x>" and "Reassign to..." are now broadcast to other Ouro Loot trackers. Older versions can't receive the message, of course. New options added controlling whether to print a message (and to which chat window) when another player broadcasts those kinds of changes, as they err on the side of wordiness.
- The History tab now has dropdown menus that let you remove individual entries instead of using the entire-realm action buttons in the lower right corner. Dropdowns are accessed with shift-right-clicking; if you forget, the new "Show UI Tips" option will remind you.
- The slash command handler has always had a feature which searches for the text of tab names if you give it an unrecognized command (e.g., "/ouroloot options" to open directly to the Options tab). Added in this release is the ability for each tab to handle additional arguments and perform appropriate actions. Currently only the History tab takes advantage of this: "/loot history blah" will search for a player's name beginning with "blah", and if found, will act as if you had clicked on that row, switching the display to every loot received by that player. All such slash command text is case-insensitive. Only enough text to be unambiguous is required, so "/loot o" will still display the Options tab in the default configuration, "/loot hi farm" is enough to trigger Farmbuyer's history display (as long as nobody named Farmville joins the raid), and so forth.
- Initial API changes for MoP; this version should run on either the live or beta realms.
- Lots of minor bugfixes.
Notable changes in 2.18
- A new option, "Show rebroadcasting player", has been added. This controls whether the "(from So-and-so)" is shown in the Notes column.
- Text output for the Attendance tab has changed to indicate which players are in the raid and which are in standby/outside groups. This assumes that your entire 10-player raid is in groups 1 & 2, your entire 15-player raid is in groups 1, 2, and 3, and so forth.
- Many other things only affecting plugins.
Notable changes in 2.17
- Support for Addon Loader
- Support for LoD plugin modules.
Older releases
- Just assume it was several years of bugfixing and get the latest version.
Just got this after installing the addon... whats going on?
Message: Interface/AddOns/Ouro_Loot/core.lua:457: bad argument #2 to 'format' (string expected, got nil)
Time: Wed Nov 29 07:41:51 2023
Count: 1
Stack: Interface/AddOns/Ouro_Loot/core.lua:457: bad argument #2 to 'format' (string expected, got nil)
[string "=[C]"]: in function `format'
[string "@Interface/AddOns/Ouro_Loot/core.lua"]:457: in function `format_hypertext'
[string "@Interface/AddOns/Ouro_Loot/core.lua"]:1836: in main chunk
Locals: (*temporary) = "%s[%s]"
(*temporary) = 1
(*temporary) = nil
(*temporary) = "Click here"
(*temporary) = "string expected, got nil"
I appear to be having issues using focus targets when Ouro Loot is turned on. Works fine with OL off. Any ideas?
I've run into the same issue useing the Set Focus option on the menu, but a workaround I've had work for me is to use /focus.
This is not related to Ouro Loot directly, which (unfortunately) also means there's not much I can do to help.
The problem is basically: any addon creating any kind of on-screen dropdown menu will cause "taint" in the current game session. Due to the way Blizzard implemented their dropdown menu system, any memory taint will then spread and interefere with secure actions triggered from dropdowns, such as Set/Target Focus. And because their memory taint tracker is primitive at best, whichever addon first (1) created any menu, anywhere, ever, or (2) loaded another addon or library which then created any menu -- that first addon is what's blamed for causing the problem, even though (as you can see) Ouro Loot never adds anything to the player's own portrait dropdown menu.
You can google "wow addon taint dropdown" for the gory details. It's been happening for years, and with most of their UI team reassigned, there's no expectations that the underlying taint tracker will ever be fixed. Which addon gets blamed is largely a matter of random chance -- whatever happens to do its menu work first, gets the finger.
The only workaround, I'm afraid, is to simply avoid using the dropdown menu for Set/Target Focus. As itomeshi says, there are slash commands to do both. There are also built-in keybindings to do both, but by default they don't have anything bound to them. (I use Ctrl-Q to set focus and Alt-Q to target focus, as an example.)
I am interested in tracking non-raid drops, especially salvage crate loot.
hey man I really like this addon just what I was looking for great job. I use this to track my loot history with pugs and what i've gotten on characters recently. Any way to track bonus rolls as well? <3
@Jariek: It depends on whether those bonus roll results are visible as loot messages in the chat windows, and optionally visible to other players. I honestly don't know the answer, as my guild isn't doing organized raiding currently.
If I ever get a bonus roll in LFR, I'll take a screenshot of the chat window and then use it later to figure this out. :-)
thank you for the reply :) happy new years!
Hey there, I used this last week for our guild raids. Getting data from other players is amazing to avoid range issues. I noticed it isn't recording loot level (normal/heroic/mythic, warforged, etc) properly.
@saintduo: yeah, Blizzard went and changed how they handle "variations" of items in 6.0, and I wasn't paying attention. This should be fixed (for tooltips on the Loot tab, anyhow) in 2.21.1 with better handling in the future.
Thanks for bringing this to my attention!
"Loot is optionally categorized by boss if you have Deadly Boss Mods installed."
Will this also work with BigWigs or just DBM?
@sbrunner: only DBM for now, because (last time I checked) other similar addons like BigWigs have no event-trigger-callback capabilities, which is what Ouro Loot uses to get informed of boss kills.
If those get added to BigWigs, then it should be straightforward enough to add the appropriate hooks to bossmods.lua and detect them.
I was looking for a loot history addon when I got here.
Ouroloot is pretty cool and works very well as it proposes, but unfortunately only works inside raids (not exactly what I want.). I know there is an option to enable outside the raids, but it is at debugging session and did not seem natural.
It would be possible to implement a better form of active history log outside the raids without needing to turn on the debug mode?
If you allow me, I would also suggest a text field for searching the history, that would be great.
As I've already said Ouroloot is a great addon and my suggestions are just personal needs which in my humble opinion would make it even better.
Thanks for the great work.
@lukkian: A history search field is definitely a good idea. I've been meaning to redo some of the button placement anyhow, and this will let me squeeze a text field in. :-)
I'll play around with a track-outside-of-raids option.
You know what's even more amazing? You listen and interact with your users, this is really cool.
Happy New Year !!!
This addon is VERY nice. A few minor changes could make this thing near perfect for me:
1) Allow an option to use HTML instead of Forum Markup.
2) I am using a custom markup to create HTML. But the date, boss/raid data is still bracketed with forum markup. Being able to make custom markup there would be nice too. Right now I am just using a "Replace All", which works, but this modification would automate it all very nicely.
3) Another export option that would be incredible would be a CSV export.
There are a few addons trying to do what yours does, and yours is the best. If there were some strong export features, this thing would be irreplaceable. If you need help testing new features, I'd be glad to help.
As it happens, I'm making a CSV plugin now, although it's at a very primitive stage. Some of my guild officers are wanting to do more data-tracking outside of game, and this is the easiest way of exporting the data out.
Raw HTML might be easier to implement as another drop-in module. There will be so many parts of the format that a user will want to edit, I'm thinking that dinky little one-line editbox that's 20 letters wide won't cut it. If the CSV editor matures a bit, I might steal that for similar purposes.
Only for 1.1. I have no way of testing any of the output for MLDKP, for any version. The MLDKP authors withdrew their document describing the format for all ML versions, so even the 1.1 output is guesswork on my part. I will most likely remove it from Ouro Loot, since I can't test it nor verify it.
hi,
i have for my forum this version soft :
PhpBB 3.0.10
bbDKP 1.2.5-PL3
Bossprogress 1.0.5
bbTips 0.4.3
Raidtracker 0.3.4
it's possible, i test for your addon export mldkp 1.1 or 1.5
i have test export xml with addon ka_raid-tracker 2.3.20 if you need exemple code.
ps: it's possible to add function Localization for translate with http://www.wowace.com/addons/ouroloot/
Thanks
hi,
i have error when i clic on ML/EQ-DKP
Date: 2012-01-07 10:58:48
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Ouro_Loot\gui.lua line 128:
ERROR: text generator 'mleqdkp' failed: ..\AddOns\Ouro_Loot\core.lua line 1441:
attempt to index local 'day_entry' (a nil value)
Debug:
(tail call): ?
(tail call): ?
[C]: error()
Ouro_Loot\gui.lua:128:
Ouro_Loot\gui.lua:114
Ouro_Loot\gui.lua:1024:
Ouro_Loot\gui.lua:1006
(tail call): ?
(tail call): ?
[C]: ?
[string "safecall Dispatcher[3]"]:9:
[string "safecall Dispatcher[3]"]:5
(tail call): ?
Ace3\AceGUI-3.0\AceGUI-3.0.lua:314: Fire()
...Ace3\AceGUI-3.0\widgets\AceGUIContainer-TabGroup.lua:167: SelectTab()
...Ace3\AceGUI-3.0\widgets\AceGUIContainer-TabGroup.lua:78:
...Ace3\AceGUI-3.0\widgets\AceGUIContainer-TabGroup.lua:75