Filled Automatic Bounties

Discussion in 'Plugin Requests' started by AlwaysAllstar, Aug 25, 2019.

Thread Status:
Not open for further replies.
  1. Offline

    AlwaysAllstar

    Plugin category: Economy

    Minecraft version: 1.14

    Suggested name: AutoBounty

    What I want: A plugin where bounties are automatically given every certain amount of time to a random player as long as certain requirements are met. There's a lot of bounty plugins out there but none that automatically give bounties, they all rely on players. So I want this plugin to:
    1) Give a bounty of a certain amount of money depending on the player's kill streak. ($1,000 per kill, so if a player has a kill streak of 13 the bounty will be $13,000) to a random player who meets the requirements
    2) Only give to players who meet the requirements (Has to have a kill streak of 5 or higher).
    So out of all the players that have a kill streak of 5 or higher, one will be picked and will get a bounty depending on their kill streak. (Lowest possible bounty is therefore $5,000)
    3) Prevention of cheating. Players could team up and repeatedly kill each other to build up an insane kill streak and have a chance of getting a really high bounty, so there should be a max bounty ($50,000) so even if a player has a kill streak of 51 or higher, they will only receive a bounty of $50,000.
    4) Set another bounty after a certain amount of time has passed (45 minutes). (Since the expire time is 20 minutes, there can only be one bounty active at a time)
    5) Chat announcements. Once the player gets the bounty it'll announce in chat who has the bounty and for how much it is. This is the format that I would love: upload_2019-8-25_20-58-38.png
    Example:
    upload_2019-8-25_20-59-16.png
    Also when a bounty is claimed:
    upload_2019-8-25_21-6-25.png
    Example if I survive the expire time and get my own bounty (explained in #6):
    upload_2019-8-25_21-7-46.png
    Example if someone kills me and claims the bounty:
    upload_2019-8-25_21-9-9.png
    If someone leaves the server with a bounty:
    upload_2019-8-25_21-41-55.png
    Example:
    upload_2019-8-25_21-42-40.png
    Whoever gets rewarded the money will also receive '$<money> has been added to your account.' in light green.
    6) There is also an expire time of the bounty (20 minutes).
    If a player kills the bounty owner then the player that killed the bounty owner will get the money, if the bounty owner survives for the bounty expire time (20 minutes), the money is rewarded to the bounty owner.
    7) If the bounty owner leaves the server the bounty goes away. Also, I need it to be impossible for the bounty owner to go to spawn of my server and just wait 20 minutes to get the money, so he can't be able to teleport within the 20 minutes he has the bounty, so /spawn and /warp need to be disabled or just make teleporting disabled for him if that's possible (Unless he's at spawn which is explained now). However, if a person receives a bounty at spawn they will get a certain amount of time to get out of spawn until the bounty goes away (5 minutes). If they stay at spawn for 5 minutes the bounty will go away and nothing will be announced (it will just be a wasted bounty really), if they leave spawn then the bounty will begin (teleportation will be disabled and it will announce the bounty in chat as stated in #5). It would be great if I could define the spawn as XYZ to XYZ in the config so the plugin knows exactly what area the bounty owner has to leave for the bounty to begin.
    8) There needs to be a combat log prevention so if the bounty owner leaves within a certain amount of time of the last hit of another player (1 minute), the player who hit the bounty owner last will receive the reward.
    9) If possible a config would be great so I can change the different variables such as: Money per kill, lowest kill streak to be able to get a bounty, max bounty, how often a bounty is added, the bounty expire time, the time they get to leave spawn before the bounty goes away, the location of spawn (XYZ to XYZ), how long the combat log prevention lasts, and disabled commands while a player has a bounty (to prevent not only teleportation but any other things that may show up as a problem).
    I use PVPStats as my plugin for kill streaks (https://dev.bukkit.org/projects/pvp-stats) and Essentials for my economy plugin. If you were to want to be more independent and keep track of kill streaks in this plugin, that'll be fine. They both should have the same numbers for kill streaks if everything is working properly.
    10) I also use CrispyBoard as my scoreboards plugin so a place holder (%bounty%) for that would be nice so I can have a player's current bounty shown in their scoreboard (If they don't have a bounty it would be 0). As well as a place holder (%time_left%), so if you don't have a bounty it would be 00:00 but if you do it'll be how much time is left. For example, if there was 15 minutes and 35 seconds left it would be (15:35).
    11) Finally, the only command I have in mind is /bounty which would say in chat the player who has the bounty, how much the bounty is worth, and how much time is left. Like this:
    upload_2019-8-25_22-6-53.png
    Example:
    upload_2019-8-25_22-7-27.png
    If there isn't a bounty active, it will have the top and bottom line with 'No active bounties!' in the middle in light red.

    I know this is A LOT to ask for but hopefully someone out there will give it a shot :) Thank you so, so much! I will be checking replies frequently in case there is something I missed.

    Ideas for commands: /bounty - Sends message in chat as stated in #11

    Ideas for permissions: AutoBounty.command - Permission to use /bounty
    (Anyone will be able to receive a bounty given they have a kill streak of at least 5 and anyone is able to claim a bounty as well)

    When I'd like it by: September 22, but this is a lot to ask for and will probably take quite a while so anytime is greatly appreciated! :D
     

    Attached Files:

    Last edited: Sep 17, 2019
  2. I will do this.
     
  3. Offline

    AlwaysAllstar

    Thank you so much! :) I also forgot something:
    If a player gets a bounty while at spawn it should message them individually in chat with the bounty prefix in gold and dark gray bolded > signs like the other messages and say ‘You have 5 minutes to leave spawn or you lose your $<money> bounty!’ With ‘$<money>’ in light green and the rest (‘You have 5 minutes to leave spawn or you lose your bounty’) in yellow. Thank you again. :D

    Edit: Hey, how's the plugin going? Just wanted to check in. :)
     
    Last edited: Aug 29, 2019
  4. Offline

    AlwaysAllstar

    I haven’t heard from Alfredddd and it’s past August 31 so I don’t think he is working on it... does anyone else want to give this a try?
     
  5. Offline

    AlwaysAllstar

  6. Offline

    JRL1004

    To anyone wanting to try this, CrispyBoard does not have an API, and the jar file for it is heavily obfuscated. I don't see why that project needed to be obfuscated to the point of being nonsense in a jar, but it really is just that.
     
  7. Offline

    AlwaysAllstar

  8. Offline

    AlwaysAllstar

  9. I will be done in about 3-6 months!
     
    AlwaysAllstar likes this.
  10. Offline

    Sir_Jonn

    I'll give my shot at this if @Alfredddd does not mind. However, since CrispyBoard does not have an API there will be no scoreboard!

    Edit: I sorta started anyways @ https://github.com/SirJonn/AutoBounty
    Edit: @AlwaysAllstar I'm creating my own killstreak, due to pvpstats not being used by everyone. Plugin backend is all finished up, just need to make the killstreaks and should be ready to use!
     
    Last edited: Sep 22, 2019
  11. Offline

    AlwaysAllstar

    Thank you so much! A scoreboard isn't too important so that's totally fine. I'll be checking back to this forum to see when it is complete and ready for me to try. I really appreciate it. :D
     
  12. Offline

    Sir_Jonn

    Download:
    https://www.dropbox.com/s/96k3nelepl4ydpt/AutoBounty-1.0.0-SNAPSHOT.jar?dl=0

    Permission to use /bounty: AutoBounty.command

    Config example(default generated)
    Code:
    ##Make sure expiration is before the next check!
    #When AutoBounty will check for a player. in seconds(240 = every 4 mins)
    interval-check: 240
    #Bounty amount per body.(ex 2 kills = 2000)
    streak-bounty-value: 1000
    #Needed kills to be thrown into "bounty pool chance"
    kill-streak-needed: 5
    #Max kill-streak a player can get(for money exploit reasons)
    max-kill-streak: 10
    #Bounty expiration in seconds.(180 = 3mins)
    bounty-expiration: 180
    #Deny commands for a player on bounty
    check-commands: true
    command-check:
    - '/spawn'
    - '/tp'
    - '/home'
    #Deny safezone entry
    deny-entry: true
    #80 seconds = every 1 min it'll broadcast that the playe has a bounty
    broadcast-interval: 60
    YOU NEED WORLDGUARD FOR SAFEZONE SUPPORT AND ESSENTIALS FOR THE ECONOMY

    Any issues please post to https://github.com/SirJonn/AutoBounty/issues or just message me.
    Any future updates will be on https://dev.bukkit.org/members/sir_jonn/projects
     
    Last edited: Sep 23, 2019
Thread Status:
Not open for further replies.

Share This Page