Cosmo V2

Cosmo V2 ESP

Tendrás que instalar una extensión para tu navegador como Tampermonkey, Greasemonkey o Violentmonkey si quieres utilizar este script.

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

Tendrás que instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Userscripts para instalar este script.

Tendrás que instalar una extensión como Tampermonkey antes de poder instalar este script.

Necesitarás instalar una extensión para administrar scripts de usuario si quieres instalar este script.

(Ya tengo un administrador de scripts de usuario, déjame instalarlo)

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Tendrás que instalar una extensión como Stylus antes de poder instalar este script.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

Para poder instalar esto tendrás que instalar primero una extensión de estilos de usuario.

(Ya tengo un administrador de estilos de usuario, déjame instalarlo)

// ==UserScript==
// @name         Cosmo V2
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Cosmo V2 ESP
// @author       Frost
// @match        https://bloxflip.com/*
// @grant        GM_addStyle
// @grant        GM_notification
// ==/UserScript==

(function () {
    'use strict';

    let autoMinesActive = false;
    let bombminesKey = 'b';
    let minesKey = 'm';
    let isAdmin = false;
    let adminKey = 'admin';
    let loggedIn = false;

    let predictionResult = [];

    GM_addStyle(`
        /* Add global styles here */

        /* Make the background darker */
        body {
            background-color: #000;
        }

        /* Add a glow effect to the title */
        .glow {
            text-shadow: 0 0 5px rgba(255, 255, 255, 0.7);
        }

        /* Style the login panel */
        #loginPanel {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 1002;
            background: linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.8)), url('https://your-image-url.com'); /* Replace with your background image URL */
            background-size: cover;
        }

        /* Style the login form */
        .login-form {
            background-color: rgba(0, 0, 0, 0.8);
            backdrop-filter: blur(10px);
            border-radius: 20px;
            padding: 40px;
            box-shadow: 0 0 20px rgba(255, 0, 0, 0.2);
            text-align: center;
            position: relative;
        }

        /* Style the login title */
        .login-title {
            font-size: 24px;
            color: #fff;
            margin-bottom: 20px;
        }

        /* Style the login input */
        .login-input {
            width: 100%;
            padding: 10px;
            margin: 10px 0;
            border: 2px solid #800080;
            border-radius: 10px;
            background-color: #333;
            color: #fff;
            font-size: 16px;
            outline: none;
        }

        /* Style the login button */
        .login-button {
            width: 100%;
            padding: 10px;
            border: none;
            border-radius: 10px;
            background-color: rgba(0, 0, 0, 0.7);
            color: #fff;
            font-size: 18px;
            cursor: pointer;
            transition: background-color 0.3s;
        }

        /* Style the main UI panel */
        #bloxflipESP {
            position: fixed;
            top: 70px;
            left: 20px; /* Adjust the left position for a more vertical layout */
            background-color: #000;
            border: none;
            z-index: 999;
            color: #fff;
            width: 500px;
            max-width: 200px; /* Set a maximum width to limit stretching */
            height: 350px; /* Allow vertical expansion */
            display: flex;
            flex-direction: column; /* Change to vertical layout */
            align-items: center; /* Center items vertically */
            justify-content: flex-start; /* Align items to the top */
            box-shadow: 0 5px 30px rgb(160 0 249);
            background: linear-gradient(rgb(101 5 230 / 80%), rgba(0,0,0,0.8)), url(https://your-image-url.com);+
    border-radius: 10px;
        }

        /* Style the futuristic buttons */
        .futuristic-button {
            width: 150px;
            background-color: transparent;
            color: #fff;
            border: 2px solid #c51bff; /* Set the border color to a futuristic color */
            border-radius: 10px;
            font-size: 18px;
            margin: 5px;
            padding: 10px;
            cursor: pointer;
            transition: background-color 0.3s, color 0.3s, border-color 0.3s;
        }

        .futuristic-button:hover {
            background-color: #900dff; /* Change this to your desired hover color */
            color: #fff;
            border-color: 2px solid #b40aee; /* Change border color on hover */
        }
    `);

    function createLoginUI() {
        const loginHTML = `
            <div id="loginPanel" class="light-mode">
                <div class="login-form">
                    <h2 class="login-title">Login</h2>
                    <input type="text" class="login-input" id="uid-input" placeholder="Enter your key">
                    <button type="submit" class="login-button" id="login-button">Login</button>
                </div>
            </div>
        `;

        document.body.insertAdjacentHTML('beforeend', loginHTML);

        const loginButton = document.getElementById('login-button');

        loginButton.addEventListener('click', function () {
            const uid = document.getElementById('uid-input').value;

            // Replace 'cosmo-4983135698' with your allowed UIDs
            const allowedUIDs = [
                'cosmo-4983135698',
                'tester',
                'spacepredictor1',
                'TRIAL-1',
            ];

            if (allowedUIDs.includes(uid)) {
                loggedIn = true;
                document.getElementById('loginPanel').remove();
                createGUI();
            } else {
                showAlert('Invalid UID. Please try again.');
            }
        });
    }

    function createGUI() {
        if (!loggedIn) {
            createLoginUI();
            return;
        }

        const guiHTML = `
            <div id="bloxflipESP" class="light-mode">
                <button id="bombminesButton" class="futuristic-button">QuaMines</button>
                <button id="minesButton" class="futuristic-button">FrostMines</button>
                <button id="algorithm2MethodButton" class="futuristic-button"></button>
                <button id="unriggerButton" class="futuristic-button">Unrig</button>
                <button id="bombminesButton" class="futuristic-button">Luck+++</button>
                <button id="algorithm2MethodButton" class="futuristic-button">Activate ESP</button>
            </div>
        `;

        document.body.insertAdjacentHTML('beforeend', guiHTML);

        const draggableElement = document.getElementById('bloxflipESP');
        makeDraggable(draggableElement);

        document.getElementById('minesButton').addEventListener('click', function () {
            clearPrediction();
            predictMines(3, '#00A36C');
        });

        document.getElementById('bombminesButton').addEventListener('click', function () {
            clearPrediction();
            predictMines(12, '#FF0000');
        });

        document.getElementById('unriggerButton').addEventListener('click', function () {
            const serverHash = prompt("Please enter your server hash:");
            if (serverHash !== null && serverHash !== '') {
                showNotification(`Server hash submitted: ${serverHash}`, 'Server Hash');
            }
        });

        document.getElementById('algorithm2MethodButton').addEventListener('click', function () {
            showNotification('ESP  is activated. [made by Frost] ', 'Algorithm');
        });
    }

    function predictMines(maxSpots, color) {
        // Generate and display new prediction
        predictionResult = [];

        for (let i = 0; i < maxSpots; i++) {
            predictionResult.push({
                index: Math.floor(Math.random() * 25),
                isGreen: color === '#00A36C',
                isRed: color === '#FF0000',
            });
        }

        predictionResult.forEach((result) => {
            const targetButton = document.querySelector(`div.mines_minesGameContainer__Ih15s > button:nth-child(${result.index + 1})`);

            if (targetButton) {
                if (result.isGreen) {
                    targetButton.style.border = "5px solid #FFFFFF";
                    targetButton.style.filter = "brightness(150%)";
                }
                if (result.isRed) {
                    targetButton.style.border = "5px solid #FF0000";
                    targetButton.style.filter = "brightness(150%)";
                }
            }
        });
    }

    function clearPrediction() {
        const buttons = document.querySelectorAll("button[style*=\"border-color\"]");

        buttons.forEach((button) => {
            button.style.border = "2px solid #fff";
            button.style.filter = "brightness(100%)";
        });
    }

    function makeDraggable(element) {
        let pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;
        if (document.getElementById(element.id + '-header')) {
            document.getElementById(element.id + '-header').onmousedown = dragMouseDown;
        } else {
            element.onmousedown = dragMouseDown;
        }

        function dragMouseDown(e) {
            e = e || window.event;
            e.preventDefault();
            pos3 = e.clientX;
            pos4 = e.clientY;
            document.onmouseup = closeDragElement;
            document.onmousemove = elementDrag;
        }

        function elementDrag(e) {
            e = e || window.event;
            e.preventDefault();
            pos1 = pos3 - e.clientX;
            pos2 = pos4 - e.clientY;
            pos3 = e.clientX;
            pos4 = e.clientY;
            element.style.top = (element.offsetTop - pos2) + "px";
            element.style.left = (element.offsetLeft - pos1) + "px";
        }

        function closeDragElement() {
            document.onmouseup = null;
            document.onmousemove = null;
        }
    }

    function showAlert(message) {
        showNotification(message, 'Alert');
    }

    function showNotification(message, title) {
        GM_notification({
            text: message,
            title: title,
            timeout: 5000,
            image: 'https://i.imgur.com/mTrrb6f.png',
            onclick: () => {
                console.log(message);
            },
        });
    }

    createGUI();
})();