Inactive [FUN] Lottery 0.6.3 - Let your users buy tickets to a lottery - [superPerms] [1060]

Discussion in 'Inactive/Unsupported Plugins' started by Erbros, Mar 14, 2011.

  1. Offline

    Erbros

    Lottery - The Lottery Plugin:

    I will only be using the BukkitDev website from now on. Please ask for help, submit bugs or enchantments and download the plugin from my page there (LINK).

    This thread is no longer updated - check my page on BukkitDev.


    Beware: Now only supporting superPerms from 0.6.2 and onwards!

    Version: v 0.6.2

    This plugin lets your users buy tickets for a price you decide to a lottery drawing.

    Features:
    • Users buy a ticket and can win the money of everyone that have bought a ticket.
    • Configurable price, material (including money/coins) and hours between lottery drawings.
    • Supports iConomy v4, iConomy v5, iConomy v6, BOSEconomy v6, BOSEconomy v7, Eco Essentials and MultiCurrency. Thanks to @KHobbits
    • Permission nodes supporting superPerms (Bukkits default permission system)
    Download:

    The Lottery Plugin v. 0.6.2

    Old releases:
    Source Code (This is my first project ever in java, so I would appreciate any advice in

    how to improve my coding very much)

    Configuration:

    In the configuration that is made when the plugin is run the first time, you don't get comments about the different options. Here you do!


    Code:
    #How many hours between every lottery drawing? Only whole numbers above 0 (like 1 or 2 or 3.... 24 or 25...)
    hours: '24'
    # The next execution option is really not to be touched. Its time in millisecs since 1. January 1970.
    nextexec: 1300368259883
    # Cost is the amount the buyer got to pay to buy a ticket. This applies both to iConomy coins and material. Only whole numbers. Negative numbers will probably work, but I don't see the point.
    cost: '5'
    #The material setting lets you choose which Material Value your users got to pay with, and get if they win. (its the "dec(imal)", value)
    material: '266'
    # If you want to use iConomy coins, set it to "true". If you want to choose your own material (block or item), set it to false.
    useiConomy: 'false'
    # If broadcastBuying is set to false, there will not be sent a message to every player when somebody buys a ticket.
    broadcastBuying: 'true'
    # welcomeMessage decides if there should be sent a message to the player on join about time until draw.
    welcomeMessage: 'true'
    #extraInPot just holds the amount of extra winnings in the pot has been added with /lottery addtopot
    extraInPot: 0
    #clearExtraInPot decides whether the plugin set extraInPot=0 after lottery draw, or if the same amount will stay until somebody changes it with /lottery addtopot <+/-> <amount>
    clearExtraInPot: true
    #netPayout is the percentage of the total pot that is being paid out to the winner. This can be as large as you wish, but not lower than 1 (one). 100 = 100%, which means the winner will get exactly as much as the players have paid in while buying tickets.
    netPayout: 100
    #maxTicketsEachUser sets the max amount of tickets each player can buy
    maxTicketsEachUser: 1
    #debug - This won't show up by itself, and there is really no reason for you to have this unless there is something wrong with your install of the plugin.
    debug: false
    Commands:
    /lottery : Basic information
    /lottery buy <number> : Buy one or <number> of tickets.
    /lottery help : Help pages
    /lottery winners : List over 10 last winners
    /lottery draw : Force the drawing to happen. Op only if not permission plugin.
    /lottery addtopot : Adds extra money/items to the pot. Op only if not permission plugin.
    /lottery config <cost/hours/max/maxTicketsEachUser/reload> : Change/reload the config ingame.

    Permissions:
    If you have Permission plugin installed you must add the nodes you need to the config.

    lottery.buy : Gives you all the basic rights /lottery (buy, help, winners).
    Given to all players by default, remove from users/groups if you want to deny them.
    lottery.admin.draw : Gives the group/user access to the /lottery draw command.
    Given to OP's.
    lottery.admin.addtopot : Gives the group/user access to the /lottery addtopot command
    Given to OP's.
    lottery.admin.editconfig : Grant access to edit/reload the lottery config ingame NEW
    Given to OP's.

    Changelog:
    Version 0.6.3:
    • Fixed ClassCastException when using commands from console.
    Version 0.6.2:
    • Supporting superPerms.
    • Removed support for any other permission system.
    • Fixing plugin.yml, so even those not using superperms will have basic lottery.buy given to all users by default, and all OP's will get admin commands.
    Version 0.6.1:
    • Removed showing days in time until draw.
    Version 0.6.0:
    • Adding ability to reload config ingame.
    • Edit the config variables cost, hours and maxTicketsEachUser ingame.
    • Debugging information.
    Old Changelogs (open)


    Version 0.5.6:
    • Hopefully fixed lottery not drawing when it should..
    Version 0.5.5:

    • Fixing users able to buy negative amount of tickets (and again... very stupid mistake by me....)
    Version 0.5.4:

    • Fixing users able to buy negative amount of tickets (again since I forgot to re-add it after merge).
    • Giving users the remaining tickets they can buy if they try to buy too many.
    Version 0.5.3:

    • Max number of tickets a user can buy.
    • Typos
    Version 0.5.2:

    • Implemented a lot of changes by @KHobbits
      • Now supporting iConomy4, iConomy5, iConomy6, BOSEconomy6, BOSEconomy6, MultiCurrency, EcoEssentials
      • Code cleanup
    Version 0.5.1:

    • Don't let players buy a negative amount of tickets... Stupid error...
    Version 0.5.0:

    • Users can buy more than one ticket each now.
    Version 0.4.5:
    • Fixed so correct lottery amount is shown everywhere, WinningAmount() implementing netPayout;
    • Ability to let the plugin remember the money that is added to extraInPot.
    • Fixed NPE when "/lottery addtopot" wasn't followed by a number.
    Version 0.4.4:

    • Added payout percentage configuration.
    • Attempt to fix some of the "waiting for draw to occur" on servers with slight lag.
    Version 0.4.3:

    • Updated for iConomy v5. Not working with v4 anymore.
    • Fixed a new system for timers, it shouldn't take that much time to do a draw even on a laggy server.
    • If time is set to lower in config than is remaining on countdown, set to new value.
    Version 0.4.2:

    • Not setting extraInPot to 0 after draw, only saving it to config.
    • Draw in: -51 seconds no longer occur, now its "Draw in: Draw will occur soon"
    Version 0.4.1:

    • Fixed: Not saving config after updating extraInPot.
    Version 0.4:

    • Permission support
    • Command to add extra money in pot.
    Version 0.3.1:

    • Fixed timers not closing properly. Possible memory leak! Important update!
    Version 0.3:

    • Info about pot size in /lottery
    • Choose if you want players to get time until draw message on join.
    Version 0.2.4:

    • Fixed the same problem as in last release, just properly this time.
    Version 0.2.3:

    • Changed from onPluginEnable to PluginEnableEvent.
    Version 0.2.2:

    • Option to broadcast public to the whole server when somebody buys a ticket.
    • Added colors to the lottery chat messages.
    Version 0.2.1:

    • Formatting material names. GOLD_INGOT -> Gold ingot
    Version 0.2

    • Added commands: /lottery (help, winners, claim, draw)
    • Added material support.
    • List over 10 last winners with /lottery winners
    Version 0.1

    • Lottery plugin is released.



    Tutorial:


    Video by @ValBGaming

    PS: The /lottery claim command is used when you are using material and you win, since blocks/items can only be given to online players :)

    Todo:

    • A set number of tickets available, and let the user choose which one to buy. If nobody had the right ticket, add money to jackpot for next drawing. (low)
    • Using configurable array of prize items instead of getting whats in the pot. (low)
    • Show time left when it's 2 hours left, 1 hour left etc. Configurable. (low)
    • Let admins give out free tickets. (normal)
     
  2. Offline

    Erbros

    in the config.yml

    useiConomy: 'true'
    cost: '1'



    Okay, that clearly aint good. How did it get like that? Did you stop server and have it offline for a while? I will be gone for a while, so I will not be able to fix this until later. Until then, use /lottery draw if this happens again.


    I hope its working now :) Must have been something wrong with dropbox.
     
  3. Offline

    Tony Xu

    So do I leave materials:
    Blank if I use iconomy? Or just enter a random iTem id
     
  4. Offline

    Jessicadawn

    The server just had a restart

    i do /lottery draw it says "the lottery will be draw at once" never draws it. andd resets the negative number.
     
  5. Offline

    Lookatmego

    hey dude for items what if i want them to get paid in money..iconomy money what do i do?

    can anyone answer me plox?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 12, 2016
  6. Offline

    Luke2012

    Is there any way to have a command to reset the lottery? When I loaded the plugin for the first time, it immediately started a 24 hour countdown. I prefer it to be a lot less personally but I have to wait for the draw to happen or do I just have to remove the plugin and the folder and redownload?

    Edit: I saw the command /lottery draw was available but I have the right version, I'm using flatfile and CB 531 yet /lottery draw does nothing at all. Not even an error in console.
     
  7. Offline

    Jessicadawn

    It should be in the settings you can set the hours as much as you want. Go into the properties or look around that area.
     
  8. Offline

    Luke2012

    I know its there, I edited the config after it was loaded though so there was no command to stop it from being 24 hours regardless.
     
  9. Offline

    Jessicadawn

    have you tried restarting it?
     
  10. Offline

    Luke2012

    Yes, the command /lottery draw doesn't work for me. Unless you mean actually deleting the files and then redownloading that would be no.
     
  11. Offline

    Jessicadawn

    /lottery draw doesnt work for me either. As stated above I thought you meant the time stuff
     
  12. Offline

    Luke2012

    Yeah I edited my post because I saw the /lottery draw which would answer my question initially but since it doesn't work, I decided to wait for a reply.
     
  13. Offline

    Jessicadawn

    yeah I still have the problem where it goes into negative seconds and lottery draw jsut makes the negatives start over.
     
  14. Offline

    City Builder

    Hi

    I have broadcasting set to false but it still broadcasts when people buy a ticket. Thought you should know.

    Also we have the lotto set for 72 hours but it always seems to show that it's going tobe a 24 hour lottery.
     
  15. Offline

    Kainzo

    This still kicks ass ;)
     
  16. Offline

    Erbros

    So, back from my little vacation now.

    Thanks! :)

    Are you a OP? The command will only work for OP's.

    Thanks for the note, will check it out!

    In the config, set "useiConomy: true" and they will pay with iConomy money and get iConomy money back if they win. :)

    Does not matter, but if you leave it blank, it will probably reset back to the default value when you restart the server.

    I will try to fix this! I don't know what the problem could be, but something is clearly wrong.
     
  17. Offline

    Kainzo

    Can we have a "hi-roller' lottery?

    My players want a secondary lottery for high rollers only.. Maybe we can have something like /lottery buyhigh or something
     
  18. Offline

    Erbros

    This would require a total rewriting of the code, so I don't think so for now. But I will add it to my todo and see what I can do.
     
  19. Offline

    Mattie112

    What if i want to BUY a ticket using iConomy money, but the price is 1 diamond???
    Is that possible?
     
  20. Offline

    glata

    I think a good idea would be to make it so you don't need iConomy, instead that if a player buys a ticket they need a certain item in your inventory (admin gets to chose). Than if they win they get givin an item (put in the inventory, also the admin gets to choose winning item)
     
  21. Offline

    Erbros

    Its on my todo, but I can't promise when it will be done. I got a lot to do privately at the moment. :)

    This already exist, the only difference is that it's the same item for buying the ticket and winning. Just change:

    Code:
    useiConomy: 'false'
    in the config.yml :)
     
  22. Offline

    Mattie112

    Ah great! For now i'll have to do with "the winner takes all" but it would be fantastic to have a price "1 diamond"! :)
     
  23. Offline

    Kainzo

    what's the status on this for the 602 RB?
     
  24. Offline

    hi00ih

    Can you please see if you can also add BOSEconomy?
     
  25. Offline

    Erbros

    Are you sure you have single quotes around the 'false'? I can't reproduce the error. :) Please post your config file if this don't fix it :) use pastebin.com

    Just checked it, and as far as I can see, its working smoothly. I've only checked windows, but doubt there should be any trouble with linux.

    I'll add it to my todo.
     
  26. Offline

    Kainzo

    Appreciate it! :)
     
  27. Offline

    Major

    @Erbros As a simple workaround you could change the plugin name to "HighLottery" or the like, and change the folder directory for "HighLottery".jar, and add "high" infront of every command so people would effectively have a high lottery with perhaps ~10minutes of work from you xD
     
  28. Offline

    ben1996123

    Erbros: "onPluginEnable has been replaced with a new signature, (PluginEnableEvent)"
     
  29. Is there a way to set the maximum number of tickets each user is allowed per drawing?
     
  30. Offline

    Erbros

    No, not as of now. Each user can only buy one ticket. I do have some plans with this plugin, but right now I am writing for an exam, and thus have no time for coding.
     
  31. Offline

    matymathew

    when i change the hours it does not change in the game jsut thought you should now thanks
     

Share This Page