Leia-me basic cheat

Cheat para leia-me basic

当前为 2024-11-25 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Leia-me basic cheat
// @namespace    http://tampermonkey.net/
// @version      2.3
// @description  Cheat para leia-me basic
// @author       iUnknown owner // update by wyzop__
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    let count = 0;
    let maxTimes = 300;
    let intervalId;
    let isRunning = false;
    let detectQuiz = true;
    let autoContinueAfterQuiz = false;
    let intervalTime = 1000;
    let quizCheckIntervalId = null;

    const style = document.createElement('style');
    style.textContent = `
        @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap');

        :root {
            --primary-color: #4a90e2;
            --secondary-color: #f39c12;
            --background-color: #2c3e50;
            --text-color: #ecf0f1;
            --success-color: #2ecc71;
            --danger-color: #e74c3c;
            --input-background: #34495e;
            --hover-color: #3498db;
        }

        .leiacheat-bar {
            position: fixed;
            top: 20px;
            right: 20px;
            color: var(--text-color);
            padding: 15px 20px;
            border-radius: 10px;
            font-family: 'Roboto', sans-serif;
            z-index: 10000;
            cursor: pointer;
            transition: all 0.3s ease;
            background-color: rgba(74, 144, 226, 0.8);
            border: 2px solid var(--primary-color);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }

        .leiacheat-bar:hover {
            transform: translateY(-3px);
            box-shadow: 0 6px 20px rgba(74, 144, 226, 0.4);
            background-color: rgba(74, 144, 226, 1);
        }

        .leiacheat-bar h3 {
            margin: 0;
            font-size: 18px;
            font-weight: 700;
            letter-spacing: 1px;
        }

        .leiacheat-menu {
            display: none;
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: var(--background-color);
            color: var(--text-color);
            padding: 25px;
            border-radius: 15px;
            font-family: 'Roboto', sans-serif;
            z-index: 10000;
            box-shadow: 0 8px 30px rgba(0,0,0,0.4);
            width: 90%;
            max-width: 350px;
            max-height: 90vh;
            overflow-y: auto;
        }

        @media (max-width: 768px) {
            .leiacheat-menu {
                width: 95%;
                padding: 15px;
                font-size: 16px;
            }

            .leiacheat-menu button,
            .leiacheat-menu input[type="number"] {
                font-size: 16px;
                padding: 15px;
                height: 50px;
            }

            .leiacheat-menu-header h2 {
                font-size: 20px;
            }

            .leiacheat-menu-section h3 {
                font-size: 18px;
            }

            .leiacheat-menu label {
                font-size: 16px;
            }

            .leiacheat-tooltip .leiacheat-tooltiptext {
                font-size: 14px;
                width: 250px;
                margin-left: -125px;
            }

            .leiacheat-menu-footer {
                font-size: 14px;
            }

            .leiacheat-bar h3 {
                font-size: 16px;
            }

            .leiacheat-notification {
                font-size: 14px;
                padding: 12px 20px;
            }
        }

        .leiacheat-menu::-webkit-scrollbar {
            width: 10px;
        }

        .leiacheat-menu::-webkit-scrollbar-track {
            background: var(--background-color);
            border-radius: 10px;
        }

        .leiacheat-menu::-webkit-scrollbar-thumb {
            background: var(--primary-color);
            border-radius: 10px;
        }

        .leiacheat-menu::-webkit-scrollbar-thumb:hover {
            background: var(--hover-color);
        }

        .leiacheat-menu-header {
            text-align: center;
            margin-bottom: 20px;
            padding-bottom: 15px;
            border-bottom: 2px solid var(--primary-color);
        }

        .leiacheat-menu-header h2 {
            font-size: 24px;
            margin: 0;
            color: var(--primary-color);
            text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
        }

        .leiacheat-menu-section {
            margin-bottom: 25px;
            padding: 15px;
            background-color: rgba(52, 73, 94, 0.5);
            border-radius: 10px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        }

        .leiacheat-menu-section h3 {
            font-size: 18px;
            margin-bottom: 15px;
            color: var(--secondary-color);
            border-bottom: 1px solid var(--secondary-color);
            padding-bottom: 5px;
        }

        .leiacheat-menu button {
            margin: 10px 0;
            padding: 12px 20px;
            border: none;
            border-radius: 8px;
            cursor: pointer;
            font-size: 16px;
            font-weight: 500;
            transition: all 0.3s ease;
            width: 100%;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        #start-btn {
            background-color: var(--success-color);
            color: white;
        }

        #start-btn:disabled {
            background-color: #95a5a6;
            cursor: not-allowed;
        }

        #stop-btn {
            background-color: var(--danger-color);
            color: white;
        }

        #stop-btn:disabled {
            background-color: #95a5a6;
            cursor: not-allowed;
        }

        .leiacheat-menu button:hover:not(:disabled) {
            transform: translateY(-2px);
            box-shadow: 0 4px 10px rgba(0,0,0,0.2);
            filter: brightness(110%);
        }

        .leiacheat-menu button:active:not(:disabled) {
            transform: translateY(1px);
            box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        }

        .leiacheat-menu input[type="number"] {
            width: 100%;
            padding: 12px;
            margin: 10px 0;
            border: none;
            border-radius: 8px;
            background-color: var(--input-background);
            color: var(--text-color);
            font-size: 14px;
            transition: all 0.3s ease;
        }

        .leiacheat-menu input[type="number"]:focus {
            outline: none;
            box-shadow: 0 0 0 2px var(--primary-color);
        }

        .leiacheat-menu label {
            display: flex;
            align-items: center;
            margin: 15px 0;
            font-size: 14px;
            cursor: pointer;
        }

        .leiacheat-menu input[type="checkbox"] {
            margin-right: 10px;
            width: 18px;
            height: 18px;
            cursor: pointer;
            appearance: none;
            -webkit-appearance: none;
            background-color: var(--input-background);
            border: 2px solid var(--primary-color);
            border-radius: 4px;
            outline: none;
            transition: all 0.3s ease;
        }

        .leiacheat-menu input[type="checkbox"]:checked {
            background-color: var(--primary-color);
        }

        .leiacheat-menu input[type="checkbox"]:checked::before {
            content: '✓';
            display: block;
            text-align: center;
            color: var(--text-color);
            font-size: 14px;
            line-height: 18px;
        }

        .leiacheat-notification {
            position: fixed;
            bottom: 30px;
            right: 30px;
            background-color: var(--primary-color);
            color: var(--text-color);
            padding: 15px 25px;
            border-radius: 10px;
            font-family: 'Roboto', sans-serif;
            z-index: 10001;
            opacity: 0;
            transition: all 0.3s ease-in-out;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
            max-width: 300px;
        }

        .leiacheat-menu-footer {
            text-align: center;
            margin-top: 20px;
            padding-top: 15px;
            border-top: 2px solid var(--primary-color);
            font-size: 12px;
            color: var(--text-color);
        }

        .leiacheat-menu-footer p {
            margin: 5px 0;
        }

        .leiacheat-tooltip {
            position: relative;
            display: inline-block;
            cursor: help;
        }

        .leiacheat-tooltip .leiacheat-tooltiptext {
            visibility: hidden;
            width: 200px;
            background-color: var(--background-color);
            color: var(--text-color);
            text-align: center;
            border-radius: 6px;
            padding: 5px;
            position: absolute;
            z-index: 1;
            bottom: 125%;
            left: 50%;
            margin-left: -100px;
            opacity: 0;
            transition: opacity 0.3s;
        }

        .leiacheat-tooltip:hover .leiacheat-tooltiptext {
            visibility: visible;
            opacity: 1;
        }

        .leiacheat-menu-section-content {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .leiacheat-input-group {
            display: flex;
            flex-direction: column;
            gap: 5px;
        }

        .leiacheat-input-group label {
            font-weight: bold;
        }

        .leiacheat-checkbox-group {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .leiacheat-checkbox-group label {
            font-weight: normal;
        }

        .leiacheat-instructions {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background-color: var(--background-color);
            color: var(--text-color);
            padding: 25px;
            border-radius: 15px;
            font-family: 'Roboto', sans-serif;
            z-index: 10002;
            box-shadow: 0 8px 30px rgba(0,0,0,0.4);
            width: 90%;
            max-width: 400px;
            max-height: 90vh;
            overflow-y: auto;
        }

        .leiacheat-instructions h2 {
            color: var(--primary-color);
            margin-bottom: 15px;
        }

        .leiacheat-instructions p {
            margin-bottom: 10px;
        }

        .leiacheat-instructions button {
            background-color: var(--primary-color);
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 5px;
            cursor: pointer;
            margin-top: 15px;
        }

        .leiacheat-instructions button:hover {
            background-color: var(--hover-color);
        }

        @media (max-width: 768px) {
            body, input, button, select, textarea {
                font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif !important;
            }

            .leiacheat-menu, .leiacheat-instructions, .leiacheat-notification {
                font-size: 16px !important;
                line-height: 1.5 !important;
            }

            .leiacheat-menu input[type="number"],
            .leiacheat-menu input[type="checkbox"],
            .leiacheat-menu label,
            .leiacheat-menu button {
                font-size: 16px !important;
            }

            .leiacheat-menu-header h2 {
                font-size: 22px !important;
            }

            .leiacheat-menu-section h3 {
                font-size: 20px !important;
            }

            .leiacheat-tooltip .leiacheat-tooltiptext {
                font-size: 14px !important;
            }

            .leiacheat-bar h3 {
                font-size: 18px !important;
            }
        }
    `;
    document.head.appendChild(style);

    function createBar() {
        const bar = document.createElement('div');
        bar.className = 'leiacheat-bar';
        bar.innerHTML = `
            <h3>LeiaCheat</h3>
        `;
        document.body.appendChild(bar);

        bar.addEventListener('click', toggleMenu);
    }

    function createMenu() {
        const menu = document.createElement('div');
        menu.className = 'leiacheat-menu';
        menu.innerHTML = `
            <div class="leiacheat-menu-header">
                <h2>LeiaCheat Configurações</h2>
            </div>

            <div class="leiacheat-menu-section">
                <h3>Controles</h3>
                <div class="leiacheat-menu-section-content">
                    <button id="start-btn">Iniciar</button>
                    <button id="stop-btn" disabled>Parar</button>
                </div>
            </div>

            <div class="leiacheat-menu-section">
                <h3>Configurações de Tempo</h3>
                <div class="leiacheat-menu-section-content">
                    <div class="leiacheat-input-group">
                        <label for="seconds-input">Tempo de passagem (segundos):</label>
                        <input type="number" id="seconds-input" min="1" step="1">
                    </div>
                    <div class="leiacheat-input-group">
                        <label for="milliseconds-input">Tempo de passagem (milissegundos):</label>
                        <input type="number" id="milliseconds-input" min="1" step="1">
                    </div>
                </div>
            </div>

            <div class="leiacheat-menu-section">
                <h3>Opções Adicionais</h3>
                <div class="leiacheat-menu-section-content">
                    <div class="leiacheat-checkbox-group">
                        <input type="checkbox" id="detect-quiz" checked>
                        <label for="detect-quiz">
                            Detectar quiz (atividade)
                            <span class="leiacheat-tooltip">ℹ️
                                <span class="leiacheat-tooltiptext">Com está opção ativada, irá parar antes de ativadades</span>
                            </span>
                        </label>
                    </div>
                    <div class="leiacheat-checkbox-group">
                        <input type="checkbox" id="auto-continue">
                        <label for="auto-continue">
                            Auto-continuar depois da atividade
                            <span class="leiacheat-tooltip">ℹ️
                                <span class="leiacheat-tooltiptext">Com esta opção ativada, irá continuar a passagem automaticamente depois do quiz sumir</span>
                            </span>
                        </label>
                    </div>
                </div>
            </div>

            <div class="leiacheat-menu-footer">
                <p>Desenvolvido por iUnknown owner</p>
                <p>Atualizado por wyzop__</p>
                <p>Versão 3.2</p>
            </div>
        `;
        document.body.appendChild(menu);

        document.getElementById('start-btn').addEventListener('click', startInterval);
        document.getElementById('stop-btn').addEventListener('click', stopInterval);
        document.getElementById('seconds-input').addEventListener('input', updateIntervalFromSeconds);
        document.getElementById('milliseconds-input').addEventListener('input', updateIntervalFromMilliseconds);
        document.getElementById('detect-quiz').addEventListener('change', (e) => {
            detectQuiz = e.target.checked;
        });
        document.getElementById('auto-continue').addEventListener('change', (e) => {
            autoContinueAfterQuiz = e.target.checked;
        });
    }

    function createInstructions() {
        const instructions = document.createElement('div');
        instructions.className = 'leiacheat-instructions';
        instructions.style.display = 'block'; // Garante que as instruções sejam visíveis inicialmente
        instructions.innerHTML = `
            <h2>Instruções de uso:</h2>
            <p>1. Clique no botão à direita escrito "LeiaCheat"</p>
            <p>2. Irá abrir um menu com funções autoexplicativas.</p>
            <button id="close-instructions-btn">Fechar instruções</button>
        `;
        document.body.appendChild(instructions);

        // Adiciona o evento de clique diretamente ao botão
        const closeButton = instructions.querySelector('#close-instructions-btn');
        closeButton.addEventListener('click', function() {
            instructions.style.display = 'none';
        });

        // Retorna o elemento de instruções
        return instructions;
    }

    function toggleMenu() {
        const menu = document.querySelector('.leiacheat-menu');
        menu.style.display = menu.style.display === 'none' ? 'block' : 'none';
    }

    function showNotification(message) {
        const notification = document.createElement('div');
        notification.className = 'leiacheat-notification';
        notification.textContent = message;
        document.body.appendChild(notification);

        setTimeout(() => {
            notification.style.opacity = '1';
            notification.style.transform = 'translateY(-20px)';
        }, 100);

        setTimeout(() => {
            notification.style.opacity = '0';
            notification.style.transform = 'translateY(0)';
            setTimeout(() => {
                document.body.removeChild(notification);
            }, 300);
        }, 3000);
    }

    function updateIntervalFromSeconds() {
        const seconds = document.getElementById('seconds-input').value;
        if (seconds) {
            intervalTime = seconds * 1000;
            document.getElementById('milliseconds-input').value = '';
        }
    }

    function updateIntervalFromMilliseconds() {
        const milliseconds = document.getElementById('milliseconds-input').value;
        if (milliseconds) {
            intervalTime = parseInt(milliseconds);
            document.getElementById('seconds-input').value = '';
        }
    }

    function startInterval() {
        if (isRunning) {
            showNotification("O script já está em execução");
            return;
        }

        const secondsInput = document.getElementById('seconds-input').value;
        const millisecondsInput = document.getElementById('milliseconds-input').value;

        if (!secondsInput && !millisecondsInput) {
            showNotification("defina um tempo em segundos ou milissegundos.");
            return;
        }

        if (isNaN(secondsInput) && isNaN(millisecondsInput)) {
            showNotification("Só números são aceitos nos textbox de tempo.");
            return;
        }

        if (secondsInput && millisecondsInput) {
            showNotification("Por favor escolha apenas um segundos ou milissegundos.");
            return;
        }

        isRunning = true;
        count = 0;
        const event = new KeyboardEvent('keydown', { key: 'ArrowRight', code: 'ArrowRight', keyCode: 39, which: 39, bubbles: true });

        intervalId = setInterval(() => {
            if (detectQuiz && (document.querySelector('[data-quiz]') || document.querySelector('#quiz'))) {
                if (autoContinueAfterQuiz) {
                    if (!quizCheckIntervalId) {
                        quizCheckIntervalId = setInterval(() => {
                            if (!document.querySelector('[data-quiz]') && !document.querySelector('#quiz')) {
                                clearInterval(quizCheckIntervalId);
                                quizCheckIntervalId = null;
                                showNotification("Quiz finalizado. Continuando a passagem de páginas.");
                                document.dispatchEvent(event);
                            }
                        }, 1000);
                    }
                } else {
                    stopInterval();
                    showNotification("O script parou devido a uma atividade (quiz).");
                }
                return;
            }

            document.dispatchEvent(event);
            count++;
        }, intervalTime);

        showNotification("Iniciou a passagem de páginas.");
        document.getElementById('start-btn').disabled = true;
        document.getElementById('stop-btn').disabled = false;
    }

    function stopInterval() {
        if (!isRunning) return;
        clearInterval(intervalId);
        if (quizCheckIntervalId) {
            clearInterval(quizCheckIntervalId);
            quizCheckIntervalId = null;
        }
        isRunning = false;
        showNotification("Script parado");
        document.getElementById('start-btn').disabled = false;
        document.getElementById('stop-btn').disabled = true;
    }

    const RAYZEResolver = {
        bugDetected: false,
        learningData: {},
        adaptationThreshold: 3,

        initialize: function() {
            this.loadLearningData();
        },

        loadLearningData: function() {
            const savedData = localStorage.getItem('RAYZELearningData');
            if (savedData) {
                this.learningData = JSON.parse(savedData);
            }
        },

        saveLearningData: function() {
            localStorage.setItem('RAYZELearningData', JSON.stringify(this.learningData));
        },

        checkForBugs: function() {
            const detectedBugs = [
                this.checkQuizDetectionBug(),
                this.checkAutoContinueBug(),
                this.checkIntervalConsistencyBug(),
                this.checkUIResponsivenessBug()
            ].filter(bug => bug !== null);

            if (detectedBugs.length > 0) {
                this.bugDetected = true;
                this.learnAndAdapt(detectedBugs);
                showNotification("RAYZE Resolver: Bugs detectados e corrigidos.");
            }
        },

        learnAndAdapt: function(detectedBugs) {
            detectedBugs.forEach(bug => {
                if (!this.learningData[bug.type]) {
                    this.learningData[bug.type] = { occurrences: 0, lastSolution: null };
                }

                this.learningData[bug.type].occurrences++;
                this.learningData[bug.type].lastSolution = bug.solution;

                if (this.learningData[bug.type].occurrences >= this.adaptationThreshold) {
                    this.implementPermanentFix(bug.type);
                }

                bug.solution();
            });

            this.saveLearningData();
        },

        implementPermanentFix: function(bugType) {
            switch(bugType) {
                case 'quizDetection':
                    detectQuiz = () => {
                        return document.querySelector('[data-quiz], #quiz, .quiz-container, .activity-wrapper');
                    };
                    break;
                case 'autoContinue':
                    this.enhanceAutoContinue();
                    break;
                case 'intervalConsistency':
                    this.implementDynamicInterval();
                    break;
                case 'uiResponsiveness':
                    this.optimizeUIUpdates();
                    break;
            }
            showNotification(`RAYZE Resolver: Implementada correção permanente para ${bugType}`);
        },

        checkQuizDetectionBug: function() {
            if (detectQuiz && document.querySelector('[data-quiz]') && isRunning) {
                return {
                    type: 'quizDetection',
                    solution: () => {
                        stopInterval();
                        detectQuiz = () => document.querySelector('[data-quiz], #quiz');
                    }
                };
            }
            return null;
        },

        checkAutoContinueBug: function() {
            if (autoContinueAfterQuiz && !quizCheckIntervalId && isRunning) {
                return {
                    type: 'autoContinue',
                    solution: this.setupQuizCheckInterval
                };
            }
            return null;
        },

        checkIntervalConsistencyBug: function() {
            const actualInterval = this.measureActualInterval();
            if (Math.abs(actualInterval - intervalTime) > 100) {
                return {
                    type: 'intervalConsistency',
                    solution: () => {
                        intervalTime = actualInterval;
                        if (isRunning) {
                            stopInterval();
                            startInterval();
                        }
                    }
                };
            }
            return null;
        },

        checkUIResponsivenessBug: function() {
            const uiLatency = this.measureUILatency();
            if (uiLatency > 100) {
                return {
                    type: 'uiResponsiveness',
                    solution: () => {
                        this.optimizeUIUpdates();
                    }
                };
            }
            return null;
        },

        setupQuizCheckInterval: function() {
            quizCheckIntervalId = setInterval(() => {
                if (!detectQuiz()) {
                    clearInterval(quizCheckIntervalId);
                    quizCheckIntervalId = null;
                    showNotification("Quiz finalizado. Continuando a passagem de páginas.");
                    startInterval();
                }
            }, 1000);
        },

        measureActualInterval: function() {
            let lastTurnTime = Date.now();
            let totalInterval = 0;
            let turnCount = 0;

            return new Promise((resolve) => {
                const measureInterval = setInterval(() => {
                    const currentTime = Date.now();
                    const interval = currentTime - lastTurnTime;
                    totalInterval += interval;
                    turnCount++;
                    lastTurnTime = currentTime;

                    if (turnCount >= 5) {
                        clearInterval(measureInterval);
                        resolve(totalInterval / turnCount);
                    }
                }, intervalTime);
            });
        },

        measureUILatency: function() {
            const start = performance.now();
            document.body.style.opacity = '0.99';
            document.body.offsetHeight;
            document.body.style.opacity = '1';
            const end = performance.now();
            return end - start;
        },

        enhanceAutoContinue: function() {
            autoContinueAfterQuiz = true;
            const enhancedQuizCheck = () => {
                if (!document.querySelector('[data-quiz], #quiz, .quiz-container, .activity-wrapper')) {
                    clearInterval(quizCheckIntervalId);
                    quizCheckIntervalId = null;
                    showNotification("Quiz finalizado Continuando a passagem de paginas.");
                    startInterval();
                }
            };
            quizCheckIntervalId = setInterval(enhancedQuizCheck, 500);
        },

        implementDynamicInterval: function() {
            const adjustInterval = async () => {
                const pageLoadTime = await this.measurePageLoadTime();
                const newInterval = Math.max(intervalTime, pageLoadTime + 500);
                if (newInterval !== intervalTime) {
                    intervalTime = newInterval;
                    if (isRunning) {
                        stopInterval();
                        startInterval();
                    }
                    showNotification(`Intervalo ajustado para ${intervalTime}ms`);
                }
            };
            setInterval(adjustInterval, 60000);
        },

        optimizeUIUpdates: function() {
            const throttle = (func, limit) => {
                let inThrottle;
                return function() {
                    const args = arguments;
                    const context = this;
                    if (!inThrottle) {
                        func.apply(context, args);
                        inThrottle = true;
                        setTimeout(() => inThrottle = false, limit);
                    }
                };
            };

            showNotification = throttle(showNotification, 1000);
        },

        measurePageLoadTime: function() {
            return new Promise((resolve) => {
                const start = performance.now();
                window.requestAnimationFrame(() => {
                    const end = performance.now();
                    resolve(end - start);
                });
            });
        }
    };

    RAYZEResolver.initialize();

    setInterval(() => {
        RAYZEResolver.checkForBugs();
    }, 5000);

    createBar();
    createMenu();
    createInstructions();
    createBar();
    createMenu();
    createInstructions();

    function createDiscordOverlay() {
        const overlay = document.createElement('div');
        overlay.id = 'discord-overlay';
        overlay.style.cssText = `
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.8);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 10002;
        `;

        const content = document.createElement('div');
        content.style.cssText = `
            text-align: center;
            color: white;
            font-family: 'Arial', sans-serif;
            position: relative;
            padding: 20px;
            background-color: #2C2F33;
            border-radius: 10px;
        `;

        const title = document.createElement('h2');
        title.textContent = 'Entre no nosso Discord';
        title.style.marginBottom = '20px';

        const button = document.createElement('button');
        button.textContent = 'Entrar no Discord';
        button.style.cssText = `
            background-color: #7289DA;
            color: white;
            border: none;
            padding: 10px 20px;
            font-size: 18px;
            border-radius: 5px;
            cursor: pointer;
        `;

        const timer = document.createElement('p');
        timer.style.marginTop = '10px';
        timer.style.fontSize = '14px';

        content.appendChild(title);
        content.appendChild(button);
        content.appendChild(timer);
        overlay.appendChild(content);
        document.body.appendChild(overlay);

        // Função para fechar o overlay
        const closeOverlay = () => {
            document.body.removeChild(overlay);
        };

        button.addEventListener('click', () => {
            window.open('https://discord.gg/DWKb32QKkJ', '_blank');
        });

        // Timer para fechar automaticamente
        let secondsLeft = 15;
        const updateTimer = () => {
            timer.textContent = `Fechando em ${secondsLeft} segundos...`;
            if (secondsLeft > 0) {
                secondsLeft--;
                setTimeout(updateTimer, 1000);
            } else {
                closeOverlay();
            }
        };
        updateTimer();

        setTimeout(closeOverlay, 15000);
    }

    createDiscordOverlay();

})();