您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A fragment of code from NoobScript V3 - The instant player find feature. Click on a name on the leaderboard or click on a name in the chat to instantly find them. Use the < and > keys to navigate as well.
// ==UserScript== // @name Bloble.io NoobScript V3 InstaFind Fragment // @namespace http://tampermonkey.net/ // @version 1.2 // @description A fragment of code from NoobScript V3 - The instant player find feature. Click on a name on the leaderboard or click on a name in the chat to instantly find them. Use the < and > keys to navigate as well. // @author NoobishHacker // @match http://bloble.io/* // @grant none // ==/UserScript== var gotoUsers = []; var gotoIndex = 0; window.overrideSocketEvents = window.overrideSocketEvents || []; window.chatCommands = window.chatCommands || {}; window.chatCommands.find = function(split) { var name = split.slice(1).join(' '); if (name == '') { addChat('Please specify a username', 'Client') return; } window.goto(name) } window.overrideSocketEvents.push({ name: "l", description: "Leaderboard Insta Find override", func: function(a) { var d = "", c = 1, b = 0; for (; b < a.length;) { d += "<div class='leaderboardItem' onclick=goto2(" + a[b] + ");><div style='display:inline-block;float:left;' class='whiteText'>" + c + ".</div> <div class='" + (player && a[b] == player.sid ? "leaderYou" : "leader") + "'>" + a[b + 1] + "</div><div class='scoreText'>" + a[b + 2] + "</div></div>", c++, b += 3; } leaderboardList.innerHTML = d; } }) leaderboardList.style.pointerEvents = 'auto'; chatListWrapper.style.pointerEvents = 'auto'; window.goto = function(username) { gotoUsers = users.filter((user) => { return user.name === username }); gotoIndex = 0; if (gotoUsers[0]) { camX = gotoUsers[0].x - player.x; camY = gotoUsers[0].y - player.y; } addChat(gotoUsers.length + ' users found with the name ' + username, 'Client'); return gotoUsers.length; } window.goto2 = function(id, go) { gotoUsers = users.filter((user) => { return user.sid === id; }); gotoIndex = 0; if (!go && gotoUsers[0]) { camX = gotoUsers[0].x - player.x; camY = gotoUsers[0].y - player.y; } return gotoUsers.length; } window.gotoLeft = function() { if (!gotoUsers.length) return; if (camX == gotoUsers[gotoIndex].x - player.x && camY == gotoUsers[gotoIndex].y - player.y) { if (gotoIndex <= 0) gotoIndex = gotoUsers.length; gotoIndex--; } camX = gotoUsers[gotoIndex].x - player.x; camY = gotoUsers[gotoIndex].y - player.y; } window.gotoRight = function() { if (!gotoUsers.length) return; if (camX == gotoUsers[gotoIndex].x - player.x && camY == gotoUsers[gotoIndex].y - player.y) { if (gotoIndex >= gotoUsers.length - 1) gotoIndex = -1; gotoIndex++; } camX = gotoUsers[gotoIndex].x - player.x; camY = gotoUsers[gotoIndex].y - player.y; } window.addChat = function(msg, from, color) { color = color || "#fff"; var b = document.createElement("li"); b.className = "chatother"; b.innerHTML = '<span style="color:' + color + '">[' + from + ']</span> <span class="chatText">' + msg + "</span>"; 10 < chatList.childNodes.length && chatList.removeChild(chatList.childNodes[0]); chatList.appendChild(b) } window.resetCamera = function() { // Override camX = camXS = camY = camYS = 0; cameraKeys = { l: 0, r: 0, u: 0, d: 0 } if (socket && window.overrideSocketEvents && window.overrideSocketEvents.length) { window.overrideSocketEvents.forEach((item) => { socket.removeAllListeners(item.name) socket.on(item.name, item.func); }); } } window.addChatLine = function(a, d, c) { if (player) { var b = getUserBySID(a); if (c || 0 <= b) { var g = c ? "SERVER" : users[b].name; c = c ? "#fff" : playerColors[users[b].color] ? playerColors[users[b].color] : playerColors[0]; player.sid == a && (c = "#fff"); b = document.createElement("li"); b.className = player.sid == a ? "chatme" : "chatother"; b.innerHTML = '<span style="color:' + c + '" onclick=goto2(' + a + ');>[' + g + ']</span> <span class="chatText">' + d + "</span>"; 10 < chatList.childNodes.length && chatList.removeChild(chatList.childNodes[0]); chatList.appendChild(b) } } } window.addEventListener("keyup", function(a) { a = a.keyCode ? a.keyCode : a.which; if (a === 190) { window.gotoRight() } else if (a === 188) { window.gotoLeft(); } });