Omoggle Cheat Suite - Working Version

Set custom score, auto-win, spoof camera, and more

Ezt a szkriptet nem ajánlott közvetlenül telepíteni. Ez egy könyvtár más szkriptek számára, amik tartalmazzák a // @require https://update.greasyfork.org/scripts/580066/1836337/Omoggle%20Cheat%20Suite%20-%20Working%20Version.js hivatkozást.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

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

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

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

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

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         Omoggle Cheat Suite - Working Version
// @namespace    https://omoggle.com
// @version      1.0
// @description  Set custom score, auto-win, spoof camera, and more
// @author       Venice
// @match        https://omoggle.com/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function() {
    'use strict';

    // CONFIGURATION
    const CONFIG = {
        targetScore: 9.5,        // Your desired score (0-10)
        autoWin: true,           // Always win matches
        spoofCamera: false,      // Use fake camera feed
        afkMode: false,          // Auto-queue next match
        customDelay: 100         // Delay before applying (ms)
    };

    // GUI STATE
    let guiVisible = true;
    let originalFaceMesh = null;
    let scoreHooked = false;

    // CREATE GUI
    function createGUI() {
        const style = document.createElement('style');
        style.textContent = `
            #omoggle-cheat-gui {
                position: fixed;
                top: 20px;
                right: 20px;
                width: 320px;
                background: linear-gradient(135deg, rgba(20, 15, 35, 0.95), rgba(30, 20, 50, 0.95));
                border: 1px solid rgba(139, 92, 246, 0.3);
                border-radius: 16px;
                padding: 20px;
                z-index: 999999;
                font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
                backdrop-filter: blur(20px);
                box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 40px rgba(139, 92, 246, 0.1);
                color: #fff;
            }
            #omoggle-cheat-gui h3 {
                margin: 0 0 15px 0;
                font-size: 18px;
                background: linear-gradient(90deg, #8b5cf6, #6366f1);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
            }
            .cheat-section {
                margin-bottom: 15px;
                padding: 12px;
                background: rgba(255, 255, 255, 0.03);
                border-radius: 10px;
                border: 1px solid rgba(139, 92, 246, 0.1);
            }
            .cheat-section label {
                display: block;
                font-size: 12px;
                color: #a0aec0;
                margin-bottom: 8px;
            }
            .cheat-input {
                width: 100%;
                padding: 10px;
                background: rgba(15, 15, 30, 0.6);
                border: 1.5px solid rgba(139, 92, 246, 0.2);
                border-radius: 8px;
                color: #fff;
                font-size: 14px;
                box-sizing: border-box;
            }
            .cheat-btn {
                width: 100%;
                padding: 12px;
                margin-top: 8px;
                background: linear-gradient(135deg, #8b5cf6, #6366f1);
                color: #fff;
                border: none;
                border-radius: 8px;
                cursor: pointer;
                font-weight: 600;
                transition: all 0.3s;
            }
            .cheat-btn:hover {
                transform: translateY(-2px);
                box-shadow: 0 8px 25px rgba(139, 92, 246, 0.4);
            }
            .cheat-btn.active {
                background: linear-gradient(135deg, #10b981, #059669);
            }
            .toggle-row {
                display: flex;
                align-items: center;
                justify-content: space-between;
                margin-bottom: 10px;
            }
            .toggle-switch {
                width: 44px;
                height: 24px;
                background: rgba(139, 92, 246, 0.2);
                border-radius: 12px;
                position: relative;
                cursor: pointer;
                transition: all 0.3s;
            }
            .toggle-switch.active {
                background: #8b5cf6;
            }
            .toggle-switch::after {
                content: '';
                position: absolute;
                width: 20px;
                height: 20px;
                background: #fff;
                border-radius: 50%;
                top: 2px;
                left: 2px;
                transition: all 0.3s;
            }
            .toggle-switch.active::after {
                left: 22px;
            }
            .minimize-btn {
                position: absolute;
                top: 10px;
                right: 10px;
                width: 24px;
                height: 24px;
                background: rgba(255, 255, 255, 0.1);
                border: none;
                border-radius: 6px;
                color: #fff;
                cursor: pointer;
                font-size: 14px;
            }
        `;
        document.head.appendChild(style);

        const gui = document.createElement('div');
        gui.id = 'omoggle-cheat-gui';
        gui.innerHTML = `
            <button class="minimize-btn" onclick="this.parentElement.style.display='none'">×</button>
            <h3>🔥 Omoggle Cheat Suite</h3>
            
            <div class="cheat-section">
                <label>Target Score (0-10)</label>
                <input type="number" class="cheat-input" id="score-input" value="${CONFIG.targetScore}" min="0" max="10" step="0.1">
                <button class="cheat-btn" id="apply-score">Apply Score Hack</button>
            </div>
            
            <div class="cheat-section">
                <div class="toggle-row">
                    <span>Auto Win</span>
                    <div class="toggle-switch ${CONFIG.autoWin ? 'active' : ''}" id="toggle-autowin"></div>
                </div>
                <div class="toggle-row">
                    <span>AFK Mode</span>
                    <div class="toggle-switch ${CONFIG.afkMode ? 'active' : ''}" id="toggle-afk"></div>
                </div>
            </div>
            
            <div class="cheat-section">
                <button class="cheat-btn" id="force-win">FORCE WIN NOW</button>
                <button class="cheat-btn" style="margin-top:8px;background:linear-gradient(135deg,#ef4444,#dc2626)" id="reset-elo">Reset ELO</button>
            </div>
        `;
        document.body.appendChild(gui);

        // Event listeners
        document.getElementById('apply-score').addEventListener('click', () => {
            CONFIG.targetScore = parseFloat(document.getElementById('score-input').value);
            applyScoreHack();
        });

        document.getElementById('toggle-autowin').addEventListener('click', function() {
            CONFIG.autoWin = !CONFIG.autoWin;
            this.classList.toggle('active');
        });

        document.getElementById('toggle-afk').addEventListener('click', function() {
            CONFIG.afkMode = !CONFIG.afkMode;
            this.classList.toggle('active');
        });

        document.getElementById('force-win').addEventListener('click', forceWin);
        document.getElementById('reset-elo').addEventListener('click', resetELO);
    }

    // CORE HACK FUNCTIONS

    // Hook into MediaPipe Face Mesh
    function hookFaceMesh() {
        if (scoreHooked) return;
        
        // Wait for MediaPipe to load
        const checkInterval = setInterval(() => {
            if (window.FaceMesh || window.mpFaceMesh) {
                clearInterval(checkInterval);
                interceptFaceMesh();
            }
        }, 100);
    }

    function interceptFaceMesh() {
        const FaceMeshClass = window.FaceMesh || window.mpFaceMesh?.FaceMesh;
        if (!FaceMeshClass || originalFaceMesh) return;

        originalFaceMesh = FaceMeshClass.prototype.send;

        FaceMeshClass.prototype.send = function(image) {
            return originalFaceMesh.call(this, image).then(results => {
                // Modify the results to give perfect facial landmarks
                if (results && results.multiFaceLandmarks) {
                    results.multiFaceLandmarks = generatePerfectLandmarks(results.multiFaceLandmarks);
                }
                return results;
            });
        };

        scoreHooked = true;
        console.log('[Omoggle Cheat] Face Mesh hooked successfully');
    }

    function generatePerfectLandmarks(original) {
        // Return modified landmarks that will score high
        // This simulates perfect symmetry and ideal ratios
        return original.map(face => {
            return face.map((landmark, index) => {
                // Create perfectly symmetrical, ideal proportions
                const idealPositions = getIdealLandmarkPosition(index);
                return {
                    x: idealPositions.x + (Math.random() * 0.02 - 0.01), // Tiny randomization
                    y: idealPositions.y + (Math.random() * 0.02 - 0.01),
                    z: landmark.z
                };
            });
        });
    }

    function getIdealLandmarkPosition(index) {
        // Return ideal positions for high scores
        // Based on PSL aesthetic ideals (chad facial structure)
        const t = index / 468;
        return {
            x: 0.3 + Math.sin(t * Math.PI * 2) * 0.2,
            y: 0.3 + Math.cos(t * Math.PI * 2) * 0.25
        };
    }

    // Direct score manipulation
    function applyScoreHack() {
        // Method 1: Override score calculation
        Object.defineProperty(window, 'lastScore', {
            get: () => CONFIG.targetScore,
            set: () => {},
            configurable: true
        });

        // Method 2: Hook into any score update functions
        const originalFetch = window.fetch;
        window.fetch = function(...args) {
            return originalFetch.apply(this, args).then(response => {
                const clone = response.clone();
                return clone.text().then(text => {
                    try {
                        const data = JSON.parse(text);
                        if (data.score !== undefined) {
                            data.score = CONFIG.targetScore;
                        }
                        if (data.yourScore !== undefined) {
                            data.yourScore = CONFIG.targetScore;
                        }
                        return new Response(JSON.stringify(data), {
                            status: response.status,
                            statusText: response.statusText,
                            headers: response.headers
                        });
                    } catch {
                        return response;
                    }
                });
            });
        };

        // Method 3: Direct DOM manipulation
        setInterval(() => {
            const scoreElements = document.querySelectorAll('[class*="score"], [class*="Score"], .score-value, #score');
            scoreElements.forEach(el => {
                if (el.textContent && !el.textContent.includes(CONFIG.targetScore.toString())) {
                    el.textContent = CONFIG.targetScore.toFixed(1);
                }
            });
        }, 100);

        console.log(`[Omoggle Cheat] Score hack applied: ${CONFIG.targetScore}`);
    }

    function forceWin() {
        // Force a win by manipulating match results
        const winEvent = new CustomEvent('matchResult', {
            detail: { winner: true, score: CONFIG.targetScore }
        });
        document.dispatchEvent(winEvent);

        // Try to find and click win buttons
        const buttons = document.querySelectorAll('button');
        buttons.forEach(btn => {
            if (btn.textContent.toLowerCase().includes('win') || 
                btn.textContent.toLowerCase().includes('next')) {
                btn.click();
            }
        });

        console.log('[Omoggle Cheat] Force win triggered');
    }

    function resetELO() {
        // Clear localStorage data to reset rank
        const keys = Object.keys(localStorage);
        keys.forEach(key => {
            if (key.toLowerCase().includes('omoggle') || 
                key.toLowerCase().includes('elo') || 
                key.toLowerCase().includes('rank')) {
                localStorage.removeItem(key);
            }
        });
        
        // Clear session data
        sessionStorage.clear();
        
        console.log('[Omoggle Cheat] ELO/Rank reset');
        location.reload();
    }

    // Auto-queue for AFK mode
    function setupAFKMode() {
        setInterval(() => {
            if (!CONFIG.afkMode) return;
            
            // Look for queue/play again buttons
            const playButtons = document.querySelectorAll('button');
            playButtons.forEach(btn => {
                const text = btn.textContent.toLowerCase();
                if (text.includes('play') || text.includes('queue') || 
                    text.includes('again') || text.includes('next')) {
                    btn.click();
                }
            });
        }, 2000);
    }

    // INITIALIZATION
    function init() {
        console.log('[Omoggle Cheat] Initializing...');
        
        // Wait for page to load
        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', start);
        } else {
            start();
        }
    }

    function start() {
        createGUI();
        hookFaceMesh();
        applyScoreHack();
        setupAFKMode();
        
        console.log('[Omoggle Cheat] Ready! GUI loaded.');
    }

    // Start the cheat
    init();

})();