您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Auto-Save & Set your nickname on Multiplayer Piano. No more 'Anonymous.'
// ==UserScript== // @name Name Saver for Multiplayer Piano // @namespace https://github.com/slowstone72/MPP-name-saver // @version 1.2.0 // @license Unlicense // @description Auto-Save & Set your nickname on Multiplayer Piano. No more 'Anonymous.' // @author Callum Fisher <[email protected]> // @match *://multiplayerpiano.com/* // @grant none // ==/UserScript== // 2025.01.04 - 2025.01.07 const startMPPNameSaver = () => { console.log('[Name Saver for Multiplayer Piano v1.2.0] Running.'); const setName = () => { MPP.client.sendArray([{ 'm': 'userset', 'set': { 'name': localStorage.nsNick } }]); if (!MPP.client.isConnected() || MPP.client.getOwnParticipant().name !== localStorage.nsNick) { setTimeout(setName, 5000); return; } } const checkName = () => { if (typeof localStorage.nsNick === 'undefined') localStorage.nsNick = MPP.client.getOwnParticipant().name; if (MPP.client.getOwnParticipant().name !== localStorage.nsNick) { setName(); } } const saveName = () => { if (MPP.client.getOwnParticipant().name === localStorage.nsNick) return; localStorage.nsNick = MPP.client.getOwnParticipant().name; } if (MPP.client.isConnected()) checkName(); MPP.client.on('hi', checkName); MPP.client.on('p', saveName); } // Start: if (!window.addEventListener) { window.attachEvent('onload', startMPPNameSaver); } else { window.addEventListener('load', startMPPNameSaver); }