// ==UserScript== // @name LMVZ Digital Hack Ultimate // @namespace http://tampermonkey.net/ // @version 2024-03-12 // @description Lässt jedes Quiz gelöst aussehen. // @author Claimingnine // @match https://*.lmvz.ch/* // @icon https://www.google.com/s2/favicons?sz=64&domain=lmvz.ch // @grant none // ==/UserScript== let roundCounter = 1426; // Create UI Panel function createUI() { // Create toggle button const toggleBtn = document.createElement('div'); toggleBtn.id = 'lmvz-toggle-btn'; toggleBtn.innerHTML = '🎮'; toggleBtn.style.cssText = ` position: fixed; top: 20px; right: 20px; width: 50px; height: 50px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; cursor: pointer; z-index: 10000; box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4); transition: all 0.3s ease; `; toggleBtn.onmouseover = () => { toggleBtn.style.transform = 'scale(1.1)'; toggleBtn.style.boxShadow = '0 6px 20px rgba(102, 126, 234, 0.6)'; }; toggleBtn.onmouseout = () => { toggleBtn.style.transform = 'scale(1)'; toggleBtn.style.boxShadow = '0 4px 15px rgba(102, 126, 234, 0.4)'; }; // Create control panel const panel = document.createElement('div'); panel.id = 'lmvz-control-panel'; panel.style.cssText = ` position: fixed; top: 80px; right: 20px; width: 320px; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border-radius: 16px; padding: 20px; z-index: 9999; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; display: none; animation: slideIn 0.3s ease; `; panel.innerHTML = `
🎮 LMVZ Hack Control
Script Active & Running
Round Counter: ${roundCounter}
Status: Auto-solving enabled
`; // Add to page document.body.appendChild(toggleBtn); document.body.appendChild(panel); // Toggle functionality let isOpen = false; toggleBtn.addEventListener('click', () => { isOpen = !isOpen; panel.style.display = isOpen ? 'block' : 'none'; toggleBtn.style.transform = isOpen ? 'rotate(90deg)' : 'rotate(0deg)'; }); // Infinity button document.getElementById('lmvz-infinity-btn').addEventListener('click', () => { roundCounter = "∞"; document.getElementById('lmvz-round-display').textContent = roundCounter; }); // Update round display setInterval(() => { const display = document.getElementById('lmvz-round-display'); if (display) { display.textContent = roundCounter; } }, 500); // Make panel draggable let isDragging = false; let currentX; let currentY; let initialX; let initialY; panel.addEventListener('mousedown', (e) => { if (e.target === panel || e.target.className === 'lmvz-header') { isDragging = true; initialX = e.clientX - panel.offsetLeft; initialY = e.clientY - panel.offsetTop; panel.style.cursor = 'move'; } }); document.addEventListener('mousemove', (e) => { if (isDragging) { e.preventDefault(); currentX = e.clientX - initialX; currentY = e.clientY - initialY; panel.style.left = currentX + 'px'; panel.style.top = currentY + 'px'; panel.style.right = 'auto'; } }); document.addEventListener('mouseup', () => { isDragging = false; panel.style.cursor = 'default'; }); } // Initialize UI when DOM is ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', createUI); } else { createUI(); } function start() { function updateRoundCounter() { roundCounter++; } setInterval(updateRoundCounter, 100); document.addEventListener('keydown', function(event) { if (event.key === 'h') { roundCounter = "∞"; } }); var buttons = document.querySelectorAll('.buttons.exercise'); buttons.forEach(function(button) { var score = button.getAttribute('data-quiz-score'); if (score === '' || score === '0' || score === '1' || score === '2' || !score) { button.setAttribute('data-quiz-score', '2'); } }); var element = document.querySelector('.col-auto img[src="https://004.lmvz.ch/disdonc/images/hand-bad.svg"]'); if (element) { element.setAttribute('src', 'https://004.lmvz.ch/disdonc/images/hand-good.svg'); } var elements = document.querySelectorAll('.point.-question.-answered.-wrong'); elements.forEach(function(element) { element.classList.remove('-wrong'); element.classList.add('-correct'); }); var feedbackContainer = document.querySelector('[js="feedback-container"]'); if (feedbackContainer) { feedbackContainer.classList.remove('-v', '-wrong'); feedbackContainer.classList.add('-correct'); var feedbackText = feedbackContainer.querySelector('.padding-box p'); if (feedbackText) { feedbackText.innerHTML = 'C’est juste.'; } } var teleportView = document.querySelectorAll('div[view="TeleportView"]'); teleportView.forEach(function(element) { var nestedView = element.querySelector('div[view]'); if (nestedView) { var viewType = nestedView.getAttribute('view'); if (viewType === 'PuzzleGameOver') { element.remove(); } } }); var liveElements = document.querySelectorAll('.live.spacer-box.-m-right-s4'); liveElements.forEach(function(liveElement) { liveElement.classList.add('-avaiable'); }); var scoreElements = document.querySelectorAll('div'); scoreElements.forEach(function(scoreElement) { var textContent = scoreElement.textContent; var match = textContent.match(/^(\d+) \/ (\d+)$/); if (match && match[1] !== match[2]) { scoreElement.textContent = `${match[2]} / ${match[2]}`; } }); var repeatElements = document.querySelectorAll('div[view="Repeat"].lives.flex-layout.-items-center.spacer-box.-m-right-s16.-low.-medium, div[view="Repeat"].lives.flex-layout.-items-center.spacer-box.-m-right-s16.-medium'); repeatElements.forEach(function(repeatElement) { repeatElement.classList.remove('-low', '-medium'); }); function updateTextElement() { var textElement = document.querySelector('div.text-style.-s17.-black.-center.-router.spacer-box.-m-bottom-s32'); if (textElement) { var textContent = textElement.textContent; var roundMatch = textContent.match(/Du hast Runde \d+ geschafft\./); if (roundMatch) { textElement.textContent = `Du hast Runde ${roundCounter} geschafft. (drücke H)`; } } } setInterval(updateTextElement, 0); setTimeout(start, 0); } start();