Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name MOOMOO.IO Insane Mod! *BETA* {Too fast? Read Description}
- // @namespace MOOMOO.IO Insane Mod! *BETA* {Too fast? Read Description}
- // @version 1
- // @description Better Minimap, Hat & Accessory Toolbar, Auto Heal, Double Hit, Easy Bow, Rainbow Hat, Hotkeys
- // @author TigerYT
- // @match http://moomoo.io/*
- // @match http://45.77.0.81/*
- // @match http://dev.moomoo.io/*
- // @require http://code.jquery.com/jquery-1.12.4.min.js
- // @grant none
- // @connect moomoo.io
- // @icon http://moomoo.io/img/icons/skull.png
- // ==/UserScript==
- $("#youtuberOf").remove();
- $("#followText").remove();
- $("#twitterFollow").remove();
- $("#youtubeFollow").remove();
- $("#adCard").remove();
- $("#mobileInstructions").remove();
- $("#promoImgHolder").remove();
- $("#downloadButtonContainer").remove();
- $("#mobileDownloadButtonContainer").remove();
- $(".downloadBadge").remove();
- $("div[style*='inline-block']").css('display', 'block');
- $("#rightCardHolder").append("<div class='menuCard' id='guideCard'><div class='menuHeader'> Description of Mod: <br> <br> Special Thanks to: <br></div><div class='menuText'> Tuxxaman (Gave me Auto Heal) <br> lightningking (Made Upgrade Tree Image) <br> Areith/Ella (Edited Upgrade Tree Image)<br> Mudkip (ID's for items) <br> <br> <div class='menuHeader'> Read Below ⬇⬇⬇ </div><br>Please know that I do not advise you to hack because it will be unfair for other moomoo.io players. Also if you want to join a clan, if they find out you use hacks or have used hacks they will not accept you. <br> <br> <div class='menuHeader'> TIPS: </div> <br>If you want to survive as long as possible make sure you spam the weapon you are using! For exampe if I am using bow since it is a Second Weapon I would spam 2 (Or '.' If I am a Arrow Key User) <br></div></div>");
- $("#rightCardHolder").append("<div class='menuCard' id='guideCard'><div class='menuHeader'>How to use Mod <br></div><div class='menuText'> <br> <b> <center> For WASD Users </center> </b> <br> T = Windmill <br> <br> G = Spikes <br> <br> F = Pittrap/Booster Pad <br> <br> Z = Turret <br> <br> <b> <center> For Arrow Key Users </center> </b> <br> ] = Windmill <br> <br> ; = Spikes <br> <br> ' = Pittraps/Booster Pad <br> <br> # = Turret <br> <br> / = Main Weapon <br> <br> . = Second Weapon <br> <b> <center> For All Users </center> </b> <br> Home = Rainbow Hat <br> <br> Right Click = Easy Bow <br> (Any Weapon + Bow/Crossbow)<br> <br> Right Click = Double Hit <br> (Any Weapon + Hammer) <br> <br> P = Toggle Hat & Accessory Toolbar Off/On <br> <br> L = Toggle Upgrade Tree Off/On <br> <br> Click Auto Heal Checkbox = Toggle Autoheal Off/On </div></div>");
- $('body').prepend('<img class="UpgradeTree" src="https://cdn.discordapp.com/attachments/387753857687486464/389103386764509186/image.png" alt="Upgrade Tree" width="300" height="300" style="position:absolute; margin-top:100px; padding:10px; opacity:0.7;"/>' );
- (function () {
- var ITEM_TYPE = {
- WEAPON: 0,
- STONE: 1,
- FOOD: 2,
- PITTRAP: 3,
- WINDMAIL: 4,
- TWO_WEAPON: 5,
- SPIKES: 6,
- TURRET: 7,
- MINE: 8,
- EXTRAS: 9
- };
- var ITEMS = [{
- id: 0,
- type: ITEM_TYPE.WEAPON,
- name: "Tool hammer"
- }, {
- id: 1,
- sid: 1,
- type: ITEM_TYPE.WEAPON,
- name: "Hand axe"
- }, {
- id: 2,
- sid: 2,
- type: ITEM_TYPE.WEAPON,
- name: "Great axe"
- }, {
- id: 3,
- type: ITEM_TYPE.WEAPON,
- sid: 3,
- name: "Short Sword"
- }, {
- id: 4,
- sid: 4,
- type: ITEM_TYPE.WEAPON,
- name: "Katana"
- }, {
- id: 5,
- sid: 5,
- type: ITEM_TYPE.WEAPON,
- name: "PoleArm"
- }, {
- id: 6,
- sid: 6,
- type: ITEM_TYPE.TWO_WEAPON,
- name: "Hunting bow"
- }, {
- id: 7,
- sid: 7,
- type: ITEM_TYPE.TWO_WEAPON,
- name: "Great hammer"
- }, {
- id: 8,
- sid: 8,
- type: ITEM_TYPE.TWO_WEAPON,
- name: "Wooden shield"
- }, {
- id: 9,
- sid: 9,
- type: ITEM_TYPE.TWO_WEAPON,
- name: "Crossbow"
- }, {
- id: 10,
- sid: 10,
- type: ITEM_TYPE.TWO_WEAPON,
- name: "Musket"
- }, {
- id: 0,
- sid: 11,
- type: ITEM_TYPE.FOOD,
- name: "Apple"
- }, {
- id: 1,
- sid: 12,
- type: ITEM_TYPE.FOOD,
- name: "Cookie"
- }, {
- id: 2,
- sid: 13,
- type: ITEM_TYPE.WALL,
- name: "Wood Wall"
- }, {
- id: 3,
- sid: 14,
- type: ITEM_TYPE.WALL,
- name: "Stone Wall"
- }, {
- id: 4,
- sid: 15,
- type: ITEM_TYPE.WALL,
- name: "Castle Wall"
- }, {
- id: 5,
- sid: 16,
- type: ITEM_TYPE.SPIKES,
- name: "Spikes"
- }, {
- id: 6,
- type: ITEM_TYPE.SPIKES,
- sid: 17,
- name: "Greater spikes"
- }, {
- id: 7,
- type: ITEM_TYPE.SPIKES,
- sid: 18,
- name: "Poison spikes"
- }, {
- id: 8,
- type: ITEM_TYPE.SPIKES,
- sid: 19,
- name: "Spinning spikes"
- }, {
- id: 9,
- sid: 20,
- type: ITEM_TYPE.WINDMAIL,
- name: "Windmill"
- }, {
- id: 10,
- type: ITEM_TYPE.WINDMAIL,
- sid: 21,
- name: "Faster windmill"
- }, {
- id: 11,
- type: ITEM_TYPE.MINE,
- sid: 22,
- name: "Mine"
- }, {
- id: 12,
- type: ITEM_TYPE.PITTRAP,
- sid: 23,
- name: "Pit trap"
- }, {
- id: 13,
- type: ITEM_TYPE.PITTRAP,
- sid: 24,
- name: "Boost pad "
- }, {
- id: 14,
- type: ITEM_TYPE.EXTRAS,
- sid: 25,
- name: "Turret"
- }, {
- id: 15,
- type: ITEM_TYPE.EXTRAS,
- sid: 26,
- name: "Platform"
- }, {
- id: 16,
- type: ITEM_TYPE.EXTRAS,
- sid: 27,
- name: "Healing Pad"
- }, {
- id: 17,
- type: ITEM_TYPE.EXTRAS,
- sid: 28,
- name: "Spawn Pad"
- }];
- function getItemById(id, type) {
- if (type !== undefined && !Array.isArray(type)) {
- type = [type];
- }
- return ITEMS.find(function (item) {
- return type === undefined ? item.id == id && ![ITEM_TYPE.WEAPON, ITEM_TYPE.TWO_WEAPON].includes(item.type) : item.id == id && type.includes(item.type);
- });
- }
- function getItemBySid(sid) {
- return ITEMS.find(function (item) {
- return item.sid !== undefined && sid !== undefined && item.sid == sid;
- });
- }
- var ws;
- var player;
- var BOT_SETTINGS_TEMPLATE = '<style>.bot-settings{padding: 10px; background-color: rgba(0, 0, 0, 0.2); border-radius: 3px; position: absolute; left: 0px; top: 0px; min-width: 200px; max-width: 300px;aw}.equip-btn{display:inline-block; width: 25px; height: 25px; border: 1px solid grey; background-size: contain; cursor: pointer; background-color: lightgray;}.equip-btn.selected{background-color: lightgreen;}</style><div class="bot-settings"> <div> <div> <input type="checkbox" id="botAutoHealOn"/> <label for="botAutoHealOn">AutoHeal</label> </div></div><hr/> <div id="bot-equips-0"> </div><hr/><div id="bot-equips-1"> </div></div>';
- var autoHealStarted = true;
- var btnEnterGame = document.getElementById('enterGame');
- function Player() {
- this.id = 0;
- this.resources = {
- food: 0,
- gold: 0,
- wood: 0,
- stone:0,
- };
- this.hp = 100;
- this.hat = 0;
- this.accessory = 0;
- this.items = {};
- this.items[ITEM_TYPE.WEAPON] = getItemById(0, ITEM_TYPE.WEAPON);
- this.items[ITEM_TYPE.SPIKES] = getItemById(5);
- this.items[ITEM_TYPE.WALL] = getItemById(2);
- this.items[ITEM_TYPE.FOOD] = getItemById(0);
- this.items[ITEM_TYPE.WINDMAIL] = getItemById(9);
- this.items[ITEM_TYPE.EXTRAS] = getItemById(14);
- this.itemInHand = this.items[ITEM_TYPE.WEAPON];
- }
- btnEnterGame.onmousedown = function () {
- StartBot();
- btnEnterGame.onmousedown = null;
- };
- $('#adCard').remove();
- document.addEventListener('keydown', function (e) {
- if (ws) {
- switch (e.keyCode) {
- // T
- case 84:
- if (player.items[ITEM_TYPE.WINDMAIL]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.WINDMAIL].id + ",null]");
- break;
- // G
- case 71:
- e.stopPropagation();
- if (player.items[ITEM_TYPE.SPIKES]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.SPIKES].id + ",null]");
- break;
- // Z
- case 90:
- e.stopPropagation();
- if (player.items[ITEM_TYPE.EXTRAS]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.TURRET].id + ",null]");
- break;
- // F
- case 70:
- e.stopPropagation();
- if (player.items[ITEM_TYPE.PITTRAP]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.PITTRAP].id + ",null]");
- break;
- // ]
- case 221:
- if (player.items[ITEM_TYPE.WINDMAIL]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.WINDMAIL].id + ",null]");
- break;
- // ;
- case 186:
- e.stopPropagation();
- if (player.items[ITEM_TYPE.SPIKES]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.SPIKES].id + ",null]");
- break;
- // '
- case 222:
- e.stopPropagation();
- if (player.items[ITEM_TYPE.EXTRAS]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.TURRET].id + ",null]");
- break;
- // #
- case 70:
- e.stopPropagation();
- if (player.items[ITEM_TYPE.PITTRAP]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.PITTRAP].id + ",null]");
- break;
- // /
- case 191:
- e.stopPropagation();
- if (player.items[ITEM_TYPE.WEAPON]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.WEAPON].id + ",null]");
- break;
- // .
- case 190:
- e.stopPropagation();
- if (player.items[ITEM_TYPE.TWO_WEAPON]) ws.send("42[\"5\"," + player.items[ITEM_TYPE.TWO_WEAPON].id + ",null]");
- break;
- // P
- case 80:
- e.stopPropagation();
- $('.bot-settings').toggle();
- break;
- // L
- case 76:
- e.stopPropagation();
- $('.UpgradeTree').toggle();
- break;
- }
- }
- }, true);
- document.addEventListener('mousedown', function (e) {
- if (ws && e.button == 2) {
- e.stopPropagation();
- ws.send("42[\"4\",1,null]");
- setTimeout(function () {
- ws.send("42[\"5\"," + player.items[ITEM_TYPE.TWO_WEAPON].id + ",true]");
- }, 100);
- setTimeout(function () {
- ws.send("42[\"4\",0,null]");
- }, 100);
- setTimeout(function () {
- ws.send("42[\"5\"," + player.items[ITEM_TYPE.WEAPON].id + ",true]");
- }, 700);
- }
- }, true);
- function Log(text) {
- return;
- }
- function init() {
- $('body').append(BOT_SETTINGS_TEMPLATE);
- $('#botAutoHealOn').prop("checked", autoHealStarted);
- $('#botAutoHealOn').change(function (e) {
- autoHealStarted = e.currentTarget.checked;
- });
- addEquip(0, 28);
- addEquip(0, 29);
- addEquip(0, 30);
- addEquip(0, 36);
- addEquip(0, 37);
- addEquip(0, 38);
- addEquip(0, 44);
- addEquip(0, 35);
- addEquip(0, 42);
- addEquip(0, 43);
- addEquip(0, 49);
- }
- function dead() {
- player = new Player();
- }
- function botLaunched() {
- return $('#botAutoHealOn').prop('checked');
- }
- function equipId(type, id) {
- return "bot-eq-" + type + id;
- }
- function equipIsSelect(type, id) {
- return $("#" + equipId(type, id)).hasClass("selected");
- }
- function equipSelect(type, id) {
- $("#" + equipId(type, id)).addClass("selected");
- }
- function equipCancleSelect(type, id) {
- if (id == "all") {
- $("#bot-equips-" + type + ">.equip-btn").removeClass("selected");
- } else $("#" + equipId(type, id)).removeClass("selected");
- }
- function equipExist(type, id) {
- return $("#bot-equips-" + type + ">#" + equipId(type, id)).length > 0;
- }
- function addEquip(type, id) {
- if (equipExist(type, id)) {
- return;
- }
- var url = "http://moomoo.io/img";
- if (type == 1) {
- url += "/accessories/access_" + id + ".png";
- } else {
- url += "/hats/hat_" + id + ".png";
- }
- $("<div/>", {
- id: equipId(type, id),
- "class": "equip-btn",
- css: {
- "background-image": "url(" + url + ")"
- },
- click: function click() {
- if (!equipIsSelect(type, id)) ws.send("42[\"13\",0," + id + ", " + type + "]");else ws.send("42[\"13\",0,0," + type + "]");
- }
- }).appendTo("#bot-equips-" + type);
- }
- function StartBot() {
- player = new Player();
- init();
- Log("AutoHeal loaded");
- WebSocket.prototype.oldSend = WebSocket.prototype.send;
- WebSocket.prototype.send = function (m) {
- if (!ws) {
- ws = this;
- socketFound(this);
- }
- var parsed = parseWSMsg(m);
- if (parsed[0] == "5") {
- var id = parsed[1];
- var isWeapon = parsed[2] || false;
- if (!isWeapon) {
- if (id == 0 || id == 1) {
- player.itemInHand = player.items[ITEM_TYPE.FOOD];
- }
- }
- }
- if (parsed[0] == "6") {
- var item = getItemBySid(parsed[1]);
- if (item) {
- player.items[item.type] = item;
- if (item.type == player.itemInHand.type) {
- player.itemInHand = item;
- }
- }
- }
- this.oldSend(m);
- };
- function socketFound(socket) {
- window.gameSocket = socket;
- socket.addEventListener("message", function (e) {
- var m = e.data;
- var parsed = parseWSMsg(m);
- switch (parsed[0]) {
- case "1":
- player.id = parsed[1];
- break;
- case "us":
- var itemId = parsed[2];
- var pacType = parsed[1];
- var itemType = parsed[3];
- switch (pacType) {
- case 0:
- addEquip(itemType, itemId);
- break;
- case 1:
- if (itemType == 1) player.accessory = itemId;else if (itemType === 0) player.hat = itemId;
- equipCancleSelect(itemType, "all");
- equipSelect(itemType, itemId);
- break;
- }
- break;
- case "9":
- player.resources[parsed[1]] = parsed[2];
- break;
- case "10":
- if (parsed[1] == player.id) {
- player.hp = parsed[2];
- if (player.hp <= 0) {
- dead();
- }
- }
- break;
- }
- });
- }
- var healTimer = setInterval(function () {
- if (autoHealStarted) heal();
- }, 0);
- function parseWSMsg(s) {
- if (s.indexOf("42") === -1) return -1;
- var o = s.substring(s.indexOf("["));
- return JSON.parse(o);
- }
- function heal() {
- if (player.hp >= 100) return;
- if (hasApple()) {
- if (player.itemInHand.type == ITEM_TYPE.FOOD) {
- ws.send("42[\"4\",1,null]");
- player.itemInHand = player.items[ITEM_TYPE.WEAPON];
- } else {
- ws.send("42[\"5\"," + player.items[ITEM_TYPE.FOOD].id + ",null]");
- heal();
- }
- }
- }
- function hasApple() {
- if (player.items[ITEM_TYPE.FOOD].id === 0) return player.resources.food >= 10;else return player.resources.food >= 15;
- }
- }
- })();
- (function() {
- var můjVar;
- var můjVar2;
- var můjVar3;
- var můjVar4;
- var můjVar5;
- var můjVar6;
- var můjVar7;
- var můjVar8;
- var můjVar9;
- var můjVar10;
- var můjVar11;
- var změna = true;
- var ID_FAZE = 45;
- var ID_Moo_Head = 28;
- var ID_Pig_Head = 29;
- var ID_Fluff_Head = 30;
- var ID_Pandou_Head = 36;
- var ID_Bear_Head = 37;
- var ID_Monkey_Head = 38;
- var ID_Polar_Head = 44;
- var ID_Fez_Hat = 35;
- var ID_Enigma_Hat = 42;
- var ID_Blitz_Hat = 43;
- var ID_Bob_XIII_Hat = 49;
- document.addEventListener('keydown', function (e) {
- if (e.keyCode == 36) {
- e.preventDefault();
- if (změna) {
- storeEquip(ID_Moo_Head);
- můjVar = setTimeout(function(){ h1(); }, 180);
- } else {
- clearTimeout(můjVar);
- clearTimeout(můjVar2);
- clearTimeout(můjVar3);
- clearTimeout(můjVar4);
- clearTimeout(můjVar5);
- clearTimeout(můjVar6);
- clearTimeout(můjVar7);
- clearTimeout(můjVar8);
- clearTimeout(můjVar9);
- clearTimeout(můjVar10);
- clearTimeout(můjVar11);
- storeEquip(ID_FAZE);
- }
- změna = !změna;
- }
- });
- function h1() {
- storeEquip(ID_Moo_Head);
- clearTimeout(můjVar);
- můjVar2 = setTimeout(function(){ h2(); }, 180);
- }
- function h2() {
- storeEquip(ID_Pig_Head);
- clearTimeout(můjVar2);
- můjVar3 = setTimeout(function(){ h3(); }, 180);
- }
- function h3() {
- storeEquip(ID_Fluff_Head);
- clearTimeout(můjVar3);
- můjVar4 = setTimeout(function(){ h4(); }, 180);
- }
- function h4() {
- storeEquip(ID_Pandou_Head);
- clearTimeout(můjVar4);
- můjVar5 = setTimeout(function(){ h5(); }, 180);
- }
- function h5() {
- storeEquip(ID_Bear_Head);
- clearTimeout(můjVar5);
- můjVar6 = setTimeout(function(){ h6(); }, 180);
- }
- function h6() {
- storeEquip(ID_Monkey_Head);
- clearTimeout(můjVar6);
- můjVar7 = setTimeout(function(){ h7(); }, 180);
- }
- function h7() {
- storeEquip(ID_Polar_Head);
- clearTimeout(můjVar7);
- můjVar8 = setTimeout(function(){ h8(); }, 180);
- }
- function h8() {
- storeEquip(ID_Fez_Hat);
- clearTimeout(můjVar8);
- můjVar9 = setTimeout(function(){ h9(); }, 180);
- }
- function h9() {
- storeEquip(ID_Enigma_Hat);
- clearTimeout(můjVar9);
- můjVar10 = setTimeout(function(){ h10(); }, 180);
- }
- function h10() {
- storeEquip(ID_Blitz_Hat);
- clearTimeout(můjVar10);
- můjVar11 = setTimeout(function(){ h11(); }, 180);
- }
- function h11() {
- storeEquip(ID_Bob_XIII_Hat);
- clearTimeout(můjVar11);
- můjVar = setTimeout(function(){ h1(); }, 180);
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement