Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- exports.questions = [
- {
- pregunta: 'Puedes entrar en una construccion que no es tuya:',
- Options: {
- a: 'Si',
- b: 'No',
- c: 'Si, a no ser que este prohibido en la entrada',
- d: 'No, a no ser que se me permita el paso en la entrada'
- },
- CorrectOption: 3
- },
- {
- pregunta: 'Puedes romper o modificar construcciones de otros:',
- Options: {
- a: 'Si',
- b: 'No',
- c: 'Si, si son feas',
- d: 'Si, si estan abandonadas'
- },
- CorrectOption: 2
- },
- {
- pregunta: 'Puedes modificar el juego:',
- Options: {
- a: 'Solo con packs de texturas o similares',
- b: 'Solo con anadidos que no me den ventaja o desequilibren el juego',
- c: 'Puedo usar cualquier tipo de modificacion, pero solo en mis construcciones',
- d: 'Siempre con permiso del Staff'
- },
- CorrectOption: 2
- },
- {
- pregunta: 'Elige la opcion correcta:',
- Options: {
- a: 'Puedo recoger recursos sin preocuparme del entorno si estoy en la cantera',
- b: 'Puedo reservar el terreno de mi futura casa con el plugin de protecciones',
- c: 'Puedo modificar la casa de alguien si es amigo mio',
- d: 'Todas estan mal y esto es una pregunta trampa, mequetrefe'
- },
- CorrectOption: 1
- },
- {
- pregunta:'Puedo spawnear al Wither:',
- Options:{
- a:'En el mundo normal',
- b:'En el Nether',
- c:'Dentro de mis construcciones',
- d:'En la cantera'
- },
- CorrectOption: 4
- },
- {
- pregunta:'Elije la opcion mas correcta:',
- Options:{
- a:'Debo talar los arboles completamente y al recoger recursos debo evitar modificar el terreno drasticamente',
- b:'No hace falta talar los arboles completamente ya que desaparecen solos y al recoger recursos debo evitar modificar el terreno drasticamente',
- c:'Debo talar los arboles completamente y puedo recoger recursos sin consideracion por la integridad del paisaje',
- d:'Debo talar los arboles completamente y al recoger recursos debo evitar modificar el terreno drasticamente en la cantera'
- },
- CorrectOption: 1
- },
- {
- pregunta:'Quiero construir algo, pero cerca hay otra construccion:',
- Options:{
- a:'Puedo construir ahi sí parece que no voy a molestar',
- b:'Puedo construir ahi sin problemas, pues hay sitio libre',
- c:'A menos que tenga permiso para construir ahi, debo alejarme lo suficiente',
- d:'No puedo construir ahi'
- },
- CorrectOption: 3
- },
- {
- pregunta:'El Nether tiene las mismas normas que el mapa normal:',
- Options:{
- a:'Verdadero',
- b:'Falso',
- c:'Verdadero pero puedes atacar a otros usuarios',
- d:'Verdadero pero puedes alterar drasticamente el paisaje para obtener recursos'
- },
- CorrectOption: 1
- },
- {
- pregunta:'El Staff tiene el nombre de color:',
- Options:{
- a:'Azul claro',
- b:'Morado',
- c:'Gris',
- d:'Rojo'
- },
- CorrectOption: 2
- },
- {
- pregunta:'Necesito ayuda de un miembro del Staff. Debo:',
- Options:{
- a:'Construir un pixel art gigante en el que se lea la palabra HELP',
- b:'Contactarle por el chat o cualquier otro medio',
- c:'Escribir un ticket de soporte, a no ser que sea una situacion urgente o una pregunta rapida',
- d:'Escribir un ticket de soporte a no ser que se trate de un caso de grifeo'
- },
- CorrectOption: 3
- }
- ];
- var utils = require('utils');
- var slash = require('slash');
- var bannedusers = [],
- esperando = false,
- currentplayer = [],
- current = {};
- function newTest(nombre){
- this.nombre = nombre;
- this.lastmsg;
- this.preguntaActual = 0;
- this.fails = 0;
- }
- exports.starterExam = function(player) {
- //Get current time;
- var currentDate = new Date(),
- canDoTheTest = true;
- //Comprobamos que el usuario no esta en la lista de baneados.
- for (var i = bannedusers.length-1; 0 <= i;i--){
- if(bannedusers[i].playername == player){
- if(bannedusers[i].until > currentDate){
- canDoTheTest = false;
- }
- };
- }
- //Si no esta baneado devolvemos datos.
- current[player] = new newTest(player);
- return theTest(canDoTheTest,current[player])
- }
- var theTest = function(canDoTheTest,player){
- //Si puedes hacer el test procedemos a hacerlo
- if (canDoTheTest){
- echo( utils.player(player.nombre) ,'Hola ' +player.nombre + ' has iniciado el test para convertirte en usuario del servidor');
- echo( utils.player(player.nombre) ,'-----------------');
- currentplayer.push({nombre: player.nombre, esperando: false});
- pregunta(player);
- } else {
- echo( utils.player(player.nombre) ,'Aun no puedes hacer el test, tienes que esperar 24h desde el ultimo test para poder repetirlo');
- server.dispatchCommand(server.getConsoleSender(),'questadmin abandonar '+player.nombre + ' Nerale');
- server.dispatchCommand(server.getConsoleSender(),'questsadmin forzar '+player.nombre + ' Nerale')
- };
- };
- var pregunta = function (player){
- var length = questions.length;
- if (player.preguntaActual < length){
- echo( utils.player(player.nombre) ,'-----------------');
- echo( utils.player(player.nombre) ,questions[player.preguntaActual].pregunta);
- echo( utils.player(player.nombre) ,'\n');
- echo( utils.player(player.nombre) ,'1: ' + questions[player.preguntaActual].Options.a);
- echo( utils.player(player.nombre) ,'\n');
- echo( utils.player(player.nombre) ,'2: ' + questions[player.preguntaActual].Options.b);
- echo( utils.player(player.nombre) ,'\n');
- echo( utils.player(player.nombre) ,'3: ' + questions[player.preguntaActual].Options.c);
- echo( utils.player(player.nombre) ,'\n');
- echo( utils.player(player.nombre) ,'4: ' + questions[player.preguntaActual].Options.d);
- setTimeout(function(){esperando = true;},300);
- }else{
- hasApproved(player);
- }
- };
- events.playerChat( function( event ){
- for(var esto = currentplayer.length; esto > 0; esto-- ){
- if (currentplayer[esto] == event.player.name){
- if (currentplayer[esto].esperando) {
- var temp = event.message;
- current[currentplayer].lastmsg = temp;
- updatechat(current[currentplayer].lastmsg, current[currentplayer]);
- currentplayer[esto].esperando = false;
- event.setCancelled(true);
- }
- }
- }
- });
- var updatechat = function (lastmsg, player){
- if(questions[player.preguntaActual].CorrectOption == lastmsg[3]){
- }else {
- player.fails++;
- }
- player.preguntaActual++;
- pregunta(player);
- }
- var hasApproved = function (player) {
- if (player.fails > 1) {
- var myDate = new Date();
- myDate.setHours(myDate.getHours() + 24);
- bannedusers.push({
- playername: player.nombre,
- until: myDate
- });
- echo( utils.player(player.nombre) ,'Fallaste el test! Podras repetirlo en 24h');
- server.dispatchCommand(server.getConsoleSender(),'questsadmin forzar '+player.nombre + ' Nerale');
- } else {
- echo( utils.player(player.nombre) ,'Pasaste el test!');
- server.dispatchCommand(server.getConsoleSender(),'pex promote '+player.nombre);
- }
- delete player;
- for(var esto = currentplayer.length; esto > 0; esto-- ){
- if(currentplayer[esto].nombre == player.nombre){
- currentplayer.splice(esto,1);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement