Public Crabby Script

10/13/2021, 6:09:45 PM

目前為 2021-10-14 提交的版本,檢視 最新版本

// ==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);