Mario ModMenu [N] to hide menu

Including: ESP, Fly Hack, Infinity Coins, Freeze Enemies, Kill Enemies, Invincibility, Custom Background Color Infinity Score, Infinity Time, Infinity Lives!

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name         Mario ModMenu [N] to hide menu
// @namespace    http://tampermonkey.net/
// @version      1.4
// @description  Including: ESP, Fly Hack, Infinity Coins, Freeze Enemies, Kill Enemies, Invincibility, Custom Background Color  Infinity Score, Infinity Time, Infinity Lives!
// @author       You
// @license      MIT
// @match        https://gamaverse.com/c/f/g/super-mario-bros/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=gamaverse.com
// @grant        none
// @run-at      document-idle
// ==/UserScript==

window.addEventListener('load', function() {

if(location.href=="https://gamaverse.com/c/f/g/super-mario-bros/") {

var ww = document.createElement('div')
ww.id="modWrap"
ww.innerHTML=`
<a id="title">GabiMod</a>
<div id="mods">
    <div id="checks">
    <div class="checkW">
        <input class="check" type="checkbox">
        <a class="checkDesc">Player ESP</a>
    </div>
    <div class="checkW">
        <input class="check" type="checkbox">
        <a class="checkDesc">Enemy ESP</a>
    </div>
    <div class="checkW">
        <input class="check" type="checkbox">
        <a class="checkDesc">Tracers</a>
    </div>
    <div class="checkW">
        <input class="check" type="checkbox">
        <a class="checkDesc">Distance</a>
    </div>
    <div class="checkW">
        <input class="check" type="checkbox">
        <a class="checkDesc">Star</a>
    </div>
    <div class="checkW">
        <input class="check" type="checkbox">
        <a class="checkDesc">Freeze Entities</a>
    </div>
    <div class="checkW">
        <input class="check" type="checkbox">
        <a class="checkDesc">Fly Hack</a>
    </div>
    <div class="checkW">
        <input class="check" type="checkbox">
        <a class="checkDesc">Invincible</a>
    </div>
    </div>
    <br>
    <div id="values">
    <div class="mod">
        <input type="text" class="modInput" placeholder="Set Coins">
        <input type="button" class="modBtn" value="Apply">
    </div>
    <div class="mod">
        <input type="text" class="modInput" placeholder="Set Score">
        <input type="button" class="modBtn" value="Apply">
    </div>
    <div class="mod">
        <input type="text" class="modInput" placeholder="Set Lives">
        <input type="button" class="modBtn" value="Apply">
    </div>
    <div class="mod">
        <input type="text" class="modInput" placeholder="Set Gravity">
        <input type="button" class="modBtn" value="Apply">
    </div>
    <div class="mod">
        <input type="text" class="modInput" placeholder="Set Time">
        <input type="button" class="modBtn" value="Apply">
    </div>
    <div class="mod">
        <input type="text" class="modInput" placeholder="Set BG Color">
        <input type="button" class="modBtn" value="Apply">
        </div>
    </div>
    <div id="buttonMods">
    <button class="buttonMod">Turn Big</button>
    <button class="buttonMod">Shoot Flames</button>
    <button class="buttonMod">Kill Nearby Enemies</button>
    <button class="buttonMod">Remove Bushes</button>
    <button class="buttonMod">Remove Clouds</button>
    <button class="buttonMod">Remove Hills</button>
    <button class="buttonMod">Remove Pipes</button>
    <button class="buttonMod">Remove Bricks</button>
    <button class="buttonMod">Remove Mystery Blocks</button>
    <button class="buttonMod">Remove Stones</button>
    </div>
</div>

<style>
    ::-webkit-scrollbar {
        width: 0.8vw;
    }

    ::-webkit-scrollbar-thumb {
        background: rgb(151, 151, 151);
        border-radius: 10px;
    }

    ::-webkit-scrollbar-thumb:hover {
        background: #c7c7c7;
    }

    #title {
        position: relative;
        display: inline-block;
        height: 0;
        top: 1%;
        font-size: 10pt;
        color: c6c6c6;
    }

    #modWrap {
        z-index: 3232;
        position: absolute;
        font-family: "Lucida Console", "Courier New", monospace;
        border: 2px #505050 solid;
        border-radius: 0.5vw;
        background: black;
        user-select: none;
        opacity: 0.95;
        height: 20vw;
        width: 17vw;
    }


    #mods {
        position: relative;
        overflow-y: scroll;
        overflow-x: hidden;
        height: 79%;
        top: 10%;

    }

    #checks {
        text-align: left;
        position: relative;
        top: 2%;
        left: 5%;
    }

    .checkW {
        margin-top: 2%;
    }

    .check {
        outline: #acacac 1px solid;
        vertical-align: middle;
        appearance: none;
        border-radius: 30%;
        height: 1.3vw;
        width: 1.3vw;
        top: 30%;
    }

    .check:checked {
        background-color: #acacac;
    }

    .checkDesc {
        color: white;
        font-size: 1.2vw;
    }


    #values {
        position: relative;
    }

    .mod {
        position: relative;
        margin-bottom: 3%;
        margin-top: 3%;
    }


    .modInput {
        border-radius: 0.4vw 0 0 0.4vw;
        border: 2px #505050 solid;
        background: #b0b0b0;
        height: 18%;
        width: 60%;
    }

    .modInput,
    ::-webkit-input-placeholder {
        position: relative;
        color: #505050;
        left: 4%;
    }

    .modInput:focus {
        outline: none
    }

    .modBtn {
        border-radius: 0 0.4vw 0.4vw 0;
        border: 2px #505050 solid;
        background: #505050;
        transition: all 0.3s;
        position: relative;
        font-size: 10pt;
        color: #c0c0c0;
        height: 18%;
        width: 25%;
        left: -1%;
    }
    .modBtn:hover {
        background: #707070;
    }


    #buttonMods {
        position: absolute;
        left: 3%;
        height: 100%;
    }
    .buttonMod {
        border: 2px #c0c0c0 solid;
        background: #505050;
        transition: all 0.3s;
        border-radius: 0.4vw;
        margin-bottom: 2%;
        margin-top: 2%;
        color: #d0d0d0;
        height: 14%;
        width: 90%;

    }
    .buttonMod:hover {
        background: #707070;
    }
</style>`
document.body.appendChild(ww)
var title = document.getElementById('title')
var gui = document.getElementById('modWrap')

window.onload = addListeners();


function addListeners(){
    title.addEventListener('mousedown', mouseDown, false);
    window.addEventListener('mouseup', mouseUp, false);
}
function mouseUp() {
    window.removeEventListener('mousemove', divMove, true);
    document.body.style.userSelect="all"
}

function mouseDown(e){
    document.body.style.userSelect="none"
    window.addEventListener('mousemove', divMove, true);
}

function divMove(e) {
    gui.style.left=e.clientX-110+"px"
    gui.style.top=e.clientY-10+"px"
}





var pEsp = false;
var eEsp = false;
var tracer = false;
var eDis = false;
var invi = false;
var canvas = document.querySelector("body > canvas")



drawThingOnCanvas = (function() {
    var cached_function = drawThingOnCanvas;
    return function() {
        var result = cached_function.apply(this, arguments); // use .apply() to call it
        updateDrawings() // <- add this function to update function
        return result;
    };
})()

function updateDrawings() {
    for(var i=0;i<characters.length;i++) {
        if(characters[i].type=="mario" && pEsp==true) {
            context.beginPath()
            context.strokeStyle="#00ff00"
            context.strokeRect(
                characters[i].left,
                characters[i].top,
                characters[i].width*4,
                characters[i].height*4
            )
            context.stroke()
        }
        if(characters[i].collide.name=='collideEnemy' || characters[i].collide.name=='nc') {
            var dx = mario.left-characters[i].left
            var dy = mario.top-characters[i].top
            var distance = Math.round(Math.sqrt(dx*dx+dy*dy))
            if(abs(distance)<canvas.width-mario.left-50) {


                if(characters[i].type!="mario" && eEsp==true) {
                    context.beginPath()
                    context.strokeStyle="#ff0000"
                    context.strokeRect(
                        characters[i].left,
                        characters[i].top,
                        characters[i].width*4,
                        characters[i].height*4
                    )
                    context.stroke()
                }

                if(characters[i].type!="mario" && tracer==true) {
                    console.log(characters[i].type)
                    context.beginPath()
                    context.moveTo(mario.left+15,mario.top+10)
                    context.lineTo(characters[i].left+13,characters[i].top+10)
                    context.strokeStyle="#00ff00"
                    context.stroke()
                }
                if(characters[i].type!="mario" && eDis==true) {
                    context.fillStyle = "blue";
                    context.font = "bold 10px Arial";
                    context.textAlign = 'center';
                    context.textBaseline = 'middle';
                    context.rotate(40+"deg")
                    context.fillText(distance, ((characters[i].left+mario.left)/2), ((mario.top+characters[i].top)/2));
                }
            }
        }
    }
}
var flyUpT
var flyUpF
var flyE = 0

document.addEventListener('keydown', (e) => {
    if(flyE==1) {
        if (e.key=="ArrowUp" || e.key==" " || e.key=="w") {
            keydown(32)
            mario.gravity=-1
            mario.yvel=0;
        }
        if(e.key=="ArrowDown" || e.key=="s") {
            keydown(32)
            mario.gravity=1
            mario.yvel=0;
        }
    }
})
document.addEventListener('keyup', (e) => {
    if(flyE==1) {
        if (e.key=="ArrowUp" || e.key==" " || e.key=="w") {
            keyup(32)
            mario.gravity=0.00000001
            mario.yvel=0;
        }
        if(e.key=="ArrowDown" || e.key=="s") {
            keyup(32)
            mario.gravity=0.000000001
            mario.yvel=0;
        }
    }
})



var check = document.getElementsByClassName("check")
var modBtn = document.getElementsByClassName("modBtn")
var modInput = document.getElementsByClassName("modInput")
var modInput = document.getElementsByClassName("modInput")
var buttonMod = document.getElementsByClassName("buttonMod")




check[0].addEventListener('click', (e) => {
    if(check[0].checked==true) {
        pEsp = true;
    }
    else {
        pEsp = false
    }
})
check[1].addEventListener('click', (e) => {
        if(check[1].checked==true) {
        eEsp = true;
    }
    else {
        eEsp = false
    }
})
check[2].addEventListener('click', (e) => {
    if(check[2].checked==true) {
        tracer = true;
    }
    else {
        tracer = false
    }
})
check[3].addEventListener('click', (e) => {
    if(check[3].checked==true) {
        eDis = true;
    }
    else {
        eDis = false
    }
})
check[4].addEventListener('click', (e) => {
    if(check[4].checked==true) {

        ++mario.star;
        play("Powerup.wav");
        playTheme("Starman", true);
        addEvent(marioRemoveStar, 549849343343, mario);
        switchClass(mario, "normal", "star");
        addSpriteCycle(mario, ["star1", "star2", "star3", "star4"], "star", 5);
    }
    else {

var me = mario
    mario.star=0;
    addEvent(marioRemoveStar, 0, mario);
    switchClass(mario, "star", "normal");
    clearAllCycles(mario, ["star1", "star2", "star3", "star4"], "star", 5);
    }
})
var freeze
check[5].addEventListener('click', (e) => {
    if(check[5].checked==true) {
        freeze = setInterval(function() {
            for(var i=0;i<characters.length;i++) {
                if(characters[i].type!="mario") {
                    if(characters[i].xvel<-1) {
                        characters[i].lastSpeed = characters[i].speed
                        characters[i].xvel=0
                    }
                    if(characters[i].xvel>-1) {
                        characters[i].lastSpeed = -characters[i].speed
                        characters[i].xvel=0
                    }
                }
            }
        },300)
    }
    else {
        clearInterval(freeze)
        for(var i=0;i<characters.length;i++) {
            if(characters[i].type!="mario") {
                characters[i].xvel=characters[i].lastSpeed
            }
        }
    }
})
check[6].addEventListener('click', (e) => {
     flyE ^= true

    if(flyE==0) {
        mario.gravity=0.48
    }
})
var invii
check[7].addEventListener('click', (e) => {
    if(check[7].checked==true) {
        invii = setInterval(function() {
            for(var i=0;i<characters.length;i++) {
                if(characters[i].collide.name=='collideEnemy') {
                    characters[i].collide = function nc() {}
                }
            }
        },500)
    }
    else {
        clearInterval(invii)
        for(var i=0;i<characters.length;i++) {
            if(characters[i].collide.name=='nc') {

                characters[i].collide = (function() {
                    var cf = collideEnemy
                    return function() {
                        var res = cf.apply(this,arguments)
                        return res
                    }
                })()
            }

        }
    }
})
modBtn[0].addEventListener('click', function() {
    data.coins.amount=parseInt(modInput[0].value)
    updateDataElement(data.coins)
})
modBtn[1].addEventListener('click', function() {
    data.score.amount=parseInt(modInput[1].value)
    updateDataElement(data.score)
})
modBtn[2].addEventListener('click', function() {
    data.lives.amount=parseInt(modInput[2].value)
    updateDataElement(data.lives)
})
modBtn[3].addEventListener('click', function() {
    mario.gravity=parseInt(modInput[3].value)/30
})
modBtn[4].addEventListener('click', function() {
    data.time.amount=parseInt(modInput[4].value)
    updateDataElement(data.time)
})
modBtn[5].addEventListener('click', function() {
    map.area.fillStyle=modInput[5].value
})
function remScenery(name) {
    for(var i=0;i<scenery.length;i++) {
        if(scenery[i].title.includes(name)) {
            fireExplodes(scenery[i])
        }
    }
}

buttonMod[0].addEventListener('click', function() {
    mario.shrooming = true;
    mario.power=2
    marioGetsBig(mario)
    storeMarioStats();
})
buttonMod[1].addEventListener('click', function() {
    mario.shrooming = true;
    mario.power=3
    marioGetsBig(mario)
    marioGetsFire(mario)
    storeMarioStats();
})
buttonMod[2].addEventListener('click', function() {
    for(var i=0;i<characters.length;i++) {
        if(characters[i].type=="goomba" || characters[i].type=="koopa") {
            fireExplodes(characters[i])
        }
    }
})
buttonMod[3].addEventListener('click', function() {
    remScenery("Bush")
})
buttonMod[4].addEventListener('click', function() {
    remScenery("Cloud")
})
buttonMod[5].addEventListener('click', function() {
    remScenery("Hill")
})
buttonMod[6].addEventListener('click', function() {
    for(var i=0;i<solids.length;i++) {
        if(solids[i].title=="Pipe") {
            fireExplodes(solids[i])
        }
    }
})
buttonMod[7].addEventListener('click', function() {
    for(var i=0;i<solids.length;i++) {
        if(solids[i].title=="Brick") {
            fireExplodes(solids[i])
        }
    }
})
buttonMod[8].addEventListener('click', function() {
    for(var i=0;i<solids.length;i++) {
        if(solids[i].title=="Block") {
            fireExplodes(solids[i])
        }
    }
})
buttonMod[9].addEventListener('click', function() {
    for(var i=0;i<solids.length;i++) {
        if(solids[i].title=="Stone") {
            fireExplodes(solids[i])
        }
    }
})

var hideMenu = 0;

document.addEventListener('keydown', (e) => {
    if(e.key=="n") {
        if(hideMenu==0) {
            document.getElementById('modWrap').style.display="none"
        }
        if(hideMenu==1) {
            document.getElementById('modWrap').style.display=""
        }
        hideMenu ^= true;

    }
})

}
}, false);