Name Saver for Multiplayer Piano

Auto-Save & Set your nickname on Multiplayer Piano. No more 'Anonymous.'

安裝腳本?
作者推薦腳本

您可能也會喜歡 EpicOS (v1) - Rewritten

安裝腳本
  1. // ==UserScript==
  2. // @name Name Saver for Multiplayer Piano
  3. // @namespace https://github.com/slowstone72/MPP-name-saver
  4. // @version 1.2.0
  5. // @license Unlicense
  6. // @description Auto-Save & Set your nickname on Multiplayer Piano. No more 'Anonymous.'
  7. // @author Callum Fisher <cf.fisher.bham@gmail.com>
  8. // @match *://multiplayerpiano.com/*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. // 2025.01.04 - 2025.01.07
  13.  
  14. const startMPPNameSaver = () => {
  15. console.log('[Name Saver for Multiplayer Piano v1.2.0] Running.');
  16. const setName = () => {
  17. MPP.client.sendArray([{
  18. 'm': 'userset',
  19. 'set': {
  20. 'name': localStorage.nsNick
  21. }
  22. }]);
  23. if (!MPP.client.isConnected() || MPP.client.getOwnParticipant().name !== localStorage.nsNick) {
  24. setTimeout(setName, 5000);
  25. return;
  26. }
  27. }
  28. const checkName = () => {
  29. if (typeof localStorage.nsNick === 'undefined') localStorage.nsNick = MPP.client.getOwnParticipant().name;
  30. if (MPP.client.getOwnParticipant().name !== localStorage.nsNick) {
  31. setName();
  32. }
  33. }
  34. const saveName = () => {
  35. if (MPP.client.getOwnParticipant().name === localStorage.nsNick) return;
  36. localStorage.nsNick = MPP.client.getOwnParticipant().name;
  37. }
  38. if (MPP.client.isConnected()) checkName();
  39. MPP.client.on('hi', checkName);
  40. MPP.client.on('p', saveName);
  41. }
  42.  
  43. // Start:
  44.  
  45. if (!window.addEventListener) {
  46. window.attachEvent('onload', startMPPNameSaver);
  47. } else {
  48. window.addEventListener('load', startMPPNameSaver);
  49. }