// ==UserScript==
// @name Mope.io AutoDive, Auto Boost, Stay Still Hotkeys, REMOVE ADS, CUSTOM CURSOR (Works on proxy sites!)
// @namespace https://greasyfork.org/en/users/198860-flarez-gaming
// @version 0.1
// @description The best mope.io hack out there, bots coming soon! Hotkeys (C = TOGGLE AUTOBOOST, X = TOGGLE AUTO DIVE, REMOVE ADS, CUSTOM CURSOR)
// @author FZ
// @match *://mope.io/*
// @match *://m0pe.io/*
// @match *://learninganimals.club/*
// @grant GM.setValue
// @grant GM.getValue
// ==/UserScript==
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, window, 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, window, 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