Advertisement
Guest User

KubeJS script time limit daily

a guest
Aug 16th, 2022
1,275
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var timeLimit = 16200.0; // 4.5h
  2.  
  3. onEvent("player.tick", event => {
  4.  
  5.     if ((event.level.time % 20) == 0) {
  6.         const currentDate = new Date().toDateString(); // ex: 'Mon Aug 15 2022'        
  7.         const player = event.player;
  8.  
  9.         if (player.persistentData.playedTime === undefined
  10.             || player.persistentData.playedTime == null
  11.             || isNaN(player.persistentData.playedTime)
  12.             || player.persistentData.date != currentDate) {
  13.             console.info(`Reseteado tiempo para: ${player.name} `)
  14.             player.persistentData.playedTime = 0;
  15.         }
  16.  
  17.         if (player.persistentData.playedTime >= timeLimit) {
  18.             console.log("El jugador " + player.name + " ha superado el tiempo limite");
  19.             console.info("El jugador " + player.name + " ha superado el tiempo limite");
  20.             player.kick("Has superado las 4.5 horas, a descansar");
  21.         }
  22.  
  23.         player.persistentData.date = currentDate;
  24.         player.persistentData.playedTime += 1;
  25.     }
  26. });
  27.  
  28. function onRtpExecute(ctx) {
  29.     const player = ctx.source.getPlayerOrException().asKJS();
  30.     console.log(`Player: ${player.name}, Tiempo jugado hoy: ${(player.persistentData.playedTime / 3600.0).toFixed(2)} horas`);
  31.     player.tell(`Tiempo jugado hoy: ${(player.persistentData.playedTime / 3600.0).toFixed(2)} horas`);
  32.     return 1;
  33. }
  34.  
  35. function commandRegistry(ev) {
  36.     const { commands: Commands } = ev;
  37.  
  38.     ev.register(Commands.literal("tiempo").executes(onRtpExecute));
  39. }
  40.  
  41. onEvent("command.registry", commandRegistry);
  42.  
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement