Inactive [ADMN/GEN/MECH] Time Rank v0.1.0b - Let players earn/buy/rent nodes/groups Economy support [1000]

Discussion in 'Inactive/Unsupported Plugins' started by xlilcasper, Jun 14, 2011.

  1. Offline

    xlilcasper

    Time Rank - Time/Economy based group advancement
    Version: v0.1.0b
    Download Latest version: Time Rank.zip (jar)
    Source: GitHub
    This plugin will allow you to promote people to different groups based upon how long they have been playing. It also lets player buy or rent ranks using money or blocks.
    Requires permissions 3.x or Group Manager
    Optional: iConomy 4, iConomy 5, Essentials Eco, BOSEconomy
    Features:
    • Change a persons group after they have played for a set amount of time
    • Allow players to buy groups using blocks
    • Allows players to buy ranks using money
    • Supports all 4 major economy plugins
    • Supports multiple groups
    • Can be removed from one group when added to another.
    • Works with permissions' globalUsers and globalGroups
    • Configurable messages upon promotion
    • Ability to rent ranks for a set number of minutes.
    Please feel free to post comments, bugs, or feature requests here and I will do my best to help or add the requested features in.


    Asking for help
    Please include the following in your post.
    server.log - With out the server log we can't really tell what error your getting, which plugin it might be from, where the error is in our plugin....

    Error message - Sometimes you might be getting more then one error. What error are you trying to fix? Also if the server log is missing or very long, this will help us locate it.

    Which permissions plugin your using. - We need to know if your using permissions or Group Manager. It might be an error specific to that plugin. Also both work very differently. The steps to fix one might be different then the steps to fix the other. Config files are different...

    Explain the problem - Simply posting it doesn't work doesn't help. We need what you were doing, what caused the error and other any information that could help.


    Config example
    Config (open)

    Code:
    settings:
    #Show debug messages. Will spam your console if turned on
        debug: false
    #Only show ranks/abilities people can gain when doing /listranks or /listabs
        hideUnavaible: false
    #config version. Do not change. Used internally to know when to auto-update the config file.
        configVersion: 2
    #All your ranks go here.
    ranks:
    #Rank name. This is what is used with /buyrank and such.
        Trusted:
    #This is the group the rank grants when it is earned/bought/rented
            group: Trusted
    #This is the world the group belongs to.
            world: world
    #This is the group that the person must be in before they can buy/rent/earn the rank. Can be removed to allow anyone access to it.
            oldgroup: Default
    #Amount of time, in minutes, before the rank is earned. This can be removed or set to -1 to disable it.
            time: 60
    #Description shown in /listranks
            description: Can build, use basic commands, has access to water.
    #If we should remove the oldGroup after adding the new group. Most of the time this should be true unless your using Permissions 3.x and want to have people in more then 1 group.
            remove: true
        Vet:
            group: Vet
            world: world
            oldgroup: Trusted
            time: 2520
    #Allow this rank to be bought with /buyrank.
            buy:
    #Amount of the resource to require when buying.
                amount: 25000.0
    #Broadcast to the whole server when this rank is bought.
                broadcast: true
    #What to broadcast. See messages below for variables that are allowed.
                msg: '&B<player.name> &Ehas been promoted to &B<rank.group>'
    #What this costs to buy. This can be any block ID (example 266 for gold ingots) or Money to use a supported Economy plugin.
                cost: Money
    #The minimum amount of play time required before they are able to buy this rank. -1 disables this.
                minTime: -1
            description: Has access to tnt and lava.
            remove: true
    #Rent would be set up the same way, See rent from the abilities section below for examples.
        Elite:
            group: Elite
            world: world
            oldgroup: Vet
            time: 5040
            buy:
                amount: 5.0
                broadcast: true
                msg: '&B<player.name> &Ehas been promoted to &B<rank.group>'
                cost: 266
                minTime: -1
            description: Has the ability to fly and to tp to other players.
            remove: true
    #These grant just permission nodes with out changing a persons group.
    abilities:
    #Ability name.
        Superpick:
           #World that this person will gain the permission for. Use * for all worlds
            world: world
    #The permission node the person must have before they can earn/buy/rent this ability. Can be set to whatever you want. Just make sure to give the person/group this node so they can get this ability. Can be removed to allow everyone to get it.
            permission: timerank.ab.Superpick
    #List of nodes this ability grants. These will be added when bought/rented/earned and removed when time runs out if it was rented.
            nodes:
            - worldedit.superpickaxe
            - worldedit.superpickaxe.area
            description: Enable Superpick
    #Categories the ability will show up in. This helps organize large sets of abilities. Later these may be used for permissions but right now it's just for /listabs <category>
            categories:
            - pick
            - worldedit
            - mining
    #See above for what these all mean. Set up exactly the same as ranks
            buy:
                amount: 250.0
                broadcast: true
                msg: '&B<player.name> &Ehas bought superpick'
                cost: Money
                minTime: -1
            rent:
                time: 5
                amount: 25.0
                broadcast: true
                msg: '&B<player.name> &Ehas bought superpick'
                cost: Money
                minTime: -1
                gainedMsg: '&B<player.name> &Ehas rented &B<ability.name>'
                lostMsg: '&B<player.name> &Ehas lost the &B<ability.name> ability'
            time: -1
        Jump:
            world: world
            permission: timerank.ab.Jump
            nodes:
            - worldedit.navigation.jumpto
            description: Enable Jump
            categories:
            - navigation
            - worldedit
            - movment
            buy:
                amount: 250.0
                broadcast: true
                msg: '&B<player.name> &Ehas bought <ability.name>'
                cost: Money
                minTime: -1
            rent:
                time: 5
                amount: 25.0
                broadcast: true
                msg: '&B<player.name> &Ehas bought <ability.name>'
                cost: Money
                minTime: -1
                gainedMsg: '&B<player.name> &Ehas rented &B<ability.name>'
                lostMsg: '&B<player.name> &Ehas lost the &B<ability.name> ability'
            time: -1
    


    Messages
    Messages (open)

    Messages must be enclosed in ' ' or you will get errors. They support both colors and variables. Colors are done by using &<color>, such as &3 or &a. If you want to use a & in your message, place two of them. Example. 'He is a gentlemen && a scholar' would print out 'He is a gentlemen & a scholar'

    Here is a list of variables. All variables should be enclosed in < > and lower case
    Player
    player.name = Players name who has been promoted
    player.world = Current world the player is in

    Rank
    Follows pretty much the config names.
    rank.name = Name of the rank
    rank.group = New group person is getting promoted to
    rank.oldgroup = Old group the person was in
    rank.world = The world that group and oldgroup are a part of.
    rank.time = Amount of time in minutes it took to get this promotion
    rank.cost = The cost, money, or block id they used for this promotion
    rank.amount = The amount of money, or blocks, they paid
    rank.remove = If they were removed from the old group

    Ones you'll likely never use but are there...
    rank.broadcast = If this was broadcast to the whole server
    rank.msg = The raw msg before it is processed.

    Abilities
    Same as rank with the following changes
    There is no group or oldgroup.




    Commands
    Commands (open)

    Code:
    /playtime <player>
    will show how long a player has been playing for. This keeps track of time logged in to the server and playing.
    Permission node: timerank.playtime
    
    Code:
    /listranks [filter/page] [page]
    List all the ranks loaded and there costs and other information. Filter and page is optional. Filter can be time, buy, or rent. Adding a filter will only list the ranks with the selected information. Page can be used to limit the output to 5 at a time.
    Permission node: timerank.listranks
    
    Code:
    /buyrank <name>
    Will allow you to buy the rank with that name if you have enough to pay for it.
    Permission node: timerank.buyrank
    
    Code:
    /rentrank <name>
    Will allow you to rent the rank with that name if you have enough to pay for it.
    Permission node: timerank.rentrank
    
    Code:
    /timerank
    Show version number and other information
    
    /timerank reload
    Reloads config file
    
    /timerank groups
    List a lot of information on the loaded groups
    
    Permission node: timerank.timerank
    


    Current Bugs
    • None
    Planned features
    • Add in support for Permissions 2.7.x - May not happen. Doesn't have an API for managing groups. May have to edit the config files directly which is a very ugly way of doing it.
    • Reformat the listrank output to make it look better.
    • Make oldGroups a list instead of a single value. Make this list an OR list so they have to be in anyone of these groups, remove any that they are in.
    • Add in a use: section to limit the abilities to a number of uses instead of just buy/rent.
    Features I'm thinking about
    • Add an option so you have to visit a set place to get your rank advancement such as an alter or temple.
    • Come up with a better name to describe this since it now does more then just time. Maybe call it Ranker.I'm open to suggestions.
    • PermissionsEx support
    Change Log
    Version 0.1.0b
    • Fixed serialize bug so we could save rented abilities across reboots.
    Version 0.1.0a
    • Fixed bug where only the first permission node was added.
    Version 0.1.0
    • Fixed null pointer error when rent was present but empty.
    • Added ability to earn/buy/rent abilities and permission nodes.
    Version 0.0.9
    • Fixed bug when loading play times and it coming back null.
    • Added in description field.
    • Added message to reload command to let you know it worked.
    • Added better error messages, trapped a few more errors.
    • Preserved ordering for rank list so that /listranks is printed in a logical order.
    • Fixed but where rented abilities would not turn off if the server was rebooted.
    • Config file changed. Should auto-update to the new format. You may want to back up your config file first before upgrading.
    Old change log (open)

    Version 0.0.8
    • Fixed reload option to reload config instead of needing a reboot.
    • Fixed not being able to buy ranks when using blocks.
    • Added minTime node to require a minimum time before being able to buy a rank
    • Added rentMinTime node to require a minimum time before being able to rent a rank.
    Version 0.0.7b
    • Fixed bug where people were removed from the group right after adding them to it.
    Version 0.0.7a
    • Fixed bad bug where it made a folder for each player in the permissions folder.
    Version 0.0.7
    • A lot of small bug fixes.
    • Added timer to handle rank up checks, checks every 10 seconds, instead of using player animation
    • Added ability to rent ranks and all the goodies that go with that
    • Made it easier to work with single permission nodes for when buying single nods gets added in
    • Added filters to /ranklist. Now it is /ranklist <time|buy|rent> to only show that group.
    • Added /timerank groups to list more (Admin) information about groups. Works with the same filters as /ranklist
    Version 0.0.6
    • Made OldGroup optional. Now if it is not specified it will always promote them if available.
    • Added BroadCast to ranks, allows turning server broadcasts off when a person is promoted. If off, will only msg the person who was promoted.
    • Added msg to ranks, configurable message for when a play gains a rank.
    Version 0.0.5d
    • Fixed a bug added in 0.0.5 that would only allow people to be promoted to first group listed in config.
    • Fixed /timerank reload causing errors.
    • Added in some more error handling.
    Version 0.0.5c
    • Really fixed this time. Made a typo that stopped permissions from loading.
    Version 0.0.5b
    • Fixed for latest permissions
    Version 0.0.5a
    • Fixed detecting Group Manager
    Version 0.0.5
    • Added auto detection of permissions plugin. Now ignores the permissions setting.
    • Added in support for globalUsers and globalGroups if no world is given.
    • Reformated /timerank to show settings.
    • Added /timerank reload
    Version 0.0.4
    • Added /timerank to show version and as a placeholder for other commands.
    • Added support for group manager.
    Version 0.0.3
    • Added /listranks to display all the ranks you can buy
    • Added support for iConomy 4, iConomy 5, EssentialsEco, and BOSEconomy
    Version 0.0.2
    • Added ability to buy ranks.
    • Made it save play times on world save in case server crashed or was stopped.
    • Added check a single players rank when they run animations. This way they get promoted sooner after they reach the right time
    • Added Settings node and settings.debug to the config file instead of setting debug in the source.
    • Changed name of plugin from Time Rank to TimeRank. Folder must be renamed.
    • Made it handle reloads with out losing player times.
    Version 0.0.1
    • First public release.
     
    ume88, Pim1234, Nurgo and 4 others like this.
  2. Offline

    xlilcasper

    Updated GIT hub that fixed the null error, still looking into bpermission and pex support. If anyone wishes to take these updates over I am more then willing to work with someone and accept the changes.
     
  3. Offline

    ledhead900

    I would not exactly call out Superperms on its own as it is just an official API with hooks updated by bukkit, any plugins that claim to use Superperms will work with any permissions system currently supporting the Superperms API as that it why it was created in the first place so that we could still choose our proffered plugin for permissions to suit our layout and other tastes with out destroying compatibility or developers having to add support for yet another system.

    It's not perfect but I'm starting to come around to the fact it indeed a better alternative then 3 or 4 different systems that do not talk to each other.
     
  4. Offline

    Junrall

    Gaaa! I gotta learn to look at the right area for the post date! The "Member Since" date gets me every time!
    Sorry :oops:
     
  5. Offline

    wachnlurn

    Its a miracle! :D so happy to see this post. Can't wait for an update
     
  6. Offline

    xlilcasper

    Looks like I'll look into SuperPerms. Looks like I"ll get the most compatibility from that first. Then I'll do PEX and bPermissions. I have Cub scouts tonight after work so I won't get a chance to work on it today but I should be able to get some work done on Thursday. Problem is I think I was half way though adding a feature and I don't remember what that feature was, lol. I am going to try very hard to have something working by and ready for release again by middle of next week. Hopefully the weekend, but I want to give myself a little extra time in case something comes up.
     
  7. Offline

    ledhead900


    Take your time bukkit does not even have a reco build for 1.8 and Notch forgot to implement SNOW biome in 1.8 so its going to be a LOONG wait.

    Yea if u do Superperms any other plugin using superperms will automatically work with this bukkit designed it that way as it was just an API for devs to hook into when making permission systems so any system used with it would work with any plugin using the API.
     
  8. Offline

    Xye

    Update to Icon 6? ;) and for PermissionsEX pls :D
     
  9. Offline

    wachnlurn

    so is this usable now, even if im not using perm 3 anymore?
     
  10. Offline

    pandapipino

    PEX support please! Thanks
     
  11. Offline

    Xye

    Add Permissions EX Please :(
     
  12. Offline

    yaitsbilly

    Is there an ETA on the release. I really need this plugin.
     
  13. Offline

    Xye

    Development Inaktiv? :(
     

  14. @Xye
    No I think hes just simply busy with other things at the moment. He'll get back to it. And for the rest of you, it does state that he will work on PEX, I think he got your many messages :p
     
  15. Offline

    wachnlurn

    any update?
     
  16. Offline

    ledhead900

    Well 1.9 will be out soon and thus I'm finally making the move to 1.8 to ease the process of the permissions update thing that I put off for a long time. I think this is just going to have to be put away for a little while until its fixed.
     
  17. Offline

    F3RULLO14

    how do you set the timerank to change the groups of people in the global config for permissions 3
     
  18. Offline

    Jakeob22

    @xlilcasper Hey. I'm trying to release my server on Friday or Saturday. I need this plugin updated. It's working fine but when I set remove to true, it won't delete the old rank. It would be great if you could just update that part for me. :D

    EDIT: I'm using permissions, but I'll try GroupManager tomorrow. But I'm pretty sure it's only because the plugin is outdated. :(

    EDIT AGAIN: Here is my config:

    Show Spoiler

    debug: false
    hideUnavaible: false
    configVersion: 2
    ranks:
    Miner:
    group: Miner
    world: world
    oldgroup:
    time: -1
    buy:
    amount: 0
    broadcast: true
    msg: '&c<player.name> &ahas been trained as a &b<rank.group>'
    cost: Money
    minTime: -1
    description: See /help miner
    remove: true
    WoodCutter:
    group: WoodCutter
    world: world
    oldgroup:
    time: -1
    buy:
    amount: 0
    broadcast: true
    msg: '&c<player.name> &ahas been trained as a &b<rank.group>'
    cost: Money
    minTime: -1
    description: See /help miner
    remove: true
    BlackSmith:
    group: BlackSmith
    world: world
    oldgroup:
    time: -1
    buy:
    amount: 0
    broadcast: true
    msg: '&c<player.name> &ahas been trained as a &b<rank.group>'
    cost: Money
    minTime: -1
    description: See /help miner
    remove: true
    Farmer:
    group: Farmer
    world: world
    oldgroup:
    time: -1
    buy:
    amount: 0
    broadcast: true
    msg: '&c<player.name> &ahas been trained as a &b<rank.group>'
    cost: Money
    minTime: -1
    description: See /help miner
    remove: true
    abilities:


    Here is what my permissions looked like after my /buyrank miner:


    Show Spoiler

    users:
    jakeob22:
    permissions: []
    groups:
    - Admin
    - Miner
     
  19. Offline

    chaosmage

    Dear developer,
    we really need PEX support ! Pleaaaseee !
     
    Crete21 likes this.
  20. Offline

    Crete21

    Second that =)
     
  21. Offline

    Jakeob22

    Can anybody tell me and give me a link to a version of Permissions/GroupManager that works with this?

    Thanks! All help is appreciated because my server is supposed to be finished soon. Thanks again! Thanks.... Th...
    (Fades away dramatically)
     
  22. Offline

    ThePoopfish

    I plan on using PEX for my server's new permission system, just waiting for this to be updated. This plugin really helped my server out a lot it kept my admins from randomly promoting people. I wish you luck (and ease) in updating it to 1.9!
     
  23. Offline

    ray0911

    3rd
     
  24. Offline

    Lexington

    I tried to set rentable group vip , plugin adds this group succesfully.
    Unfortunately when rent time runs out , the rentable group is not removed. Is it possible to make plugin works this way ?
    Every player get default group : Default
    After renting vip , the group : Default is removed.
    After defined period of time i see message nickname has lost the ability , but the group vip in permissions stays.
    How can i make it revert to group: Default ?
     
  25. Offline

    Burns1

    Please update the plugin! its not working for me that good anymore...
     
  26. Offline

    ThePoopfish

  27. Offline

    Junrall

    I saw this one too, the downside is that I believe it will demote players if they aren't active... I know some of my regulars would hang me if they were demoted!:rolleyes:
     
  28. Offline

    semibreve42

    I *think* you can turn off that portion, but I'm not sure, the plugin info is a bit confusing. If not, just set the inactive time to like 2 years, then it shouldn't really be an issue :)
     
  29. Offline

    Flenix

    Jakeob asked me to look at updating this - just throwing it out there but if I get it working, I'll add PEX support too as thats (in my opinion) a million times better than BukkitPerms...
     
  30. Offline

    semibreve42

    Since this plugin didn't seem to be going anywhere I sponsored one called TimedCommands which covers many of the same features as this plugin. Basically it lets you set commands to be run by the console based on player time. If you're using a permissions plugin with commands for promoting and demoting, like PEX, you can do time based promotions. (Plus a lot more).
     
  31. Offline

    Junrall

    It would be great to see this updated to PEX.... as PEX is now the mainstream plugin over Permissions.
     

Share This Page