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

    The PC Tech Guy

    Looks very interesting, however does it work with players who are in the default group? Such as those players who are not in the users.yml file.
     
  3. Offline

    Baummann

    Download the newest version of Permissions it adds them automaticly to the users.yml file.
     
  4. Offline

    xlilcasper

    Yes, it does with the latest version of Permissions as Baummann said.
     
  5. Offline

    The PC Tech Guy

    Oh, I did not know it did this. I have the newest version, but did not realize it does this... (In fact, the Wiki doesn't reflect feature, it says it hasn't been implemented yet... so it's out-of-date.)

    Once I can figure out how to make new users added to the globalUsers.yml file, will this work on that? Nevermind, I found a workaround.
     
  6. Offline

    xlilcasper

    I'll have to look into how this is done, but it may be possible. I'll see if I can get it into the next update.

    What I am doing is I have my main world file hold all the permissions then have storage setup to copy these permissions to the other worlds.
     
  7. Offline

    The PC Tech Guy

    I have that too, however instead I have it set to inherit from the globalGroup (the workaround). However, no matter where the default: true is placed, each new user is created with no permissions, and is a member of no group. I'll PM you the files if you need them (since we are offtopic).
     
  8. Offline

    RazorFlint

    Sweet :) You need to put an external download link :D
     
  9. Offline

    xlilcasper

    done

    Maybe try switching to my setup? Where the worlds all are a copy of 1 instead of inheriting? I think globalGroups and globalUsers is a bit flakey yet. That is why I went with just copying. Here is my storageconfig.yml

    Show Spoiler

    Code:
    permissions:
        storage:
            type: YAML
            worldcopy:
                world_nether: world
                Trinculo: world
                nether: world
                world_skylands: world
    


    Are you sure your using the latest version? For me it is working fine. Here is my groups.yml from my world folder inside of permissions
    Show Spoiler

    Code:
    groups:
        Default:
            default: true
            permissions:
            - showcase.buy.*
            - commandSigns.create
            - warpz0r.worldhome
            - itemid.usecmd
            - commandSigns.super
            - lwc.protect
            - stats.view.others
            - signtrader.Use
            - wormhole.use
            - deathtpplus.kills
            - wormhole.use.dialer
            - turnstile.delete
            - warpzOr.home
            - iConomyChestShop.shop.buy
            - chaircraft.sit
            - buyabilities.abilities.*
            - wormhole.build
            - portalstick.teleport
            - worldedit.extinguish
            - warpzOr.sethome
            - iConomy.access
            - lockette.user.*
            - ecoCreature.Creature.*
            - playerlives.canUse
            - turnstile.*
            - iConomy.payment
            - -buyabilities.abilities.test
            - -falsebook.blocks.area
            - war.warp
            - commandSigns.use
            - turnstile.price
            - commandbook.msg
            - sendgift.send
            - playerlives.buy
            - sortal.placesign
            - deathtpplus.deaths
            - commandbook.whereami
            - stats.view.playtime
            - commandbook.rules
            - sortal.warp
            - localshops.buysell
            - warpz0r.sethome
            - towny.town.claim
            - commandhellper.alias.safe
            - warpz0r.warp
            - playerlives.checkSelf
            - falsebook.blocks.hiddenswitch.use
            - war.player
            - stats.log
            - localshops.create
            - wormhole.use.compass
            - -buyabilities.abilities.broken
            - modtrs.command.modreq
            - commandbook.spawn
            - wormhole.simple.use
            - iConomyChestShop.command.iteminfo
            - warpz0r.list
            - stats.view.own
            - deathtpplus.streak
            - minecartmania.teleport.use
            - turnstile.use
            - turnstile.make
            - localshops.user.*
            - buyabilities.use
            - localshops.destroy
            - towny.nation.new
            - pdoors.main
            - commandbook.say
            - commandhelper.useralias
            - commandbook.motd
            - commandhelper.alias.safe
            - towny.town.new
            - commandbook.whereami.*
            - wormhole.use.sign
            - iConomyChestShop.shop.sell
            - shelfspeak.read
            - commandbook.who
            - turnstile.link
            - sortal.coords
            - iConomyChestShop.shop.use
            - wormhole.remove.own
            - nSpleef.member.*
            - warpz0r.home
            inheritance:
            info:
                prefix: '&f[&7Guest]&f '
                build: true
                suffix: '&f'
        SemiAdmin:
            default: false
            permissions:
            - +groupmanager.mandemote
            - +groupmanager.manpromote
            - -groupmanager.*
            - -preciousstone.bypass.*
            - -commandbook.give.*
            - -commandbook.more.*
            - '*'
            - preciousstone.bypass.*
            inheritance:
            - moderator
            info:
                prefix: '&f[&dSenior Mod&f]&f '
                build: true
                suffix: '&b'
        Vet:
            default: false
            permissions:
            - bc.tnt.allowed
            - groupmanager.manpromote
            inheritance:
            - trusted
            info:
                prefix: '&f[&2Vet&f]&f '
                build: true
                suffix: '&2'
        Admins:
            default: false
            permissions:
            - '*'
            inheritance:
            - semiadmin
            info:
                prefix: '&f[&cAdmin&f] '
                build: true
                suffix: '&c'
        Moderator:
            default: false
            permissions:
            - -worldedit.region.*
            - bb.admin.*
            - kiwiadmin.*
            - lwc.mod
            - modtrs.command.check
            - modtrs.command.complete
            - modtrs.mod
            - nocheat.*
            - nSpleef.admin.*
            - pdoors.mod
            - towny.wild.*
            - tpp.jump.*
            - tpp.tp.*
            - turnstile.admin.ignore.owner
            - vanish.vanish
            - warpz0r.remove
            - warpz0r.set
            - worldedit.navigation.*
            - worldguard.stack
            - worldguard.thru
            inheritance:
            - Vet
            info:
                prefix: '&f[&2Mod&f]&f '
                build: true
                suffix: '&b'
        Trusted:
            default: false
            permissions:
            - showcase.buy.*
            - falsebook.blocks.bridge
            - iConomyChestShop.shop.create
            - lightlevel.use
            - bb.admin.info
            - localshops.*
            - falsebook.blocks.lift
            - falsebook.blocks.hiddenswitch.create
            - deathtpplus.deathtp
            - shelfspeak.*
            - minecartmania.teleport.break
            - falsebook.ic.standard
            - citizens.use.wizard
            - wormhole.simple.build
            - falsebook.ic.selftriggered
            - bonuses.*
            - falsebook.blocks.door
            - uQuest.CanQuest.*
            - minecartmania.signs.*
            - portalstick.teleport
            - falsebook.blocks.gate
            - -localshops.admin
            - falsebook.ic.detection
            - -falsebook.blocks.area
            - warpz0r.set
            - tpp.tp.back
            - citizens.use.blacksmith
            inheritance:
            - default
            info:
                prefix: '&f[&bTrusted&f]&f'
                build: true
                suffix: '&f'
    tracks:
        PlayerTrack:
        - Default
        - Trusted
        - Vet
        StaffTrack:
        - Moderator
        - SemiAdmin
        - Admins
    


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

    The PC Tech Guy

    Sorry, it's working now... I forgot I changed default: false in the global config... Thanks for the suggestion, though. I don't know why it wouldn't work the first time, but it works now...
    Edit: I think I figured it out. First, it doesn't check the global configs to check for inheritance, despite what they mentioned in the Wiki. Second, it creates the user, but it DOES NOT assign them to the default: true group. They are simply created with blank permissions and blank groups. Finally, since no group is assigned, they take on the default: true group permissions. Since it is not necessarily assigned to a group, will your plugin see them as assigned to the default: true group?
     
  11. Offline

    xlilcasper

    Great! glad I could help.

    Yes, it will act as though they are in the default group and still promote them. At least in my limited testing it has.

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

    The PC Tech Guy

    Should I keep the remove: node as true? Or should I set it to false?
     
  13. Offline

    xlilcasper

    Depends if you want them left in the default group or not. I have mine set to true because Trusted inherits from default anyway. My players are only ever in 1 group.
     
  14. Offline

    The PC Tech Guy

    Well, since the "- default" node isn't written into the users file...
     
  15. Offline

    xlilcasper

    doesn't matter, with it set to true it will still remove them from the group. With it set to false, not sure if it will leave them in the "Default" group or not.
     
  16. Offline

    xlilcasper

    New version is out. You will have to rename your folder from "Time Rank" to "TimeRank" (removing the space). Taking the space out of the plugin name will make it play nice with plugins like Plugin Manager.

    Here is the change log
    Change log:
    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.
     
  17. Offline

    The PC Tech Guy

    Mind updating the OP? I believe you also have a command for buying ranks, and I have no idea what the difference between "amount" and "cost" are.
    BTW, the only way I found this plugin was via an invalid search, which resulted in giving me the most recent forum posts.
     
  18. Offline

    xlilcasper

    Post update.
    The reason it is hard to find right now is we are still in the submissions form waiting approval to be moved to the released form.

    New version released. Change log below.

    Version 0.0.3
    • Added /listranks to display all the ranks you can buy
    • Added support for iConomy 4, iConomy 5, EssentialsEco, and BOSEconomy

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

    Neoblade298

    I dunno if this is possibl yet, but as a suggestion: can you make it so theres no way to buy something, and make the rank only recievable by time? And because i feel guilty for not praising you: Thank you for this awesome plugin and keep it up :)
     
  20. Offline

    morizuki

    woah nice.. I can combine this to mcMMO hahaa.. nice nice..

    can you also add, once you've been ranked up or you've choose a rank, you can't select another rank..
     
  21. Offline

    ledhead900

    I like this method finally a decent time based promotion system, But are we able to set a rank limit.

    Wait some of us Do not use Permissions x.x Im waiting for ppl to jump onto permissions 3_x before moving to anything other then Groupmanger and group manger does not add defualt to user.yml thus making this plugin useless :(

    Guess I'm waiting for this

    Planned features

    • Make it work with globalUsers and globalGroups

    Edit:
    I guess I can see if Permissions 2.3 is anygood now days
     
  22. Offline

    morizuki

    oh yeah.. I have an error..

    Code:
    2011-06-17 18:22:55 [SEVERE] Could not load 'plugins\TimeRank.jar' in folder 'plugins':
    java.lang.NoClassDefFoundError: com/nijiko/permissions/Entry
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:167)
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:194)
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:117)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:103)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.ClassNotFoundException: com.nijiko.permissions.Entry
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 11 more
    can you make it to work in 2.7.x?
     
  23. Offline

    xlilcasper

    Just don't put a cost or amount in there and it will be time only.
    Show Spoiler

    Code:
    settings:
         debug: false
     ranks:
         Trusted:
             group: Trusted
             world: world
             time: 60
             oldgroup: Default
             remove: true
         Vet:
             group: Vet
             world: world
             oldgroup: Trusted
             remove: true
             time: 360
    

    They must be in the old group to be promoted so as long as they are not in the old group, they won't be able to buy or have time advance them. Here is an example. Where they could only buy one of the following and it would do so using money.

    Show Spoiler

    Code:
    settings:
         debug: false
     ranks:
         Mage:
            group: Mage
            world: world
            oldgroup: Default
            remove: true
            cost: Money
            amount: 50
         Fighter:
            group: Fighter
            world: world
            oldgroup: Default
            remove: true
            cost: Money
            amount: 50
        Ranger:
            group: Ranger
            world: world
            oldgroup: Default
            remove: true
            cost: Money
            amount: 50
    


    Right now it only works with permissions 3.x. I will look into adding support for permissions 2.7.x and groupManager if it can be done. Not sure if they expose the right api for me or not.
     
  24. Offline

    morizuki

    Ok.. thanks for that :D
     
  25. Offline

    Neoblade298

     
  26. Offline

    xlilcasper

    New Version. Group manager support needs to be tested. It was working on my test server but on my production I use Permissions so please let me know if it works for you.

    Version 0.0.4


    • Added /timerank to show version and as a placeholder for other commands.
    • Added support for group manager.
     
  27. Offline

    Azell

    This is what I've been LOOKING FOR!!! <3 i love you :-*
     
  28. Offline

    xlilcasper

    Thanks! Glad I could help.
     
  29. Offline

    TigerMax

    Hello, amazing mod!
    But it dont work for me, (external error). Permission 3.*
    Q: Should rank name be same as Group name?
    Q: In permissions when im adding new player, should i leave 'Group:' empty or type Default?
    Group file
    Code:
    groups:
     Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'foo.bar'
                - 'timerank.buyrank'
    
        Rank1:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
                - Default
            permissions:
                - 'bar.foo'
                - 'timerank.buyrank'
        Rank2:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
                - Rank1
            permissions:
                - 'bar.foo'
    Time Rank config
    Code:
    settings:
        debug: true
    ranks:
        Peasant:
            group: Rank1
            world: world
            oldgroup: Default
            remove: true
            cost: Money
            amount: 10
        Worker:
            group: Rank2
            world: world
            oldgroup: Rank1
            remove: true
            cost: Money
            amount: 10
    Help to fix error please!!
     
  30. Offline

    xlilcasper

    You can leave the group empty or type in Default. Permissions will auto add them to the default group.

    Rank name should be able to be anything. It doesn't not have to match the group name.

    The configs look correct, could you please post the error?
     

Share This Page