PvPReward
Version 1.9.0
NOTE: This plugin requires you have Vault enabled on your server
This plugin adds to PvP, in addition to any items that may be dropped, players also steal money from the players they kill. The amount stolen is configurable.
Money can also be taken from a Player when they die.
Features:
- Supports all major Economies and Permission Plugins thanks to Vault
- You can change what command this plugin uses by editing the plugin.yml (found inside the plugin jar file)
- MultiWorld support (Disable rewards and/or death tolls in specific Worlds)
- Configurable properties
- Custom messages
- KDR Leaderboard
- Several methods of determining amount of money lost/stolen (percent, flat rate, etc...)
- Add Players to a specific Permission Group if they kill too many other Players
- Option of having tombstones to hold items instead of players dropping items (Beta feature)
- Configurable combat time
- Optional penalties for logging or teleporting while in combat
- Broadcast when a Player Combat Logs
Permission Nodes:
- pvpreward.getreward = Needed to steal money from another Player
- pvpreward.givereward = Needed to have money stolen from you
- pvpreward.ignoredeathtoll = Do not pay Death Toll when you die
- pvpreward.reset = Needed to reset any Player's Kills/Deaths/Karma
Commands:
User Commands:
() indicates a required field.
If Player is not specified, then the command sender is used
- /pvp outlaws - Lists current Outlaws
- /pvp karma (Player) - Lists the Karma level of the specified Player
- /pvp kdr (Player) - Lists the Kill/Death ratio of the specified Player
- /pvp rank (Player) - Lists the KDR rank of the specified Player
- /pvp top (Amount) - Lists the top ranked KDRs
Admin Commands:
[] indicates a required field.
- /pvp reset - Lists the Admin reset commands
- /pvp reset kdr - Sets your kills and deaths to 0
- /pvp reset kdr [Player] - Sets the specified Player's kills and deaths to 0
- /pvp reset kdr all- Sets everyone's kills and deaths to 0
- /pvp reset karma - Sets your Karma Level to 0
- /pvp reset karma [Player] - Sets the specified Player's Karma Level to 0
- /pvp reset karma all- Sets everyone's Karma Level to 0
Karma Description:
Most of these setting are configurable
Picture + Written Description by riuthamus
Scene01:
Bob and Jacob have done nothing, all stats are base:
- KARMA POINTS: 0
- DROP PERCENT: 10%
- 500 COINS IN ACCOUNT
Scene02: Bob attacks and kills Jacbob, this will do the following things:
- Bob will gain 2 karma points
- Jacob will lose 1 karma point ( if he is at 0, it will stay at 0 )
- Bob's chance for drop of gold will be increased by a 2% modifier if his karma is less than 50
- If the chance for drop of coins from Jacob ( the killed ) is a success, a random value ( default range of 0%-5% ) will be taken from Jacob's bank account
Scene03: Bob has been bad, and has killed lots of people and now has 48 karma. He kills Jacob again, the following things occur.
- Bob will gain 2 karma points putting him over the 50 karma making him an outlaw
- Jacob will lose 1 karma point ( cannot go below 0 )
- Bob's chance for drop of gold will be increased to 100% since he is considered an ( outlaw ) and still gains +2 karma
- If the chance for drop of coins from Jacob ( the killed ) is a success, a random value (default range of 0%-5% ) will be taken from Jacob's bank account
Scene04: Jacob kills bob after bob has 52 karma, the following occurs:
- Bob will lose 1 point of karma taking him down to 51
- Bob is still an outlaw so he has 100% chance of drop of gold/coins
- Jacob WILL NOT earn karma points because he killed an outlaw
If the modifier is set to 20, whenever an outlaw kills a non-outlaw, he gets 20% more coin on top of the rewards he already would have gotten (if he successfully gets the drops in the first place). Likewise, if the modifier was set to 150, he'd get 150% more coin.
Now, more in-depth and complex mode: The modifier increases after certain karma thresholds. For example: You have set your options in the config file as follow: karmaThreshold: 10, outlawModifier: 2, modifierMax: 50
With this, every 10 karma after 50 (60, 70, 80, etc.) will grant the outlaw a 2% bonus to all drops stolen. After it reaches 50% extra drops stolen, it stops increasing (as based on the modifierMax variable). It seems complex, and it's probably not for everyone, but it'd be cool in my opinion.
(All of that is amount of coin stolen, not the rate at which they drop them, to make it clear!)
Tutorials:
Setup (Config settings):
RewardType may be any of the following:
- Karma
- FlatRate
- Range
- Percent
- PercentRange
- PercentKDR
All other settings depend on what the reward type is set to.
Karma:
This type has the most features, It is explained at the bottom of this page, the settings are as follows:
- Percent - The base percentage for calculating whether there will be a drop
- Amount - The amount of Karma needed to be considered an Outlaw
- High - The maximum percentage that could be taken from a killed players account
- Low - The minimum percentage that could be taken from a killed players account
- OutlawModifier - Outlaws steal an additional x%
- KarmaThreshold - Increase OutlawModifier every x kills
- ModifierMax - OutlawModifier will not go beyond x
FlatRate:
The Killer will always steal a specific amount from the killed, the settings are as follows:
- Amount - The amount of money that will be stolen upon each murder
- All other settings don't matter
Range:
The Killer will steal an amount of money within a given range, the settings are as follows:
- High - The maximum amount that could be taken from a killed players account
- Low - The minimum amount that could be taken from a killed players account
- All other settings don't matter
Percent:
The Killer will steal a certain percent of the killed players total balance, the settings are as follows:
- Percent - The percent of money that will be taken from a killed player account
- All other settings don't matter
PercentRange:
The Killer will steal a percent of money within a given range, the settings are as follows:
- High - The maximum percent that could be taken from a killed players account
- Low - The minimum percent that could be taken from a killed players account
- All other settings don't matter
PercentKDR:
The Killer will steal an percent of money based on the two players KDRs. You receive a higher percent from players with a higher KDR (formula is killedKDR/killerKDR). This percent is taken from the killed players total balance. No settings are used.
Video:
Coming soon!
i have push a little commit check if u can include it.
works perfect.
@d4rkwarriors
Ok, not positive what you are looking for but I think it is this:
@Codisimus
hey codisimus how can i give the ability to my vip users to stole money but to havent got stolen money by pvp, if they died for natural causes or by mobs they have to loose money.
with this permissions seems that vip loose money when beign killed by someone even if they didnt get money to the attacker.
- -pvpreward.givereward
i want only to disable money lost from pvp.
@piousminion
I have added a rl command to many of my other plugins so I will add it to this one too
Please provide a default config and/or a command to reload the config. The whole "restart, config, restart again" thing is rather annoying when installing/reconfiguring a plugin. It's my number 1 pet peeve with plugins. Both features would be best, but a simple config reload command would surely suffice. Thanks in advance.
i found a new features that i remember in the old gameplay of l2, your karma can decreese by killing certain mob, like all nether mob decreese your karma of 0.5 until your outlaw treshold.
could be an idea, if we can set mob that do it and number of karma decreese.
Anyway, thanks for your work. And sorry for endless requests)
@DaveDee
I can add the good group thing but I just have other projects that I have to release first. I will also add the cooldown to prevent spam killing someone. Next week I want to solely work on these other projects though to make sure they get down before the next semester starts.
@Codisimus
No Good because of technical issue or just your vision of plugin? And it would be nice to add cooldown for killing the same person.
@d4rkwarriors
last time I tried to mess with that it didn't really work, but I guess I can try again.
@DaveDee
I use the Vault method getPrimaryGroup(player) so I am not exactly sure how it choses My guess is it removes the first one listed in the yml. If not I would say the first alphabetically. I could allow good Karma to increase for killing an outlaw but I proly won't be adding a "good group"
Tested, works nice. But we have few questions. 1 - How plugin decide, which group to replace? Every our player has at least 2 groups. It still works... but How? =D 2 - How about positive karma (negative in default)? Something like gaining +1 to good pool for each outlaw killed, instead of just no gaining. And "Good" group with treshold.
i love your plugin seems very similar tu Lineage2 gameplay.
So i have a "big" Request, is it possible ( like l2 gameplay do ) that your plugin can hanlder also inventory drop? so normal user drop random object but not all, and outlawer drop all his inventory. And could be very cool if we can choose how mane % of item drop can have normal user at fixed karma.
i known that inventory handler is doungerous and difficult.
@d4rkwarriors
Thanks for the testing, It helped me find the errors in code. I fixed everything now so it should run great. Also your English is pretty good, I had no problem understanding you.
@Crayder
Yes, it is.
Is PvPReward running with CraftBukkit 1.0.1-R1?
so after my test:
group switching now is working but occur some others bugs:
your are switched to outlaw every time after 5 kill, and not when u have 15 karma, if your karma is negative, when your karma swith to positive u are consider outlaw.
when u are outlaw for bieng switched to normal group your karma need to be 0 and not under 15 point like set in config file.
every time u kill someone and even if u are already an outlaw a message appears "u are now an outlaw".
forgive myorrible english i try to do by best
@Codisimus
i'll test it now and give back feedback to u
@d4rkwarriors
I rewrote the code, sorry for the delay (my hard drive quit on me) I just need to test it but login is down so I will try it in the morning. You can try the dev build if you want to test it out. There is no longer a "NormalGroup", Players will be put back into the group that they were previously in.
@d4rkwarriors
I was not able to test this due to having one account but it is on the top of my todo list for tomorrow. As for disabling karma in certain worlds, there is a setting in the config called DisableRewardInWorlds.
any news? about that small fix?