QuizPromote
QuizPromote
What does this plugin do?
A chat quiz to promote players.
You can define some questions and answers. They will be displayed in random order to the respondent when he enters the keyword (configurable) into the chat. When the respondent answers all questions correctly he gets promoted to a defined group.
Proposals, Features and Enhancements
When i have some free time i will create a new QuizPromote version. You can influence and contribute to the new version by creating an issue at bitbucket(You can do this anonymuously. No need to register or such stuff).
Describe precisely your idea. Examples on the functions you would like would be nice, too. i.e. "Generally it should do..." "When the User does X then Y should happen" "Function Z is only available for members/ Admins... " "I want that function X is configurable in config file" etc. The more you write the better i can understand what you want the plugin to do and the better the result ;)
Support this plugin
If you want to support me in developing this plugin and new features consider a paypal donation such that i can put more time into this project or clone the project on bitbucket to fix bugs or implement new features.
You could also create a video tutorial for this plugin and post the link here.
Also you can help to translate QuizPromote to other languages. Further instructions for translation are given in multi language support.
Installation
Tekkit Users
Tekkit 3.1.3 still uses Craftbukkit 1.2.5. so install Quizpromote for 1.2.5.
Version Info
Quizpromote for Craftbukkit 1.2.5 should also work for higher versions. Quizpromote for Craftbukkit >=1.3 doesn't work with Craftbukkit <=1.2.5. Quizpromote for Craftbukkit >=1.3 is better in a performance point of view so if you use the newer craftbukkit >=1.3 use Quizpromote for Craftbukkit >=1.3.
This plugin currently works with PermissionsEx.
- Copy Quizpromote.jar into your servers plugins/ folder.
- make shure PermissionsEx is installed(PermissionsEx.jar is available in the plugins/ folder)
How to configure it?
The configuration is done in plugins/QuizPromote/quizConfig.yml.
There you define your questions and answers as well as some more config stuff. Currently only PermissionsEx is supported. Other permission systems will get implemented soon. If you want to disable banning just set:
banDuration: 1 ms
To disable maximum question time set maxTime to a high time.
maxTime: 1 y
Quizconfig.yml looks like this:
# put in your questions here. correct answers are signed with a +. questionnaires: - world: world #howmany questions should be asked from the questions given here questionCount: 4 questions: - "is griefing allowed?": - yes - no - + only under special circumstances # if you want to give pure number answers add some "" around them. - "how much silver does every user own at the beginning?": - "1.000" - "2.500" - "30" - "+ 500" - "What is the name of the server owner?": - Neutrum_ - + Tüffel - Gorgi88 - Daxius87 - powerpandi - "May you farm where ever you want?": - + only in the mining world - only when it does not bother anyone - only at my place - i may farm wherever i want banDuration: 450 milliseconds 1 m maxTime: 1000 ms 10 y 4 Seconds startCommand: go # allowed Time Values: # millisecond second minute hour day week month year # Milliseconds seconds minutes hours days weeks months years # ms s m h d t w mo y # Ms S M H D T W Mo Y # if you want to configure the groups a player # gets promoted to on a *global* base: successPrivilegesAll: pex: [ Admins ] # if you want to configure the groups a player # gets promoted to on a *per world* base: #successPrivileges: # - # world: world # successGroup: # pex: [Member, Admins] # groupmanager: # permissionsBukkit: # bPermissions: # - # world: hardcoreworld # successGroup: # pex: Admin # groupmanager: # permissionsBukkit: # bPermissions:
Minecraft Port Central
MCPC has a strange class loader system. Thats why we need to do some modifications:
- Extract the scala_version.jar file(it is actually a zip file).
- extract the QuizPromote_version.jar file
- copy the scala_version/scala/ folder to the extracted QuizPromote_version/ folder
- zip the QuizPromote_version/ folder as QuizPromote_version.jar . The zip file must contain directly the contents of the QuizPromote_version/ folder. if you get org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml the content of the zipfile is the QuizPromote_version/ folder and not directly the QuizPromote_version/ folders contents.
Easy way to zip in linux/mac os:
cd QuizPromote_version/ zip -r ../QuizPromote_version.jar ./
- copy the new QuizPromote_version.jar to the plugins/ folder.
- start the server
how to run it?
just start the server, login and enter the keyword 'go' (adjustable in config 'startCommand: go') into the chat. Press enter.
Bugs & Suggestions
Post bugs and suggestions on bitbucket repo in "issues" https://bitbucket.org/mnyx/quizpromote or just post them here.
Questions?
Post your questions here as comment.
Multi Language Support
All messages in the plugin can be edited and translated into other languages. Till now english and german are supported. By default a file called strings.yml is used. If this is not found strings_EN_US.yml is used. So to change the language rename your favourite language file to strings.yml.
If you want to support QuizPromote send me your translated strings.yml files or clone the project on bitbucket and add them there.
Troubleshooting
if you get an error message like:
Could not pass event AsyncPlayerChatEvent to QuizPromote v1.2 org.bukkit.event.EventException at ..... net.minecraft.server.v1_4_6.NetworkReaderThread.run(SourceFile:93) Caused by: java.util.NoSuchElementException: key not found: Firstspawn at .....
something in your quizconfig.yml is messed up. Check that file again if there is a typo or something. Especially *key not found: xy* gives you a hint where the error is.
if you get an error message like:
... ClassNotFoundException: scala.ScalaObject ...
there is a problem with the class loader. Either the scala jar file in QuizPromote/ is missing or the classloader doesnt find it.
- delete QuizPromote/ folder and restart server. if that doesnt help try to:
- follow the steps in Minecraft Port Central
@mee2ee
If you would like to try the unapproved version: [You really can't.]
@mee2ee
They are still approving. I already sent them information about the the plugin content.... I hope in the new year it will be approved.
Still not approved?
@mee2ee i created a new Quizpromote version where this problem should not occur anymore.
QuizPromote_1.5 should be available in a few hours.
:)
Using version 1.4 of quizpromote. Now tried with bukkit 1.7.2 and 1.6.2. With both the plugin won't load if i set "successPrivilegesAll" instead of the other. Same error as before.
Tried also the Minecraft Port Central method, did not work. Same error. I am using official bukkit (dev build), no mod or something.
Any chance get this to work? :)
@mee2ee
which version of Quizpromote are you using
@mee2ee
this is not a fault of your config. Have a look at http://dev.bukkit.org/bukkit-plugins/quizpromote/#w-troubleshooting You got the problem with "ClassNotFoundException: scala.ScalaObject". If you are using MCPC (minecraft-port-central) or similar try doing this: http://dev.bukkit.org/bukkit-plugins/quizpromote/#w-minecraft-port-central
Error log:
Config:
Is it possible to block the "go" command for groups with a higher rank? With a permission node or something?
Thanks in advance :)
@mee2ee the usage of successPrivileges: excludes the usage of successPrivilegesAll:
If you give me the full error log i can tell you more about what went wrong. ;)
Well i tried a bit around and it wont work :)
If i only use "successPrivilegesAll" like this:
the config won't load and the console tell me:
If i use both, "successPrivilegesAll" "and successPrivileges", "successPrivilegesAll" will not effect PermissionsEx. Config goes like this:
Do you see any mistake i did? :)
The standart config has a little problem too, it tells me special characters are not allowed, maybe this is due to "Tüffel".
@mee2ee
it should still be working. Check if you typed everything properly and if the group names are correct. You have to use it like:
Does "successPrivilegesAll:" not work anymore in config?
@nowherebrain The file size is so big because i used scala language and included all libraries. I wanted to ease the use such that you dont have to get together all the required libraries. You can set the ban time to 1 second to "disable" ban. What do you mean by "test"?
I Love the plugin, but why is the file size so big??? also I would suggest an option to have a test for every rank and the option to turn off the temporary ban...
@TheGhostCat
Currently it works only on pex. in the next months i plan to create a new version which is more flexible and contains more features.
Does this work for Essentials Groupmanager or only PermissionsEx?
@madanyx
I posted the idea here on the forums http://forums.bukkit.org/threads/questionnaire-plugin.147472/
Hopefully you can take this plugin on, let me know if you will give it a go.
@rangewonk
I could implement such a feature. Just post an issue on bitbukket. Describe precisely your idea. Examples on the functions you would like would be nice, too. i.e. "Generally it should do..." "When the User does X then Y should happen" "Function Z is only available for members/ Admins... " "I want that function X is configurable in config file" etc. The more you write the better i can understand what you want the plugin to do and the better the result ;)
Looks like a nice plugin. I was wondering if you were able to make a questionnaire plugin which would store the players answers in a .yml file. Would you be able to do this and relase it please?
@QcElbY
nope not yet. you are welcome to create one :)
Anyone made a video for this?