// ==UserScript== // @name Vortex Forge Deadshot.io // @namespace http://tampermonkey.net/ // @version 2.2 // @description Vortex Forge Web Client with Scope Autoshoot,Sniper Mode,Player Rank Search // @author NOOB // @match https://deadshot.io/* // @grant none // @downloadURL none // ==/UserScript== (function () { 'use strict'; let featuresEnabled = true; let sniperModeEnabled = false; let fireworkInterval = null; let kKeyInterval = null; let isRightMousePressed = false; let spacebarLockEnabled = false; const newSettingsContent = `

Search My Rank

Sniper Mode

Vortex Forge Mode

`; function createSearchPopup() { const popup = document.createElement('div'); popup.style.position = 'fixed'; popup.style.top = '50%'; popup.style.left = '50%'; popup.style.transform = 'translate(-50%, -50%)'; popup.style.backgroundColor = 'rgba(0, 0, 0, 0.9)'; popup.style.padding = '20px'; popup.style.borderRadius = '10px'; popup.style.color = 'white'; popup.style.zIndex = '10000'; const input = document.createElement('input'); input.type = 'text'; input.placeholder = 'Enter username'; input.style.padding = '10px'; input.style.fontSize = '16px'; input.style.marginRight = '10px'; const searchButton = document.createElement('button'); searchButton.innerText = 'Search'; searchButton.style.padding = '10px'; searchButton.style.fontSize = '16px'; searchButton.style.cursor = 'pointer'; const closeButton = document.createElement('button'); closeButton.innerText = 'Close'; closeButton.style.marginLeft = '10px'; closeButton.style.padding = '10px'; closeButton.style.fontSize = '16px'; closeButton.style.cursor = 'pointer'; closeButton.onclick = () => popup.remove(); searchButton.onclick = async () => { const username = input.value.trim(); if (username) { const rank = await fetchLeaderboardRank(username); showRankPopup(username, rank); } }; popup.appendChild(input); popup.appendChild(searchButton); popup.appendChild(closeButton); document.body.appendChild(popup); } async function fetchLeaderboardRank(username) { try { const response = await fetch('https://login.deadshot.io/leaderboards'); const data = await response.json(); const categories = ["daily", "weekly", "alltime"]; for (const category of categories) { if (data[category] && data[category].kills) { const leaderboard = data[category].kills; leaderboard.sort((a, b) => b.kills - a.kills); const player = leaderboard.find(player => player.name === username); if (player) { const rank = leaderboard.indexOf(player); return `Rank: ${rank + 1} in ${category} leaderboard`; } } } return 'Not found in any leaderboard'; } catch (error) { console.error('Error fetching leaderboard:', error); return 'Error'; } } function showRankPopup(username, rank) { const popup = document.createElement('div'); popup.style.position = 'fixed'; popup.style.top = '50%'; popup.style.left = '50%'; popup.style.transform = 'translate(-50%, -50%)'; popup.style.backgroundColor = 'rgba(0, 0, 0, 0.9)'; popup.style.padding = '20px'; popup.style.borderRadius = '10px'; popup.style.color = 'white'; popup.style.zIndex = '10000'; popup.innerText = rank === 'Not found' ? `User ${username} not found in the leaderboard.` : `User ${username} is ranked #${rank}`; const closeButton = document.createElement('button'); closeButton.innerText = 'Close'; closeButton.style.marginTop = '10px'; closeButton.style.padding = '10px'; closeButton.style.fontSize = '16px'; closeButton.style.cursor = 'pointer'; closeButton.onclick = () => popup.remove(); popup.appendChild(closeButton); document.body.appendChild(popup); } document.addEventListener('DOMContentLoaded', () => { const searchButton = document.getElementById('searchRankButton'); if (searchButton) { searchButton.addEventListener('click', createSearchPopup); } }); function showToast(message) { const toast = document.createElement('div'); toast.innerText = message; toast.style.position = 'fixed'; toast.style.bottom = '20px'; toast.style.right = '20px'; toast.style.backgroundColor = 'rgba(0, 0, 0, 0.8)'; toast.style.color = 'white'; toast.style.padding = '10px 20px'; toast.style.borderRadius = '5px'; toast.style.fontSize = '14px'; toast.style.zIndex = '10000'; toast.style.opacity = '0'; toast.style.transition = 'opacity 0.5s'; document.body.appendChild(toast); setTimeout(() => (toast.style.opacity = '1'), 50); setTimeout(() => { toast.style.opacity = '0'; setTimeout(() => toast.remove(), 500); }, 2000); } document.addEventListener('keydown', (e) => { if (e.key === 'Control') { spacebarLockEnabled = !spacebarLockEnabled; if (spacebarLockEnabled) { showToast('Spacebar lock is ON'); } else { showToast('Spacebar lock is OFF'); } } }); document.addEventListener('keydown', (e) => { if (spacebarLockEnabled && (e.key === ' ' || e.code === 'Space')) { e.stopPropagation(); const isTyping = e.target.tagName === 'INPUT' || e.target.tagName === 'TEXTAREA'; if (!isTyping) { e.preventDefault(); } } }); //Make space by removing left handed mode(rubbish) function removeLeftHandedSetting() { const leftHandedDiv = document.querySelector('.setting.toggle input#lefthand')?.closest('.setting.toggle'); if (leftHandedDiv) { leftHandedDiv.remove(); console.log("Left-Handed setting removed."); } } function removeADSToggle() { const leftHandedDiv = document.querySelector('.setting.toggle input#toggleads')?.closest('.setting.toggle'); if (leftHandedDiv) { leftHandedDiv.remove(); console.log("Toggle ADS removed."); } } function addCustomSettingsToTop() { const settingsDiv = document.getElementById('settingsDiv'); if (settingsDiv && !document.getElementById('vfSniperMode')) { const customDiv = document.createElement('div'); customDiv.innerHTML = newSettingsContent; settingsDiv.insertBefore(customDiv, settingsDiv.firstChild); const searchButton = document.getElementById('searchRankButton'); if (searchButton) { searchButton.addEventListener('click', createSearchPopup); } } } function waitForSettingsDiv() { const retryInterval = setInterval(() => { const settingsDiv = document.getElementById('settingsDiv'); if (settingsDiv) { removeLeftHandedSetting(); removeADSToggle(); addCustomSettingsToTop(); setupSniperModeToggle(); setupVortexForgeModeToggle(); clearInterval(retryInterval); } }, 500); } function setupSniperModeToggle() { const sniperModeCheckbox = document.getElementById('vfSniperMode'); if (sniperModeCheckbox) { sniperModeCheckbox.addEventListener('change', (event) => { sniperModeEnabled = event.target.checked; }); } } function setupVortexForgeModeToggle() { const vfCheckbox = document.getElementById('vfsettings'); if (vfCheckbox) { vfCheckbox.addEventListener('change', (event) => { featuresEnabled = event.target.checked; toggleFeatures(featuresEnabled); }); } } function toggleFeatures(enabled) { if (!enabled) { stopKKeyPress(); isRightMousePressed = false; } } function startKKeyPress() { if (!kKeyInterval) { kKeyInterval = setInterval(() => { const kKeyEvent = new KeyboardEvent('keydown', { key: 'K', code: 'KeyK', keyCode: 75, which: 75, bubbles: true, cancelable: true, }); document.dispatchEvent(kKeyEvent); }, 100); } } function stopKKeyPress() { if (kKeyInterval) { clearInterval(kKeyInterval); kKeyInterval = null; const kKeyUpEvent = new KeyboardEvent('keyup', { key: 'K', code: 'KeyK', keyCode: 75, which: 75, bubbles: true, cancelable: true, }); document.dispatchEvent(kKeyUpEvent); } } function startShooting() { const shootKeyEvent = new KeyboardEvent('keydown', { key: 'K', code: 'KeyK', keyCode: 75, which: 75, bubbles: true, cancelable: true, }); document.dispatchEvent(shootKeyEvent); const shootKeyUpEvent = new KeyboardEvent('keyup', { key: 'K', code: 'KeyK', keyCode: 75, which: 75, bubbles: true, cancelable: true, }); document.dispatchEvent(shootKeyUpEvent); } document.addEventListener('mousedown', (e) => { if (!featuresEnabled) return; if (e.button === 2) { if (!isRightMousePressed) { isRightMousePressed = true; if (!sniperModeEnabled) { startKKeyPress(); } } } }); document.addEventListener('mouseup', (e) => { if (e.button === 2) { if (sniperModeEnabled) { startShooting(); }else{ stopKKeyPress(); } isRightMousePressed = false; } }); window.addEventListener('load', () => { waitForSettingsDiv(); }); })();