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
I have re-coded this, If you would like it, please contact me. I will give you a deal!
Can you help me
add me in discord
Johan#9518
I need some help, add me on discord @ preciseKill#4635
If anyone is interested, removed some features from this plugin which I feel were not necessary.
- Students no longer get put in a "student" permission group: This allows servers where players have 2+ perm groups at any given time to use the plugin without it erasing their other groups all the time. In aid of this, I have also removed the "RankName" from the config options, and the plugin now relies on simply running commands for rewards. (/pex user $PlayerName group add/set rookie works fine.)
- Removed broadcast messages when player sign up, take and complete the exams. This was just to tidy up chat a little.
The github fork for this is here: https://github.com/Zillew/Exams
What job plugin do your recomend?
Could you possibly support multiple required ranks ??
See tickets. ;)
@cosmoobr
You can do this easily by using the "Command" option. That command will be used when a player passed an exam. You just need to know the command for adding a certain permission for the player for ex:
Command: perm user $PlayerName add signplugin.use
Can you add "Add perms when pass a test" ??
@Diamond_Dan1
I might add this If you want
guys please submit a ticket if you have/find an issue.
Once i co manage I will fix these issues
Everytime I change MinExamTime to 10 it still says wait 60 minutes
the commands option doesnt work in the config please fix it.
Is there currently a way to change the MinExamTime - Minutes that must pass before a player can take an exam again for each group? Like, let's say Vip which is my Donator Rank, will have 2 minutes before they can take an exam again, instead of 5 minutes like all the other groups. Vip will not change by taking an exam. Only Citizen will change to something like Police. They will still keep their Vip Tag if they are a donator. If they are Mod, they will also still keep there Mod Rank.
@rockdude3512 If everything, including commands work just use ServerSigns (a bukkit plugin) to let it run the commands for you.
Running on Craftbukkit 1.7.10 and everything is functional except for the signs are functional. No errors in startup, please help me!
can you add a personal answer in chat with a keyword? example: where can you grief? ( keyword factions )
You should add the command /exams start <name> that starts the specified exam. That would be nice, if someone doesn't want to use the signs.
@failtolawl
It does work in 1.7.9 and does not need UUID's.