Set custom score, auto-win, spoof camera, and more
Script này sẽ không được không được cài đặt trực tiếp. Nó là một thư viện cho các script khác để bao gồm các chỉ thị meta
// @require https://update.greatest.deepsurf.us/scripts/580066/1836337/Omoggle%20Cheat%20Suite%20-%20Working%20Version.js
// ==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();
})();