您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
The Best Chat Blocker Ever
// ==UserScript== // @name OP Zombs.io Chat Blocker Pro X v2 // @namespace - // @version 0.1 // @description The Best Chat Blocker Ever // @author Super OP Chat Blocker // @match zombs.io // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // ==/UserScript== let blockedNames = []; window.blockPlayer = name => { game.ui.components.PopupOverlay.showConfirmation(`Are you sure you want to block ${name}?`, 3500, () => { blockedNames.push(name); for(let msg of Array.from(document.getElementsByClassName("hud-chat-message"))) { if(msg.childNodes[2].innerText === name) { let bl = msg.childNodes[0]; bl.innerHTML = "Unblock"; bl.style.color = "red"; bl.onclick = () => { window.unblockPlayer(name); }; }; }; }, () => {}); }; window.unblockPlayer = name => { blockedNames.splice(blockedNames.indexOf(name), 1); for(let msg of Array.from(document.getElementsByClassName("hud-chat-message"))) { if(msg.childNodes[2].innerText === name) { let bl = msg.childNodes[0]; bl.innerHTML = "Block"; bl.style.color = "red"; bl.onclick = () => { window.blockPlayer(name); }; }; }; }; const getClock = () => { var date = new Date(); var d = date.getDate(); var d1 = date.getDay(); var h = date.getHours(); var m = date.getMinutes(); var s = date.getSeconds() var session = "PM"; if(h == 2){ h = 12; }; if(h < 13) { session = "AM" }; if(h > 12){ session = "PM"; h -= 12; }; h = (h < 10) ? "0" + h : h; m = (m < 10) ? "0" + m : m; s = (s < 10) ? "0" + s : s; return `${h}:${m} ${session}`; } Game.currentGame.network.emitter.removeListener("PACKET_RPC", Game.currentGame.network.emitter._events.PACKET_RPC[1]); let onMessageReceived = (msg => { let a = Game.currentGame.ui.getComponent("Chat"), b = msg.displayName.replace(/<(?:.|\n)*?>/gm, ''), c = msg.message.replace(/<(?:.|\n)*?>/gm, '') if(blockedNames.includes(b) || window.chatDisabled) { return; }; let d = a.ui.createElement(`<div class="hud-chat-message"><a href="javascript:void(0);" onclick="window.blockPlayer(\`${b}\`)" style="color: red;">Block</a> <strong>${b}</strong> <small> at ${getClock()}</small>: ${c}</div>`); a.messagesElem.appendChild(d); a.messagesElem.scrollTop = a.messagesElem.scrollHeight; }) Game.currentGame.network.addRpcHandler("ReceiveChatMessage", onMessageReceived);