CashFlow
CashFlow is an economy plugin that lets you create taxes and salaries that pay out at an interval you set. Compatible with iConomy 4, 5, & 6+, BOSEconomy 6 & 7, Essentials Economy 2.2.17+, and MultiCurrency. Permissions plugin optional but recommended - pick from PEX, bPermissions and PermissionsBukkit.
Requirements:
- Register (Versions 1.0.1 and up use Vault)
- An economy plugin - BOSEconomy, MultiCurrency, Essentials Eco, iCo4/5/6
- A permissions plugin - PEX, bPermissions, PermissionsBukkit
Features:
- Uses the Register API, so it is compatible with multiple economy plugins.
- Supports PEX, bPermissions, and PermissionsBukkit.
- Create multiple taxes with different amounts, intervals, and players receiving the tax (or no player receives the collected tax). Apply taxes to one group or many. Gives you the ability to add players to an "excepted players" list so if someone isn't going to play for a while you can freeze their tax without having to remove them from a group.
- Create multiple salaries with different amounts, intervals, and players paying out the salaries (or no employer). Apply salaries to one group or many. Add players to an "Excepted Players" list so you can freeze their payment if they're going to be away, without having to remove them from a group.
- Hits offline players.
- Set salaries and taxes to pay only to players who have been online within a certain number of hours.
- Supports non-player economy accounts.
Commands and Permissions
Tutorial
To Do:
- Commands to edit taxes (maybe).
- A little code cleanup.
- More permission nodes
- Percentage based salary
Trello Dev board
Visit the Trello board to see the current todo list for all projects.
You can comment and vote on any of the topics there.
All changes on the Trello board are in real-time.
If you decide to download this plugin please leave me a comment to let me know how it works for you so I can improve it! And if you like this plugin, please consider donating. It's a big incentive to continue this, and it helps me pay for things I need for school.
@Kanurame
Well, if its a plugin conflict due to the same library, then the issue would still remain... So, give me a second to post you a new version.
Try v1.15 from here: https://github.com/mveritym/CashFlow/downloads
@Mitsugaru
I just thought id let you know that I do have MySQL on my comp, but I dont use it. I dont know if that would affect anything.
@Kanurame
You know what, I'm thinking that some other plugin that you have is using the same library I'm using... However, I use a modified version... So this is where there might be conflicts.
Let me change some stuff, and I'll reply again once I've submitted the new version. I'll make sure to have a GitHub download for you so you can immediately test it.
@Mitsugaru
Error still happens.
@Kanurame
Ok... Um, here's my suggestion: Redownload the plugin. Remove the databse file (.db) and let it autogenerate a fresh one. Restart and let me know if it still occurs...
If it works out, then I all you would need to do is do the addplayers command.
@Mitsugaru
Every start. Tried version 1.13 too and it gave same error. Also happens on reloads. Actually, I get a slightly different error on startup. (Previous error was on a reload)
@Kanurame
Does that happen on every start?
Or have you only run it once?
@Kanurame
Looking into it now.
Help?
@UFO64
Sorry for the late reply.
The interval for the setonlineonly is not yet implemented... hopefully I will get that up soon-ish... How its supposed to work (I think) is if a player logs off, but within the interval before the tax/salary fires, then they get considered as to be taxed/paid.
For instance, a tax with a online only interval of 1 hour is fired, and Player A logged off only 40 minutes before. They are considered to be "online" for the tax rather than offline.
Of course, I could be totally wrong about the implementation XD I'm not entirely sure. We'll see.
And as I said before, I did try and get the status to correctly count down... however it wasn't working right, so I didn't finish that. Optimally, it would give the time remaining before the tax/salary event fires.
Lastly, the list of who gets taxed/paid would be interesting... I don't think it could be entirely live though, as the list would always be changing based on the properties of a tax/salary as well as the availability of players. The best solution that I can think of as compromise is to list the buffer... but usually that empties really fast.
I have a quick question about how the setonlineonly (which btw, is annoying to type more then once xD) works. What happens when it is set to false but has a timer on it?
It would be nice for the status command to give a bit more information about that sort of thing. Maybe list who will get paid and in how many minutes/hours or something?
@craftopia
Sorry, no support yet...
I'll try and look into it later today, but I'm not hopeful due to when I first tried to get it to work it was failing for all other managers. :\
still no group manager support?
Hey all,
If you were having issues with SQLite saying it was missing tables, please update to version 1.13, as it contains the fix for that.
The version has been submitted for approval.
@jan9f
Tax = take money from players/group
Salary = give money to players/group
CashFlow does both.
I don't mean give money I mean take money...
@jan9f
Can you expand on what you mean by "tax other players"... because isn't this the point of the plugin: to give taxes/salaries to players/groups?
CashFlow hooking into shop plugins seems out of scope for this plugin... If you want a "tax" feature for your shop plugin, you ought to talk to the developer of that plugin.
As for daily tax, you should already be able to do this. Just create a tax that is applied to the players/groups you wish to be taxed:
/tax create dailytax 100 24
and replace 100 with whatever amount you want. Then apply it to the group(s):
/tax apply group dailytax default
and replace default with whatever your groups are. Remember, comma separated, no spaces. Then enable it
/tax enable dailytax
This may have been in there, I'm not sure, but can you tax other players? Like the US? Maybe have a taxing system for buying something and partial money goes to specified player(s). Then there could be like a daily tax of X amount to make it more like the real world?
@G4meM0ment
IDK what to say. :\ I've tested this against all three supported permissions systems.
If you're not running a permissions system, it should default to op check.
@Mitsugaru
O.K. now I just told a friend of mine, to test it out, he ONLY installed Vault + iConomy 6, but he got the same problem. No command works, everytime the "how-to-use-commands" message with explanations.