Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.77 KB | None | 0 0
  1. exports.questions = [
  2. {
  3. pregunta: 'Puedes entrar en una construccion que no es tuya:',
  4. Options: {
  5. a: 'Si',
  6. b: 'No',
  7. c: 'Si, a no ser que este prohibido en la entrada',
  8. d: 'No, a no ser que se me permita el paso en la entrada'
  9. },
  10. CorrectOption: 3
  11. },
  12. {
  13. pregunta: 'Puedes romper o modificar construcciones de otros:',
  14. Options: {
  15. a: 'Si',
  16. b: 'No',
  17. c: 'Si, si son feas',
  18. d: 'Si, si estan abandonadas'
  19. },
  20. CorrectOption: 2
  21. },
  22. {
  23. pregunta: 'Puedes modificar el juego:',
  24. Options: {
  25. a: 'Solo con packs de texturas o similares',
  26. b: 'Solo con anadidos que no me den ventaja o desequilibren el juego',
  27. c: 'Puedo usar cualquier tipo de modificacion, pero solo en mis construcciones',
  28. d: 'Siempre con permiso del Staff'
  29. },
  30. CorrectOption: 2
  31. },
  32. {
  33. pregunta: 'Elige la opcion correcta:',
  34. Options: {
  35. a: 'Puedo recoger recursos sin preocuparme del entorno si estoy en la cantera',
  36. b: 'Puedo reservar el terreno de mi futura casa con el plugin de protecciones',
  37. c: 'Puedo modificar la casa de alguien si es amigo mio',
  38. d: 'Todas estan mal y esto es una pregunta trampa, mequetrefe'
  39. },
  40. CorrectOption: 1
  41. },
  42. {
  43. pregunta:'Puedo spawnear al Wither:',
  44. Options:{
  45. a:'En el mundo normal',
  46. b:'En el Nether',
  47. c:'Dentro de mis construcciones',
  48. d:'En la cantera'
  49. },
  50. CorrectOption: 4
  51. },
  52. {
  53. pregunta:'Elije la opcion mas correcta:',
  54. Options:{
  55. a:'Debo talar los arboles completamente y al recoger recursos debo evitar modificar el terreno drasticamente',
  56. b:'No hace falta talar los arboles completamente ya que desaparecen solos y al recoger recursos debo evitar modificar el terreno drasticamente',
  57. c:'Debo talar los arboles completamente y puedo recoger recursos sin consideracion por la integridad del paisaje',
  58. d:'Debo talar los arboles completamente y al recoger recursos debo evitar modificar el terreno drasticamente en la cantera'
  59. },
  60. CorrectOption: 1
  61. },
  62. {
  63. pregunta:'Quiero construir algo, pero cerca hay otra construccion:',
  64. Options:{
  65. a:'Puedo construir ahi sí parece que no voy a molestar',
  66. b:'Puedo construir ahi sin problemas, pues hay sitio libre',
  67. c:'A menos que tenga permiso para construir ahi, debo alejarme lo suficiente',
  68. d:'No puedo construir ahi'
  69. },
  70. CorrectOption: 3
  71. },
  72. {
  73. pregunta:'El Nether tiene las mismas normas que el mapa normal:',
  74. Options:{
  75. a:'Verdadero',
  76. b:'Falso',
  77. c:'Verdadero pero puedes atacar a otros usuarios',
  78. d:'Verdadero pero puedes alterar drasticamente el paisaje para obtener recursos'
  79. },
  80. CorrectOption: 1
  81. },
  82. {
  83. pregunta:'El Staff tiene el nombre de color:',
  84. Options:{
  85. a:'Azul claro',
  86. b:'Morado',
  87. c:'Gris',
  88. d:'Rojo'
  89. },
  90. CorrectOption: 2
  91. },
  92. {
  93. pregunta:'Necesito ayuda de un miembro del Staff. Debo:',
  94. Options:{
  95. a:'Construir un pixel art gigante en el que se lea la palabra HELP',
  96. b:'Contactarle por el chat o cualquier otro medio',
  97. c:'Escribir un ticket de soporte, a no ser que sea una situacion urgente o una pregunta rapida',
  98. d:'Escribir un ticket de soporte a no ser que se trate de un caso de grifeo'
  99. },
  100. CorrectOption: 3
  101. }
  102. ];
  103.  
  104. var utils = require('utils');
  105. var slash = require('slash');
  106.  
  107. var bannedusers = [],
  108. esperando = false,
  109. currentplayer = [],
  110. current = {};
  111.  
  112. function newTest(nombre){
  113. this.nombre = nombre;
  114. this.lastmsg;
  115. this.preguntaActual = 0;
  116. this.fails = 0;
  117. }
  118.  
  119. exports.starterExam = function(player) {
  120. //Get current time;
  121. var currentDate = new Date(),
  122. canDoTheTest = true;
  123.  
  124. //Comprobamos que el usuario no esta en la lista de baneados.
  125. for (var i = bannedusers.length-1; 0 <= i;i--){
  126. if(bannedusers[i].playername == player){
  127. if(bannedusers[i].until > currentDate){
  128. canDoTheTest = false;
  129. }
  130. };
  131. }
  132.  
  133. //Si no esta baneado devolvemos datos.
  134. current[player] = new newTest(player);
  135. return theTest(canDoTheTest,current[player])
  136.  
  137. }
  138.  
  139. var theTest = function(canDoTheTest,player){
  140. //Si puedes hacer el test procedemos a hacerlo
  141. if (canDoTheTest){
  142. echo( utils.player(player.nombre) ,'Hola ' +player.nombre + ' has iniciado el test para convertirte en usuario del servidor');
  143. echo( utils.player(player.nombre) ,'-----------------');
  144.  
  145. currentplayer.push({nombre: player.nombre, esperando: false});
  146. pregunta(player);
  147.  
  148. } else {
  149. echo( utils.player(player.nombre) ,'Aun no puedes hacer el test, tienes que esperar 24h desde el ultimo test para poder repetirlo');
  150. server.dispatchCommand(server.getConsoleSender(),'questadmin abandonar '+player.nombre + ' Nerale');
  151. server.dispatchCommand(server.getConsoleSender(),'questsadmin forzar '+player.nombre + ' Nerale')
  152. };
  153. };
  154.  
  155. var pregunta = function (player){
  156. var length = questions.length;
  157. if (player.preguntaActual < length){
  158. echo( utils.player(player.nombre) ,'-----------------');
  159. echo( utils.player(player.nombre) ,questions[player.preguntaActual].pregunta);
  160. echo( utils.player(player.nombre) ,'\n');
  161. echo( utils.player(player.nombre) ,'1: ' + questions[player.preguntaActual].Options.a);
  162. echo( utils.player(player.nombre) ,'\n');
  163. echo( utils.player(player.nombre) ,'2: ' + questions[player.preguntaActual].Options.b);
  164. echo( utils.player(player.nombre) ,'\n');
  165. echo( utils.player(player.nombre) ,'3: ' + questions[player.preguntaActual].Options.c);
  166. echo( utils.player(player.nombre) ,'\n');
  167. echo( utils.player(player.nombre) ,'4: ' + questions[player.preguntaActual].Options.d);
  168. setTimeout(function(){esperando = true;},300);
  169. }else{
  170. hasApproved(player);
  171. }
  172. };
  173.  
  174. events.playerChat( function( event ){
  175. for(var esto = currentplayer.length; esto > 0; esto-- ){
  176. if (currentplayer[esto] == event.player.name){
  177. if (currentplayer[esto].esperando) {
  178. var temp = event.message;
  179.  
  180. current[currentplayer].lastmsg = temp;
  181. updatechat(current[currentplayer].lastmsg, current[currentplayer]);
  182. currentplayer[esto].esperando = false;
  183. event.setCancelled(true);
  184. }
  185. }
  186. }
  187.  
  188. });
  189.  
  190. var updatechat = function (lastmsg, player){
  191. if(questions[player.preguntaActual].CorrectOption == lastmsg[3]){
  192. }else {
  193. player.fails++;
  194. }
  195. player.preguntaActual++;
  196. pregunta(player);
  197. }
  198.  
  199. var hasApproved = function (player) {
  200.  
  201. if (player.fails > 1) {
  202. var myDate = new Date();
  203. myDate.setHours(myDate.getHours() + 24);
  204. bannedusers.push({
  205. playername: player.nombre,
  206. until: myDate
  207. });
  208. echo( utils.player(player.nombre) ,'Fallaste el test! Podras repetirlo en 24h');
  209. server.dispatchCommand(server.getConsoleSender(),'questsadmin forzar '+player.nombre + ' Nerale');
  210.  
  211. } else {
  212. echo( utils.player(player.nombre) ,'Pasaste el test!');
  213. server.dispatchCommand(server.getConsoleSender(),'pex promote '+player.nombre);
  214. }
  215. delete player;
  216. for(var esto = currentplayer.length; esto > 0; esto-- ){
  217. if(currentplayer[esto].nombre == player.nombre){
  218. currentplayer.splice(esto,1);
  219. }
  220. }
  221. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement