// ==UserScript==
// @name Public Crabby Script
// @namespace LIGMABALLS
// @match http://bloble.io/
// @grant none
// @version 1.0
// @author Crabby
// @description 10/13/2021, 6:09:45 PM
// ==/UserScript==
let shiftKey = false;
// making this a function so i can close it in my ide
(function gui() {
const crabbyScriptGui = document.createElement("div");
const buttonAddGens = document.createElement("button");
const buttonAddMicroGens = document.createElement("button");
const buttonSellGens = document.createElement("button");
const buttonGetHouses = document.createElement("button");
const buttonInfo = document.createElement("button");
crabbyScriptGui.style.position = "absolute";
crabbyScriptGui.style.left = "40px";
crabbyScriptGui.style.top = "40%";
crabbyScriptGui.style.width = "270px";
crabbyScriptGui.style.height = "260px";
crabbyScriptGui.style.background = "linear-gradient(#4330ff88, #53507f88)";
crabbyScriptGui.style.border = "5px solid #5350ff";
crabbyScriptGui.style["border-radius"] = "5px";
crabbyScriptGui.style["box-shadow"] = "10px 6px 10px #0000007f";
buttonAddGens.style.position = "relative";
buttonAddGens.style.left = "5px";
buttonAddGens.style.top = "5px";
buttonAddGens.style.width = "80px";
buttonAddGens.style.height = "30px";
buttonAddGens.style.background = "linear-gradient(to bottom right, #53507f, #5350ff)";
buttonAddGens.style.color = "#aaa";
buttonAddGens.style["font-family"] = "Ubuntu";
buttonAddGens.style["font-size"] = "13px";
buttonAddGens.style["border-radius"] = "5px";
buttonAddGens.innerText = "Get power";
buttonAddGens.addEventListener("click", placeGenerators);
buttonAddMicroGens.style.position = "relative";
buttonAddMicroGens.style.left = "10px";
buttonAddMicroGens.style.top = "5px";
buttonAddMicroGens.style.width = "85px";
buttonAddMicroGens.style.height = "30px";
buttonAddMicroGens.style.background = "linear-gradient(to bottom right, #53507f, #5350ff)";
buttonAddMicroGens.style.color = "#aaa";
buttonAddMicroGens.style["font-family"] = "Ubuntu";
buttonAddMicroGens.style["font-size"] = "13px";
buttonAddMicroGens.style["border-radius"] = "5px";
buttonAddMicroGens.innerText = "Micro gens";
buttonAddMicroGens.addEventListener("click", placeMicroGens);
buttonSellGens.style.position = "relative";
buttonSellGens.style.left = "15px";
buttonSellGens.style.top = "5px";
buttonSellGens.style.width = "85px";
buttonSellGens.style.height = "30px";
buttonSellGens.style.background = "linear-gradient(to bottom right, #53507f, #5350ff)";
buttonSellGens.style.color = "#aaa";
buttonSellGens.style["font-family"] = "Ubuntu";
buttonSellGens.style["font-size"] = "13px";
buttonSellGens.style["border-radius"] = "5px";
buttonSellGens.innerText = "Sell gens";
buttonSellGens.addEventListener("click", sellGenerators);
buttonGetHouses.style.position = "relative";
buttonGetHouses.style.left = "5px";
buttonGetHouses.style.top = "10px";
buttonGetHouses.style.width = "85px";
buttonGetHouses.style.height = "30px";
buttonGetHouses.style.background = "linear-gradient(to bottom right, #53507f, #5350ff)";
buttonGetHouses.style.color = "#aaa";
buttonGetHouses.style["font-family"] = "Ubuntu";
buttonGetHouses.style["font-size"] = "13px";
buttonGetHouses.style["border-radius"] = "5px";
buttonGetHouses.innerText = "Add houses";
buttonGetHouses.addEventListener("click", placeHouses);
buttonInfo.style.position = "relative";
buttonInfo.style.left = "5px";
buttonInfo.style.top = "195px";
buttonInfo.style.width = "85px";
buttonInfo.style.height = "30px";
buttonInfo.style.background = "linear-gradient(to bottom right, #53507f, #5350ff)";
buttonInfo.style.color = "#aaa";
buttonInfo.style["font-family"] = "Ubuntu";
buttonInfo.style["font-size"] = "13px";
buttonInfo.style["border-radius"] = "5px";
buttonInfo.innerText = "info";
buttonInfo.addEventListener("click", alertInfo);
crabbyScriptGui.appendChild(buttonAddGens);
crabbyScriptGui.appendChild(buttonAddMicroGens);
crabbyScriptGui.appendChild(buttonSellGens);
crabbyScriptGui.appendChild(buttonGetHouses);
crabbyScriptGui.appendChild(buttonInfo);
document.body.appendChild(crabbyScriptGui);
})();
function placeGenerators() {
socket.emit("1", 4.73, 245, 3);
socket.emit("1", 5.0025, 245, 3);
socket.emit("1", 5.275, 245, 3);
socket.emit("1", 5.5475, 245, 3);
socket.emit("1", 5.82, 245, 3);
socket.emit("1", 6.0925, 245, 3);
socket.emit("1", 6.365, 245, 3);
socket.emit("1", 6.6375, 245, 3);
socket.emit("1", 6.91, 245, 3);
socket.emit("1", 7.1825, 245, 3);
socket.emit("1", 7.455, 245, 3);
socket.emit("1", 7.7275, 245, 3);
socket.emit("1", 8.0025, 245, 3);
socket.emit("1", 8.275, 245, 3);
socket.emit("1", 8.5475, 245, 3);
socket.emit("1", 8.82, 245, 3);
socket.emit("1", 9.0925, 245, 3);
socket.emit("1", 9.3675, 245, 3);
socket.emit("1", 9.64, 245, 3);
socket.emit("1", 9.9125, 245, 3);
socket.emit("1", 10.1875, 245, 3);
socket.emit("1", 10.4625, 245, 3);
socket.emit("1", 10.7375, 245, 3);
socket.emit("1", 4.5889, 186.5, 3);
socket.emit("1", 5.085, 180.5, 3);
socket.emit("1", 5.64, 180, 3);
socket.emit("1", 5.999, 180, 3);
socket.emit("1", 6.51, 185, 3);
socket.emit("1", 7.05, 185, 3);
socket.emit("1", 7.6, 185, 3);
socket.emit("1", 8.15, 185, 3);
socket.emit("1", 8.675, 185, 3);
socket.emit("1", 9.225, 185, 3);
socket.emit("1", 9.78, 185, 3);
socket.emit("1", 10.325, 185, 3);
socket.emit("1", 4.81, 130, 3);
socket.emit("1", 5.36, 130, 3);
socket.emit("1", 6.275, 130, 3);
socket.emit("1", 6.775, 130, 3);
socket.emit("1", 7.3, 130, 3);
socket.emit("1", 7.85, 130, 3);
socket.emit("1", 8.4, 130, 3);
socket.emit("1", 8.925, 130, 3);
socket.emit("1", 9.5, 130, 3);
socket.emit("1", 10.05, 130, 3);
socket.emit("1", 10.6, 130, 3);
units.forEach(unit => {
if (unit.owner === player.sid && unit.uPath[0] === 3 && unit.uPath[1] == null) {
socket.emit("4", unit.id, 0);
}
})
}
function placeMicroGens() {
for (let i = 0; i < Math.PI * 2; i += 0.2) {
socket.emit("1", i, 306, 1);
}
units.forEach(unit => {
if (unit.owner === player.sid && unit.uPath[0] === 1 && unit.uPath[1] == null) {
socket.emit("4", unit.id, 1);
}
})
}
function sellGenerators() {
const yourGens = [];
units.forEach(unit => {
if (unit.owner === player.sid && unit.uPath[0] === 3) {
yourGens.push(unit);
}
})
socket.emit("3", yourGens.map(v => v.id));
}
function placeHouses() {
socket.emit("1", 4.725, 130, 7);
socket.emit("1", 5.245, 130, 4);
socket.emit("1", 5.715, 130, 4);
socket.emit("1", 6.185, 130, 4);
socket.emit("1", 6.655, 130, 4);
socket.emit("1", 7.13, 130, 4);
socket.emit("1", 7.6, 130, 4);
socket.emit("1", 1.85, 130, 4);
socket.emit("1", 2.32, 130, 4);
socket.emit("1", 2.79, 130, 4);
socket.emit("1", 3.265, 130, 4);
socket.emit("1", 3.735, 130, 4);
socket.emit("1", 4.205, 130, 4);
socket.emit("1", 5.06, 185, 4);
socket.emit("1", 5.4, 185, 4);
socket.emit("1", 5.725, 190, 4);
socket.emit("1", 6.045, 186, 4);
socket.emit("1", 6.374, 185, 4);
socket.emit("1", 6.7215, 189.5, 4);
socket.emit("1", 7.0425, 188.5, 4);
socket.emit("1", 7.365, 185, 4);
socket.emit("1", 7.712, 187.45, 4);
socket.emit("1", 8.035, 188.5, 4);
socket.emit("1", 8.36, 185, 4);
socket.emit("1", 2.425, 188, 4);
socket.emit("1", 2.75, 190, 4);
socket.emit("1", 3.075, 184, 4);
socket.emit("1", 3.42, 186, 4);
socket.emit("1", 3.74, 190, 4);
socket.emit("1", 4.06, 186, 4);
socket.emit("1", 4.39, 185, 4);
socket.emit("1", 4.8625, 245, 4);
socket.emit("1", 5.1125, 245, 4);
socket.emit("1", 5.3625, 245, 4);
socket.emit("1", 5.6125, 245, 4);
socket.emit("1", 5.8625, 245, 4);
socket.emit("1", 6.1125, 245, 4);
socket.emit("1", 6.3625, 245, 4);
socket.emit("1", 6.6125, 245, 4);
socket.emit("1", 6.8625, 245, 4);
socket.emit("1", 7.14, 245, 4);
socket.emit("1", 7.39, 245, 4);
socket.emit("1", 7.64, 246, 4);
socket.emit("1", 7.89, 246, 4);
socket.emit("1", 8.14, 246, 4);
socket.emit("1", 8.39, 246, 4);
socket.emit("1", 8.635, 246, 4);
socket.emit("1", 8.885, 246, 4);
socket.emit("1", 2.5825, 245, 4);
socket.emit("1", 2.8625, 245, 4);
socket.emit("1", 3.1125, 245, 4);
socket.emit("1", 3.3625, 245, 4);
socket.emit("1", 3.6125, 245, 4);
socket.emit("1", 3.8625, 245, 4);
socket.emit("1", 4.1125, 245, 4);
socket.emit("1", 4.3625, 245, 4);
socket.emit("1", 4.6125, 245, 4);
}
function alertInfo() {
alert(`
info:
- hold shift for troop join
`);
}
function onReady() {
backgroundColor = "#444";
outerColor = "#373737";
socket._emit = socket.emit;
socket.emit = (...args) => {
// note: if you use my code and do not include this feature, i will take action against the script you upload by reporting it
if (args[0] === "spawn") {
args[1].name = "CS " + args[1].name;
setTimeout(() => socket._emit("ch", "I am using Public Crabby Script"), 1000);
}
if (args[0] === "5") {
args[4] = shiftKey ? 0 : args[3];
}
socket._emit(...args);
}
}
document.addEventListener("keydown", ({ code}) => {
if (code === "ShiftLeft") shiftKey = true;
});
document.addEventListener("keyup", ({ code}) => {
if (code === "ShiftLeft") shiftKey = false;
});
const waitUntilReadyInterval = setInterval(() => {
if (socket) {
clearInterval(waitUntilReadyInterval);
onReady();
}
}, 100);