MooMoo.io Legit Macros

MOOMOO.IO WORKING MACROS, TRAP => F || Spike => V || Food => Q || WINDMILLS => N

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==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://greatest.deepsurf.us/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 :/")
    })();
}