Skip to content

Instantly share code, notes, and snippets.

@c93614
Last active November 10, 2019 10:50
Show Gist options
  • Save c93614/b61a5cdefe7e4b30b023 to your computer and use it in GitHub Desktop.
Save c93614/b61a5cdefe7e4b30b023 to your computer and use it in GitHub Desktop.
curl to create paste on pastebe.com
echo "hello world" | curl -s -F 'api_dev_key=f058f68ae36897f3f15fcccba445d551' -F 'api_option=paste' -F 'api_paste_code=<-' http://pastebin.com/api/api_post.php
# https://clbin.com/
@BEXTIYAR023
Copy link

// ==UserScript==
// @name FightMod
// @namespace -
// @Version 1.0
// @description FightMod | ;Auto Heal (apple,chees,cook);Insta Kill(Soldier Insta Kill (240Speed));prees q-4X Auto Heal For 1 sec!; Prees M Hats,wing restart ;click - place spike , Useing Bull H. , turet g. ;Prees O - 5mill;h-2turret;p-4wall;i-4trap;n-1mill,v-1spike;f1trap,1boostpat;
// @author BEXTIYAR
// @match ://moomoo.io/
// @match ://sandbox.moomoo.io/
// @grant none
// @require https://greasyfork.org/scripts/368273-msgpack/code/msgpack.js?version=598723
// @downloadurl -
// ==/UserScript==

$("#consentBlock").css({display: "none"});
//$("#youtuberOf").css({display: "none"});
$("#mapDisplay").css({background: url('https://i.imgur.com/fgFsQJp.png')});

document.getElementById("moomooio_728x90_home").style.display = "none";
$("#moomooio_728x90_home").parent().css({display: "none"});

window.onbeforeunload = null;

let mouseX;
let mouseY;

let width;
let height;

setInterval(() => {
if(clanToggle == 1) {
doNewSend(["9", [null]]);
doNewSend(["8", [animate(false, 5)]])
}
doNewSend(["testing", [6]]);
}, 200);

setInterval(() => {
if(messageToggle == 1) {
doNewSend(["ch", [animate(true, 5)]])
}
}, 200);

setInterval(() => {
if(autoaim == true) {
doNewSend(["2", [nearestEnemyAngle]]);
}
}, 0);

setInterval(() => {
if(hatToggle == 1) {
if(oldHat != normalHat) {
hat(normalHat);
console.log("Tried. - Hat")
}
if(oldAcc != normalAcc) {
acc(normalAcc);
console.log("Tried. - Acc")
}
oldHat = normalHat;
oldAcc = normalAcc
}
}, 25);

function normal() {
hat(normalHat);
acc(normalAcc);
}

function aim(x, y){
var cvs = document.getElementById("gameCanvas");
cvs.dispatchEvent(new MouseEvent("mousemove", {
clientX: x,
clientY: y

 }));

}

let coreURL = new URL(window.location.href);
window.sessionStorage.force = coreURL.searchParams.get("fc");

var nearestEnemy;
var nearestEnemyAngle;
var isEnemyNear;
var instaSpeed = 230;
var primary;
var secondary;
var foodType;
var wallType;
var spikeType;
var millType;
var mineType;
var boostType;
var turretType;
var spawnpadType;
var autoaim = false;
var tick = 1;
var oldHat;
var oldAcc;
var enemiesNear;
var normalHat;
var normalAcc;
var ws;
var msgpack5 = msgpack;
var boostDir;
let myPlayer = {
id: null,
x: null,
y: null,
dir: null,
object: null,
weapon: null,
clan: null,
isLeader: null,
hat: null,
accessory: null,
isSkull: null
};

let healSpeed = 0;
var messageToggle = 0;
var clanToggle = 0;
let healToggle = 1;
let hatToggle = 1;

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;
        });
    }

if (item == "1" && myPlayer.id == null){
    myPlayer.id = data[1];
}

if (item == "33") {
    enemiesNear = [];
    for(let i = 0; i < data[1].length / 13; i++) {
        let playerInfo = data[1].slice(13*i, 13*i+13);
        if(playerInfo[0] == myPlayer.id) {
            myPlayer.x = playerInfo[1];
            myPlayer.y = playerInfo[2];
            myPlayer.dir = playerInfo[3];
            myPlayer.object = playerInfo[4];
            myPlayer.weapon = playerInfo[5];
            myPlayer.clan = playerInfo[7];
            myPlayer.isLeader = playerInfo[8];
            myPlayer.hat = playerInfo[9];
            myPlayer.accessory = playerInfo[10];
            myPlayer.isSkull = playerInfo[11];
        } else if(playerInfo[7] != myPlayer.clan || playerInfo[7] === null) {
            enemiesNear.push(playerInfo);
        }
    }
}

isEnemyNear = false;
if(enemiesNear) {
    nearestEnemy = enemiesNear.sort((a,b) => dist(a, myPlayer) - dist(b, myPlayer))[0];
}

if(nearestEnemy) {
    nearestEnemyAngle = Math.atan2(nearestEnemy[2]-myPlayer.y, nearestEnemy[1]-myPlayer.x);
    if(Math.sqrt(Math.pow((myPlayer.y-nearestEnemy[2]), 2) + Math.pow((myPlayer.x-nearestEnemy[1]), 2)) < 300) {
        isEnemyNear = true;
        if(autoaim == false && myPlayer.hat != 7 && myPlayer.hat != 53) {
            normalHat = 6;
            if(primary != 8) {
                normalAcc = 19
            }
        };
    }
}
if(isEnemyNear == false && autoaim == false) {
    normalAcc = 11;
    if (myPlayer.y < 2400){
        normalHat = 15;
    } else if (myPlayer.y > 6850 && myPlayer.y < 7550){
        normalHat = 31;
    } else {
        normalHat = 12;
    }
}
if (!nearestEnemy) {
    nearestEnemyAngle = myPlayer.dir;
}
if(item == "h" && data[1] == myPlayer.id) {
    if(data[2] < 100 && data[2] > 0 && healToggle == 1) {
        setTimeout( () => {
            place(foodType, null);
        }, healSpeed);

    }
}
update();

}

function doNewSend(sender){
ws.send(new Uint8Array(Array.from(msgpack5.encode(sender))));
}

function acc(id) {
doNewSend(["13c", [0, 0, 1]]);
doNewSend(["13c", [0, id, 1]]);
}

function hat(id) {
doNewSend(["13c", [0, id, 0]]);
}

function place(id, angle = Math.atan2(mouseY - height / 2, mouseX - width / 2)) {
doNewSend(["5", [id, null]]);
doNewSend(["c", [1, angle]]);
doNewSend(["c", [0, angle]]);
doNewSend(["5", [myPlayer.weapon, true]]);
}

function boostSpike() {
if(boostDir == null) {
boostDir = nearestEnemyAngle;
}
place(spikeType, boostDir + toRad(90));
place(spikeType, boostDir - toRad(90));
place(boostType, boostDir);
doNewSend(["33", [boostDir]]);
}

var repeater = function(key, action, interval) {
let _isKeyDown = false;
let _intervalId = undefined;

return {
    start(keycode) {
        if(keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') {
            _isKeyDown = true;
            if(_intervalId === undefined) {
                _intervalId = setInterval(() => {
                    action();
                    if(!_isKeyDown){
                        clearInterval(_intervalId);
                        _intervalId = undefined;
                        console.log("claered");
                    }
                }, interval);
            }
        }
    },

    stop(keycode) {
        if(keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') {
            _isKeyDown = false;
        }
    }
};

}

const healer = repeater(81, () => {place(foodType)}, 0);
const boostPlacer = repeater(70, () => {place(boostType)}, 0);
const spikePlacer = repeater(86, () => {place(spikeType)}, 0);
const millPlacer = repeater(78, () => {place(millType)}, 0);
const turretPlacer = repeater(72, () => {place(turretType)}, 0);
const boostSpiker = repeater(71, boostSpike, 0);

document.addEventListener('keydown', (e)=>{
spikePlacer.start(e.keyCode);
healer.start(e.keyCode);
boostPlacer.start(e.keyCode);
boostSpiker.start(e.keyCode);
millPlacer.start(e.keyCode);
turretPlacer.start(e.keyCode);

if (e.keyCode == 79 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    for (let i=0;i<5;i++){
         let angle = myPlayer.dir + toRad(i * 72);
         place(millType, angle)
    }
}
if (e.keyCode == 80 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    for (let i=0;i<4;i++){
         let angle = myPlayer.dir + toRad(i * 90);
         place(wallType, angle)
    }
}
if (e.keyCode == 73 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    for (let i=0;i<4;i++){
         let angle = myPlayer.dir + toRad(i * 90);
         place(boostType, angle)
    }
}
if (e.keyCode == 186 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    for (let i=0;i<4;i++){
         let angle = myPlayer.dir + toRad(i * 90);
         place(spikeType, angle)
    }
}
if (e.keyCode == 72 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    place(turretType, myPlayer.dir + toRad(45));
    place(turretType, myPlayer.dir - toRad(45));
}

if (e.keyCode == 77 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    if (myPlayer.y < 2400){
        hat(15);
    } else if (myPlayer.y > 6850 && myPlayer.y < 7550){
        hat(31);
    } else {
        hat(12);
    }
    acc(11);
}
if (e.keyCode == 85 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    hat(20);
}

if(e.keyCode == 82 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    autoaim = true;
    doNewSend(["5", [primary, true]]);
    doNewSend(["13c", [0, 7, 0]]);
    doNewSend(["13c", [0, 0, 1]]);
    doNewSend(["13c", [0, 19, 1]]);
    doNewSend(["c", [1]]);
    setTimeout( () => {
        doNewSend(["13c", [0, 53, 0]]);
        doNewSend(["5", [secondary, true]]);
    }, instaSpeed - 130);

    setTimeout( () => {
        doNewSend(["5", [primary, true]]);
        doNewSend(["c", [0, null]]);
        doNewSend(["13c", [0, 6, 0]]);
        autoaim = false;
    }, instaSpeed);
   }

if(e.keyCode == 32 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    autoaim = true;
    doNewSend(["5", [primary, true]]);
    doNewSend(["13c", [0, 7, 0]]);
    doNewSend(["13c", [0, 0, 1]]);
    doNewSend(["13c", [0, 19, 1]]);
    place(spikeType);
    doNewSend(["c", [1]]);

    setTimeout( () => {
        doNewSend(["13c", [0, 53, 0]]);
    }, 100);

    setTimeout( () => {
        doNewSend(["c", [0, null]]);
        doNewSend(["13c", [0, 6, 0]]);
        autoaim = false;
    }, 200);
}

if(e.keyCode == 38 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    messageToggle = (messageToggle + 1) % 2;
}

if(e.keyCode == 40 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    clanToggle = (clanToggle + 1) % 2;
}

if(e.keyCode == 38 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    messageToggle = (messageToggle + 1) % 2;
}

if(e.keyCode == 40 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    clanToggle = (clanToggle + 1) % 2;
}

if(e.keyCode == 106 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    healToggle = (healToggle + 1) % 2;
    if(healToggle == 0) {
        if(hatToggle == 0) {
            document.title = "Heal: OFF | Hat: OFF"
        } else {
            document.title = "Heal: OFF | Hat: ON"
        }
    } else {
        if(hatToggle == 0) {
            document.title = "Heal: ON | Hat: OFF"
        } else {
            document.title = "Heal: ON | Hat: ON"
        }
    }
}
if(e.keyCode == 76 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    autoaim = true;
    doNewSend(["5", [secondary, true]]);
    doNewSend(["13c", [0, 53, 0]]);
    doNewSend(["c", [1]]);

    setTimeout( () => {
        doNewSend(["6", [12]]);
    }, 300);

    setTimeout( () => {
        doNewSend(["6", [15]]);
    }, 300);

    setTimeout( () => {
        doNewSend(["c", [0]]);
        doNewSend(["13c", [0, 6, 0]]);
        doNewSend(["5", [primary, true]]);
        autoaim = false;
    }, 300);
}

if(e.keyCode == 97 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    doNewSend(["6", [4]]);
}

if(e.keyCode == 98 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    doNewSend(["6", [15]]);
}
if(e.keyCode == 99 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    doNewSend(["6", [28]]);
}
if(e.keyCode == 105 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    doNewSend(["6", [28]]);
    doNewSend(["6", [25]]);
}
if(e.keyCode == 111 && document.activeElement.id.toLowerCase() !== 'chatbox') {
    hatToggle = (hatToggle + 1) % 2;
    if(healToggle == 0) {
        if(hatToggle == 0) {
            document.title = "Heal: OFF | Hat: OFF"
        } else {
            document.title = "Heal: OFF | Hat: ON"
        }
    } else {
        if(hatToggle == 0) {
            document.title = "Heal: ON | Hat: OFF"
        } else {
            document.title = "Heal: ON | Hat: ON"
        }
    }
}

})

document.addEventListener('keyup', (e)=>{
spikePlacer.stop(e.keyCode);
boostPlacer.stop(e.keyCode);
boostSpiker.stop(e.keyCode);
millPlacer.stop(e.keyCode);
turretPlacer.stop(e.keyCode);
healer.stop(e.keyCode);
if(e.keyCode == 71 && document.activeElement.id.toLowerCase() !== 'chatbox') {
setTimeout( () => {
doNewSend(["33", [null]]);
boostDir = null;
}, 10);
}
})

function isElementVisible(e) {
return (e.offsetParent !== null);
}

function toRad(angle) {
return angle * 0.01745329251;
}

function dist(a, b){
return Math.sqrt( Math.pow((b.y-a[2]), 2) + Math.pow((b.x-a[1]), 2) );
}

function animate(space, chance) {
let result = '';
let characters;
if(space) {
characters = 'SUBSCRIBE TO BEXTIYAR';
} else {
characters = 'PORN';
}
if(space) {
characters = characters.padStart((30 - characters.length) / 2 + characters.length)
characters = characters.padEnd(30);
}
let count = 0;
for (let i = 0; i < characters.length; i++ ) {
if(Math.floor(Math.random() * chance) == 1 && characters.charAt(i) != "-" && count < 2 && characters.charAt(i) != " ") {
result += "_";
count++
} else {
result += characters.charAt(i);
}
}
return result;
}

document.title = "Heal: ON | Hat: ON"

function update() {
for (let i=0;i<9;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
primary = i;
}
}

for (let i=9;i<16;i++){
    if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
        secondary = i;
    }
}

for (let i=16;i<19;i++){
    if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
        foodType = i - 16;
    }
}

for (let i=19;i<22;i++){
    if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
        wallType = 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=29;i<31;i++){
    if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
        mineType = i - 16;
    }
}

for (let i=31;i<33;i++){
    if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
        boostType = i - 16;
    }
}

for (let i=33;i<39;i++){
    if (isElementVisible(document.getElementById("actionBarItem" + i.toString())) && i != 36){
        turretType = i - 16;
    }
}

spawnpadType = 36;

}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment