MorgDKP2
MorgDKP2 is a full featured mod that allows the master looter (ML) to control the loot distribution process. Only one member is required to have this mod. MorgDKP2 is also capable of tracking DKP and outputting the DKP string for import into eqDKP using a custom php import script.
Please help localize here.
LDB shortcuts:
- L-click => MorgBid2 query
- Shift-L-click => Invite list
- Ctrl-L-click => Raidtracker
- R-click => Options
- L-click itemlink => Add manual item for query
- Shift-L-click Itemlink => Insert link into open chatframe message
- Ctrl-L-click Itemlink => Add item to ignore list
- Hover over itemlink => Show item tooltip
- Shift-hover over itemlink => Show bid history for the item
Bag shortcut - Shift-Alt-L-click any item in your bug to add a manual query (ie a BOE item)
Video Tutorial
BlueWarlord has created a video tutorial for setting up and using the MorgDKP2 system to run a raid. Find it here.
BlueWarlord created another video tutorial for setting up and using MorgDKP2 with eqdkp/eqdkp+. Find it here.
Thanks BlueWarlord!
phpRaid Integration
If you use eqdkp+ for setting up raids you can export the raid attendees (choose lua format) and save the file to the MorgDKP2 folder. When you open the invite list (shift-click) the day of a scheduled raid the phpRaid data will pop open in its own frame.
ClassLoot Integration
If you have ClassLoot (r98 or higher) running as well as MorgDKP2 when a new item drops the classes/altclasses allowed to bid for the item will automatically be filled in if the item is in ClassLoot's database. Only if the classes are NOT already set. Thanks Pneumatis for allowing me to hook your DB:)
Importable item database
There is now and item DB included in the ImportItemDB folder of MorgDKP2. It has as many Northrend raid items I have seen so far with classes set. To import it copy the file to the main MorgDKP2 directory and load WoW. Once imported delete the file from the main directory. Note it will not overwrite any items you already have set.
Using MorgDKP2:
Basic use is identical to MorgDKP. Documentation for setting up the web scripts etc still applies. Will post more information when I have time.
Suggested to start:
- Install the webscripts to the plugins folder of your eqdkp install and install it through the admin plugin menu
- Export your DKP from the website save in MorgDKP2 folder (even if your database currently has no members!)
- Enter WoW and make sure there are no errors
- Track your raid etc
- Click export raid(s) and copy the string
- Click Import raids on the admin panel of edkp and paste the string into the window
- Win!
Webscript help
Export standings
Used to export member DKP, events, aliases, and database information (needed for proper import) to the in game mod. Access through the eqdkp admin menu (after installing plugin)
- Select your game timezone (may not match your actual timezone)
- Select if you want to export member ranks
- Ignore ranks - do not export ranks and hence do not use rank sorting for item rolls
- Use all ranks - export all ranks for all members and use rank sorting for item rolls (only way to activate rank sorting)
- Only export [rank] - only export the selected rank from the website. Caution will only export members of that rank so any unranked members or members of different rank will not be in the file.
- Enter the directory and in game name for up to 5 eqdkp installs (ie if your website is http://sodalityoftheconstant.com/aqdkp/listmembers.php? then you would enter aqdkp and whatever name you want it called in game.)
- For eqdkp+ multiple pool install only enter the main directory name the pool names will be your actual pool names
- For installs in base directory (ie http://eqdkptest.sodalityoftheconstant.com) enter - for the directory name
- Click export
- Right click the link and choose save as .. save in WOW/Interface/Addons/MorgDKP2 directory.
- Load into WoW or reloadui if already in game.
Import raids
Used to import raids recorded with the MorgDKP2 in game mod. Click export raids in the LDB tooltip or export raid in the raidtracker for a single raid. Copy the DKP string (Ctrl-C) and paste it into the editbox. When editing names or adding people you do not need to capitalize them.
- Click parse DKP string
- Check the data and make sure the import looks correct:
- If you have any aliases to import they will be shown with ADD beside them. To not import the alias simply erase the editbox.
- If you have any DKP changes they will be listed. As above erase the value or the names to not import. Can add/remove names as well.
- For each event the name, note, value, attendees, and any items will be shown. Edit them if necessary. To not import a whole event (including items) erase it's name. Erase and item or item value to not import the item.
- If you are using zerosum or skall with zerosum check the use zerosum checkbox.
- Click enter final data:)
Note: - Ranks will only be used in sorting if you export all ranks and set the weight of each rank in the in game options (database options) Higher values should be higher ranks. Also rank sorting is ONLY used on the lootframe rolling window. It is not used anywhere else such as the MorgBid2 check or raid invite tab. This means that the MorgBid2 results frame may show a different winner.
Loot window help:
Here is how the loot window is designed to work for those having trouble understanding it. When you loot a corpse if any items are above the loot threshold the mod will:
- Check each item and if any have not had their classes set (who gets to roll for the item) it will automatically open the item edit page to that item. This takes priority over all other possibilites. ie You edit this item and start the roll for it. The mod checks again and there is still another item with its classes unset so it opens the item edit page for that 2nd item NOT the roll window for the auction you started. If you want to see the roll window simply right click on the 1st item again.
- If no items have unset classes the mod next checks if any items are currently in auction. If so it opens: roll summary window if more than 1 item being rolled for or the single item roll window if only 1 item.
- If none of above conditions apply no window automatically opens (ie not roll window or item edit window) and you can right click any item to open edit window (or roll window if auction started) or alt-right click any item to start ALL queries which will cause the roll summary window to open.
Note: - If you want to use MorgDKP2 with fubar you need to have Broker2Fubar installed or it will only show a minimap icon.
Whisper commands: - whispered to someone running morgdkp2.
Waitlist
mbid wait[+/-] [main] => main only necessary if you are whispering from an unknown alt
Bidding
mbid itemid/itemlink [need/take/pass/offspec] [bid] => itemid/link must be included - bid only for BidWar
Dkp queries
dkplist [pool/s] [class/all] [class] ... => pools only if you want to see what pools are available. pool to get the dkp for that pool (leave out for default pool). all for all members in the raid (if person running morgdkp2 is in a raid), guild otherwise. You own class is automatically included so a pally whispering dkplist rogue will get paladin and rogue.
Webscript note: - The MorgDKP2 webscript requires:PHP 5.2.3 or greater and MySQL 5.0.7 or greater. If you are having issues with special characters make sure your MYSQL database is in UTF-8.
Supported DKP modules:
- Fixed DKP
- Zerosum DKP
- Percent DKP
- Relational DKP
- Random
- SKall
- TakeBid
- BidWar
Syncing:
Options
- Broadcast - enable to send sync messages out during a raid to registered listeners. Usually one person will probably broadcast to the backup people in the raid but you can have more than one broadcaster.
- Receive - enable so your mod will act as a listener and receive syncing events from MorgDKP2 installs which are broadcasting.
- Overwrite raid - enable to overwrite the current raid with the new raid info (in the initial sync) if you have already started a raid. Useful when you zone in to the instance late after raid is already in progress to get the raidlog from the whole run. If you haven't started a raid overwrite is done by default.
- Manual Syncs - ie Sync options/members/items/all/initial sync. Click one of these buttons to manually sync to the current raid.
Sync Details
- Syncing will not be enabled until a raid has started and then the mod will check for sync necessity every 60s.
- When the raid starts or someone joins the raid with receive enabled the broadcaster will send out his eqdkp data (boss events/values, aliases, current pool, certain options, current raid data, and current member DKP) Current member DKP will only be updated in the listener client if it has a newer timestamp or if they are members of your current raid. The broadcasters current raid will overwrite the receivers current raid unless Overwrite raid is off.
- When you make changes to important values the mod will schedule a sync and send those changes to the listeners throughout the raid.
What is synced?
- item database changes (value/classes)
- raid tracker changes to items (value/winner/event)
- custom events
- event changes (value/name/note/deletion)
- alias additions
- BOE items (ie hand out through your inventory and manually trade)
- DKP change events
- item costs different from actual DB cost (ie TakeBid or offspec auctions)
- items incorrectly assigned to ML/DE in listener client
- full current raid sync
- initial waitlist and waitlist changes
NOTE: - There is generally no need for the manual syncs unless you specifically want to transfer the complete itemDB or the listener wants ALL of your MorgDKP2 options. The complete member DKP and necessary options are transferred when the initial sync is sent at the start of the raid (if you have Broadcast enabled and there are listeners present in the raid)
MorgDKP2 Features:
- Allows ML to query raid for interest in loot.
- Tracks DKP including raid attendees, start bonus, and all drops.
- DKP systems supported include zero-sum, relational, random, fixed, percent, and skall.
- Options to award DKP/unit of time, include a start bonus, and include custom events such as boss attempts.
- BidWar mode for item auctions.
- Custom php scripts to export/import/change DKP and add aliases to eqDKP/eqdkp+ website. (can import multiple raids/pools in one string)
- Allows a ML and disenchanter (DE) to be set so that they are not charged for items. (Toggle)
- Remembers what raid members have equipped and will not send a query to them for loot they already have. (Exceptions for some non-unique items included.)
- Sends query results to MorgBid2 (for players in that auction)
- Displays top 5 DKP members for the moused over item in the tooltip.
- Automatically hands out items to the winning player if the loot window is still open. Note: It asks with the standard blizzard confirmation dialogue.
- Allows ML to easily set which classes are eligible and DKP value. Also remembers these values.
- Scans for base installs of MorgBid in the current raid. Automatically outputs a link to MorgBid site on click.
- Allows ML to record BOE items before trading them to member. (Alt-shift click item in your inventory)
- Can load up to 5 separate DKP pools. Ie. MC1, MC2, BWL, AQ40, NAXX. These raids can be named whatever you wish.
- multiPool feature allows up to 5 DKP pools to be used in one raid. (ie separate pool for class items)
- Can change loot threshold on the fly.
- Item history for easy recall of current raid item winners.
- Allows raid members to whisper ML for current DKP for own class or specified classes in all 5 DKP pools. (sent to MorgBid2)
- Lets you know it is working by displaying boss kills, raid changes, and looting events.
- Automatically links items to raid chat.
- Edit item values from item history (Allow you to track DKP without being ML)
- Whisper system for those crazy people who hate mods:P
- Fubar/LDB support
- Main and offspec DKP rolling
- Waitlist including DKP awarding and alt whispering.
- ListDKP - shows guild members online and in/out of group and allows 1 click inviting
- Custom item ignore list
- Automatic loot method switching for certain encounters. (Vashj/MH)
- Boss attempt mode asks if you want to record a boss attempt after dying
- Custom loot frame with buttons for self-loot/random rolling items (loot frame can be used with mod in standby mode)
- Importable item database
- Built in xloot like loot frame which can be used with mod on standby
- New itemframe/rollframe built into loot window
- Customisable font/frame options
- Modular so can disable what you don't need
- Web script can handle offbase/eqdkp installs in main directory
- Imports MorgDKP database data (be sure to run both at same time if you want to mport your database the first time)
- Fully eqdkp/eqdkp+ compatible
- In game raid browser
wtf I do ulduar all the time and all the items have been perfect. Were you the ML? Do you have the new library I added libperiodictable/heroic/instanceloot installed? Send me your SV file again.
Ok did a few Ulduar bosses last night, and all the loot ended up in trash again.
I had receive turned off, and all my other options looked good to me. I ended up using the raid tracker to move loot to the correct boss.
Done:)
Okies. We'll make sure to set our broadcast/receive properly. Any chance of having it automatically do that the way the DKP Listener flag is set automatically? We swap who the ML is fairly often.
I'm sure we had different disenchanters set. Neither of our normal DEs were in the raid last night, so I'll assume that's the reason for that. The fun part was that the DE'er last night was the person with the most DKP, and with points getting assigned to him, he dropped from first to last. :) Okay, so I reset all the points manually, but . . . . *GRIN*
Yes, every single item was trash. Not one was assigned to a boss. This was our last Naxx run with DKP, so we don't care about it any more. I'd guess you're right about the broadcasting conflict screwing that up too. I've got the SV file saved, so I can still send that to you if you'd like.
Yes I have not tested syncing with more than 1 broadcaster its not really designed to be used that way. If you are NOT the ML you should not be broadcasting or the ML should NOT be receiving. Thats exactly what happened your incorrect values overwrote his correct ones. I always have broadcast ON and receive OFF then other morgdkp2 users are just backing up my data basically. The only time I turn receive on is if I am late and I want to get the raid from one of them (they have to of course turn on broadcast temporarily for this to work) Using 2 broadcasters it is impossiblw for the mod to know who's data is correct at this point. Haven't found a good way to do that yet. And is there really ever anytime when you need 2 broadcasters?
Every single item was trash? absolutely nothing was assigned to the boss? Can I get you SV file. For the DE items showing player name not bank was your DE set the same as the other broadcaster? This too may have been an issue with multiple broadcast.
Thanks think I see the 0sum problem.
With both broadcast and receive on with multiple broadcasters though you item assignment will be screwed so that may be the only problem there.
If there are two people in the raid who both have broadcasting, receiving, and overwrite raid all turned on, is that expected to cause data problems?
That's my best guess as to the reason for the results I got last night. In the raid tracker at the end of the raid, less than half the items had the correct points charged. Many were charged 0 or full DKP when the bid was half or quarter price. Some of the DE'ed items charged full price, while most were 0. At the time the items were sent out, the points were charged correctly, and the chatlog shows correct charges, so I'm able to use that to fix all of it.
My best guess as to the reason for this behavior is that the point values from the raid listener's database were somehow getting broadcast to the master looter, who was setting the point values initially. I don't know if that's what actually happened, but I've never seen this behavior before. Then again, I think last night was the first time we had both of us have broadcasting turned on, so this might be "normal" behavior.
Other things which surprised me last night:
The DE'd items were assigned to the person doing disenchanting, rather than the bank. *shrug*
Everything that dropped was marked as a coming from a trash mob. Yeah, it was a Naxx run. However, moving items to their bosses worked like a charm. Thanks!
Zero-sum points earned were not rounded at all. They'd been getting rounded to the nearest 0.01, but we had 15 digits of DKP last night. I'm sure you remember our talking about this a few months ago. Don't you hate us Zero-Sum peoples? :)
Why would you give dkp to a DE'D item?
The Bank will end up massively in the red so to speak. Maybe i'm doing our Zero Sum system a bit different than some others but it seems to work ok. Everyone gets DKP when something drops, if it's needed, DEed or is a BoE to sell. Since We don't award DKP for attendance or time spent people only get points if a boss is downed and then based on the value of the item.
If the bank is charged for DE'ed items, how in the world do you keep the bank from ending up with a total in the negative thousands? Wouldn't that just defeat the whole purpose of zero-sum?
Here is how we do it...
Item Drops and noone takes it....
Goes to Bank, and no points are awarded.
BoE item drops and noone wants it...
Goes to Bank, and no points are awarded.
If someone later wants the BoE from the guild bank, then they are charged DKP and the Bank receives that DKP. However we do that manually as it is only 1 item on a case by case basis.
We treat the bank character just like a normally ran member of a zero sum. If someone does not take an item, the rest of the group does not get points. Therefore the bank doesnt either.
The bank DOES receive
Bonus's awarded
Zero Sum points that are awarded for purchased items
If someone leaves the guild, there points are zeroed out and the bank takes the + or - (This is just to keep the pool at Zero.)
This system allows us to take the "Bank" character that is earning points and distribute bonus's to the raid members without pulling the points from thin air. If the bank has 500points. Then we can subtract 200 points from the bank, and give it to 25people at the raid as a progression bonus. Ofcourse that is 200 divided by 26 (remember the bank is their also). Since we "have" the points and are just re-distributing where/who has them it does not hurt the system, and gives it flexibility.
So doing it this way, yes there is not incentive to run farmed content.... however when we get to that point we usually open the invites to non raider people and let the more casual players in. So the loot still gets purchased. Also we use a 100% / 50% / 25% option in our raids. So on farmed content where people are not wanting to spend full points...they bid 25%. It is a smaller chunk of points getting sent around with zero sum, but it is points none the less.
The way it is set up now the bank does NOT get charged for the items but the members DO get zero sum credit for the items.
edit: err actually that might be wrong since I zero'd all bank items. Will have to check it again. So are you saying you do use zero sum and you need it that way or just adding information?
Maybe it's just me but I've always seen Bank members in a Zero Sum system take the DKP hit for anything that a real member didn't take. DE'ed items & BoEs to be sold.
If they bank does not get "charged" for those items then the people in the raid when they dropped can't get points for the item, otherwise it's not a Zero Sum system.
Now if you don't want the Bank to get changed for the items then the people on the raid don't get DKP, so a geared run were most stuff gets DE'ed is going to be worth very little DKP to those attending. Not much of an incentive.
Thanks Kalem not sure how I missed that one. Also greatly cleaned up the options so should be easier to navigate now:)
UTF8 error popping up again when somebody adds to the waitlist on an alt Ðraken is the players main. From an alt issuing the command gives the following error:
[2009/05/26 22:19:52-206-x1]: MorgDKP2-MorgDKP2 v3.9\Libs\UTF8\utf8.lua:84: UTF-8 string terminated early MorgDKP2-MorgDKP2 v3.9\Libs\UTF8\utf8.lua:84: in function <Interface\AddOns\MorgDKP2\Libs\UTF8\utf8.lua:59> MorgDKP2-MorgDKP2 v3.9\Libs\UTF8\utf8.lua:255: in function <Interface\AddOns\MorgDKP2\Libs\UTF8\utf8.lua:240> (tail call): ?: MorgDKP2-MorgDKP2 v3.9\Modules\Waitlist.lua:711: in function `OnWaitWhisper' MorgDKP2-MorgDKP2 v3.9\Modules\CoreModule.lua:1275: in function `IncomingWhispers' MorgDKP2-MorgDKP2 v3.9\Core.lua:661: in function `?' CallbackHandler-1.0-3:146: in function <...ron\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146> <string>:"safecall Dispatcher[12]":4: in function <[string "safecall Dispatcher[12]"]:4> <in C code>: ? <string>:"safecall Dispatcher[12]":13: in function `?' CallbackHandler-1.0-3:91: in function `Fire' AceEvent-3.0-3 (Acheron):119: in function <...ce\AddOns\Acheron\Libs\AceEvent-3.0\AceEvent-3.0.lua:118>
-We are pretty much stopping DKP in Naxx now anyway...well next week is the last. :-)
@epicwow - have you tried TakeBid? It is quite similar I think and is what my guild is using now. Choices are NEED, TAKE(which includes a bid amount), or PASS. Way we work it is you get 1 NEED roll per raid and NEED rolls always win for FULL DKP cost. If there are no NEEDs then TAKE rolls win and when you bid TAKE you always set the amount of DKP you are willing to pay. Top bid wins if there are no NEEDs. People are really liking it and we are not DEing much at all. It isn't quite like bidwar cause it is silent (ie you only get one TAKE bid) but it works well. Better place to discuss would be in a ticket. But you would need to make a whole new mode not modify bidwar. Then it would just be a matter of telling morgbid2 to use that mode and programming the which buttons pop up.
@azphat/tirdal - Personally I would prefer to get the item's assigning to the correct boss more reliably for you then you don't even need to bother with all that chatlog crap. The last change I made should definitely help. I never even think about it in Ulduar the loot has never been wrong once.
"I find it pretty easy to go through my chat log and find all the loot."
Um, I am suggesting it end up in the chat log. I was just extra verbose about it. I don't think it should go into the savedvariables file.
The information I'd like to see saved to the chatlog, in addition to what's currently going to raid chat, is who/what dropped the loot (unless I can get DBM's message to be saved to the chatlog), what people bid, and bidder's DKP/random roll/whatever.
If that's too much spam to send to the raid then send it direct to the chat channel, or whisper it to yourself (which I don't really like because it gets said twice then...) I tried to make my example of this extra data as short as possible, to minimize spam if it does go to the raid.
And as Azphat says, I think anything would be fine, including ignoring all of this.
I dont know Tirdal....
I find it pretty easy to go through my chat log and find all the loot. Its a pain in the ass totally, but it isnt impossible...just tedious.
Having it save All data of a raid to a file would be nice, but to implement might be kind of harsh. I would settle for it just being added to the message already there. The winner and what he bid. Because the results window and our delay we do is enough time to catch mistakes during the pass out of loot. All I wanted was a record somehow of the person who actually won, incase they dispute how much they bid on it.
Anything would be fine personally, just tossing out ideas to Morg so "if" he looks into adding it he has some ideas.
MorgDKP2:: Tirdal wins Thunderfury for 1000 DKP. Added 40 DKP to all raid members.
MorgDKP2:: Bids: Tirdal Need 872 DKP. Gyza Need 871 DKP. Fred Take 1200 DKP. George Offspec 18 DKP.
[More items from Algalon.]
MorgDKP2:: Hogger loot:
...
Hopefully that wouldn't be *too* spammy. And definitely should be optional, and probably to a custom chat channel. Dunno how hard it is to figure out what boss the loot is from, but that would be nice. I don't know how many times I've screwed things up and not figured it out until I'm importing the data to the website and looked it up. And yeah, this is all "nice to have" stuff, certainly not necessary.
My guild needs a specific addition to this addon, namely to be able to enable BidWar for only one of the 3 options, in this case OFFSPEC. This has a long winded discussion behind it, but mainly it's to enable people to pay or not pay DKP for an offspec item, so that we can minimize the number disenchanted items(gotta love dual spec)
Anyway, instead of nagging you about it(since although it's a nice feature, it's quite specific) I started coding it myself. I came as far as to add three toggle options to the BidWar options tab("NEED" "TAKE" "OFFSPEC" toggles, so that you can enable/disable Bidding for any of those buttons)
This was quite easy as the code is pretty understandable in MorgDKP2.
The hard part came when I tried to get a overview of the MorgBid2 code, as it contains much more graphics code, which is in (almost) all coding languages more messy. I wanted to make a simple solution where, MorgBid2 is made aware of which buttons can be used for bidding. Then MorgBid2 could simply state that in a small textbox in the bidframe and I could let the bid-value box be there, just simply send the default item cost when any other button is pushed than a button which had been enabled in the BidWar options tab.. I hope you understand my plan of action here :) So..
1. Any tips as to how i could achieve this, or how I should start to understand the MorgBid2 code(I think i get my head around the sending commands to the MorgBid2 clients through the serialize commands, but not where they are received)?
2. Is there a better place to discuss these technical matters?
Thanks in advance if you bared through my wall of text.