I am the GM of a casual guild and needed a simple DKP style mod to reward attendance at guild events, raids etc. I either didn't like the current ones or they were much more complicated than ours needed to be, so I wrote one. It currently uses the officers notes to store data and has a couple of features that the guild thinks is pretty cool.
It allows anyone to quickly see the Karma points of anyone that is logged on (via a Fubar2 plugin).
Raid leaders can start a timer to award x points every y mins (x and y both configurable). They can also award points or take them away from the raid and can award ontime points to everyone in the same location as them.
Masterlooters can start a roll from clicking on an item in the loot frame. This will open a window that tracks the rolls and allows them to click a name to select the winner. Clients with the mod also get a window in which they can monitor the rolls and have the option to pass.
The mod stores defaults in the guild info, so that all officers are by default awarding the same number of points per x time and are correctly getting the max points etc.
I'd like to thank the oRA2 team, cause I pinched their code for my frames on account of not liking xml and also the authors of Detox, SnaFu and all the other authors of mods who's code I browsed through while trying to learn lua and the ace framework.
Two things though, I'm now trying to rewrite some of the mod to enable it to be used cross guild (yuck) and need some advice. I'm trying to come up with the best way of maintaining data integrity. The best two options I can think of are either to timestamp everything and write a lot of code to ensure that things are done in order, or to have clients decide on a master client and send updates to it and then have it update the "master" copy and then notify everyone else. I'd really appreciate some advice on this one.
And second, before Tekkub gets me, I will work on getting access to the wiki and and svn.
Oh, and please let me know how I can improve the code, but go easy on me as this is my first WoW mod and the first time I've even looked at lua.
Oh, just remembered that you'll need to look in the code to see the default string that it's expecting to find in guild info. The new dev version has an option for the GM to set it via a dropdown menu option. And if you have existing officer notes then don't run it yet, cause it may get rid of them. Posting at the moment to get an answer to my question and so people can look at it and comment on code if they want to.
Very interesting mod. Not something I would use since im not an officer / leader, or much of a riader.... but I can totaly see the need / want / desire for a mod of this sort.
Post a screenie of it in action... im sure others would be interested.
Have you read about epgp? Is a recent ACE2 addon to store ingame DKP, and give a loot priority list based on the ratio dkp earned / dkp spent plus some fine features.
There is a possibility that your addon could eventually work as a bridge to populate, by tracking, it's DKP?
Have to say that both projects looks very promising and wish good luck for for the future to both.
Two things though, I'm now trying to rewrite some of the mod to enable it to be used cross guild (yuck) and need some advice. I'm trying to come up with the best way of maintaining data integrity. The best two options I can think of are either to timestamp everything and write a lot of code to ensure that things are done in order, or to have clients decide on a master client and send updates to it and then have it update the "master" copy and then notify everyone else. I'd really appreciate some advice on this one.
The easiest way that I could come up with was what I implemented in DKPmon. I have it set up so that everyone that runs the DKP addon has a copy of the points database, and I put in functionality to synchronize the databases; of course, this can be abused, so only trustworthy (ie: raid officers) people are allowed to run the DKP addon. If we have different people running different raids on different days I just force them to get together at some point between the raids and run the synchronization operation. To make the sync easy, I keep track of two quantities per player -- DKP earned, and DKP spent. Each player's current DKP is just their earned minus their spent. Then, to synchronize it's just a maximum operation on the earned & spent quantities for each player; since you never subtract from either of those two quantities it works just fine. No need to do all the fugly timestamping stuff.
I am the GM of a casual guild and needed a simple DKP style mod to reward attendance at guild events, raids etc. I either didn't like the current ones or they were much more complicated than ours needed to be, so I wrote one. It currently uses the officers notes to store data and has a couple of features that the guild thinks is pretty cool.
It allows anyone to quickly see the Karma points of anyone that is logged on (via a Fubar2 plugin).
Raid leaders can start a timer to award x points every y mins (x and y both configurable). They can also award points or take them away from the raid and can award ontime points to everyone in the same location as them.
Masterlooters can start a roll from clicking on an item in the loot frame. This will open a window that tracks the rolls and allows them to click a name to select the winner. Clients with the mod also get a window in which they can monitor the rolls and have the option to pass.
The mod stores defaults in the guild info, so that all officers are by default awarding the same number of points per x time and are correctly getting the max points etc.
I'd like to thank the oRA2 team, cause I pinched their code for my frames on account of not liking xml and also the authors of Detox, SnaFu and all the other authors of mods who's code I browsed through while trying to learn lua and the ace framework.
Two things though, I'm now trying to rewrite some of the mod to enable it to be used cross guild (yuck) and need some advice. I'm trying to come up with the best way of maintaining data integrity. The best two options I can think of are either to timestamp everything and write a lot of code to ensure that things are done in order, or to have clients decide on a master client and send updates to it and then have it update the "master" copy and then notify everyone else. I'd really appreciate some advice on this one.
And second, before Tekkub gets me, I will work on getting access to the wiki and and svn.
Oh, and please let me know how I can improve the code, but go easy on me as this is my first WoW mod and the first time I've even looked at lua.
Current Working Mod - http://www.wowinterface.com/downloads/download5590-DOKarma
My dev copy has some numerous bug fixes and new features. Hoping to release it sometime this week.
Regards,
Osirah.
www.darkorigin.com.au
Oh, just remembered that you'll need to look in the code to see the default string that it's expecting to find in guild info. The new dev version has an option for the GM to set it via a dropdown menu option. And if you have existing officer notes then don't run it yet, cause it may get rid of them. Posting at the moment to get an answer to my question and so people can look at it and comment on code if they want to.
Post a screenie of it in action... im sure others would be interested.
At work, will post some later today for your viewing pleasure.
Osirah.
There is a possibility that your addon could eventually work as a bridge to populate, by tracking, it's DKP?
Have to say that both projects looks very promising and wish good luck for for the future to both.
The easiest way that I could come up with was what I implemented in DKPmon. I have it set up so that everyone that runs the DKP addon has a copy of the points database, and I put in functionality to synchronize the databases; of course, this can be abused, so only trustworthy (ie: raid officers) people are allowed to run the DKP addon. If we have different people running different raids on different days I just force them to get together at some point between the raids and run the synchronization operation. To make the sync easy, I keep track of two quantities per player -- DKP earned, and DKP spent. Each player's current DKP is just their earned minus their spent. Then, to synchronize it's just a maximum operation on the earned & spent quantities for each player; since you never subtract from either of those two quantities it works just fine. No need to do all the fugly timestamping stuff.
-Eraslin
Still not quite sure what to do about the multi-guild thing.
Tooltip - http://www.darkorigin.com.au/Images/Tooltip.jpg
Menu - http://www.darkorigin.com.au/Images/Menu.jpg
MasterLooter Window - http://www.darkorigin.com.au/Images/MasterLooterWindow.jpg
Client Window - http://www.darkorigin.com.au/Images/ClientWindow.jpg
Client Window after passing - http://www.darkorigin.com.au/Images/ClientAfterPass.jpg
Osirah.
Also, download link points to latest version.