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
<<reply 728521="">>
fixed in the lastest dev Version, thanks for report.
The plugin doesn't create any config file. It creates a config.yml, but it is empty only containing version number. I've tried both Dev and RB; vault is installed and up-to-date.
<<reply 694725="">>
Just don't use /reload or /exp reload
The first is not supported by the most of the plugins (as mine) and the second does not exist in my plugin.
If it's don't work even with a restart, I guess it's something with your server.
I can edit my config even while my server is running...
For whatever reason, there is a version of my config that your plugin really likes. Whenever I /reload, /reload plugins, or /exp reload, it resets the config to this version it likes. Problem is, the version isn't formatted correctly so it doesn't work. It does this on both the current and dev version for me. Whenever I copy in the new config, it just overwrites it with the old one before I can see if I've fixed my formatting issues. I've tried stopping the server, uninstalling the plugin entirely, starting/stopping again, reinstalling, stopping and installing the fixed config, then restarting. After all of that, it somehow STILL remembered the old wrong config. That config was nowhere to be found on the server, so it has to be stored somewhere in another plugin. Let me know what you need to help me fix this problem.
@SydMontague
wow i feel really stupid now >_< thank you for helping.
@tachaqua
Try the dev version, maybe it works...
@SydMontague
im using expskills 0.8.2, also when i take 1st-skill out of the skill tree i can buy it but i still can't buy 2nd-skill
@tachaqua
Try to remove the 1st-skill from your skilltree.yml, as it has no dependencys. Which version of my plugin are you using?
@SydMontague
the first skill is kit and second is home, but since 'i dont follow the skilltree' i can't buy the first skill, meaning i cant buy the 2nd one either.
@tachaqua
Which one is Home? I guess 2nd-skill. If yes: do you have 1st-skill already?
@SydMontague
when skilltree is off, i can buy the skill but when i turn it on, it no longer lets me. heres my skilltree.yml file.
skilltree:
1st-skill:
skill_need_type: all
skill_need:
skill_illegal:
skill_possible:
2nd-skill:
skill_need_type: all
skill_need:
- 1st-skill
skill_illegal:
skill_possible:
.. and i used the same names in the config file.
@tachaqua
That makes sense... The XP are stored in the player file, so it shouldn't be affected by multible worlds.
Do you have defined the skilltree in skilltree.yml? If yes, are you sure you fullfill all requirements to buy the skill?
@SydMontague
my config and everything works but when i type /exp buy Home it tells me "you don't follow the skill tree" what is the problem there?, also my earlier comment was to meant for knowledge of bladed penguins problem.
@tachaqua
Sorry, I´m not sure if I get what you want...
@bladedpenguin
I use Player.getTotalExperience() to find out how many XP a player have. So it's the same as native XP, for me.^^
The error you get seems to be an input error, but I´m not sure if I find enough time to make a update. (I write my final exams very soon...)
@SydMontague
is it possible that having multiple worlds is affecting the xp that the plugin thinks you have gained?
@SydMontague
I guess I'm a little confused then. For some of my players, what I get from /exp stats is wildly different from thier minecraft level. For example, on player has 196xp at level 9 in /exp stats, but /whois and asking him tells me that he is level 2 with 19xp. Is that a bug? I've set Skillpoint_modifier to 1.0
If I can get it to match up exactly, can I silence all the messages about gaining levels etc? Minecraft represents level to the players well enough without the chat spam. I didn't see an option in the config for that.
EDIT: I found change_expdrop and set it to false. I think this is what I need. I'll know next restart.
EDIT: Players exp and native minecraft xp are still wildly different. also, I'm getting an error. What do you mean when you say you use the same xp as minecraft?
@bladedpenguin
My plugin uses the same XP as Minecraft.
This looks pretty cool! How do I get it to use ONLY the native minecraft experience points, without your xp?
Forgive me if this is a bit forward, but what's the point of having your own xp system on top of minecrafts?
@g_BonE
Check if you are in the needed group and played long enough on your server (check with /exp stats)
You could also try to buy the skill (/exp buy Flugmodus), it will print you why you are not able to buy the skill.
tried it on 1.2.5 but dont get any skills listed with /exp list ;( My config.yml looks like this: