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
@FaceValue
A reload command will be added in 1.0.0. I also plan to add a method to edit and create skills ingame via commands.
@shyaoeu
You can disable it by change_expdrop: false
Can I configure the exp drops? uummm.. Disable exp drop, or set the percentage of exp drop?
This definitely needs a '/expskills reload' command to reload config on-the-fly, as there doesn't appear to be one already. I don't like having to restart my server just to try and get the configs working. And I agree, could you or someone else who understands write a tutorial of some sort or make a video explaining how to actually make your own skills?
I'm curious at how to make skills, I wish someone had a youtube tutorial for this plugin. It would be useful for people like me.
@shyaoeu
I recommend to use PEX's world inheritance. I´ll work for a fix, but I think it could break some old config files...
So, I want to add permission to all world, should I add "world:" node and add every world name? It can flood the PEX file (it will be large file lol) And can impact the performance ;/
Logically, a skill config that does not have world: node, the earned permission will be out out any world in the permission node. so, it is affect to whole worlds
sorry for my bad english
When I am on, I am mostly on the biggest channels like:
@ Espernet
My nick is Dysp
@Dyspen
Tell me which IRC Server+Chan^^
Sydmontague - is it possible for you to use IRC or skype?
I can't bugfix if if we answer eachother with several hours between replies.
@Dyspen
Does the skillkeys fit exactly to the ones out of config.yml? Have you tried it without the single quotes ( ' )?
Yes to all.
I think it might be me who doesn't understand it. The only help there is, is in the above post.
I need to make two skill-trees and when choosing one, it excludes the other. This is how I tried to do it:
http://pastebin.com/Ay9G0egx
@Dyspen
Is Vault installed and use-skilltree: true? Are you using the lastest Version?
It works on my server, so I think it's not a general problem of my plugin...
Skill-tree and "permission required to buy" do not work for me at all. My players can always buy any skill at any time.
Edit: Okay, required to buy works, however the skill tree does not. Maybe I misunderstood the purpose.
@FatFreeSMP
Groupmanager only works with Vault, so the users.yml problem should be related to Vault.
But does placing Lava work? Permission Plugins don't always update their .yml files , but update the internal values.
Does this work with Groupmanager? (Essentials permissions)
I want this plugin to grant a worldguard permission for 15 seonds to allow placement of lava, so users can type a command, and for a brief period be allowed to place it.
Everything seems to be working but the permission does not get added unless I run a "manload" command to reload the essentials permissions. The permission itself doesnt even appear in the USERS.YML file if I don't do this... Any Ideas?
ExpSkills Config: http://pastebin.com/dbdhdtbV
Worldguard Blacklist Entry: http://pastebin.com/bC0TnDV0
thanks
<<reply 729650="">>
The Formula has 3 Modes.
0 = vanilla Formula
1 = 1.8 Formula ((Level+1)*10 = XP to next Level
2 = own Formula after y=ax⁴+bx³+cx²+dx+e where x is the level and y the EXP
The skilltree.yml does not create any content.
Can you please explain the formula-part in better detail? It's hard to figure out :)
+ skilltree.yml doesn't create anything neither.. but, copy/paste from here works.
<<reply 728900="">>
Well, it can not work if I upload the wrong file^^
I reuploaded it...
@SydMontague
Still not fixed. No difference.