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
This is EPIC! :D I was looking for a plugin that puts people in a group without needing of an admin... But this is better of what I was looking for! I will test it now, only a question: People can take only one exam or more than one? Because in my server I need different jobs exams and if someone takes 2 exams, he will have 2 jobs... :(
EDIT: Tested, it gives me a lot of errors when right-clicking on an Exam Sign :(
Awesome! I really needed this lol.. oddly enough, but thank you!
Short Question
Can I delete (in the exams.yml) the Marker "endTime" + "startTime" ?
Or could I deactivate it?
Cannot place Exam sign. Even with permissions added. (pex)
EDIT: did work to place it when opped. Right clicking the sign doesn't work. Exam doesn't start and console is spammed with errors.
I love this mate. Keep it up!
Good
Can You Make Video ? :p