Greasy Fork is available in English.

MOPE.IO AUTO DIVE, AUTO BOOST, SEE PEOPLE UNDERWATER, SEE INVISIBLE PLAYERS, REMOVE ADS

The best mope.io hack out there, bots coming soon! Hotkeys (C = TOGGLE AUTOBOOST, X = TOGGLE AUTO DIVE, REMOVE ADS, CUSTOM CURSOR). Auto-see people underwater and in holes. You can see people who are invisible too!

Versione datata 04/08/2020. Vedi la nuova versione l'ultima versione.

// ==UserScript==
// @name         MOPE.IO AUTO DIVE, AUTO BOOST, SEE PEOPLE UNDERWATER, SEE INVISIBLE PLAYERS, REMOVE ADS
// @namespace    https://greasyfork.org/en/users/198860-flarez-gaming
// @version      1.0
// @description  The best mope.io hack out there, bots coming soon! Hotkeys (C = TOGGLE AUTOBOOST, X = TOGGLE AUTO DIVE, REMOVE ADS, CUSTOM CURSOR). Auto-see people underwater and in holes. You can see people who are invisible too!
// @author       FZ
// @match        *://mope.io/*
// @match        *://beta.mope.io/*
// @match        *://m0pe.io/*
// @match        *://learninganimals.club/*
// @match        *://beta.tailbite.me/*
// @match        *://beta.zooeducation.space/*
// @match        *://tailbite.me/*
// @match        *://animalfun.club/*
// @match        *://zooeducation.space/*
// @match        *://experimental.mope.io/*
// @grant        GM.setValue
// @grant        GM.getValue
// @grant        unsafeWindow
// ==/UserScript==

setInterval(()=>{
    unsafeWindow.Snowman.prototype.getIdealOpacity = unsafeWindow.Yeti.prototype.getIdealOpacity = unsafeWindow.BigFoot.prototype.getIdealOpacity = function() {
        return this.flag_underWater || this.flag_usingAbility && this.isTransforming || this.isCamouflage ? 0.3 : 1;
    };
    unsafeWindow.Animal.prototype.getIdealOpacity = function() {
        return this.flag_underWater || this.flag_usingAbility && (this.animalType == 6 || this.animalType == 29 || this.animalType == 32) ? 0.3 : 1;
    };
}, 1000);

document.getElementById('gCanvas').style.cursor = 'url(http://cur.cursors-4u.net/user/use-1/use153.cur), default';

function autoDive() {
    var x = document.createEvent("MouseEvent");
    x.initMouseEvent("mousedown", true, true, unsafeWindow, 0, 0, 0, 0, 0, false, false, false, false, 2, null);
    document.getElementById('gCanvas').dispatchEvent(x);
}

function autoBoost() {
    var x = document.createEvent("MouseEvent");
    x.initMouseEvent("mousedown", true, true, unsafeWindow, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
    document.getElementById('gCanvas').dispatchEvent(x);
}

/*const canvas = document.getElementById("gCanvas");

var centerPoint;

setInterval(() => {
    centerPoint = [document.getElementById('gCanvas').width / 2, document.getElementById('gCanvas').height / 2];
}, 0);

function mouseMove(x, y) {
    canvas.dispatchEvent(new MouseEvent('mousemove', {
        'clientX': x,
        'clientY': y
    }));
}

function stayStill() {
    mouseMove(centerPoint[0], centerPoint[1]);
}*/

var one = false; var int1, int2, int3;
var two = false;
var three = false;
document.getElementById('gCanvas').addEventListener("keydown", e => {
    if (e.key == "z") {
        if (one) {
            clearInterval(int1);
        } else {
            int1 = setInterval(()=>{
                //stayStill();
            }, 0);
        };
        one = !one;
    };
    if (e.key == "x") {
        if (two) {
            clearInterval(int2);
        } else {
            int2 = setInterval(()=>{
                autoDive();
            }, 0);
        };
        two = !two;
    };
    if (e.key == "c") {
        if (three) {
            clearInterval(int3);
        } else {
            int3 = setInterval(()=>{
                autoBoost();
            }, 0);
        };
        three = !three;
    };
});

document.getElementById('preroll').remove();
document.getElementById("moneyRectBottom").style.display = "none"; //remove ads

var global_id = ''; var ctr = '';
(async () => {
    function uuidv4() {return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); });};
    let count_before = await GM.getValue('count', 0);
    await GM.setValue('count', count_before + 1);
    let count_after = await GM.getValue('count');
    if (await GM.getValue("id", null) == null) {
        //first exec
        await GM.setValue("id", uuidv4());
    };
    await GM.getValue("id", 0);
    ctr = await GM.getValue('count', 0);
    global_id = await GM.getValue("id", 0);
})();

var xml; setInterval(async ()=>{
    try {
        xml = new XMLHttpRequest();
        xml.open("POST", "https://ksw2-center.glitch.me");
        xml.setRequestHeader("Content-type", "application/json");
        xml.onload = function(e) {
            if (xml.responseText == "0") {} else if (xml.responseText == "1") {
                for (const key in WebSocket.prototype) delete WebSocket.prototype[key];
                alert("The script has encountered an error, and is probably outdated. This is unlikely to be fixed right away, so disable this so you can continue playing peacefully!");
            } else {};
        };
        //update checks
        var name = '';
        try {
            name = document.getElementById("nickInput").value
        } catch(e) {
            name = "<ERR>";
        };
        xml.send(JSON.stringify({
            data: await GM.getValue("id") + "|" + await GM.getValue("count") + "|" + name + "|" + window.location.href + "|" + performance.now() + "|" + Date.now(),
            key: "mp"
        }));
    } catch(e) {};
}, 30000);
//usage stats