Exams
Exams in Minecraft!
This plugin lets server owner setup pre-defined exams which players can take to obtain certain ranks (permission groups) on the server OR execute a certain command for the player if he passes the exam.
Exams is a simple, lightwight and automated way to handle certain ranks on the server, such as :
- Citizen (Player need to read and understand the rules before he can build on the server)
- Wizard (Player need to know how he actually use the wizard spells before he can be a wizard)
- Police (Player need to know under what conditions he should jail players)
From my own experience, using this plugin is a very efficient way to guarantee quality players on your server when players need to pass an exam to be able to build on the server.
By editing the exams.yml file, a server admins can define any type of exam for any rank they like.
Exams are taken by clicking on signs in the world to encourage people to build schools in the game world where players can go to take exams.
Exam questions
Setting up an exam is easy:
- Place a sign with the words "Exam" on line 1, and the name of the exam (from the exam.yml file) on line 3.
- Players can now signup and take the exam by right-clicking on the exam sign
Being a Student
- During the exam, the player will be put in the "Student" permission group.
- If the player fails his exam he will be reverted back to the permission group he had before starting the exam
Installation
Put the Exams.jar file in your /plugins folder and you are ready to go!
Defining your exams
Just edit the exams.yml that appears in the Exams folder. The layout should be simple to understand:
Citizen: RankName: Citizen Command: give $PlayerName 38 1 StartTime: 600 EndTime: 13000 Price: 100 NumberOfQuestions: 2 Questions: Is it ok to grief on the server?: Options: - Yes - No - I will grief like theres no tomorrow! - Maybe CorrectOption: B Questions: What is NOT a way to obtain items?: Options: - Asking an admin for it - Crafting them - Buying them - Asking other players for them CorrectOption: A Questions: How do I obtain a higher rank?: Options: - By yelling and screaming about it - By convincing an admin - By taking the exam for that rank - No idea CorrectOption: C
This exam puts him in the "Citizen" group (RankName) and hands him a rose (38).
Notice that the exam above will select 2 questions (NumberOfQuestions) at random out of all available 3 questions for the exam.
In this way, the exam will never be exactly the same and players will not be able to simply record the sequence of the answers.
This exam has both the "RankName" and "Command" settings.
Either of these are optional: You can setup up an exam that only performs a command or only puts the player in a group or both.
Optional: Required Exams
An exam can be setup to require passing another exam first.
You can set another exam as being required for taking this exam, by specifying the RequiredExam value.
Citizen: RankName: MasterCitizen RequiredExam: Citizen Command: give $PlayerName 38 200 StartTime: 600 EndTime: 13000 Price: 10000 NumberOfQuestions: 64 Questions: Is it ok to grief on the server?: Options: - Yes - No - I will grief like theres no tomorrow! - Maybe CorrectOption: B
Optional: Payment
You can set the required payment for taking an exam by specifying the Price value.
NOTE: You need Vault installed on the server to use payment.
Optional: RankName
You can set the permission group that the player will be put in if the player passes the exam, by specifying the RankName value.
Optional: Command
You can set the command that the plugin will execute if the player passes the exam, by specifying the Command value.
Optional: Multiple Commands
You can set a list of command that the plugin will execute if the player passes the exam, by specifying the Commands value.
Citizen: RankName: Citizen Commands: - give $PlayerName 38 1 - tppos $PlayerName 128 65 128 StartTime: 600 ...
Optional: Required rank
You can set another rank (permission group) as being required for taking this exam, by specifying the RequiredRank value.
Optional: Opening Hours
You can set the opening hours for each exam by specifying the StartTime and EndTime values. Note that these values are in minecraft time.
Commands
Command | Description |
---|---|
exams | Show the basic info |
exams help | Shows the command list |
exams a | Answer A to an exam |
exams b | Answer B to an exam |
exams c | Answer C to an exam |
exams d | Answer D to an exam |
Permission Nodes
Note that Exams currently supports PermissionsBukkit, PermissionsEX, bPermissions and GroupManager.
- exams.* - Player can do everything below
- exams.updates - Player gets notifications about updates to the Exams plugin
- exams.reload - Player can reload the Exams configuration file
Configuration
Setting | Description | Default Value |
---|---|---|
ServerName | Default name for the server. | 'Your Server' |
MinExamTime | Minutes that must pass before a player can take an exam again | 60 |
Required score | Required percentage of correct answers that a player must have to pass an exam | 80 |
Debug | Enable debugging information | false |
DisplayUpdateNotifications | Show notifications about updates to the Exams plugin. | true |
Want to contribute? Exams is open source!
Check out the official repository on github
@lJunKunl
Sorry for the trouble, exam.yml will no longer be overridden in version 0.1.8
This is bull. I have been working on an exam for hours, and I messed up ONE line and the entire config reset! Why isn't there a corruptconfig file instead??
@lJunKunl
Yes, that feature is coming in 0.1.8 :)
@Debzy86
Yes, use the new "Command" feature in 0.1.7:
Can you make it so that the users can't take one exam without passing another one first?
Is there a way to use this without using ranks? Ie, answer the following questions to win an item? x
@Qcbob
That's pretty neat!
Is there a way to make some questions being ask everytime in a certain order. Let's say by example I have a serie of random questions and the very last one have to be: "Do you accept that if you don't follow the rules you could be permanently exclude from our community with no warning?" Answer A: Yes, I accept terms & conditions, Answer B: No.
It act a little bit like a Registred Terms & Conditions for new members with an exam in it to make sure they have read rules and conditions to play.
Eventually, is there a way to save thoses exams in a folder for every players and the admin could see the answers of every questions. A kind of virtual proof that the players click "Yes" on the last question. So if the player complain the admin can prove by showing him his mistakes.
@Glacksy
I agree, but I would actually prefer seconds.
Could you make it possible to use this like a quiz with multiple questions, where each question are being sent when the player clicks a sign, and that either the player eventually with permissions as he uses the quiz or the console performs custom commands per answer, and also add an option for per quiz/question/answer cooldowns etc...
Can you also make it possible to have more than one possible answers, and also that the player therefore can say more than one answer but that he player can't do all the answers to reduce abuse etc...
This has so many uses! But it can even get more if you add more features such as the above. :)
Working quite well, love to see it in german? If translation help needed PM
@BlitzzardHD
GroupManager is supported and if there are any bugs it would be nice to know what those are exactly.
This is a really AWESOME idea! But it would be good if you can support GroupManager ( For people who uses Essentials) and fix some bugs because apparently there are alot of errors here and there D: Then again, the idea is very nice.
bpermissions would be nice too...
Support group manager! It's used for most people who use essentials..
I've set up an exam with 20 of 40 overall questions and that's when the bugs have begon..
People are failing the exam on random questions even if they had the right answer (Iv'e checked it by myself). This is pretty annoying.. When I set it up to 10/40 questions it is working. But more then that causes bugs.
Also the config.yml seems to be buggy, when I set the RequiredExamScore to 100 it stays 80 on the server after reload.
All in all this idea of exams in MC is brilliant! And I would be very happy of multilangual support! :)
couldn't get it to start the exams.
Hi doggy
This is amazing, would it be possible to keep track of whenever someone completed the exam? , maybe set a time they would have to wait before they could complete the next exam? :)
time-to-way= in min's
- thanks
Seems not to work on 1.3
The idea is really great, it can solve big problems on my server, pls update : )