BuySkills
BuySkills
Please note: BuySkills is not compatible with the old ExpSkills Plugin. You need to update your config by yourself.
BuySkills is a plugin that allows your users to buy or rent skills (i.e. permissions or groups) for money or other currencys. It has a built in skilltree feature, perfect for level based classes.
To make sure you can use everything you want as costs or requirement, this plugin requires the CurrencyHandler Plugin.
Update from 0.x to 1.0
The new version is not compatible with 0.x versions. You need to update your config files yourself.
The level und skillpoint function has been removed but can be achieved with the SkillLevels plugin.
Metrics
This plugin utilises Hidendra's plugin metrics system. You can opt-out under <yourPluginFolder>/PluginMetrics/config.yml
The following informations will be collected:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's implementation and game version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
- Your online-mode
- Your server location
Dependencies
Vault: BukkitDev
CurrencyHandler: BukkitDev
Usage
Commands
User Commands
/skill help [command] - get help for this plugin
/skill list <page> <filter> - list available skills
/skill info <skill> - get information to a specific skill
/skill buy <skill> - buy a skill
/skill rent <skill> - rent a skill
/skill current [player] - shows bought skills
/skill rented - show's your rented skills
Admin Commands
/skill grant <player> <skill> [charge] [rent] - grant a skill
/skill recalculate <player> - recalculate permissions
/skill reload - reload config files
/skill reset <player> - reset all skills of a player
/skill revoke <player> <skill> - revoke a skill from a player
Permission Nodes
buyskills.user - all user permissions buyskills.command.help - access to /help command buyskills.command.list - access to /list command buyskills.command.info - access to /info command buyskills.command.buy - access to /buy command buyskills.command.rent - access to /rent command buyskills.command.current - access to /current command buyskills.command.rented - access to /rented command buyskills.admin - all admin permissions buyskills.command.recalculate - access to /recalculate command buyskills.command.reload - access to /reload command buyskills.command.reset - access to /reset command buyskills.command.revoke - Grant access to /revoke command buyskills.command.grant - access to /grant command
Configuration
Example Skill
example: name: Example # Name of the skill, used for every ingame interaction. Must be unique description: "Example skill" # A short description of the skill info: "This skill allowes you to do nothing" # A more detailed description of the skill category: # A list of categories the skill can be found at (used for /list) - example perm_earn: # A list of permission nodes the player earns with this skill - ex.ample perm_need: # A list of permission nodes the player needs for this skill - exam.ple group_earn: # A list of groups the player earns with this skill - examlpe group_need: # A list of groups the player needs for this skill - player skill_need: # A list of skills, needed to buy this skill - notexample skill_illegal: # A list of skills the player is not allowed to own for this skill - examlpe2 skills_needed: 1 # Number of skills of the skill_need list the player needs for this skill worlds: # A list of worlds where you can buy this skill. Leave empty for global. - world revoke_group: false # Revoke needed groups when buying this skill? revoke_perm: false # Revoke needed permissions when buying this skill? regrant_perm: false # Regrant needed permissions when this skill is revoked? regrant_group: false # Regrant needed groups when this skill is revoked? buyable: true # Is this skill buyable? rentable: false # Is this skill rentable? renttime: 200 # Time in seconds the skill is rented for buy_costs: # The costs to buy this skill, uses CurrencyHandler plugin food: 10 health: 10 rent_costs: # The costs to rentthis skill, uses CurrencyHandler plugin food: 10 health: 10 buy_need: # This currencies are needed to buy this skill food: 20 rent_need: # This currencies are needed to rent this skill food: 20
Source Code: GitHub
@Zephedge
It should be on pickup event and it is, as you said, related to the empty config. My default values caused a infinite loop.
I just uploaded a new dev version, to fix this issues.
Latest version of expskills is generating with a practically empty config file, which causes a server crash on exp pickup event, or maybe monster kill event, I didn't test which. I assume its because there's no defined algorithms to figure out the expskills level from exp gained.
@SydMontague
Okay, I'll give that a go and I'll let you know if I come across any problems.
Thanks again for your help.
@adam_daniels
You only need to change MagnusI to MagnusII under skill_possible, as you can get MagnusII when you have MagnusI. The rest is okay.
@SydMontague
I was looking at using that feature, but I don't really understand it too well.
I assume an example of the MagusI class (to keep with the theme) would be somewhat like so? If not, feel free to correct me.
@adam_daniels
There is a bug with the reset that makes you to keep your skill until the next restart... However, your permissions.yml looks like it should.
Your specific problem is that someone can be Thief and Magus at the same time? If yes: I think the problem in this case is the inheritance of the Villager group. In this case I would recommend you to use the skilltree feature
@SydMontague
You can find a copy of our permissions.yml at http:rpg.hideyourfire.com/PermissionsEx-permissions-yml.txt
When I do /pex user gorbb, for example, I get the following:
Edit: Going through again, I reset myself using the "/exp reset gorbb" command through console, and setting myself back to the Villager group through PEx. I then go through and buy MagusI - MagusV, and ThiefI. I'm still in both groups as shown above.
@adam_daniels
If you want. Are you sure this groups are still in the permissions.yml and not only shown via /exp current?
@SydMontague
We are currently using PermissionsEx for our permissions system. I can get you a copy of the permissions if you wish to test those as well?
@ralphhogaboom
I just tested it with your config and PEX and it workes.
Which Permissions Plugin do you use?
Hello, I'm working with adam_daniels on his RPG server as well. I love ExpSkills - this plugin is pretty much central to what we're trying to do, so thank you thank you!
I'm using the revoke_need_groups: true option, but I'm not seeing players lose the groups_need: groups when they rise in ranks. Is there a setting I'm missing? Thanks so much!
A copy of my config is at http://rpg.hideyourfire.com/expskills-config-yml.txt
ralphhogaboom
@SydMontague
No, it wasn't in the config. I added it, and it seems to be working fine.
Thanks again for your help, and the great plugin!
@adam_daniels
Is change_expdrop set to true? It should save the levels after death...
Hello,
I am currently attempting to set up an RPG server, using this plugin (version 0.8.3) to let players buy ranks, based on the length of time they have played for, and the xp they have.
I've noticed that when players are killed, their skill levels go down to negative, and when the server crashes (which is quite often, it's only open for testing at the moment), skill points drop even more.
Yet, when I open the player.yml file, it doesn't show any kind of negative value, same when view levels through in game commands. I try to set the players level to 0, but that doesn't work either.
Any help you can offer me would be great, even if it's just an invalid config, or maybe I should set it out differently. Thanks in advanced for any help you can give.
@PrevLauncher
Register is for economy, Vault is for Permissions and Economy. If you use Vault, you don't need Register.
Do you get any error from your crashing server?
@shyaoeu @shyaoeu @TheFluffey
Planned for Version 1.0
Do I need vault AND register for this to work? I have neither, and my server crashes when this plugin is in, so is this why it crashes?
Please add permission to specific wolrld, so I can specify which world they can earn xp.
Exactly what im looking for :D Thanks for making this plugin
@SydMontague
Add support for console command execution on pay and I'm sold.
In case I want to reset all player skills, because I changed the skills (config) Hope this will be added on the next release.