Leia-me basic cheat

Cheat para leia-me basic

目前為 2024-11-25 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

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

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 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();

})();