// ==UserScript== // @name Friendly cheats by W cheats // @namespace W cheats // @version 1.5 // @description Make ur game easier (veck.io) // @author W cheats Hub // @match https://Veck.io/* // @grant none // @license Friends // @downloadURL https://update.greasyfork.icu/scripts/568456/Friendly%20cheats%20by%20W%20cheats.user.js // @updateURL https://update.greasyfork.icu/scripts/568456/Friendly%20cheats%20by%20W%20cheats.meta.js // ==/UserScript== (function () { 'use strict'; // --- Variables --- let autoSprint = false; let sprintInterval = null; const sprintKey = 'Shift'; const sprintCode = 'ShiftLeft'; const sprintKeyCode = 16; let autoJump = false; let jumpInterval = null; const jumpKey = ' '; const jumpCode = 'Space'; const jumpKeyCode = 32; let autoReload = false; let reloadInterval = null; const reloadKey = 'r'; const reloadCode = 'KeyR'; const reloadKeyCode = 82; const autoReloadKey = 'u'; const autoReloadCode = 'KeyU'; const autoReloadKeyCode = 85; // Anti Lag variables let antiLag = false; // --- Create Menu --- const menu = document.createElement('div'); menu.id = 'xdcheats-menu'; menu.style.position = 'fixed'; menu.style.top = '12px'; menu.style.left = '12px'; menu.style.background = 'rgba(0, 0, 0, 0.7)'; menu.style.color = '#0f0'; menu.style.padding = '10px'; menu.style.fontFamily = 'monospace'; menu.style.fontSize = '14px'; menu.style.border = '2px solid #0f0'; menu.style.borderRadius = '8px'; menu.style.zIndex = 99999; menu.style.cursor = 'default'; menu.innerHTML = `
W cheats
This mod is not against TOS
This mod will make you feel comfortable for your little finger

T - Toggle Auto Sprint
Y - Toggle Auto Jump (1 ms spam)
U - Toggle Auto Reload
R - Manual Reload (single press)
L - Toggle Anti Lag
- - Show/Hide This Menu
Auto Sprint: OFF
Auto Jump: OFF
Auto Reload: OFF
Anti Lag: OFF
`; document.body.appendChild(menu); // --- Drag Logic --- const dragHandle = document.getElementById('W cheats-drag'); let isDragging = false; let offsetX = 0; let offsetY = 0; dragHandle.addEventListener('mousedown', (e) => { isDragging = true; offsetX = e.clientX - menu.getBoundingClientRect().left; offsetY = e.clientY - menu.getBoundingClientRect().top; document.body.style.userSelect = 'none'; }); window.addEventListener('mousemove', (e) => { if (isDragging) { menu.style.left = (e.clientX - offsetX) + 'px'; menu.style.top = (e.clientY - offsetY) + 'px'; } }); window.addEventListener('mouseup', () => { isDragging = false; document.body.style.userSelect = ''; }); // --- Helper to dispatch keyboard events --- function dispatchKeyEvent(type, key, code, keyCode) { const target = document.querySelector('canvas') || window; const event = new KeyboardEvent(type, { key, code, keyCode, which: keyCode, bubbles: true, cancelable: true }); try { Object.defineProperty(event, 'keyCode', { get: () => keyCode }); Object.defineProperty(event, 'which', { get: () => keyCode }); } catch (e) {} target.dispatchEvent(event); } // --- Auto Sprint --- function updateSprintStatus() { const status = document.getElementById('sprint-status'); if (status) status.textContent = `Auto Sprint: ${autoSprint ? 'ON' : 'OFF'}`; } function startAutoSprint() { if (autoSprint) return; autoSprint = true; dispatchKeyEvent('keydown', sprintKey, sprintCode, sprintKeyCode); sprintInterval = setInterval(() => { dispatchKeyEvent('keydown', sprintKey, sprintCode, sprintKeyCode); }, 150); updateSprintStatus(); } function stopAutoSprint() { if (!autoSprint) return; autoSprint = false; clearInterval(sprintInterval); sprintInterval = null; dispatchKeyEvent('keyup', sprintKey, sprintCode, sprintKeyCode); updateSprintStatus(); } // --- Auto Jump --- function updateJumpStatus() { const status = document.getElementById('jump-status'); if (status) status.textContent = `Auto Jump: ${autoJump ? 'ON' : 'OFF'}`; } function startAutoJump() { if (autoJump) return; autoJump = true; dispatchKeyEvent('keydown', jumpKey, jumpCode, jumpKeyCode); jumpInterval = setInterval(() => { dispatchKeyEvent('keydown', jumpKey, jumpCode, jumpKeyCode); dispatchKeyEvent('keyup', jumpKey, jumpCode, jumpKeyCode); }, 1); updateJumpStatus(); } function stopAutoJump() { if (!autoJump) return; autoJump = false; clearInterval(jumpInterval); jumpInterval = null; dispatchKeyEvent('keyup', jumpKey, jumpCode, jumpKeyCode); updateJumpStatus(); } // --- Auto Reload --- function updateReloadStatus() { const status = document.getElementById('reload-status'); if (status) status.textContent = `Auto Reload: ${autoReload ? 'ON' : 'OFF'}`; } function startAutoReload() { if (autoReload) return; autoReload = true; reloadInterval = setInterval(() => { dispatchKeyEvent('keydown', reloadKey, reloadCode, reloadKeyCode); dispatchKeyEvent('keyup', reloadKey, reloadCode, reloadKeyCode); }, 500); updateReloadStatus(); } function stopAutoReload() { if (!autoReload) return; autoReload = false; clearInterval(reloadInterval); reloadInterval = null; dispatchKeyEvent('keyup', reloadKey, reloadCode, reloadKeyCode); updateReloadStatus(); } // --- Manual Reload --- function manualReload() { dispatchKeyEvent('keydown', reloadKey, reloadCode, reloadKeyCode); dispatchKeyEvent('keyup', reloadKey, reloadCode, reloadKeyCode); } // --- Anti Lag --- function updateAntiLagStatus() { const status = document.getElementById('antilag-status'); if (status) status.textContent = `Anti Lag: ${antiLag ? 'ON' : 'OFF'}`; } function startAntiLag() { if (antiLag) return; antiLag = true; const style = document.createElement('style'); style.id = 'anti-lag-style'; style.textContent = ` .particles, .effects, .animations { display: none !important; } `; document.head.appendChild(style); const canvas = document.querySelector('canvas'); if (canvas) { canvas.style.imageRendering = 'pixelated'; canvas.style.width = '75%'; canvas.style.height = '75%'; } updateAntiLagStatus(); } function stopAntiLag() { if (!antiLag) return; antiLag = false; const style = document.getElementById('anti-lag-style'); if (style) style.remove(); const canvas = document.querySelector('canvas'); if (canvas) { canvas.style.width = ''; canvas.style.height = ''; canvas.style.imageRendering = ''; } updateAntiLagStatus(); } // --- Keybinds --- window.addEventListener('keydown', (e) => { if (e.code === 'KeyT') { autoSprint ? stopAutoSprint() : startAutoSprint(); } if (e.code === 'KeyY') { autoJump ? stopAutoJump() : startAutoJump(); } if (e.code === 'KeyU') { autoReload ? stopAutoReload() : startAutoReload(); } if (e.code === 'KeyR') { manualReload(); } if (e.code === 'KeyL') { antiLag ? stopAntiLag() : startAntiLag(); } if (e.key === '-' || e.code === 'Minus') { menu.style.display = (menu.style.display === 'none') ? 'block' : 'none'; } }); // --- Clean up on unload --- window.addEventListener('beforeunload', () => { stopAutoSprint(); stopAutoJump(); stopAutoReload(); stopAntiLag(); }); })();