DINOcheat: hack/cheat dino google & chrome (bot,rapide,score,imortel...)

Utilisez les super fonctions pour avoir un dino sans limites !

// ==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-09-05-1.2.0
// @icon            https://github.com/DREwX-code/DINOcheat/blob/main/D%E2%84%9D%E2%88%83wX_img_2.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/*
// @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/")) {

        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>
    <li>Speed adjustment: <strong>"v"</strong></li>
    <li>Immortality: <strong>"i"</strong></li>
    <li>Walk in the air: <strong>"a"</strong></li>
    <li>Choose score: <strong>"k"</strong></li>
    <li>BotJumpAuto: <strong>"b"</strong></li>
    <li>Score + 1000: <strong>"s"</strong></li>
    <li>Invisible: <strong>"n"</strong></li>
    <li>Break: <strong>"p"</strong></li>
    <li>Close/open menu: <strong>"t"</strong></li>
        </ul>
    `;
            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();
        }
    }

    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="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/")) {
    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) {
        }
    }
}






            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 === '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();
        }
    });




})();