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

    andrewkm

    Essentials economy support?
     
  3. Offline

    Birdie

    Sweet
     
  4. Offline

    Phinary

    For some reason, most of the time when the lottery is supposed to draw, instead of drawing and resetting the countdown goes in the negatives so it says like -30 seconds till it draws. Please fix.
     
  5. Offline

    Erbros

    I have not been able to reproduce this. Does this happen when you have start the server after a long shutdown?
     
  6. Offline

    Phinary

    Nope. My server runs 24/7 without restarts. I get home at the time of the lottery drawing and that ussually happens so i make it force draw. You can come in the server and see if you like.... PM me if you wanna see,
     
  7. Offline

    Erbros

    Okay, I'll check out the code at first chance.
     
  8. Offline

    Elliot Hargadon

    When i use /lottery buy it does the exact same as /lottery how can i fix this? please email me at [email protected]
     
  9. Offline

    Nytemare3701

    Seconding this error. I have to draw it manually as well.
     
  10. Offline

    Erbros

    I need more info. Lottery version, bukkit version, operation system.

    Okay, I will see into this when I got the chance.
     
  11. Offline

    NoPride

    I third that, it will eventually draw it at random but not until its into the negative
    and thanks for the mod i love it!
     
  12. Offline

    Kainzo

    Feature Request:

    Work with the EcoCreature developer to have the "death tax" of players dying go to the LOTTERY pot. - this would make the best plugin EVER.

    BUG REPORT:

    Having to manually draw the lotto 9/10 times.
     
  13. Offline

    Bjourk

    Seconded. That would be SWEET!
     
  14. Offline

    runyet1

    When i do any command im getting internal error reports. does it work with permissions mod?
     
  15. Offline

    Erbros

    No, its not using permissions mod at the moment. That will be included in next version.

    Are you sure you are using iConomy or have put "useiConomy: 'false' " in the config.yml ? Without any more info, thats all I can guess is wrong.
     
  16. Offline

    Kainzo

  17. Offline

    Erbros

    Thank you for the report! :) Does it come with several drawings, but only one with a winner?

    Else it might look like I have a problem with iConomy. Will check if they have changed anything.
     
  18. Offline

    Kainzo

    Well - oddly enough, I just randomly saw the error - we get so much server spam I may have missed it if I didnt have the console open. So I can't say for 100% - I just saw it the once.

    (Work with the EcoCreature developer to have the "death tax" of players dying go to the LOTTERY pot. - this would make the best plugin EVER.) <--- that would be awesome too :D

     
  19. Offline

    Erbros

    I have tried A LOT to be able to split my plugin up in different files, but to no success. I will now go back to just writing the plugin, and perhaps I gain the knowledge I need to split my plugin sometime later.

    First fix complete: Now using the timer scheduler in bukkit itself, and timers out of control should be a closed chapter. The bad thing is that time will not be that accurate, as a laggy server will make the time go slower. Because of this i might change hours in config to ingame days. Please let me know what you think about it.

    I will now implement permissions and admin being able to put money in pot.

    Lottery plugin now support permission nodes! :)

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

    nacs

    Works great thanks.

    Especially liking the addtopot command. Is that automatically added each day or does an admin have to add to pot after each drawing?
     
  21. Offline

    Kainzo

    They have to add it @nacs

    The Scheduler is killer for our server - it generally lags everything harsh like. I'll see how it goes.

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

    Erbros

    I am using a timer with a new thread, so it shouldn't lag the server. If it happens to do so, I will see if I can improve my former timer instead.
     
  23. Offline

    Cj24

    Yeah, same here.
     
  24. Offline

    Erbros

    Have you tried with the newest release?
     
  25. Offline

    Cj24

    Yeah, but I think it's working. At least it works since a few hours.
     
  26. Offline

    NoPride

    @Erbros
    Works great now thanks!
     
  27. Offline

    andrewkm

    Does this have essentials economy support?
     
  28. Offline

    Erbros

    No, sorry. Will maybe come later, if I see a lot of people using it.
     
  29. Offline

    anonymous

    @Erbros a bit of help? I'm running on CB 670 atm and it just says "draw in: Draw will occur soon!"

    When I try to force draw I get this:
    Code:
    19:31:01 [INFO] DRAW NOW
    19:31:01 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'lottery' in plugin Lottery v0.4.2
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:233)
            at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:594)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:557)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:551)
            at net.minecraft.server.Packet3Chat.a(SourceFile:24)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    Caused by: java.lang.NoClassDefFoundError: org/bukkit/Bukkit
            at net.erbros.Lottery.Lottery.StartTimerSchedule(Lottery.java:386)
            at net.erbros.Lottery.Lottery$1.onCommand(Lottery.java:166)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 12 more
    19:31:08 [INFO] ??2[??aAdmi
     
  30. Offline

    2Bucks

    Could you make "addtopot" a multiplier? That would make things much simpler (for me anyway)
     
  31. Offline

    Erbros

    You don't have iConomy installed. Please either install iConomy or change the variable "useiConomy: 'false' " in config.yml

    I have no idea why this is happening. But when the "Draw will occur soon" is coming, it's generally just because the server have been lagging. Please just wait a bit, it will draw in a short bit (0-30 mins).

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

Share This Page