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();
}
});