[INACTIVE][ADMIN/RPG] RCSkills v1.2 - Leveling based on Permission groups [860-953]

Discussion in 'Inactive/Unsupported Plugins' started by silthus, Jun 6, 2011.

  1. RCSkills v1.2




    Legacy: v1.0 v1.1

    If you updated you will have to reconfigure your config.yml. A backup of the old one is made automatically and stored as config.yml_old.


    This plugin was originally created for my own server to be a framework for a RPG Levelsystem which doesn't rely on the plugin alone but rather uses the groups from Permissions to give out special ranks and skills.
    It uses Persistance to store information about the player, like what level he is at and how many skills he already bought. Since Persistance can be either MySQL or SQlite its easy for websites to get to data and build nice user profiles.

    Features:
    • Uses Permissions Groups and their Permissions for a Level System
    • Build in EXP System via MySQL or SQLite Database
    • Formula to calculate how many EXP are needed for the next Levelup
    • Exchange Items(Configurable) for EXP (e.g. Sponges)
    • Integrated Skillsystem which is based on Permissions
    • You can define groups that should not levelup but can buy all skills
    • You can buy new Skills for Coins and Skillpoints, which are dished out at configured Levelups
    • Daily EXP Bonus on the first login: Configurable for VIPs and Normal Players
    • Easy to use and a lot of Admin commands to make your life easier (e.g.: You can set Skillpoints, Exp and Level induvidually)
    • Highly configurable (even a own language file)
    • Supports any Major Economy Plugin (iConomy5, EssentialsEco, BOSEconomy)
    Configuration & Installation:

    Installation (open)

    1. Install and Setup Permissions & iConomy
    2. Download the RCSkills.jar and put it in your plugins folder
    3. Edit the bukkit.yml in your minecraft server root folder only if you want to use MySQL instead of SQLite
    4. Restart your server
    5. You should now find three file in the /plugins/RCSkills/ folder:
    6. Now InGame type /rcs reload and all your config settings will be loaded.
    7. Now the only thing left todo is to create some groups in permissions and give your users the right permission nodes.


    config.yml (open)

    Code:
    # Configversion - DO NOT TOUCH!
    configversion: 3
    ######################################################
    # Whats the name of your Server?
    title: RaidCraft
    # Set to 0 if you dont want to convert any items
    Item ID: 19
    # The name of the item (only relevant for the chat)
    Item Name: Sponge
    # What is the max Level a player can get?
    maxLevel: 25
    # In what intervall shall we grant skillponts?
    Skillpoints Interval: 5
    # How many skillpoints shall we give them?
    Skillpoints: 1
    # Configure the formula to calculate EXP for the next level here
    # Use "lvl" variable as the Level you want the xp to be calculated for
    # e.g.: expCalculation: '((((lvl) * (lvl)) - ((lvl) * 5) + 20))'
    expCalculation: '((((lvl) * (lvl)) - ((lvl) * 5) + 20))'
    # Config for the daily login bonus.
    DailyExp:
        # Set to true if you want to give players a daily exp bonus on their first login.
        giveDailyExp: false
        # How many EXP should players with lvlup.exp.normal get?
        normalExp: 20
        # How many EXP should players with lvlup.exp.vip get?
        vipExp: 40
    # Configure the groups that are not supposed to level here
    # only needed for groups that have the level permissions
    # Format: groupname: negativeLevel
    dontLevel:
        Admins: -20
        Mods: -10

    bukkit.yml (open)

    SQLite:
    Code:
    settings:
        update-folder: update
    database:
        username: bukkit
        isolation: SERIALIZABLE
        driver: org.sqlite.JDBC
        password: walrus
        url: jdbc:sqlite:{DIR}{NAME}.db
    MySQL:
    Code:
    settings:
        update-folder: update
    database:
        username: yourdbuser
        isolation: SERIALIZABLE
        driver: com.mysql.jdbc.Driver
        password: yourdbpw
        url: jdbc:mysql://127.0.0.1:3306/database

    skills.yml (open)

    Code:
    skills:
        # The name of the skill for the database. No spaces!
        SkillName:
            # A short name for the skill. Can contain spaces.
            name: Kaboom
            # A description of the skill.
            description: Makes a loud kaboooooom!
            # In what Permissions group is the skill defined?
            group: kaboom
            # Requirements for the skill
            requires:
                # At what level can a player get this skill?
                level: 5
                # How many skillpoints are needed for this skill?
                skillpoints: 1
                # How much of whatever your currency is costs this skill?
                costs: 1000

    Permissions Setup - groups.yml (open)


    Code:
        Level0:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: false
            inheritance:
            permissions:
                - 'rcs.player.*'
        Level1:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Level0
            permissions:
        Level2:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Level1
            permissions:
                - 'bar.foo'
        Level3:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Level2
            permissions:
                - 'bar.foo'
        Level4:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Level3
            permissions:
                - 'bar.foo'
        Level5:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Level4
            permissions:
                - 'bar.foo'
    This is an example of a simple group which will be used as a skill.

    Code:
        kaboom:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'

    Commands (open)


    Permission Nodes (open)



    ToDo:
    • Make groups entirely configurable in config
    • Add customizable XP Calculation formula
    • Add some more config options for the skills
    • Fix bugs (please tell me if you find any)
    Thanks to:

    • Tagette for his great Template which I used for the framework of this plugin
    • Nijikokun for his great Register Libary
    • Keiler for joining the DEV Team
    • Everybody who awnsered my questions in the Dev Forum =)
    Changelog:

    Version 1.2
    • Formula for XP Calculation to the next level is now configurable in the config.yml
    • RCSkills now supports all major Economies
    • Fixed a lot of bugs
    • Tested working with RB#953
    Changelog (open)

    Version 1.1
    • Added option in config.yml to define groups that have the permission to level but shouldn't (old config will be renamed to config.yml_old)
    • If you are in one of these defined groups you can see and buy all skills but can't level
    • Added alias for /rcs player <playername> --> /rcs stats <playername>
    • Added Op support: (Ops now have access to all admin commands)
    • Fixed small bug in lang.yml (you need to redownload lang_german.yml)
    • Fixed pagination and now checks for correct page and number input
    • Fixed some other small bugs
    • Tested to work with RB#860
    Version 1.0

    • Initial Release of RCSkills
     
    kahlilnc likes this.
  2. Offline

    Neoblade298

    For the permissions groups, do they have to be called Level0, Level1, and so on? Its not that much of an inconvenience, but im curious to find out. :)
     
  3. Yes they need to be called Level0, Level1 and so on for now until I have completed the paths system.
     
  4. Offline

    Chrisspitz

    Posted in the wrong thread sorry
     
  5. Offline

    DJ_Idol

    How's the paths system coming along?
     
  6. I am still working on the formula parser and making it compatible with all Economy systems. As soon as I am done with that (should be released mid of this week) I will start coding on the path system.
     
  7. Offline

    TKD007

    Do they only get EXP when they exchange items? Or is there another way?
     
  8. Offline

    DJ_Idol

    Sounds good man :)

    @TKD007 they can also use iConomy currency
     
  9. They get XP by logging in on a daily basis. But I am also working on an API to make it possible to gain XP by diffrent tasks.
     
  10. Offline

    DJ_Idol

    Just stopping by to say I can't wait for the update, I'm worried that since this isn't getting alot of response you might think people aren't interested...but I promise we are :p
     
  11. 1.2 is ready since two weeks but there are still some minor bugs I want to fix first. In 1.2 there will be freely configurable exp formulas und support for all major Econimy systems.

    I will probably get to it fixing the bugs this weekend but until then you can either stick with 1.1 or download the dev build which is working fine except some minor bugs like i said above.
     
    DJ_Idol likes this.
  12. Offline

    DJ_Idol

    Ah ok, that's good news :) But I'm waiting on using this plugin until the paths are ready since that's the feature I want most, and I don't want to set-up my permissions groups + this plugin and have to go back in a week and re-write them hahaha :p

    But I can't wait to see how this plugin develops!
     
  13. Offline

    Fob_Upset

    If i set giveDailyExp to false, how are players supposed to get Exp?
     
  14. Through items which they can exchange for EXP.
    You can set the item ID in the config and when they relog or type /rcs lvl the items will get converted to EXP.

    Sponges are good for this since they are not needed in the game right now.

    But in 1.3 I will include an API which enables other plugins to give EXP to players not based only on items or daily logins.
     
  15. Offline

    Fob_Upset

    So if i have a sponge in my hand and i do /rcs lvl, Sponges will be removed from my inventory and converted to EXP?
     
  16. Offline

    Keiler

    Yes, you have the item in your inventory and type /rcs lvl, so the items will be removed when you have enough ;)
     
  17. Updated for v1.2 and RB#953

    Version 1.2

    • Formula for XP Calculation to the next level is now configurable in the config.yml
    • RCSkills now supports all major Economies
    • Fixed a lot of bugs
    • Tested working with RB#953
    Make sure to configure your own levelup formula in the config.yml (if there is no config entry - delete your config.yml and let the plugin recreate it).
     
  18. Offline

    DJ_Idol

    Very cool man :) Glad to see an update, I check your github just about everyday lmao.
     
  19. Offline

    lazybeni

    after I put my .jar in craftbukkit folder ( Via FTP )and reloading several tiem ( including my ftp ) , my config file still does not appear =/
     
  20. Offline

    cpalms

    Does this work with PermissionsEX?
     
  21. Did you put it into your craftbukkit root folder or the plugins folder?
    It needs to go into the plugins folder in order to be loaded as plugin.

    No it does not, but doesn't have PEX a bridge to Permissions 3. If yes it should work.
     
  22. Offline

    DJ_Idol

    Hey man, I have a small amount of money in my PayPal that I'd be willing to donate if it'd speed up the paths update, are you accepting donations?
     
  23. Thanks for your offer but that wouldnt speed up the path system. I simply dont have enough time for this plugin at the moment.

    But maybe Heroes is that what you want. It will be coming out this weekend.
     
  24. Offline

    DJ_Idol

    Ah ok, I completely understand man :) I'll check out the Heroes plugin when it comes out. Thanks!
     
  25. Offline

    Soulstormer

    The plugin sounds nice, I wanted to test it out, but it wont load. There isn't a RCSkills folder created too.
    I'm using mysql, user root:, password: you dont need that one ;>, database: minecraft
    Error
    Code:
    14:18:23 [SCHWERWIEGEND] Could not load 'plugins\RCSkills.jar' in folder 'plugin
    s':
    java.util.zip.ZipException: error in opening zip file
            at java.util.zip.ZipFile.open(Native Method)
            at java.util.zip.ZipFile.<init>(Unknown Source)
            at java.util.jar.JarFile.<init>(Unknown Source)
            at java.util.jar.JarFile.<init>(Unknown Source)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:60)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:199)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:122)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:118)
            at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:89)
            at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigur
    ationManager.java:51)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:132)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Bukkit.yml
    Code:
    settings:
        spawn-radius: 16
        update-folder: update
    aliases:
        icanhasbukkit:
        - version
    database:
        username: root
        isolation: SERIALIZABLE
        driver: com.mysql.jdbc.Driver
        password: ...
        url: jdbc:mysql://127.0.0.1:3306/minecraft
     
  26. @Soulstormer
    You seem to have downloaded some zipped version of my plugin.
    Try redownloading it on Windows and transfer it via Ftp.
     
  27. Offline

    Soulstormer

    I downloaded your .jar file, the plugin is in .jar format in the plugins folder.
    As it is a local test and configuration server there is no need for a FTP transfer.
    1.1 dosn't have any errors, but it's a much smaller file => less features, maybe the issue is from one of the new features? Redownloaded the .jar multiple times.

    I can't open RCSkills.jar with 7zip too, so I don't see the class files and so on. Im a lil bit confused right now.
    Thank you for your fast answer.

    Edit
    http://rcskills.raid-craft.de/latest/RCSkills.jar isn't working.
    Downloaded "Silthus-RCSkills-1.2-0-gce989f5.tar.gz" now and used the RCSkills-1.2.jar from the target folder, this one got a different file size and seems to work.

    First start
    Code:
    15:20:35 [WARNING] [RCSkills] No config found! Creating new one...
    15:20:35 [WARNING] [RCSkills] No config found! Creating new one...
    15:20:35 [WARNING] [RCSkills] No language file found! Creating new one...
    15:20:35 [INFO] [RCSkills] Permissions version 3.1.5 loaded.
    15:20:35 [INFO] [RCSkills] RCSkills version 1.2 is enabled!
    15:20:35 [INFO] [RCSkills] iConomy version 5 loaded.
    Configs created, seems to work as far as I tested in 10 minutes.

    Reload
    Code:
    15:22:52 [INFO] [RCSkills] Permissions version 3.1.5 loa
    15:22:52 [INFO] [RCSkills] RCSkills version 1.2 is enabl
    15:22:52 [INFO] [RCSkills] iConomy version 5 loaded.
     
  28. Thanks for the info. It seems there is something wrong with the mirror. I will reupload the file later.
     
  29. Offline

    Soulstormer

    Glad to help, thank you for this nice plugin.
    You said something about Heroes, is Heroes a new RCSkills or a completly differnt plugin?
    Something with those paths?
     
  30. Heroes is more RPG oriented and from a diffrent Developer. I dont really know what exactly will be possible with heroes since its not out yet ^^.

    I changed to download links and reuploaded the file. Should be fine now.
     
  31. Offline

    Soulstormer

    Ok, thank you. Where did you read about Heroes?
     

Share This Page