DINOcheat: hack/cheat dino google & chrome (bot, velocità, punteggio, immortalità...)

Usa funzionalità fantastiche per avere un dino senza limiti!

Versione datata 22/10/2024. Vedi la nuova versione l'ultima versione.

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

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

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name            DINOcheat: hack/cheat dino google & chrome (bot,rapide,score,imortel...)
// @name:es         DINOcheat: hack/cheat dino google & chrome (bot, velocidad, puntaje, inmortalidad...)
// @name:en         DINOcheat: hack/cheat dino google & chrome (bot,speed,score,imortality...)
// @name:ja         DINOcheat: hack/cheat dino google & chrome (ボット、速度、スコア、不死身...)
// @name:it         DINOcheat: hack/cheat dino google & chrome (bot, velocità, punteggio, immortalità...)
// @namespace       http://tampermonkey.net/
// @version         2024-10-22-1.3.0
// @icon            https://github.com/DREwX-code/DINOcheat/blob/main/D%E2%84%9D%E2%88%83wX_image/D%E2%84%9D%E2%88%83wX_img.png?raw=true
// @description     Utilisez les super fonctions pour avoir un dino sans limites !
// @description:en  Use great features to have a dino without limits!
// @description:es  ¡Utiliza grandes características para tener un dino sin límites!
// @description:ja  特別な機能を駆使して、制限のないディノを手に入れよう!
// @description:it  Usa funzionalità fantastiche per avere un dino senza limiti!
// @author       Dℝ∃wX
// @match        *://chromedino.com/*
// @match        *://tuckercraig.com/dino/*
// @match        *://trex-runner.com/*
// @match        *://dino-chrome.com/*
// @match        *://dinorunner.com/*
// @match        *://googledino.com/*
// @grant        none
// @license      Apache-2.0
// ==/UserScript==

(function() {
    'use strict';


    if (window.location.href.startsWith("https://chromedino.com/") ||
        window.location.href.startsWith("https://tuckercraig.com/dino/")) {

        var menuFooter = document.querySelector('footer.other-versions.__wrapper ul');

        if (menuFooter) {
            var newMenuItem = document.createElement('li');
            var newLink = document.createElement('a');
            newLink.href = "#";
            newLink.innerHTML = '<img src="https://raw.githubusercontent.com/DREwX-code/DINOcheat/refs/heads/main/Dℝ∃wX_image/Dℝ∃wX_img.png" width="40"> <span>Menu</span>';

            newMenuItem.appendChild(newLink);
            menuFooter.appendChild(newMenuItem);

            newLink.addEventListener('click', function(e) {
                e.preventDefault();
                toggleMenuPopup();
            });
        }

    } else if (window.location.href.startsWith("https://dino-chrome.com/") ||
               window.location.href.startsWith("https://googledino.com/")) {

        var mainMenu = document.querySelector('nav.main-menu');
        if (mainMenu) {
            var divider = document.createElement('span');
            divider.className = 'divider';

            var newLink1 = document.createElement('a');
            newLink1.href = "#";
            newLink1.textContent = 'Menu';
            newLink1.style.cursor = 'pointer';

            newLink1.addEventListener('click', function(e) {
                e.preventDefault();
                toggleMenuPopup();
            });

            mainMenu.appendChild(divider);
            mainMenu.appendChild(newLink1);
        }
    } else if (window.location.href.startsWith("https://trex-runner.com/")) {

        var existingMenuDiv = document.querySelector('.menu');

        if (existingMenuDiv) {
            var menuLink = document.createElement('a');
            menuLink.href = "#";
            menuLink.innerHTML = `
                <img src="https://raw.githubusercontent.com/DREwX-code/DINOcheat/refs/heads/main/Dℝ∃wX_image/Dℝ∃wX_img.png">
                <span>Menu</span>
            `;

            menuLink.addEventListener('click', function(e) {
                e.preventDefault();
                toggleMenuPopup();
            });

            existingMenuDiv.appendChild(menuLink);
        }
    }


    if (window.location.hostname === "dinorunner.com") {

        const style = document.createElement('style');
        style.innerHTML = `
                .super-error-popup-overlay {
                    position: fixed;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background: rgba(0, 0, 0, 0.4);
                    z-index: 9998;
                    display: none;
                    opacity: 0;
                    transition: opacity 0.3s ease;
                }
                .super-error-popup {
                    position: fixed;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%) scale(0.7);
                    width: 80%;
                    max-width: 600px;
                    padding: 20px;
                    background: rgba(255, 255, 255, 0.9);
                    border: 1px solid black;
                    border-radius: 12px;
                    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
                    z-index: 9999;
                    display: none;
                    opacity: 0;
                    transition: transform 0.3s ease, opacity 0.3s ease;
                }
                .super-error-popup.open {
                    transform: translate(-50%, -50%) scale(1);
                    opacity: 1;
                }
                .super-error-popup .close-btn {
                    position: absolute;
                    top: 10px;
                    right: 10px;
                    cursor: pointer;
                    font-size: 24px;
                    font-weight: bold;
                    color: red;
                    transition: color 0.3s ease;
                }
                .super-error-popup .close-btn:hover {
                    color: #ff4c4c;
                }
                .super-error-popup .content {
                    padding-top: 20px;
                    font-size: 20px;
                }
                .super-error-popup .content a {
                    color: #007bff;
                    text-decoration: none;
                }
                .super-error-popup .content a:hover {
                    text-decoration: underline;
                }
            `;
        document.head.appendChild(style);

        const overlay = document.createElement('div');
        overlay.className = 'super-error-popup-overlay';
        document.body.appendChild(overlay);

        const popup = document.createElement('div');
        popup.className = 'super-error-popup';
        popup.innerHTML = `
                <span class="close-btn">&times;</span>
                <div class="content">
                    (Dℝ∃wX) Hello, sorry but this script does not work on this site. I advise you to use this site <a href="https://chromedino.com/" target="_blank">https://chromedino.com/</a>
                </div>
            `;
        document.body.appendChild(popup);

        function openErrorPopup() {
            overlay.style.display = 'block';
            popup.style.display = 'block';
            setTimeout(() => {
                overlay.style.opacity = '1';
                popup.classList.add('open');
            }, 10);
        }

        function closeErrorPopup() {
            popup.classList.remove('open');
            overlay.style.opacity = '0';
            setTimeout(() => {
                overlay.style.display = 'none';
                popup.style.display = 'none';
            }, 300);
        }

        popup.querySelector('.close-btn').addEventListener('click', closeErrorPopup);
        overlay.addEventListener('click', closeErrorPopup);

        openErrorPopup();

        return;
    }


    function touche(key) {
        const keyCodes = {
            'ArrowUp': 38,
            'ArrowDown': 40,
            'ArrowLeft': 37,
            'ArrowRight': 39,
        };

        const keyCode = keyCodes[key] || key.charCodeAt(0);

        var event = new KeyboardEvent('keydown', {
            key: key,
            keyCode: keyCode,
            which: keyCode,
            bubbles: true
        });

        document.dispatchEvent(event);
    }



    function updateButtonText(newText) {
        const airWalkButton = document.getElementById('toggleAirWalkButton');

        airWalkButton.textContent = newText;
    }



    let isShortcutEnabled = false;

    let menuPopup = null;
    let windowElement = null;


    function injectDistanceCode() {
        const distanceCode = "Runner.instance_.distanceRan = Runner.instance_.distanceRan + 1000 / Runner.instance_.distanceMeter.config.COEFFICIENT";


        eval(distanceCode);
    }


    const popupStyles = document.createElement('style');
    popupStyles.innerHTML = `
                .modern-menu-popup {
                    position: fixed;
                    top: 50px;
                    left: 50px;
                    width: 300px;
                    height: auto;
                    max-height: 400px;
                    background: rgba(255, 255, 255, 0.9);
                    border: 1px solid #333;
                    border-radius: 12px;
                    padding: 20px;
                    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
                    z-index: 9999;
                    display: none;
                    opacity: 0;
                    transition: opacity 0.3s ease, transform 0.3s ease;
                }
                .modern-menu-popup.open {
                    display: block;
                    opacity: 1;
                    transform: scale(1);
                }
                .modern-menu-popup .header {
                    text-align: center;
                    font-weight: bold;
                    margin-bottom: 15px;
                    font-size: 18px;
                    color: #333;
                }
                .modern-menu-popup .content {
                    font-size: 16px;
                    color: #555;
                }
                .modern-menu-popup .content span {
                    display: block;
                    margin-bottom: 8px;
                }


                .modern-menu-popup .dropdown {
            position: relative;
            display: block;
            cursor: pointer;
            margin-top: 10px;
        }

        .modern-menu-popup .dropdown-title {
            font-weight: bold;
            cursor: pointer;
        }

        .modern-menu-popup .dropdown-content {
            display: none;
            position: absolute;
            background-color: #fff;
            margin-top: 8px;
            padding: 12px;
            border: 1px solid #ddd;
            border-radius: 10px;
            box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15);
            max-height: 250px;
            overflow-y: auto;
            z-index: 1000;
            transition: all 0.3s ease;
        }

        .modern-menu-popup .dropdown-content::-webkit-scrollbar {
            width: 8px;
        }

        .modern-menu-popup .dropdown-content::-webkit-scrollbar-thumb {
            background-color: #bbb;
            border-radius: 4px;
        }

        .modern-menu-popup .dropdown-content::-webkit-scrollbar-thumb:hover {
            background-color: #888;
        }

        .modern-menu-popup .theme-option {
            padding: 8px;
            display: block;
            cursor: pointer;
        }

        .modern-menu-popup .theme-option:hover {
            background-color: #ddd;

        }


                .btn-small-discreet {
                    background-color: #f0f0f0;
                    color: #555;
                    padding: 5px 10px;
                    border: 1px solid #ccc;
                    border-radius: 3px;
                    font-size: 12px;
                    cursor: pointer;
                }

                .btn-small-discreet:hover {
                    background-color: #e0e0e0;
                }

                        .input-small-discreet {
                    width: 80px;
                    padding: 5px;
                    border: 1px solid #ccc;
                    border-radius: 4px;
                }


        .menu-icon {
            width: 25px;
            height: 18px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            position: absolute;
            right: 15px;
            top: 10px;
            cursor: pointer;
            z-index: 1001;
        }

        .menu-icon .bar {
            height: 3px;
            width: 100%;
            background-color: #555;
            border-radius: 2px;
        }

        .side-panel {
            width: 0;
            height: 100%;
            position: fixed;
            top: 0;
            right: 0;
            background-color: #eaeaea;
            border-radius: 10px;
            overflow-x: hidden;
            transition: width 0.4s ease, border-radius 0.4s ease, background-color 0.4s ease;
            box-shadow: -4px 0 12px rgba(0, 0, 0, 0.15);
            z-index: 1000;
        }

        .side-panel.open {
            width: 100%;
            border-radius: 10px;
            background-color: #f0f0f0;
        }

        .side-panel:hover {
            box-shadow: -6px 0 18px rgba(0, 0, 0, 0.2);
        }

        .side-panel-content {
            padding: 20px;
            opacity: 0;
            transform: translateY(10px);
            transition: opacity 0.4s ease, transform 0.4s ease;
        }

        .side-panel.open .side-panel-content {
            opacity: 1;
            transform: translateY(0);
        }


        .options-title {
            text-align: center;
            font-size: 20px;
            margin-bottom: 20px;
            color: #444;
        }

        .switch-container {
            display: flex;
            align-items: center;
            font-size: 14px;
            color: #333;
        }

        .switch-label {
            margin-right: 8px;
            color: #808080;
        }

        .discreet-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

        .discreet-switch input {
            opacity: 0;
            width: 0;
            height: 0;
        }


        .switch-icon {
            width: 24px;
            height: 24px;
            color: #555;
            cursor: pointer;
        }

        .slider {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ddd;
            border-radius: 30px;
            cursor: pointer;
            transition: 0.4s;
        }

        .slider:before {
            position: absolute;
            content: "";
            height: 16px;
            width: 16px;
            left: 2px;
            bottom: 2px;
            background-color: white;
            transition: 0.4s;
            border-radius: 50%;
        }

        input:checked + .slider {
            background-color: #4CAF50;
        }

        input:checked + .slider:before {
            transform: translateX(20px);
        }

        .slider.round {
            border-radius: 30px;
        }

        .slider.round:before {
            border-radius: 50%;
        }

        .credits {
            position: absolute;
            bottom: 10px;
            width: 100%;
            text-align: center;
            font-size: 12px;
            color: #888;
        }

        .credits span {
            display: block;
            font-family: 'Courier New', Courier, monospace;
            letter-spacing: 1px;
        }

        .rating-container {
            margin-top: 20px;
            text-align: center;
        }

        .rating-container {
            display: flex;
            align-items: center;
            margin-top: 20px;
        }

        .rating-label {
            font-size: 14px;
            color: #333;
            margin-right: 10px;
        }

        .rating-stars {
            text-decoration: none;
            color: #f5c518;
            font-size: 20px;
            display: flex;
            align-items: center;
        }

        .rating-stars span {
            margin-right: 2px;
        }

        .icon-spacing {
        margin-right: 8px;
        }




            `;
    document.head.appendChild(popupStyles);




    let isInvisibleActive = false;

    document.addEventListener('keydown', function(event) {
        if (event.key === 'n' && isShortcutEnabled) {
            toggleInvisible();
        }
    });


    let invisibleInterval;

    function toggleInvisible() {
        if (!isInvisibleActive) {
            Runner.instance_.tRex.config.HEIGHT = -20;
            document.getElementById('toggleCheckboxInvisible').checked = true;
        } else {
            Runner.instance_.tRex.config.HEIGHT = 47;
            document.getElementById('toggleCheckboxInvisible').checked = false;
        }

        isInvisibleActive = !isInvisibleActive;
    }



    let isBotActive = false;

    document.addEventListener('keydown', function(event) {
        if (event.key === 'b' && isShortcutEnabled) {
            toggleBot();
        }
    });


    let botInterval;

    function toggleBot() {
        if (!isBotActive) {
            function dispatchKey(type, key) {
                document.dispatchEvent(new KeyboardEvent(type, { keyCode: key }));
            }

            botInterval = setInterval(function () {
                const KEY_CODE_SPACE_BAR = 32;
                const KEY_CODE_ARROW_DOWN = 40;
                const CANVAS_HEIGHT = Runner.instance_.dimensions.HEIGHT;
                const DINO_HEIGHT = Runner.instance_.tRex.config.HEIGHT;

                const obstacle = Runner.instance_.horizon.obstacles[0];
                const speed = Runner.instance_.currentSpeed;

                if (obstacle) {
                    const w = obstacle.width;
                    const x = obstacle.xPos;
                    const y = obstacle.yPos;
                    const yFromBottom = CANVAS_HEIGHT - y - obstacle.typeConfig.height;
                    const isObstacleNearby = x < 25 * speed - w / 2;

                    if (isObstacleNearby) {
                        if (yFromBottom > DINO_HEIGHT) {
                        } else if (y > CANVAS_HEIGHT / 2) {
                            dispatchKey("keyup", KEY_CODE_ARROW_DOWN);
                            dispatchKey("keydown", KEY_CODE_SPACE_BAR);
                        } else {
                            dispatchKey("keydown", KEY_CODE_ARROW_DOWN);
                        }
                    }
                }
            }, Runner.instance_.msPerFrame);

            document.getElementById('toggleCheckboxBot').checked = true;
        } else {
            clearInterval(botInterval);
            document.getElementById('toggleCheckboxBot').checked = false;
        }

        isBotActive = !isBotActive;
    }



    let isImmortal = false;

    document.addEventListener('keydown', function(event) {
        if (event.key === 'i' && isShortcutEnabled) {
            toggleImmortality()

        }
    });


    let originalGameOver = Runner.prototype.gameOver;

    function toggleImmortality() {
        if (!isImmortal) {
            Runner.prototype.gameOver = function () {};
            document.getElementById('toggleCheckboxImmortality').checked = true;
        } else {

            Runner.prototype.gameOver = originalGameOver;
            document.getElementById('toggleCheckboxImmortality').checked = false;
        }

        isImmortal = !isImmortal;
    }



    let isBreak = false;

    document.addEventListener('keydown', function(event) {
        if (event.key === 'p' && isShortcutEnabled) {
            functionBreak();
        }
    });

    function functionBreak() {
        Runner.instance_.stop();
        console.log("Jeu en pause");
    }





function openShortcutsPanel() {
    let shortcutsPanel = document.getElementById('shortcutsPanel');

    if (!shortcutsPanel) {
        shortcutsPanel = document.createElement('div');
        shortcutsPanel.id = 'shortcutsPanel';
        shortcutsPanel.innerHTML = `
            <span id="closeShortcutsPanel" style="position: absolute; top: 10px; right: 15px; cursor: pointer; font-size: 20px;">&times;</span>
            <h3>List of shortcuts</h3>
            <ul id="shortcutsList">
                <li data-description="Adjust jump height of the dino. The normal jump height is 10.">Jump adjustment: <strong>"h"</strong></li>
                <li data-description="Adjust the speed of the game. Normal speed is 7.">Speed adjustment: <strong>"v"</strong></li>
                <li data-description="Become invincible in the game.">Immortality: <strong>"i"</strong></li>
                <li data-description="Fly through the air without falling.">Walk in the air: <strong>"a"</strong></li>
                <li data-description="Select a score manually. You can have the best score.">Choose score: <strong>"k"</strong></li>
                <li data-description="Activate auto-jumping for the dino.">BotJumpAuto: <strong>"b"</strong></li>
                <li data-description="Add 1000 points to your score.">Score + 1000: <strong>"s"</strong></li>
                <li data-description="Make your character invisible. Very cool!">Invisible: <strong>"n"</strong></li>
                <li data-description="Pause the game. Useful if you don't want to lose the score.">Break: <strong>"p"</strong></li>
                <li data-description="Open or close the menu. For greater comfort.">Close/open menu: <strong>"t"</strong></li>
            </ul>
            <div id="descriptionPanel" style="margin-top: 10px; color: #666; display: none;"></div>
        `;
        document.body.appendChild(shortcutsPanel);

        shortcutsPanel.style.position = 'fixed';
        shortcutsPanel.style.top = '0';
        shortcutsPanel.style.right = '-350px';
        shortcutsPanel.style.width = '300px';
        shortcutsPanel.style.height = '100%';
        shortcutsPanel.style.backgroundColor = '#ffffff';
        shortcutsPanel.style.borderLeft = '1px solid #ddd';
        shortcutsPanel.style.borderRadius = '8px';
        shortcutsPanel.style.boxShadow = '-2px 0 10px rgba(0, 0, 0, 0.2)';
        shortcutsPanel.style.padding = '20px';
        shortcutsPanel.style.zIndex = '2000';
        shortcutsPanel.style.transition = 'right 0.3s ease';
        shortcutsPanel.style.display = 'none';
    }

    if (shortcutsPanel.style.display === 'none') {
        shortcutsPanel.style.display = 'block';
        setTimeout(() => {
            shortcutsPanel.style.right = '0';
        }, 10);

        document.getElementById('closeShortcutsPanel').addEventListener('click', closeShortcutsPanel);
    } else {
        closeShortcutsPanel();
    }

    const listItems = document.querySelectorAll('#shortcutsList li');
    const descriptionPanel = document.getElementById('descriptionPanel');

    listItems.forEach(item => {
        item.addEventListener('mouseover', function() {
            const description = this.getAttribute('data-description');
            descriptionPanel.innerText = description;
            descriptionPanel.style.display = 'block';
        });

        item.addEventListener('mouseout', function() {
            descriptionPanel.style.display = 'none';
        });
    });
}

function closeShortcutsPanel() {
    const shortcutsPanel = document.getElementById('shortcutsPanel');
    shortcutsPanel.style.right = '-350px';
    setTimeout(() => {
        shortcutsPanel.style.display = 'none';
    }, 300);
}





    function toggleMenuPopup() {
        if (!menuPopup) {
            menuPopup = document.createElement('div');
            menuPopup.className = 'modern-menu-popup';
            menuPopup.innerHTML = `
                    <head><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"></head>
                    <div class="header">
                    <div class="menu-icon" id="menuIcon">
                    <div class="bar"></div>
                    <div class="bar"></div>
                    <div class="bar"></div>
                    </div>Menu</div>
                    <div class="content">
                    <span>Jump height <input type="number" id="jumpHeightInput" class="input-small-discreet" placeholder="10"></span>
                    <span>Speed adjustment <input type="number" id="speedInput" class="input-small-discreet" placeholder="7"></span>
                    <span>Choose score <input type="number" id="scoreInput" class="input-small-discreet" placeholder="00000"></span>
                        <span>Immortality <label> <input type="checkbox" id="toggleCheckboxImmortality"></label></span>
                        <span>BotJumpAuto <label> <input type="checkbox" id="toggleCheckboxBot"></label></span>
                        <span>Invisible <label> <input type="checkbox" id="toggleCheckboxInvisible"></label></span>
                        <span>Score + <button id="increaseScoreButton" class="btn-small-discreet"> 1000 </button></span>
                        <span>Walk in <button id="toggleAirWalkButton" class="btn-small-discreet">the air</button></span>
                            <div class="dropdown">
                                <span class="dropdown-title">Dino theme</span>
                                <div class="dropdown-content">
                                    <span class="theme-option" data-theme="color">Color</span>
                                    <span class="theme-option" data-theme="mario">Mario</span>
                                    <span class="theme-option" data-theme="trump">Trump</span>
                                    <span class="theme-option" data-theme="joker">Joker</span>
                                    <span class="theme-option" data-theme="batman">Batman</span>
                                <span class="theme-option" data-theme="night">Night</span>
                                <span class="theme-option" data-theme="squid_game">Squid Game</span>
                                <span class="theme-option" data-theme="santa">Santa</span>
                                <span class="theme-option" data-theme="halloween">Halloween</span>
                                <span class="theme-option" data-theme="wednesday">Wednesday</span>
                                <span class="theme-option" data-theme="naruto">Naruto</span>
                                <span class="theme-option" data-theme="naruto2">Naruto 2</span>
                                <span class="theme-option" data-theme="godzilla">Godzilla</span>
                                <span class="theme-option" data-theme="cat">Cat</span>
                                <span class="theme-option" data-theme="ninja">Ninja</span>
                                <span class="theme-option" data-theme="classic">Classic</span>
                            </div>
                        </div>
                    </div>

    <div id="sidePanel" class="side-panel">
    <div class="side-panel-content">
    <h2 class="options-title">Options</h2>

    <div class="switch-container">
    <span class="switch-label">Shortcuts</span>
    <svg id="eyeIcon" class="switch-icon icon-spacing" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
    <path d="M1.73 12c1.36-2.15 4.3-7 10.27-7s8.91 4.85 10.27 7c-1.36 2.15-4.3 7-10.27 7S3.09 14.15 1.73 12zM12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"></path>
    </svg>
    <label class="discreet-switch">
    <input type="checkbox" id="toggleShortcut">
    <span class="slider round"></span>
    </label>
    </div>

    <div class="switch-container">
    <span class="switch-label">Break</span>
    <svg id="breakIcon" class="switch-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
    <rect x="6" y="4" width="3" height="16"></rect>
    <rect x="15" y="4" width="3" height="16"></rect>
    </svg>
    </div>




    <div class="rating-container">
        <span class="rating-label">Rate the script:</span>
        <a href="https://greasyfork.org/en/scripts/486972-dinocheat-hack-cheat-dino-google-chrome-bot-rapide-score-imortel/feedback?locale_override=1" target="_blank" class="rating-stars">
            ⭐️ ⭐️ ⭐️ ⭐️ ⭐️
        </a>
    </div>
    </div>

    <div class="credits">
    <span>Credit by Dℝ∃wX</span>
    </div>
    </div>



                `;

            document.body.appendChild(menuPopup);
            setTimeout(() => {
                menuPopup.classList.add('open');
            }, 10);


            const checkbox = document.getElementById('toggleCheckbox');
            const statusText = document.getElementById('status');




            document.getElementById('toggleShortcut').addEventListener('change', function() {
                isShortcutEnabled = this.checked;
            });



            function detectEyeClick() {
                const eyeIcon = document.getElementById('eyeIcon');

                if (eyeIcon) {
                    eyeIcon.addEventListener('click', function() {
                        openShortcutsPanel();
                    });
                }
            }
            detectEyeClick();


            function detectBreakClick() {
                const breakIcon = document.getElementById('breakIcon');

                if (breakIcon) {
                    breakIcon.addEventListener('click', function() {
                        functionBreak();
                    });
                }
            }
            detectBreakClick();



            document.getElementById('toggleCheckboxBot').addEventListener('change', function() {
                if (this.checked) {
                    toggleBot()
                } else {
                    toggleBot()
                }
            });

            document.getElementById('toggleCheckboxInvisible').addEventListener('change', function() {
                if (this.checked) {
                    toggleInvisible()
                } else {
                    toggleInvisible()
                }
            });

            document.getElementById('toggleCheckboxImmortality').addEventListener('change', function() {
                if (this.checked) {
                    toggleImmortality()
                } else {
                    toggleImmortality()
                }
            });

            document.getElementById('menuIcon').addEventListener('click', function() {
                const sidePanel = document.getElementById('sidePanel');
                sidePanel.classList.toggle('open');
                const dropdownContent = document.querySelector('.dropdown-content');
                dropdownContent.style.display = 'none';
            });





            document.querySelector('.dropdown-title').addEventListener('click', function() {
                const dropdownContent = document.querySelector('.dropdown-content');
                dropdownContent.style.display = dropdownContent.style.display === 'block' ? 'none' : 'block';
            });

            document.querySelectorAll('.theme-option').forEach(option => {
                option.addEventListener('click', function() {
                    let theme = this.getAttribute('data-theme');
                    applyTheme(theme);
                });
            });



            let isDragging = false;
            let offsetX, offsetY;

            const header = menuPopup.querySelector('.header');

            document.getElementById('jumpHeightInput').addEventListener('change', function() {
                const jumpHeight = parseFloat(this.value);
                if (!isNaN(jumpHeight)) {
                    Runner.instance_.tRex.setJumpVelocity(jumpHeight);
                } else {
                    alert("Invalid input. Please enter a number.");
                }
            });

            document.getElementById('speedInput').addEventListener('change', function() {
                const speed = parseFloat(this.value);
                if (!isNaN(speed)) {
                    Runner.instance_.setSpeed(speed);
                } else {
                    alert("Invalid speed. Please enter a number.");
                }
            });

            document.getElementById('scoreInput').addEventListener('change', function() {
                const newScore = parseInt(this.value, 10);
                if (!isNaN(newScore) && Number.isInteger(newScore) && newScore <= 999999) {
                    Runner.instance_.distanceRan = newScore / Runner.instance_.distanceMeter.config.COEFFICIENT;
                } else {
                    alert("Invalid input. Please enter an integer less than 999999.");
                }
            });

            function increaseScore() {
                const scoreIncrement = 1000;
                if (Runner.instance_) {
                    Runner.instance_.distanceRan += scoreIncrement / Runner.instance_.distanceMeter.config.COEFFICIENT;
                } else {
                    alert("Runner instance is not available.");
                }
            }

            document.getElementById('increaseScoreButton').addEventListener('click', increaseScore);




            let isWalkingInTheAir = false;

            document.getElementById('toggleAirWalkButton').addEventListener('click', function() {
                if (isWalkingInTheAir) {
                    Runner.instance_.tRex.groundYPos = 93;
                    updateButtonText('the air');
                    touche('ArrowUp');

                } else {
                    Runner.instance_.tRex.groundYPos = 0;
                    updateButtonText('the ground');
                    touche('ArrowUp');

                }

                isWalkingInTheAir = !isWalkingInTheAir;
            });

if (window.location.href.startsWith("https://dino-chrome.com/") ||
    window.location.href.startsWith("https://googledino.com/")) {
    for (let i = 0; i < document.styleSheets.length; i++) {
        let styleSheet = document.styleSheets[i];

        try {
            for (let j = 0; j < styleSheet.cssRules.length; j++) {
                let rule = styleSheet.cssRules[j];

                if (rule.selectorText && rule.selectorText.includes('*')) {
                    styleSheet.deleteRule(j);
                    break;
                }
            }
        } catch (e) {
        }
    }

let elements = document.querySelectorAll('.rating-stars');

elements.forEach(element => {
    element.style.textDecoration = 'none';
});
}






            header.addEventListener('mousedown', function(event) {
                isDragging = true;
                offsetX = event.clientX - menuPopup.offsetLeft;
                offsetY = event.clientY - menuPopup.offsetTop;
                header.style.cursor = 'grabbing';
            });

            document.addEventListener('mousemove', function(event) {
                if (isDragging) {
                    menuPopup.style.left = event.clientX - offsetX + 'px';
                    menuPopup.style.top = event.clientY - offsetY + 'px';
                }
            });

            document.addEventListener('mouseup', function() {
                if (isDragging) {
                    isDragging = false;
                    header.style.cursor = 'move';
                }
            });

        } else {
            menuPopup.classList.remove('open');
            setTimeout(() => {
                document.body.removeChild(menuPopup);
                menuPopup = null;
            }, 300);
        }
    }



    document.addEventListener('keydown', function(event) {
        if (event.key === 'h' && isShortcutEnabled) {
            const userInput = prompt("Enter the new jump height:");
            const jumpHeight = parseFloat(userInput);
            if (!isNaN(jumpHeight)) {
                Runner.instance_.tRex.setJumpVelocity(jumpHeight);
                document.getElementById('jumpHeightInput').value = jumpHeight;
            } else {
                alert("Invalid input. Please enter a number.");
            }
        }
    });

    function applyTheme(theme) {
        if (theme === 'color') {
            document.getElementById('offline-resources-1x').src = 'https://chromedino.com/assets/chromedino_coloured-1x.png';
            document.getElementById('offline-resources-2x').src = 'https://chromedino.com/assets/chromedino_coloured-2x.png';
            document.body.style.backgroundColor = '#f7f7f7';
        } else if (theme === 'mario') {
            document.getElementById('offline-resources-1x').src = 'https://chromedino.com/assets/offline-sprite-1x-mario.png';
            document.getElementById('offline-resources-2x').src = 'https://chromedino.com/assets/offline-sprite-2x-mario.png';
            document.body.style.backgroundColor = '#75a6fa';
        } else if (theme === 'trump') {
            document.getElementById('offline-resources-1x').src = 'https://dino-chrome.com/trumpino-game/trump1x.png';
            document.getElementById('offline-resources-2x').src = 'https://dino-chrome.com/trumpino-game/trump2x.png';
            document.body.style.backgroundColor = '#f7f7f7';
        }
        else if (theme === 'joker') {
            document.getElementById('offline-resources-1x').src = 'https://chromedino.com/assets/joker1x.png';
            document.getElementById('offline-resources-2x').src = 'https://chromedino.com/assets/joker2x.png';
            document.body.style.backgroundColor = '#f7f7f7';
        }
        else if (theme === 'batman') {
            document.getElementById('offline-resources-1x').src = 'https://chromedino.com/assets/batman1x.png';
            document.getElementById('offline-resources-2x').src = 'https://chromedino.com/assets/batman2x.png';
            document.body.style.backgroundColor = '#000000';
        }
        else if (theme === 'night') {
            document.getElementById('offline-resources-1x').src = 'https://chromedino.com/assets/offline-sprite-1x-black.png';
            document.getElementById('offline-resources-2x').src = 'https://chromedino.com/assets/offline-sprite-2x-black.png';
            document.body.style.backgroundColor = '#000000';
        }
        else if (theme === 'squid_game') {
            document.getElementById('offline-resources-1x').src = 'https://dinorunner.com/static/images/squid-game/squid_game1x.png';
            document.getElementById('offline-resources-2x').src = 'https://dinorunner.com/static/images/squid-game/squid_game2x.png';
            document.body.style.backgroundColor = '#f7f7f7';
        }
        else if (theme === 'santa') {
            document.getElementById('offline-resources-1x').src = 'https://dinorunner.com/static/images/santa/offline-sprite-1x-santa.png';
            document.getElementById('offline-resources-2x').src = 'https://dinorunner.com/static/images/santa/offline-sprite-2x-santa.png';
            document.body.style.backgroundColor = '#f7f7f7';
        }
        else if (theme === 'halloween') {
            document.getElementById('offline-resources-1x').src = 'https://dinorunner.com/static/images/halloween/offline-sprite-1x-halloween.png';
            document.getElementById('offline-resources-2x').src = 'https://dinorunner.com/static/images/halloween/offline-sprite-2x-halloween.png';
            document.body.style.backgroundColor = '#584766';
        }
        else if (theme === 'wednesday') {
            document.getElementById('offline-resources-1x').src = 'https://dinorunner.com/static/images/wednesday/wednesday1x.png';
            document.getElementById('offline-resources-2x').src = 'https://dinorunner.com/static/images/wednesday/wednesday2x.png';
            document.body.style.backgroundColor = '#f7f7f7';
        }
        else if (theme === 'naruto') {
            document.getElementById('offline-resources-1x').src = 'https://dinorunner.com/static/images/naruto/offline-sprite-1x-naruto.png';
            document.getElementById('offline-resources-2x').src = 'https://dinorunner.com/static/images/naruto/offline-sprite-2x-naruto.png';
            document.body.style.backgroundColor = '#f7f7f7';
        }
        else if (theme === 'naruto2') {
            document.getElementById('offline-resources-1x').src = 'https://trex-runner.com/img/offline-sprite-1x-naruto.png';
            document.getElementById('offline-resources-2x').src = 'https://trex-runner.com/img/offline-sprite-2x-naruto.png';
            document.body.style.backgroundColor = '#e1f7fa';
        }
        else if (theme === 'godzilla') {
            document.getElementById('offline-resources-1x').src = 'https://dinorunner.com/static/images/godzilla/godzilla.png';
            document.getElementById('offline-resources-2x').src = 'https://dinorunner.com/static/images/godzilla/godzillax2.png';
            document.body.style.backgroundColor = '#2e2e2e';

        }
        else if (theme === 'cat') {
            document.getElementById('offline-resources-1x').src = 'https://dinosaur-game.io/game/nyancat/img/cat.png';
            document.getElementById('offline-resources-2x').src = 'https://dinosaur-game.io/game/nyancat/img/catx2.png';
            document.body.style.backgroundColor = '#000000';
        }
        else if (theme === 'ninja') {
            document.getElementById('offline-resources-1x').src = 'https://t-rex-runner.com/t-rex/assets/offline-sprite-1x.png';
            document.getElementById('offline-resources-2x').src = 'https://t-rex-runner.com/t-rex/assets/offline-sprite-2x.png';
            document.body.style.backgroundColor = '#f7f7f7';
        }
        else if (theme === 'classic') {
            document.getElementById('offline-resources-1x').src = 'https://dino-chrome.com/static/images/1.png';
            document.getElementById('offline-resources-2x').src = 'https://dino-chrome.com/static/images/2.png';
            document.body.style.backgroundColor = '#f7f7f7';
        }
    }

    document.addEventListener('keydown', function(event) {
        if (event.key === 't' && isShortcutEnabled) {
            toggleMenuPopup();
        }
    });







    const style = document.createElement('style');
    style.innerHTML = `
                .super-itck-popup-overlay {
                    position: fixed;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background: rgba(0, 0, 0, 0.4);
                    z-index: 9998;
                    display: none;
                    opacity: 0;
                    transition: opacity 0.3s ease;
                }
                .super-itck-popup {
                    position: fixed;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%) scale(0.7);
                    width: 80%;
                    max-width: 600px;
                    padding: 20px;
                    background: rgba(255, 255, 255, 0.9);
                    border: 1px solid black;
                    border-radius: 12px;
                    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
                    z-index: 9999;
                    display: none;
                    opacity: 0;
                    transition: transform 0.3s ease, opacity 0.3s ease;
                }
                .super-itck-popup.open {
                    transform: translate(-50%, -50%) scale(1);
                    opacity: 1;
                }
                .super-itck-popup .close-btn {
                    position: absolute;
                    top: 10px;
                    right: 10px;
                    cursor: pointer;
                    font-size: 24px;
                    font-weight: bold;
                    color: red;
                    transition: color 0.3s ease;
                }
                .super-itck-popup .close-btn:hover {
                    color: #ff4c4c;
                }
                .super-itck-popup .content {
                    padding-top: 20px;
                    font-size: 20px;
                }
            `;
    document.head.appendChild(style);


    const overlay = document.createElement('div');
    overlay.className = 'super-itck-popup-overlay';
    document.body.appendChild(overlay);

    const popup = document.createElement('div');
    popup.className = 'super-itck-popup';
    popup.innerHTML = `
                <span class="close-btn">&times;</span>
                <div class="content">
                    (Dℝ∃wX) Hello, thank you for choosing my script,<br>Press "t" to view the menu. Have fun! ;)
                </div>
            `;
    document.body.appendChild(popup);


    function openPopup() {
        overlay.style.display = 'block';
        popup.style.display = 'block';
        setTimeout(() => {
            overlay.style.opacity = '1';
            popup.classList.add('open');
        }, 10);
    }


    function closePopup() {
        popup.classList.remove('open');
        overlay.style.opacity = '0';
        setTimeout(() => {
            overlay.style.display = 'none';
            popup.style.display = 'none';
            toggleMenuPopup();

        }, 300);
    }


    popup.querySelector('.close-btn').addEventListener('click', closePopup);
    overlay.addEventListener('click', closePopup);


    openPopup();




    document.addEventListener('keydown', function(event) {
        if (event.key === 'v' && isShortcutEnabled) {
            const userInput = prompt("Choose the speed:");
            const speed = parseFloat(userInput);
            if (!isNaN(speed)) {
                Runner.instance_.setSpeed(speed);
                document.getElementById('speedInput').value = speed;
            } else {
                alert("Invalid speed. Please enter a number.");
            }
        }
    });



    let isWalkingInTheAir = false;


    document.addEventListener('keydown', function(event) {
        if (event.key === 'a' && isShortcutEnabled) {

            if (isWalkingInTheAir) {
                Runner.instance_.tRex.groundYPos = 93;
                updateButtonText('the air');
                touche('ArrowUp');
            } else {
                Runner.instance_.tRex.groundYPos = 0;
                updateButtonText('the ground');
                touche('ArrowUp');
            }

            isWalkingInTheAir = !isWalkingInTheAir;
        }
    });


    document.addEventListener('keydown', function(event) {
        if (event.key === 'k' && isShortcutEnabled) {
            const userInput = prompt("Enter the new score (integer, less than 999990):");
            const newScore = parseInt(userInput, 10);
            if (!isNaN(newScore) && Number.isInteger(newScore) && newScore < 999990) {
                Runner.instance_.distanceRan = newScore / Runner.instance_.distanceMeter.config.COEFFICIENT;
                document.getElementById('scoreInput').value = newScore;
            } else {
                alert("Invalid input. Please enter an integer less than 999990.");
            }
        }
    });

    if (window.location.href === '*://chrome-dino.co/*') {
        const popup = document.createElement('div');
        popup.className = 'super-itck-popup';

        popup.style.position = 'fixed';
        popup.style.top = '20%';
        popup.style.left = '50%';
        popup.style.transform = 'translate(-50%, -50%)';
        popup.style.padding = '20px';
        popup.style.backgroundColor = '#fff';
        popup.style.border = '2px solid #000';
        popup.style.boxShadow = '0 0 10px rgba(0,0,0,0.5)';
        popup.style.zIndex = '1000';
        popup.style.color = '#000';

        popup.innerHTML = `
                <span class="close-btn" style="cursor: pointer; font-size: 24px; position: absolute; top: 5px; right: 10px;">&times;</span>
                <div class="content" style="font-family: Arial, sans-serif; font-size: 16px;">
                    (Dℝ∃wX) Hello, thank you for choosing my script,<br>Press "t" to view the menu. Have fun! ;)
                </div>
            `;

        document.body.appendChild(popup);

        document.querySelector('.super-itck-popup .close-btn').addEventListener('click', function() {
            popup.remove();
        });
    }



    document.addEventListener('keydown', function(event) {
        if (event.key === 's' && isShortcutEnabled) {
            injectDistanceCode();
        }
    });




})();