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
about the whisper thing...while the item is queried you usually see the people who are being queried as pending. In the case of someone not getting a whisper they also dont appear in the pending list. So only way to give them the item is to switch the disenchanter and pass them the item that way. couldnt check yet though if it happens with morgbid2 as well but you know...ppl are lazy to install addons so its always kinda mix of whisper and morgbid2 users.
btw since that addon is able to detect WHO is usuing morgbid2 wouldnt it be possible to send whispers only to people who dont?
ever used WoW Instant messenger? Youll have 20+ windows open your screen with whispers X'D
anyway awesome addon thanks for all the work
Not in game but I assume you could cap it through eqdkp?
Thanks morg, just one standing issue. The minimap button never goes away if PB4 is enabled I can hide it, goes away. RL or exit log again and it's back even though the option is not checked. Check and uncheck makes it go away until another RL or log
@Fordremin In what kind of DKP system?
Is there any way i can cap a player DKP?
I got some requests/problems though.
1. I agree with people before me...take should be renamed into greed...Ive never seen anyone using take before and this is confusing for most people
2. I installed this addon today and before I use it on my guild I wanted to test it of course. I took my 80 paladin to ragefire chasm with my wife whos a lvl 14 paladin. Now this mod didnt know any of the items (I installed the itemdb) but thats no problem at all. I just selected the main classes who can use the item and for secondary i selected all. Now when I clicked the item to query for all my wife sometimes didnt get a whisper. I dont see how this is possible since I always selected all for secondary class and I was able to bid and we are both paladins. So cant be related to class I guess or I dunno...the only way for me to give it to her was by making her the disenchanter. Yeah in ragefire chasm that doesnt hurt but lets say we go to an instance for lvl 80s and an epic item drops and someone doesnt get the whisper although they could use the item...
3. would it be possible to do this for party as well? Cuz yeah we do normal dungeon runs as well and the loot problem appears there as well. The addon just tells me that I needa be in a raid to start queries so I had to change from party to raid.
Besides that thumbs up for this nice addon which perfectly would fit our small guild since its easy and compact. Now just have to get that bid mod of yours to check out how they work together :P
@kelem - all morgdkp issues (simple typos lol) which I have fixed so delete your pitbull ticket.
@goodboy - You need to export your dkp from the website which will give the correct DB name etc. So in eqdkp admin/morgdkp2/export dkp.
@kromdhar - Did you add fr.FR.lua to the files that load? If not the translation won't load hence why I suggested sending it to me:P If you did then what is the problem need more detail.
Having an odd thing going on As soon as I enable Pitbull4 Morgdkp stops hiding the minimap button and throwing errors when I loot or get commands via whisper.
Such as: [2009/03/10 22:57:27-358-x2]: MorgDKP2-MorgDKP2 v3.55\basePrototype.lua:1197: attempt to index field '?' (a nil value) MorgDKP2-MorgDKP2 v3.55\basePrototype.lua:1142: in function `AwardItem' MorgDKP2-MorgDKP2 v3.55\Modules\FixedDKP.lua:117: in function `ItemRecorded' MorgDKP2-MorgDKP2 v3.55\Modules\CoreModule.lua:1452: in function `RecordLoot' MorgDKP2-MorgDKP2 v3.55\Modules\CoreModule.lua:533: 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):73: in function <...ce\AddOns\Acheron\Libs\AceEvent-3.0\AceEvent-3.0.lua:72>
[2009/03/11 21:12:41-361-x1]: MorgDKP2-MorgDKP2 v3.55\Libs\UTF8\utf8.lua:249: bad argument #1 to 'utf8replace' (string expected, got nil) MorgDKP2-MorgDKP2 v3.55\Libs\UTF8\utf8.lua:249: in function <Interface\AddOns\MorgDKP2\Libs\UTF8\utf8.lua:246> (tail call): ?: MorgDKP2-MorgDKP2 v3.55\Modules\Waitlist.lua:627: in function `OnWaitWhisper' MorgDKP2-MorgDKP2 v3.55\Modules\CoreModule.lua:1215: in function `IncomingWhispers' MorgDKP2-MorgDKP2 v3.55\Core.lua:631: 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):73: in function <...ce\AddOns\Acheron\Libs\AceEvent-3.0\AceEvent-3.0.lua:72>
[2009/03/11 21:14:48-361-x1]: MorgDKP2-MorgDKP2 v3.55\Libs\UTF8\utf8.lua:249: bad argument #1 to 'utf8replace' (string expected, got nil) MorgDKP2-MorgDKP2 v3.55\Libs\UTF8\utf8.lua:249: in function <Interface\AddOns\MorgDKP2\Libs\UTF8\utf8.lua:246> (tail call): ?: MorgDKP2-MorgDKP2 v3.55\Modules\Waitlist.lua:627: in function `OnWaitWhisper' MorgDKP2-MorgDKP2 v3.55\Modules\CoreModule.lua:1215: in function `IncomingWhispers' MorgDKP2-MorgDKP2 v3.55\Core.lua:631: 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):73: in function <...ce\AddOns\Acheron\Libs\AceEvent-3.0\AceEvent-3.0.lua:72>
[2009/03/10 22:53:44-358-x1]: MorgDKP2-MorgDKP2 v3.55\basePrototype.lua:1197: attempt to index field '?' (a nil value) MorgDKP2-MorgDKP2 v3.55\basePrototype.lua:1118: in function `AwardDKP' MorgDKP2-MorgDKP2 v3.55\Modules\Tracker.lua:963: in function `LogBossKill' MorgDKP2-MorgDKP2 v3.55\Modules\Tracker.lua:396: in function `HostileDeath' MorgDKP2-MorgDKP2 v3.55\Modules\Tracker.lua:352: in function `?' CallbackHandler-1.0-3:146: in function <...ron\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146> <string>:"safecall Dispatcher[9]":4: in function <[string "safecall Dispatcher[9]"]:4> <in C code>: ? <string>:"safecall Dispatcher[9]":13: in function `?' CallbackHandler-1.0-3:91: in function `Fire' AceEvent-3.0-3 (Acheron):73: in function <...ce\AddOns\Acheron\Libs\AceEvent-3.0\AceEvent-3.0.lua:72>
Dont know if this is a PB thing or a Lib issue or what, but that's the only thing I've changed recently (from aguf to pb4).
I'm also posting on the pb4 project
Hello Is there any way i could change database name where log will be imported? Every time i import raid i have to change "aqdkp" to our database name. It would be great to do that only once somehow :)
OK, i'm working on a french translation for MorgDKP2 and MorgBid2. Maybe done before the weekend ;-) I will post you the "frFR.lua" and the code for MorgBid2 when finish
Edit : It seems that the "frFR.lua" isn't enough ... is there something else that I need to translate ? I won't be able to translate everything because I don't understand every word in the current files :p sry ^^
Yes basically a new locale file needs to be created as you say. If you get me the localizations for those I can add them for you. Still might not be perfect until everything is localized though.
sorry, I don't really understand what I need to do with that ... do I need to create a "frFR.lua" in the "locale" directory and translate it ? or should I only put this 2 strings into another file ?
In fact items appear well in the itemDB but there seems to miss the relation between attendee and item, is it right ?
Yes there needs to be some major localization done for french version. Main thing to fix tracking is:
Those 2 need to be localized to the french versions. And the you receive loot...needs to be added to morgbid2 as well
Hello
sorry for bad english first :p
I'm using your addon since a few days, latest version is fine except that i can't track items dropped during the raid ...
when I parse the log extract onto my eqdkp web site, there's nothing betwenn <loot></loot> so no items traked ...
should il be the tracking of items in french translation ?
Yeah that is not an easy one. Don't really have a good idea for that and we never use DKP in 10 mans.
Hey Morgalm, one of the things I'm looking at with the release of 3.1 is tracking and awarding a different amount of DKP for hard mode bosses. Creating a custom event is the easy manual solution, but I've been trying to brainstorm up an elegant automated solution. So far the best I've got is changing the event type if the ilvl of one of the drops is larger than the rest. Other option is of course exception hell.
Do you think this will be a task you'll tackle?
I've said it before, Morgalm, and I'll say it again.
u r teh r0x0r.
Big update added a few requested features. Primarily custom Morgbid2 texts controlled by morgdkp2. It is backwards compatible so if you change the name of your texts and someone has an old version their votes will still get thru as old need/pass etc. Added frame scaling as well so can change the scale as you like (separately for lootframe) Also you can now disable the nag screen spam in morgdkp if you wish. Many tweaks/fixes to results frames as well in morgbid. Added a new DKP module as well called TakeBid. Designed to work as vote need/take/pass. Need always wins obviously but we only allow 1 need win per run. If you bid take you must bid an amount you are willing to spend on the item. If you win you are charged that amount. It works like bidwar silent auction in that you will not see other peoples bids (you will see need/take/pass status = bids will be 0)until you place your bid. I haven't done anything about ties yet may treat that like bidwar ties in the future.
Oh and if you do not enable custom texts it will not pass any extra arguments over addon channel from before.
Enjoy:)
@tyrannis - By default the mod creates an event on zoning in for x start DKP (set with raidtracker = ctrl-click icon), an event for x run DKP, an an event for each bosskill x DKP. If you want summoning stone DKP you can shift-click custom event on tablet at any time (in raid) to create an event of x DKP. If you want people to bid for items then enable bidwar and silent mode (only 1 round of bids and no one can see what anyone else bids til the end) Explore the options you should see all these options... (right click the icon)