BeardAch
Hey you! Tired of those silly, kill x zombies "achievements" other plugins let you make?
Well this is the plugin for you! BeardAch is an achievemnts plugin built the right way.
Designed to be a framework to build upon, BeardAch works on the principle of Triggers and Rewards.
Triggers define the unlock conditions for an achievement, rewards what a player gets.
Want an achievement for killing 30 creepers and 20 skeletons? Easy.
Auto rank up players based on play time? No problem.
Award players an exploration achievement for visiting a temple on the edge of the map? Of course.
Want to reward those who've donated to your server? Done.
With BeardAch, achievements are simple to make, no matter how hard they are for players to achieve.
Dumpling is out!
The newest version of BeardAch has just been released, With it a host of bug fixes, features and additions!Check out Dumpling today! Config
Jenkins (Dev. builds)
Awsome plugin mr. Beard ;) I would like to request a /beardach reload command to reload config. It's a shame that you need to reload the whole server or restart it to use the changes done to the config.yml
maybe you could add something like a web interface (example: web auction) you log in by creating a password for your account in game to see completed and not achievments
Hello again. Another great plugin and works great with BeardStat. :] I was able to create a 100% automated ranking system (I'm just playing with things on a test server) with BeardStat + BeardAch. There's just two things I'm wondering about so far.
First, it seems that when a player should be awarded 2 achievements (where one requires the other), it takes roughly 30 seconds to award the second one. For example, say achievement B simply requires achievement A, and A requires the player to have 10 kills. Now, say the player just made their 10th kill. It takes a few seconds, but they will be rewarded A - however they will not be rewarded with B immediately afterwards. I'm guessing this is because of an interval between the server/plugin checking for players needing to be awarded with achievements, but perhaps there is a way to have them rewarded instantly that I'm not aware of? (I.e. recursively; one after the other immediately.)
Otherwise, this is my suggestion: throw-in a statement that says to re-check for achievements if the player has just earned at least one, and add the printout to the bottom of the buffer. This way, if a player should be receiving even 10 achievements (where each requires the previous one, or the only trigger left to fill is the previous one), they will all be awarded along with each other almost instantaneously, and printed out in order. Of course this would be configurable in the config, as some users might like to preserve efficiency with the default behaviour. This is just an idea - I'm not sure if it's actually viable in your program. (Or maybe it's already there and I'm just doing something wrong!)
Second, I've noticed that when typing /ach to view your achievements, they are both:
Is this correct? Also, is there any way to configure this? For example: is it possible to print them out in order depending on, say, their # (within config), or maybe even print them out the current way they're printed out, but in reverse (latest-to-earliest rather than earliest-to-latest) so that the latest achievement is shown at the top?
Assuming you had a web interface to view achievements, I'm sure it's fairly simple to sort them with scripting/PHP, but I'm not sure as far as the in-game chat box goes.
(Also I seem to be getting "internal errors" when I type /ach followed by anything.)
Thank you.
The database problem did seem to fix the problem (still cannot get the default achievement to work though) ..
I deleted that old config (actually it was wiped, probably because of the missing '). The config this time was alright as it was the default one ..
But without an ability to remove achievements, it's just a bit too much of a hassle to work with. In my opinion it's a bit too vulnerable and rigid. Sadly.
I will, however, keep an eye on this plugin as I feel it has potential :-)
@Infuscu
That could potentially be the issue.
Currently it's manual removal (aka, edit the db).
Edit: also i'm not 100% sure this isn't a pastebin issue, but on your pastebins the list items (lines starting "- ") are one space to far left, also the temple achievement is missing a '.
Hm .. I do actually have some old achievements (which I've later removed from the config) in the database which still shows up if I do /ach. yet they are not in the config.
Could this cause trouble?
While on the subject, how would you remove an achievement?
Vanilla op?
I am not op, if that's what you ask .. just a normal member.
@Infuscu
Are you a vanilla OP?
I have a feeling a change in bukkit's permission api might be the cause.
Alright, I can see that it tries to reward the achievements but it doesn't save anywhere.
It writes this to the console (debug mode):
10:21:50 [INFO] [BeardAch][DEBUG] ach:Old Timer
10:21:50 [INFO] [BeardAch][DEBUG] Player Infuscu online
10:21:50 [INFO] [BeardAch][DEBUG] ach:Riiich!
10:21:50 [INFO] [BeardAch][DEBUG] Player Infuscu online
But I've tried both my mysql (checked the databases) and file format, but it's not saved anywhere.
http://pastebin.com/NWnthvkd
And then it starts to post alot of checks about player location:
23:55:03 [INFO] [BeardAch][DEBUG] Player moved, checking chunk Cache
Here is the statistic website:
http://www.blockpark.com/statistics/
@Infuscu
enable debug mode and drop the start log in here.
@Tehbeard
No, I've checked .. no errors under startup or later.
@Infuscu
No errors on console?
Hmm, I'll try your config, see if it throws an error somewhere.
Still cannot get it to work .. I've tried to reinstall it.
BeardStat is also working just fine .. it's sorta weird.
Wow, my config was reset!!
Anyway, something must have been wrong .. now I testing with the default config and the default achievement. But still nothing seems to happen really :-/ I've tried relogging a dozen of times and still not receiving any achievement. This is my config now:
Also, are you sure the reload command works as expected?
Argh, having trouble getting this to work .. when are achievements unlocked precisely?
Is something wrong here?
http://pastebin.com/jW1pTL0g
I can only get the first achievement to work but only sometimes .. it's sorta weird. I have checked the mysql database settings and they are correct.
@Infuscu
For statistics based ones, they will unlock them upon login 2/3 Minutes (when the plugin runs a scan of all achievements for if they triggered).
Other achievement triggers (e.g. entering an area) will not work beforehand.
I've set up achievements and a lot of players have already fulfilled the requirements but they did it before the acheivement was added.
Does a command exist to give those players an achievement? Or will they get it on server restart or how does it work? :-)
@ItsKohle
Seconds :)
@Tehbeard
So would that be in seconds, milliseconds, etc.