// ==UserScript==
// @name MooMoo.io Legit Macros
// @version beta
// @description MOOMOO.IO WORKING MACROS, TRAP => F || Spike => V || Food => Q || WINDMILLS => N
// @author DETIX || discord => detixthegoat
// @match *://*.moomoo.io/*
// @require https://greasyfork.org/scripts/423602-msgpack/code/msgpack.js
// @namespace http://tampermonkey.net/
// ==/UserScript==
let author = {
name: "DETIX",
discord: "detixthegoat"
};
const { name, discord } = author;
if (name === "DETIX" && discord === "detixthegoat") {
var foodType = 0,
spikeType = 6,
millType = 10,
boostType = 15;
let pressedF,
pressedV,
pressedN,
pressedQ;
let cps = 25
let realCps = Math.round(1000 / cps);
var mouseX;
var mouseY;
var ws;
var width;
var height;
var msgpack5 = msgpack;
const place = (id, thisCps) => {
if(pressedV & pressedQ || pressedN & pressedQ || pressedF & pressedQ){
thisCps = cps
cps = thisCps / 2
doNewSend(["5", [id, null]]);
doNewSend(["c", [1]]);
doNewSend(["c", [0]]);
cps = thisCps
pressedQ = false
pressedV = false
pressedF = false
pressedN = false
} else {
doNewSend(["5", [id, null]]);
doNewSend(["c", [1]]);
doNewSend(["c", [0]]);
}
}
const isElementVisible = (e) => {
return (e.offsetParent !== null);
}
const doNewSend = (sender) => {
ws.send(new Uint8Array(Array.from(msgpack5.encode(sender))));
}
const repeater = (e, o, t) => {
var a = !1
, n = void 0;
return {
start(r) {
r == e && "chatbox" !== document.activeElement.id.toLowerCase() && (a = !0, void 0 === n && (n = setInterval(function() {
typeof (o) == "function" && (o())
a || (clearInterval(n), n = void 0)
}, t)))
}
, stop(o) {
o == e && "chatbox" !== document.activeElement.id.toLowerCase() && (a = !1)
}
}
};
var joinButton = document.querySelector('#enterGame');
document.getElementById("promoImgHolder").remove();
document.querySelector("#pre-content-container").remove();
$("#youtuberOf").remove();
$("#adCard").remove();
$("#mobileInstructions").remove();
$("#downloadButtonContainer").remove();
$("#mobileDownloadButtonContainer").remove();
$(".downloadBadge").remove()
function e(playerName) {
playerName = document.getElementById("nameInput").value;
$("#ot-sdk-btn-floating").hide();
doNewSend(["sp", [{
name: `${playerName}`,
moofoll: 1,
skin: "constructor"
}]]);
}
joinButton.addEventListener('click', function() {
e();
});
const spike = repeater(86, () => {
pressedV = true
place(spikeType)
}, realCps);
const food = repeater(81, () => {
pressedQ = true
place(foodType);
}, 78);
const boost = repeater(70, () => {
pressedF = true
place(boostType)
}, realCps);
const windmills = repeater(78, () => {
pressedN = true
place(millType)
}, realCps);
document.addEventListener('keydown', (e)=>{
windmills.start(e.keyCode);
food.start(e.keyCode);
spike.start(e.keyCode);
boost.start(e.keyCode);
})
document.addEventListener('keyup', (e) => {
windmills.stop(e.keyCode);
food.stop(e.keyCode);
spike.stop(e.keyCode);
boost.stop(e.keyCode);
});
function update() {
for(let i=16;i<19;i++){if(isElementVisible(document.getElementById("actionBarItem"+i.toString()))){foodType=i-16}}
for(let i=22;i<26;i++){if(isElementVisible(document.getElementById("actionBarItem"+i.toString()))){spikeType=i-16}}
for(let i=26;i<29;i++){if(isElementVisible(document.getElementById("actionBarItem"+i.toString()))){millType=i-16}}
for(let i=31;i<33;i++){if(isElementVisible(document.getElementById("actionBarItem"+i.toString()))){boostType=i-16}}
}
let myPlayer = {
id: null,
x: null,
y: null,
dir: null,
object: null,
weapon: null,
clan: null,
isLeader: null,
hat: null,
accessory: null,
isSkull: null
};
document.msgpack = msgpack;
function n(){
this.buffer = new Uint8Array([0]);
this.buffer.__proto__ = new Uint8Array;
this.type = 0;
}
WebSocket.prototype.oldSend = WebSocket.prototype.send;
WebSocket.prototype.send = function(m){
if (!ws){
document.ws = this;
ws = this;
socketFound(this);
}
this.oldSend(m);
};
function socketFound(socket){
socket.addEventListener('message', function(message){
handleMessage(message);
});
}
function handleMessage(m){
let temp = msgpack5.decode(new Uint8Array(m.data));
let data;
if(temp.length > 1) {
data = [temp[0], ...temp[1]];
if (data[1] instanceof Array){
data = data;
}
} else {
data = temp;
}
let item = data[0];
if(!data) {return};
if(item === "io-init") {
let cvs = document.getElementById("gameCanvas");
width = cvs.clientWidth;
height = cvs.clientHeight;
$(window).resize(function() {
width = cvs.clientWidth;
height = cvs.clientHeight;
});
cvs.addEventListener("mousemove", e => {
mouseX = e.clientX;
mouseY = e.clientY;
});
}
update();
}
} else {
(function(log, a){
log = console.log;
a = alert;
log(":D");
a("Script Made By DETIX :/")
})();
}