ProutexMacro v4 {Leading MooMoo.io Macro 2021}

Read the description in GreasyFork!

Από την 07/05/2021. Δείτε την τελευταία έκδοση.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey, το Greasemonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Userscripts για να εγκαταστήσετε αυτόν τον κώδικα.

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

Θα χρειαστεί να εγκαταστήσετε μια επέκταση διαχείρισης κώδικα χρήστη για να εγκαταστήσετε αυτόν τον κώδικα.

(Έχω ήδη έναν διαχειριστή κώδικα χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

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.

(Έχω ήδη έναν διαχειριστή στυλ χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

// ==UserScript==
// @name ProutexMacro v4 {Leading MooMoo.io Macro 2021}
// @namespace -
// @version [4.0]...
// @description Read the description in GreasyFork!
// @author Discord: GoblinTime#2714 : Greasy Fork: ♡⚠♡GoblinTime♡⚠♡
// @match *://sandbox.moomoo.io/*
// @match *://moomoo.io/*
// @match *://dev.moomoo.io/*
// @grant none
// @require https://greatest.deepsurf.us/scripts/368273-msgpack/code/msgpack.js?version=598723
// @require http://code.jquery.com/jquery-3.3.1.min.js
// @require https://code.jquery.com/ui/1.12.0/jquery-ui.min.js
// @require https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.js
// @require https://cdn.jsdelivr.net/npm/[email protected]/dist/msgpack.min.js
// @require https://cdn.jsdelivr.net/npm/[email protected]/fontfaceobserver.standalone.min.js
// ==/UserScript==

/* Add new colors for health bars */
    var ctxx = CanvasRenderingContext2D;
if(ctxx.prototype.roundRect) {
        ctxx.prototype.roundRect = ((func) => function() {
        if (this.fillStyle == "#8ecc51"){ //All allys
        this.fillStyle = "rgba(0, 66, 0, 0.47)";
        } else if(this.fillStyle == "#cc5151") { // All enemy
        this.fillStyle = "rgba(112, 6, 0, 0.47)";
        } else if(this.fillStyle == "#3d3f42") { // Background health bar
        this.fillStyle = "rgba(82, 82, 82, 0.47)";
        }
        return func.call(this, ...arguments);
        })
        (ctxx.prototype.roundRect);
}
// Start Resource
function StartRes() {
    window.follmoo("moofoll", 1);
}
StartRes();

// Add <element for HTML>
        var meta = document.createElement('meta');
        meta.name = "viewport";
        meta.content = "initial-scale=1, maximum-scale=1, user-scalable=no";
        document.getElementsByTagName('head')[0].appendChild(meta);
// Menu
$("body").after(`

<button onclick="InfoMenu()" class="NameMacro">ProutexMacro v4</button>
<div id="infomenu">
<div class="nameblock">Ping and Fps:</div>
<hr>
<div id="ping" class="text">.</div>
<div id="fps" class="text">.</div>
<hr>
<div class="nameblock">Switches:</div>
<hr>
<ul>
<li></label><label><div class="text">Pro-Map<input type="checkbox" id="NewMap"><span class="checkmark"></div></li>
<li></label><label><div class="text">Show-Cps<input type="checkbox" id="CPSTOGGLER"><span class="checkmark"></div></li>
</ul>
<hr>
<div class="nameblock">Versions:</div>
<hr>

<div class="text">
Version-4:
<ul>
<li>1. Menu.<br> To open the menu, click on the text (ProutexMacro)! To close it, click on any place on your screen except the menu!
</li>
<li>2. Remove all hats and accessories. Press - ( B )
</li>
<li>3. AutoReload.<br> The page will automatically reload when it crashes
</li>
<li>4. Big Store.<br> The store has become much bigger!
</li>
<li>5. Pro Map.<br> The map shows all the biomes!
</li>
<li>6. Show your cps.<br> Shows your CPS when clicked!
</li>
</ul>
<hr>
Version-3:
<ul>
<li>1. I changed the color of the health bars! Now they are semi-transparent!
</li>
<li>2. Made the soldier-Q switch now you need to click on ( H ) to turn it on!
</li>
<li>3. Now you can hide the leaderboard on ( K ) . When you press the ( K ) button again, the leaderboard will appear again!
</li>
<li>4. When you press ( Y ), there will be a BullTick!<br>
Bulltick is when a bull helmet hat appears, and when it hits you, your shame counter resets after taking 5 points of damage!
</li>
</ul>
<hr>
Version-2:
<ul>
<li>1. Start Resource.
</li>
<li>2. Automatically sends a request to the very first clan in the list. Press - ( Up-Arrow )
</li>
<li>3. SoldierHelmet+XWings. Press - ( Q )
</li>
<li>4. I removed the "LeftAndRightClick: Off" radio button.<br>
 Now when you disable this feature, nothing will happen.<br>
 But I left the text when turning on!<br>
 When enabled, it will be "LeftAndRightClick: On".
</li>
</ul>
<hr>
Version-1:
<ul>
<li>1. Release!
</li>
<li>2. BullHelmet+BloodWings. Press - ( R )
</li>
<li>3. SoldierHelmet+XWings. Press - ( T )
</li>
<li>4. TankGear+BlackWings. Press - ( Z )
</li>
<li>5. Booster+Tail. Press - ( Shift )
</li>
<li>6. Responsible for the function switch! Press - ( J )<br>
When you turn it on, an inscription will appear in the upper-left corner!<br>
When you are enabled, you can click the left or right mouse button!<br>
And they will wear hats! <=( Left ) responsible for: BullHelmet+SpikeGear+TurretGear+SoldierHelmet=><br>
<=( Right ) responsible for: TankGear+SamuraiArmor+SoldierHelmet=>
</li>
</ul>
<hr>
</div>



</div>
<style>
button:active,
button:focus {
  outline: none !important;
}
button::-moz-focus-inner {
  border: 0 !important;
}
.nameblock {
font-size: 20px;
color: #dbdbdb;
text-align: center;
}
li {
font-size: 13px;
}
.text {
display: block;
font-size: 17px;
color: #fff;
text-align: left;
}
.NameMacro{
cursor: pointer;
position: absolute;
background: linear-gradient(to right, red, orange, yellow, green, cyan, blue, violet);
background-size: 400% 400%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
-webkit-animation: colorR 20s ease infinite;
animation: colorR 20s ease infinite;
font-family: "Hammersmith One";
display: block !important;
top: 5px;
left: 720px;
font-size: 17px;
}
::-webkit-scrollbar { width: 2.7px; height: 3px;}
::-webkit-scrollbar-button {  background-color: #000000; }
::-webkit-scrollbar-track {  background-color: #999;}
::-webkit-scrollbar-track-piece { background-color: rgba(0, 0, 0, 0.50);}
::-webkit-scrollbar-thumb { height: 50px; background-color: #666; border-radius: 3px;}
::-webkit-scrollbar-corner { background-color: #999;}}
::-webkit-resizer { background-color: #666;}
#infomenu {
overflow-y: scroll;
overflow-x: hidden;
padding: 20px;
position: absolute;
display: none;
background: rgba(102, 102, 102, 0.25);
width: 310px;
height: 450px;
border: 2px solid black;
border-radius: 4px;
top: 80px;
left: 20px;
z-index: 1;
}

</style>
<script>
function InfoMenu() {
$("#infomenu").css({
"display" : "block"
});
}
$(document).mouseup(function (e) {
    var container = $("#infomenu");
    if (container.has(e.target).length === 0){
        container.hide();
    }
});
(function() {
  var UPDATE_DELAY = 700;
  var lastUpdate = 0;
  var frames = 0;
var values;
  function updateCounter() {
    var now = Date.now();
    var elapsed = now - lastUpdate;
    if (elapsed < UPDATE_DELAY) {
      ++frames;
    } else {
      var fps = Math.round(frames / (elapsed / 1000));
      document.getElementById("fps").textContent ="Fps: " + fps ;
      frames = 0;
      lastUpdate = now;
    }
    requestAnimationFrame(updateCounter);
  }
  lastUpdate = Date.now();
  requestAnimationFrame(updateCounter);
})();
setInterval(()=>{
document.getElementById("ping").textContent = "Ping: " + window.pingTime;
},0);
</script>
`);
$("body").after(`
<div id="ShowMenu">
</span>
<div id="addtext">LeftAndRightClick: On</div>
<div id="addtext0">Soldier-Q: On</div>
<div id="addtext1">Left-Click</div>
<div id="addtext2">Right-Click</div>
<style>
   #ShowMenu {
   position:absolute !important;
   display:block;
   top: 5px;
   left: 5px;
   width: auto;
   height: auto;
   text-align: center;
   }
   #addtext,#addtext1,#addtext2,#addtext0{
   display: none;
   color: #fff;
   background: linear-gradient(to right, red, orange, yellow, green, cyan, blue, violet);
   background-size: 400% 400%;
   font-size: 20px;
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   -webkit-animation: colorR 20s ease infinite;
   animation: colorR 20s ease infinite;
   }
   @-webkit-keyframes colorR {
   0% { background-position: 0% 50% }
   50% { background-position: 100% 50% }
   100% { background-position: 0% 50% }
   }
   @keyframes colorR {
   0% { background-position: 0% 50% }
   50% { background-position: 100% 50% }
   100% { background-position: 0% 50% }
   }
</style>
<script>
let tm;
let t = "Moo Moo";
function change(icon, text) {
    document.querySelector('head title').innerHTML = text;
    document.querySelector('link[rel="shortcut icon"]').setAttribute('href',
        icon);
}
window.onblur = () => {
    tm = setTimeout(() => {
        change("https://cdn.discordapp.com/attachments/837884067822436382/838321077775237140/w16h161372343790hearts16.png",
            "😓COMEBACK!😓");
    }, 5000);
}
window.onfocus = () => {
    change("https://sandbox.moomoo.io/img/favicon.png?v=1", t);
}
</script>
`);
var AutoReload = setInterval(() => {
    if(document.getElementById("loadingText").textContent=="disconnectedreload"){
        window.onbeforeunload = null;
        clearInterval(AutoReload)
        window.location.reload()
    }
});
    var Soldier_Q = false;
    var Clicks = false;
    const cvs = document.getElementById("gameCanvas");
    cvs.addEventListener("mousedown", clicks, false);
    function clicks(e) {
        if (e.button == 0) { // Left Click

            if (Clicks == true) {
                document.getElementById('addtext1').style
                .display = "block";
                window.storeEquip(0, 1);
                window.storeEquip(7);
                window.storeEquip(18, 1);
                setTimeout(function() {
                    window.storeEquip(11);
                    window.storeEquip(21, 1);
                }, 100);
                setTimeout(function() {
                    window.storeEquip(53);
                    window.storeEquip(21, 1);
                }, 180);
                setTimeout(function() {
                    window.storeEquip(6);
                    window.storeEquip(13, 1);
                }, 260);
                setTimeout(function() {
                    document.getElementById('addtext1').style
                        .display = "none";
                }, 600);
            }
        }
        if (e.button == 2) { // Right Click
            if (Clicks == true) {
                document.getElementById('addtext2').style
                .display = "block";
                window.storeEquip(0, 1);
                window.storeEquip(20);
                window.storeEquip(19, 1);
                setTimeout(function() {
                    window.storeEquip(40);
                    window.storeEquip(19, 1);
                }, 120);
                setTimeout(function() {
                    window.storeEquip(6);
                    window.storeEquip(19, 1);
                }, 200);
                setTimeout(function() {
                    document.getElementById('addtext2').style
                        .display = "none";
                }, 600);
            }
        }
    }
    var leaderBlock = document.getElementById("leaderboard");
    document.addEventListener('keydown', (e) => { // Add event
        switch (e.keyCode) {
            case 72: // [Button]- K
                if(Soldier_Q == false){
                Soldier_Q = true;
                  document.getElementById('addtext0').style
                        .display = "block";
                } else {
                Soldier_Q = false;
                  document.getElementById('addtext0').style
                        .display = "none";
                }
                break;
            case 74: // [Button]- J
                if (Clicks == false) {
                    document.getElementById('addtext').style
                        .display = "block";
                    Clicks = true;
                } else {
                    document.getElementById('addtext').style
                        .display = "none";
                    Clicks = false;
                }
                break;
            case 75: // [Button]- K
              if (leaderBlock.style.display == "block") {
              $("killCounter").css({"margin": "0"});
              $("killCounter").css({"top": "0px"});
                leaderBlock.style.display = "none";
               } else {
               $("killCounter").css({"top": "230px"});
                leaderBlock.style.display = "block";
             }
                break;
                case 66: // [Button]- B
                window.storeEquip(0,1); // [Equip, Acc]- 0
                window.storeEquip(0); // [Equip, Hat]- 0
                break;
                // Bull Tick::
                case 89: // [Button]- Y
                console.log("Bull Tick");
                window.storeEquip(7); // [Equip, Hat]- BullHelmet
                setTimeout(() => {
                window.storeEquip(6); // [Equip, Hat]- SoldierGear
                },800);
                break;
            case 38: // [Button]- Up Arrow
                window.sendJoin(0); // Send a request to the very first clan
                break;
            case 82: // [Button]- R
                console.log("Bull, Blood[Wings]");
                window.storeEquip(0, 1);
                window.storeBuy(7); // [Buy, Hat]- BullHelmet
                window.storeBuy(18, 1); // [Buy, Acc]- Blood Wings
                window.storeEquip(7); // [Equip, Hat]- BullHelmet
                window.storeEquip(21, 1); // [Equip, Acc]- Blood Wings
                break;
            case 81: // [Button]- Q
              if(Soldier_Q == true){
                console.log("Soldier, X[Wings]");
                window.storeEquip(0, 1);
                window.storeBuy(6); // [Buy, Hat]- SoldierGear
                window.storeBuy(21, 1); // [Buy, Acc]- X Wings
                window.storeEquip(6); // [Equip, Hat]- SoldierGear
                window.storeEquip(21, 1); // [Equip, Acc]- X Wings
                }
                break;
            case 16: // [Button]- Shift
                console.log("Boost, Tail");
                window.storeEquip(0, 1);
                window.storeBuy(12); // [Buy, Hat]- Booster
                window.storeBuy(11, 1); // [Buy, Acc]- Tail
                window.storeEquip(12); // [Equip, Hat]- Booster
                window.storeEquip(11, 1); // [Equip, Acc]- X Wings
                break;
            case 84: // [Button]- T
                console.log("Soldier, X[Wings]");
                window.storeEquip(0, 1);
                window.storeBuy(6); // [Buy, Hat]- Soldier
                window.storeBuy(21, 1); // [Buy, Acc]- X Wings
                window.storeEquip(6); // [Equip, Hat]- Soldier
                window.storeEquip(21, 1); // [Equip, Acc]- X Wings
                break;
            case 90: // [Button]- Z
                console.log("Tank, Black[Wings]");
                window.storeEquip(0, 1);
                window.storeBuy(40); // [Buy, Hat]- Tank
                window.storeBuy(19, 1); // [Buy, Acc]- Black Wings
                window.storeEquip(40); // [Equip, Hat]- Tank
                window.storeEquip(19, 1); // [Equip, Acc]- Black Wings
                break;
        }
    });
// Toggler Cps
var cpsss = document.querySelector("#CPSTOGGLER")
cpsss.addEventListener('change', function() {
    if (this.checked) {
$("#cpss").css("display", "block");
    } else {
$("#cpss").css("display", "none");
    }
});
// Toggler Map
var NewMapp = document.querySelector("#NewMap")
NewMapp.addEventListener('change', function() {
    if (this.checked) {
            $("#mapDisplay").css("background", "url('https://wormax.org/chrome3kafa/moomooio-background.png')");
    } else {
            $("#mapDisplay").css("background", "rgba(0, 0, 0, 0.25)");
    }
})
$("killCounter").css({"top": "230px"});
    /* Instructions for adding items: You need to put this code in a comment here is how I commented out this text */
    //  /*
    document.getElementById("storeHolder").style = "height: 1500px; width: 450px;"
    document.getElementById('gameName').innerText = 'ProutexMacro';
    document.getElementById("moomooio_728x90_home").style.display = "none";
    $("#moomooio_728x90_home").parent().css({display: "none"});
    $("#moomooio_728x90_home").parent().css({"display" : "none"});
    document.getElementById("promoImg").remove();
    document.getElementById('adCard').remove();
    $("#youtuberOf").remove();
    $("#followText").remove();
    $("#promoImgHolder").remove();
    $("#twitterFollow").remove();
    $("#joinPartyButton").remove();
    $("#linksContainer2").remove();
    $("#partyButton").remove();
    $("#youtubeFollow").remove();
    $("#adCard").remove();
    $("#adBlock").remove();
    $("#mobileInstructions").remove();
    $("#downloadButtonContainer").remove();
    $("#mobileDownloadButtonContainer").remove();
    $(".downloadBadge").remove();
    //  */
    setTimeout(() => {
        document.getElementById('ot-sdk-btn-floating').remove();
        document.getElementById('pre-content-container').remove();
    }, 1500);
    var cps = 0;
var click = 1;
$("#gameCanvas").mousedown(function(e){
if(e.which == 1 && click == 1){
cps = (cps + 1)
setTimeout( () => {
    cps = (cps - 1)
}, 950);
}
});
$("#gameCanvas").mousedown(function(e){
if(e.which == 3 && click == 1){
cps = (cps + 1)
setTimeout( () => {
cps = (cps - 1)
}, 950);
}
});
document.addEventListener("mousedown", buttonPress, false);
function buttonPress(e) {
if(e.button == 1 && click == 1){
cps = (cps + 1)
setTimeout( () => {
cps = (cps - 1)
}, 950);
}
}

var cpsM = document.createElement("div");
cpsM.style.padding = "5px";
cpsM.id = "cpss";
cpsM.style.font = "30px Arial";
cpsM.style.display = "none";
cpsM.style.position = "fixed";
cpsM.style.top = "40%";
cpsM.style.left = "0%";
cpsM.style.color = "#fff";
cpsM.textContent = "Loading...";
document.body.appendChild(cpsM);
setInterval(()=>{
cpsM.textContent = "Cps: " + cps;
}, 0);