MPP Note Quota Hack

Sets MPP.noteQuota.points to 1000 or 10000 repeatedly.

  1. // ==UserScript==
  2. // @name MPP Note Quota Hack
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.6
  5. // @description Sets MPP.noteQuota.points to 1000 or 10000 repeatedly.
  6. // @author Electropiano
  7. // @match *://multiplayerpiano.net/*
  8. // @match *://multiplayerpiano.org/*
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. let started = false; // Флаг, чтобы отслеживать, была ли получена команда /start
  17. let intervalId; // ID интервала для повторной установки
  18.  
  19. function setPoints() {
  20. if (typeof MPP !== 'undefined' && MPP && MPP.noteQuota) {
  21. MPP.noteQuota.points = 10000; // 1000 квот если для обычной, 10000 если для блек миди
  22. } else {
  23. console.log("MPP.noteQuota еще не определен, установка отложена.");
  24. // Опционально: Можно повторить попытку позже с setTimeout, если это необходимо
  25. }
  26. }
  27.  
  28. function startRepeating() {
  29. if (!intervalId) { // Проверяем, не запущен ли уже интервал
  30. intervalId = setInterval(setPoints, 100); // Запускаем повторную установку каждые 100 мс
  31. console.log("Повторная установка MPP.noteQuota.points запущена.");
  32. } else {
  33. console.log("Повторная установка MPP.noteQuota.points уже запущена.");
  34. }
  35. }
  36.  
  37. function handleMessage(msg) {
  38. let cmd = msg.a;
  39. if (cmd === '/start' && !started) {
  40. started = true; // Устанавливаем флаг, чтобы больше не запускать этот блок
  41. console.log("Получена команда /start. Запуск повторной установки MPP.noteQuota.points.");
  42. startRepeating(); // Запускаем повторную установку
  43. } else if (cmd === '/start' && started) {
  44. console.log("Команда /start уже была обработана. Повторный запуск не требуется.");
  45. }
  46. }
  47.  
  48. // Ожидание инициализации MPP
  49. let mppCheckInterval = setInterval(function() {
  50. if (typeof MPP !== 'undefined' && MPP && MPP.client) {
  51. clearInterval(mppCheckInterval); // Останавливаем интервал проверки
  52.  
  53. MPP.client.on('a', function(msg) {
  54. handleMessage(msg);
  55. });
  56.  
  57. console.log("MPP.client.on('a') listener установлен.");
  58.  
  59. } else {
  60. console.log("Ожидание инициализации MPP...");
  61. }
  62. }, 100);
  63.  
  64. })();