DailyBonus
DailyBonus- Daily Login Bonuses
Want to help update DailyBonus? Contact gomeow
This plugin give a bonus once a day to players who log in. The amount is configurable.
There is an option in the config file for a delayed time until they get the bonus. If the player logs out before getting the bonus, then it will remember that they didn't get the bonus yet for that day, and attempt to make them wait the time again.
You can also give items based off a list in the config file.
The plugin uses SuperPerms (all permissions plugins will work, is what this means) for Permissions and Vault for economy, so all plugins that support those will work with DailyBonus!
Watch the video!
The Tier system:
The tier system allows you to have as many tiers as you want, as long as you change the "Number of Tiers" option in your config.
How tiers work:
- Tier number, 1 being the lowest tier
- So the highest admins/ops/VIPs will be given the highest Tiers, while defaults/noobs get the lowly Tier 1.
Economy Bonus
- The economy amount will be given as long as Vault is enabled. If you don't use an Economy, then set the values to 0.
- Again, you NEED Vault to give an economy amount with DailyBonus.
- To have a random amount of economy, put the "base-values;random-amount" down. So "20;5" would give a random amount between 5 more or 5 less than 20, aka 15-25 currency.
Message:
- This message will be sent to the player when they get their DailyBonus. Color codes such as &6 and &4 work.
- (Full list here!).
- !amount will be replaced with the economy amount given.
- !type will be replaced with your currency, if available.
Items:
- This is a list of items the player will be given. "x;y" -> x being the item ID and y being the amount to give. So "266:5" would give 5 Gold Ingots!
- If you don't want to give any items, set one ID of 0 or just leave it empty.
- To give random items, set the line to "x;y;z", with x and y the same as above, and z being the max or min that will be added/subtracted from the y.
- To give items with a data value add a "-d" to the end of the item line, with the d being a data value.
- Example - "5;10;5-1" - This would give 5 to 15 wood planks (ID 5) with a data value of 1 (Darkwood).'
- Item Give Delay (In Seconds): This is how many seconds the plugin will wait to give the bonus. So if you set it to 5 minutes (300 seconds), the player must login and stay online for 5 minutes before getting the bonus. If they log out early, the timer will stop and they must wait another 5 minutes to get it for that day.
Permissions:
- dailybonus.tier.#
- # being the tier number. So 'dailybonus.tier.1', 'dailybonus.tier.2', 'dailybonus.tier.3', and so on.
- You can have an unlimited amount of tiers, just change the "number of tiers" option in the config accordingly.
- Players will not inherit the other tiers. For example - even if admin's with tier.2 were set to inherit the default groups tier.1 they would not get items from both sections.
Features:
- Daily amount given (configurable) when a player logs in each day.
- Permissions based on tier systems
- Custom message for each tier
- !amount is replaced by the actual amount in the message
- Item giving
- If the player's inventory is full, items will drop at their feet!
Commands
- '/DailyBonus reload' - Reloads the plugin - Permission 'dailybonus.reload'
Get Vault here if you are using an Economy plugin!
Roadmap:
- Suggest Stuff!
@itsatacoshop247
Ohhh I finally get the delay! Haha. Just to prevent people from logging on/off for a single second just to get their bonus for that day. As for the permissions, the whole reason I gave the negative node on the last tier was to just see if that would stop it from giving me the last tier first, which it didn't. All I want to give my users is dailybonus.tier.* and call it good. The problem though, is that it ALWAYS gives the last tier first. For myself and probably most other people, the last tier is probably going to be the best, so this is a problem. That's the one and only bug I could find.
Oh and by the way.. The file created is still players.yml, not data.yml :P
@Chaznuts
Yeah I didn't think of the issues with Permissions, so let me just run over and ask all the permissions guys to fix it :P But really, it's a complex problem with quite a few variables. Start a ticket if you want, and we can have more discussions on it there/gauge interest on whether I need to spend the time on it.
Bonus Given: Once per day. Time of day does not matter. You could log in a 11pm (for the first time), logout, then log in again at 1am and get both bonuses.
Delay: How long after logging in the bonus will be given (as long as the player doesn't log out). Totally separate. So if you set it to 60 seconds, it will give them the bonus 1 minute after logging in.
If you have anymore questions, this will be my last reply for about 12 hours. Just try out changing stuff in the config. Change your number in the data.yml to something like '1' to trick the plugin into thinking you haven't logged in for that day yet.
@itsatacoshop247
Glad to hear you're going to update Lightning Giants! :)
As for Daily Bonus, there's definitely a bug in there.. I've tested multiple things out. Still wants to give the last tier's reward first, even with '- -dailybonus.tier.<last#>'. Haven't even been able to test what will happen the next day, as I can't get it working properly for the first day! I'm not sure if it will start over at tier 1, go down 1 tier before the final one, or keep giving the last one.. Anyways, hope you can find the bug and fix it!
I'm still confused about the delay though.. So is it even necessary to have on if you only want to give the users a reward once per day? With it at 0, does it simply wait for the system time to reach 00:00:00 to allow another reward? Or does it wait 24 hours from the last given reward of the player to the next? In either case, I'm still not sure what the point of the delay is. Seems it already remembers that the player didn't get a reward for the particular day with it at 0. What would setting the delay time in seconds to 86400 (one day) do?
Sorry for the confusion, but thanks for the feedback and I hope to hear back from you again soon!
@np98765
You are using PEX, I assume? Try giving '- -dailybonus.tier.4' or whatever, so tell Pex to NOT give you that permission, other wise OPs default to having ALL permissions. Works the same with when '*' is given, just give the '- -daiylbonus.tier.4' as well.
@Chaznuts
Read the above message for you permissions issue. The video is outdated, it now uses values from a data.yml in the config file- just edit those.
It never forces you to wait a full 24 hours - it doesn't actually wait 24 hours, it converts the system time to a date object which I compare the year, month, and day of. So once per day it gives the bonus. If you logout before getting the bonus (when the delay is on) then it simply sets a little note in data.yml that you didn't get it for that day yet.
I'll update lightning giants within a week, wasn't keeping up on it since I didn't know people still used it :P
Hey everyone.
Quick question. Me and my Admins enjoy playing legit on the server. The only problem is, we get the DailyBonus for the highest tier. It's kind of annoying to have to remember to subtract $1450 every day...
It says:
Players will not inherit the other tiers. For example - even if admin's with tier.2 were set to inherit the default groups tier.1 they would not get items from both sections.", but I'm not sure if that's what I'm looking for. That's saying that rewards aren't cumulative, correct?
So, would me simply giving the 'dailybonus.tier.1' in ADDITION to '*' work? How does op affect this... Thanks!
Awesome plugin! I'm rebuilding my server and really planning on utilizing this plugin to the fullest. Possibly even 28 thought-out tiers throughout the month!
I do have a question on where you briefly desribed the delayed time...
Your wrote,
"If the player logs out before getting the bonus, then it will remember that they didn't get the bonus yet for that day, and attempt to make them wait the time again."
It's sounding like you're saying that if the player logs out, they will have to wait the full delay time again.. But if I want to set it so that they get the reward once every 24 hours (they could log on for 1 second then wait 24 hours and log in for 1 second again), I would just simply set it to 86400.. correct? The phrase "wait the time again" is sort of misleading.. Almost sounds like if they aren't online at a set time that everyone gets a reward, then they miss it for that day..
Anyways, great job, keep it up, and I hope to hear back from you!
PS: Update LightningGiants please! I've been planning on using that for months with LightningArrows to surprise my users with zombie giants! If you get around to it, be sure to list the possible mob types that work with your config <mob>:<mob>. I assume a giant is just simply giant (surprised it's not stated in examples with the plugin name), but it can save some headaches and answer questions before they're asked! Thanks! :)
EDIT: It should be more testable for the server owner (and if it is please explain how). I've tried removing the players file like the video says, even tried removing the .jar file.. but can't get it to give me another daily reward of my customized one. The reason I say this is because I current have 7 tiers and when I first logged in after setting the config file, it gave me tier 7.. not tier 1. Maybe a bug?
Yes, seems to be real stable. Love it. Thanks :)
@Endless123
Haha, thanks, glad to hear people like it :D
Also nice that it seems to be stable, aside from a permissions failure on the user's part every once in a while.
Just some feedback for you.
I run a pretty popular german server, and people log on before school, just to get their free daily diamond lol. I turned this plugin off for 1 day, for testing issues... WHERES MA DAILY DIAMOND O_O!!1
People on my server cant survive without this plugin anymore. Haha
Awesome job
<<reply 709104="">>
The logic is kind of complicated, but if you had had a test server to try it on, that might have been faster :P
Let me know if you have anymore questions!
Thanks for the quick reply. I hadn't even thought of that. We use Bukkit permissions, so that sounds pretty good. I'm now advocating for it, but it'll have to go through a vote of Ops, Admins.
Thanks again.
<<reply 708786="">>
Or you could just give them the permission for a tier?
'/permissionsPLugin givePerm playername dailybonus.tier.x'
DailyBonus config only handles what each tier gets - a permissions plugin such as Pex or bperms handles who gets what tier.
Sorry, maybe I should have said interface based. For example, the ops on our server are used to typing commands into the chat interface in order to move players between groups, grant permissions to players, setup stores, that sort of thing.
I would love to see this set up so that an op/admin could type something like: /db settier playername tierlevel
<<reply 707628="">>
Umm, it is permissions based? I don't know how much more permissions based it could become.
And there were many stability issues with earlier versions, but I've got them all worked out, V2.6 has been very stable (no error reports yet).
Lots of discussion about whether to use this on our server or not. Reading the comments below, I hope it actually works. I like the idea of it, but I have to admit that we really only have one guy adjusting yml files and configs. He isn't going to want to add this to his load. Any chance of making the access to tier levels permissions based? Doing that would allow our ops to change things "on the fly," in game, so that the next day login could be up to date. As it is now, it might take a week or more to get around to adjusting the config file itself manually.
@itsatacoshop247
It worst when before, now everytime i connect or my player they had the dailybonus xDDD
V2.6
Download
NOTICE: Do not make comments if you have issues or feature requests, use the ticket tracker. I will ignore any comment made that should be a ticket instead.
Set aside a few hours to work on this today, sorry for the delay.
Here's what I know needs fixing, let me know if there's more:
And I'll do a bunch of other testing to see if I can find anything else.
. . . :/
@itsatacoshop247
Can't wait :/