Skillz
Stats - made by Lolmewn
Description
This plugin adds Skills to your server. With skills, the player has a goal to work towards to, and get rewarded for playing actively. You can also use these skills as requirement for a rank-up, for example. Gaining levels can also make you more powerful, but not overpowered.
Commands and permissions
| Command | Permission node | Description |
| /skills | skillz.skills | See your skill levels |
| /skills page <pagenumber> | skillz.skills | View other pages of your skills (Not yet implemented) |
| /skills <Player> | skillz.skills.other | Shows skills of another player (Not yet implemented) |
| /skills check <skillname> | skillz.check | Checks when you level up (Not yet implemented) |
| /skills top | View the top players for every skill (Not yet implemented) | |
| /skills reset | skillz.reset.self | Reset your skills (Not yet implemented) |
| /skills reset <Player1> <Player2> etc | skillz.reset.other | Reset other player's skills (Not yet implemented) |
Default Skills
There are a couple of basic skills. To give an idea of what they do, I'll take the Mining skill as example and walk you through the config.
#name of the skill name: Mining #description of the skill, will be used later for more in-depth commands. description: Level up your mining skill to unlock new features, like breaking new blocks and using new tools. #default XP-gain multiplier multiplier: 1 #whether or not this skill is enabled at all enabled: true #send a message to everyone that a player has leveled up. You can change the message below broadcastLevelup: true #blocks used by this skill, either for gaining XP, blocking until a certain level, or blocking items until a certain level. blocks: #the stone block gets associated with this skill. You can find a list with all possible itemnames here: https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/browse/src/main/java/org/bukkit/Material.java#84 STONE: # get 1 XP for breaking a stone block. You level up when your XP is higher than level^2*10 (so to get level 3, you need 40 xp) xp: 1 COBBLESTONE: xp: 0.5 #you can only start mining cobblestone from Mining level 5. level: 5 tool_level: #only for breaking blocks #you can't use a Diamond pickaxe until you are level 5 DIAMOND_PICKAXE: 5 #Special abilities that randomly happen, usually with a higher chance of happening as the player gets to a higher level. special: #get double drops every now and then doubleDrops: #whether or not this special is enabled enabled: true #what the chance is of getting a double drop, in percentages (from 0-100) chance: "%level%/3" #when a double drop happens, send the player a message notifyPlayer: true doubleXp: enabled: true chance: "%level%" notifyPlayer: false messages: levelup: - '&3Congratulations %player%! You leveled up your %name% skill.' - '&6Your skill level is now %newlevel%' broadcast: - '&3%player% leveled up his %name% skill! He is now level %newlevel%' needsHigherLevelBlock: "You can't break this block! %name% level required: %level%" needsHigherLevelTool: "You can't use this tool yet! %name% level required: %level%" itemsDroppedOnGround: "Your inventory was full, causing your item rewards to be dropped on the ground!" doubleDrop: "Your block had a double drop! How lucky you are." doubleXp: "Your block dropped double XP! How lucky you are." #rewards for leveling up rewards: #some items you get. Separated by ; for multiple items. 89,4 means 4 glowstone (will use material name in a newer version), 17,2,1 means 2 wood with data-type 1 (so Spruce wood). items: 89,4;17,2,1 #money you get for leveling up. Nice incentive for working towards a levelup. money: 100
Basic Skills
There are a few basic skills you can train:
| Name | How to gain XP |
|---|---|
| Acrobatics | Fall and get hurt |
| Archery | Hit players or animals with your arrows |
| Digging | Dig dirt, sand, grass or gravel |
| Mining | Mine blocks, get XP |
| Swimming | Suffocate in water |
| Swords Combat | Hit players or animals with your sword |
| Woodcutting | Chop trees |
A Video about it
Source
https://gitlab.com/lolmewn/Skillz
API
Hook into the API to get player levels, XP, add new Skills, and more! Click here to see the API
-
View User Profile
-
Send Message
Posted Jul 9, 2012I've been using your 5.6 beta and I've noticed when it saves everyone's skills, it does so in a folder called "player", located inside the "skillz" folder. This is fine while the server is running. However, it loads everyone's skills from a folder called "players" (also located in the skillz folder) after I have shut my server down and started it back up. Is this because it's a beta?
Other than that, it works great.
-
View User Profile
-
Send Message
Posted Jun 23, 2012more detail: Total duration: 451.505 ms / 500 ticks Average duration: 0.903 ms/tick Event count: 8 Task count: 0 Plugin: Skillz
-
View User Profile
-
Send Message
Posted Jun 21, 2012@Hans6666
Maybe it does too much checking, or in a way that's not efficient. I will look into this, 451 ms is abnormal.
-
View User Profile
-
Send Message
Posted Jun 20, 2012HUGE performance problem! it does not happen all the time..maybe all 10-30min i get a huge lag on my server... nolagg says this: http://img849.imageshack.us/img849/412/combergerkillerbukkitno.png
blockbreakevent does take 451. ms o.0
please fix this!! im using flatfile..could this be the problem? hmm i dont think so..but i will try mysql
edit: after disabling all skills which has to do with block placing/mining etc the laggs are GONE
-
View User Profile
-
Send Message
Posted Jun 17, 2012when you level up do those skills actually become stronger?
-
View User Profile
-
Send Message
Posted Jun 17, 2012@ThatGuy45
That is weird. Please make a ticket with your config file and the server log at startup and shutdown.
-
View User Profile
-
Send Message
Posted Jun 16, 2012Mine still aren't saving. I do /save-all, then /skills save, (then a few other plugins), then /stop or /reload, and when everyone joins again their levels are at zero?
-
View User Profile
-
Send Message
Posted Jun 16, 2012@ThatGuy45
They're automatically being saved, so if you shut down the server correctly, they should save just fine.
-
View User Profile
-
Send Message
Posted Jun 16, 2012The levels reset when you reset the server how do you save them
-
View User Profile
-
Send Message
Posted Jun 15, 2012@mima19
You can make one yourself of course, I am currently in progress of developing one.
-
View User Profile
-
Send Message
Posted Jun 15, 2012Is there a way i could show them on a webpage?
-
View User Profile
-
Send Message
Posted Jun 13, 2012@Hans6666
Did you even look at the config? There is a line for that.
-
View User Profile
-
Send Message
Posted Jun 13, 2012a localization would be great for example to translate the "player leveled up in xxx"
-
View User Profile
-
Send Message
Posted Jun 8, 2012@OVAGI
That can be done with a small calculation. (lvl - 1) ^ 2 * 10 = XP needed. For example, level 2 needs 10 xp (9xp is level 1, 10xp is level 2). Level 200 would then be 396010 XP
-
View User Profile
-
Send Message
Posted Jun 8, 2012@MRCartm0n
I know it's doable with PEX, not sure with GroupManager (should work though). Take a look at this: https://github.com/PEXPlugins/PermissionsEx/wiki/Advanced-permissions-setup#wiki-pex-multiworld-inhertiance You can set it per-world. So if you only want to enable it in one world, just add it to that world only.
-
View User Profile
-
Send Message
Posted Jun 8, 2012Could you include a level exp table, so i could see how much exp it takes to get to level say 200
-
View User Profile
-
Send Message
Posted Jun 8, 2012I can't do that because my worlds are all mirroed with the main world (where pvp is disabled) and when I stop that now people wont have the same groups as in the other world. We use a rank up plugin which can only rank up global. Isn't it possible to add a permission like skillz.use.*world* ?
Using GroupManager btw.
-
View User Profile
-
Send Message
Posted Jun 8, 2012@MRCartm0n
This is the permission node: skillz.skill.<skillname> You can give them skillz.skill.* if you want them to be able to level up everything available. Do note: This does require a setting to be set to true (the one I stated below). Add the permission node to the world you want it to apply on, and you'll be fine ;)
-
View User Profile
-
Send Message
Posted Jun 7, 2012How can I give them permission for one world only? Can't see any permission that does that :S
-
View User Profile
-
Send Message
Posted Jun 7, 2012@MRCartm0n
Only give them permissions for a certain world (do note, permsForAllLevels or something in the config must be set to true)