FabioZumbi12 / RankUpper

Auto rankup plugin based on economy, time or xps

Rank Upper - Promote your players based on Requeriments/Statistics


Promote your players on your server based on requeriments. Actually the requeriments are:

  • Time played;
  • Money Earned;
  • Experience (in Levels);
  • Now you can use Sponge Statistics to track for rankup

This plugin will run commands (permission commands or any command) when a player reach a specific requeriment/statistic based on configurations and existing groups in your permissions group!


Discuss with the developer online on Discord: https://discord.gg/ytDBUc8


Commands and Permissions

All commands can be acessed in game using only /ru and all commands support offline players, including commands to set time, query player info and check.

Commands:

/ru check - To check own playerd time and requeriments to next rank.
/ru check [player] - To check for other player.
/ru top - Show the top 10 table of most played on server.
/ru player-info <player> - See first join, time played, last visit and last know name.
/ru set <player> <minutes> - Set the played time of a player.
/ru add <player> <minutes> - Add time played to player.
/ru save-all - Save all stats to file.
/ru load-all - Load all stats from file.
/ru list-groups - List all group on config, with requeriments.
/ru reload - Reload the config and lang file.
/ru addgroup <group> <nextGroup> <time> <level> <money>- Add a ranked group.
/ru setgroup <group> <nextGroup> <time> <level> <money>- Change requeriments of a group.

Permissions:

rankupper.check
rankupper.check-others
rankupper.top
rankupper.player-info
rankupper.set
rankupper.add
rankupper.save-all
rankupper.load-all
rankupper.list-groups
rankupper.reload
rankupper.addgroup
rankupper.setgroup

How to use:

All configurations is on rankupper.conf, All nodes are commented.

Default configuration:

# Stop counting time when a player is AFK? (Using Nucleus' API only!)
# Setting this true without Nucleus (0.23.1+) installed will result in player's time not being counted.
afk-support=false
database {
    prefix="ru_"
    # The default uri is: "jdbc:h2:playerstats.db"
    uri="jdbc:h2:%s/playerstats.db"
}
# Save to database every X minutes.
database-save-interval=5
# Date format to save data info of players.
date-format="dd/MM/yyyy"
# Enable debug messages?
debug-messages=false
exclude-groups=[
    "staff_group",
    "donor_group"
]
# Save to file every X minutes.
flat-file-save-interval=20
# Available languages: EN-US, PT-BR
language=EN-US
# IMPORTANT: Change from "default" to exact group name the player need to is in to be promoted to next group
ranked-groups {
    group-example {
        # Commands to execute when promote. These commands will depend on your permission plugin.
        # Available placeholders: {player}, {oldgroup}, {newgroup}
        execute-commands=[
            "lp user {player} parent unset {oldgroup}",
            "lp user {player} parent set {newgroup}",
            "xp 50L {player}"
        ]
        # Levels(not experience) needed to promote.
        levels-needed=50
        # Broadcast the promote messsage to all players.
        # Available placeholders: {player}, {time}, {newgroup}
        message-broadcast="&a>> The player &6{player} &ahas played for &6{time} &aand now is rank {newgroup} of server."
        # Use some Minecraft Statistics to track for rankup.
        # This option will only accept LONG types for statistics.
        # See all statistics names here: https://jd.spongepowered.org/7.0.0/org/spongepowered/api/statistic/Statistics.html
        minecraft-statistics {
            "MOB_KILLS"=100
            "PLAYER_KILLS"=50
        }
        # Minutes played needed.
        minutes-needed=120
        # Money needed. Do not requires additional plugin.
        money-needed=1000
        # Exact name of group to promote player on match the requiriments.
        next-group=member
    }
}
# Interval to add online player times.
update-player-time-minutes=5
# Use uuids to store players stats on playerstats.conf?
use-uuids-instead-names=true

Use this commands to add or edit your groups:

/ru addgroup <group> <nextGroup> <time> <level> <money>- Add a ranked group.
/ru setgroup <group> <nextGroup> <time> <level> <money>- Change requeriments of a group.

Or follow these steps:

  • Copy the contents of “group-example” and make your changes;
  • Change the requeriments for each group section you add;
  • Add as many commands you want to run on promote;
  • Add minecraft statistic based on name in this page: https://jd.spongepowered.org/7.0.0/org/spongepowered/api/statistic/Statistics.html
  • The name of section configuration need to be the group name the player need to be in to be promoted to next-group;
  • The player will be promoted/group changed by the command set on “execute-commands” option. This is a list of commands;
  • The commands can vary with the plugins you is using;
  • Use {player} to add the player name, and {oldgroup}/{newgroup} to use the player group and next group names on commands;
  • To do not use broadcast message, set to "" (empty) string;

Category: Role Playing

Published on Mar 16, 2017

1876 views

450 total downloads

Licensed under MIT

Pages

Members