您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A client with more effeciency
// ==UserScript== // @name Canadian100 client // @namespace http://tampermonkey.net/ // @version 4.6 // @description A client with more effeciency // @author Canadian100, idc1234 // @match *://survev.io/* // @grant GM_xmlhttpRequest // @grant unsafeWindow // @grant GM_setValue // @grant GM_getValue // ==/UserScript== (function() { let isDragging = false, offsetX, offsetY; let aimbotCheckboxRef, spinbotCheckboxRef, meleeLockCheckboxRef; let allowDrag = true; const gui = document.createElement('div'); gui.style.position = 'fixed'; gui.style.top = '100px'; gui.style.left = '100px'; gui.style.width = '400px'; gui.style.backgroundColor = 'black'; gui.style.border = '2px solid red'; gui.style.zIndex = 9999; gui.style.fontFamily = 'Arial, sans-serif'; gui.style.display = 'block'; gui.style.color = 'white'; gui.style.userSelect = 'none'; gui.style.padding = '10px'; const titleBar = document.createElement('div'); titleBar.textContent = 'canadian100 client'; titleBar.style.color = 'red'; titleBar.style.fontWeight = 'bold'; titleBar.style.marginBottom = '8px'; titleBar.style.cursor = 'move'; gui.appendChild(titleBar); const dragToggle = document.createElement('input'); dragToggle.type = 'checkbox'; dragToggle.checked = true; dragToggle.style.marginLeft = '10px'; dragToggle.addEventListener('change', () => { allowDrag = dragToggle.checked; }); titleBar.appendChild(dragToggle); const footer = document.createElement('div'); footer.textContent = 'by Canadian100, version 4.7'; footer.style.marginTop = '10px'; footer.style.fontSize = '12px'; footer.style.color = 'white'; const tabList = document.createElement('div'); tabList.style.marginBottom = '10px'; gui.appendChild(tabList); const tabContent = document.createElement('div'); gui.appendChild(tabContent); const tabNames = ['Main', 'Visuals', 'Extra', 'Help']; const tabButtons = {}; tabNames.forEach(name => { const btn = document.createElement('button'); btn.textContent = name; btn.style.marginRight = '5px'; btn.style.padding = '5px'; btn.style.backgroundColor = '#222'; btn.style.color = 'white'; btn.style.border = '1px solid red'; btn.style.cursor = 'pointer'; btn.style.fontWeight = 'bold'; tabList.appendChild(btn); tabButtons[name] = btn; btn.addEventListener('click', () => { switchTab(name); }); }); function createSetting(title, checkboxRefHolder, parent = tabContent) { const row = document.createElement('div'); row.style.display = 'flex'; row.style.alignItems = 'center'; row.style.justifyContent = 'space-between'; row.style.border = '1px solid red'; row.style.padding = '6px'; row.style.marginBottom = '5px'; const label = document.createElement('span'); label.textContent = title; row.appendChild(label); const checkbox = document.createElement('input'); checkbox.type = 'checkbox'; checkbox.style.marginLeft = '10px'; row.appendChild(checkbox); checkbox.addEventListener('change', () => { checkbox.style.accentColor = checkbox.checked ? 'green' : ''; }); if (checkboxRefHolder) { checkboxRefHolder.checkbox = checkbox; } parent.appendChild(row); return checkbox; } function createSubBox(title, parent = tabContent) { const container = document.createElement('div'); container.style.border = '1px solid red'; container.style.padding = '5px'; container.style.marginBottom = '8px'; const label = document.createElement('div'); label.textContent = title; label.style.marginBottom = '5px'; label.style.fontWeight = 'bold'; label.style.color = 'white'; container.appendChild(label); parent.appendChild(container); return container; } function loadMainTab() { tabContent.innerHTML = ''; aimbotCheckboxRef = {}; const aimbotCheckbox = createSetting('Aimbot', aimbotCheckboxRef); const aimbotBox = createSubBox('Aimbot Settings'); createSetting('Target Knocked', null, aimbotBox); createSetting('Sticky Target', null, aimbotBox); meleeLockCheckboxRef = {}; const meleeCheckbox = createSetting('Melee Lock', meleeLockCheckboxRef); const meleeBox = createSubBox('Melee Lock Settings'); createSetting('Auto Equipe', null, meleeBox); spinbotCheckboxRef = {}; const spinCheckbox = createSetting('Spin Bot', spinbotCheckboxRef); const spinBox = createSubBox('Spinbot Settings'); createSetting('Realistic', null, spinBox); const speedRow = document.createElement('div'); speedRow.style.display = 'flex'; speedRow.style.justifyContent = 'space-between'; speedRow.style.alignItems = 'center'; speedRow.style.marginTop = '5px'; const speedLabel = document.createElement('span'); speedLabel.textContent = 'Speed'; const speedSlider = document.createElement('input'); speedSlider.type = 'range'; speedSlider.min = '1'; speedSlider.max = '100'; speedSlider.value = '50'; speedSlider.style.width = '60%'; speedRow.appendChild(speedLabel); speedRow.appendChild(speedSlider); spinBox.appendChild(speedRow); createSetting('Auto Switch'); const autoSwitchBox = createSubBox('Auto Switch Settings'); createSetting('Use One Gun', null, autoSwitchBox); createSetting('Use One Gun'); gui.appendChild(footer); } document.body.appendChild(gui); document.addEventListener('keydown', e => { if (e.code === 'ShiftRight') { gui.style.display = gui.style.display === 'none' ? 'block' : 'none'; } if (e.code === 'KeyP' && aimbotCheckboxRef?.checkbox) { aimbotCheckboxRef.checkbox.checked = !aimbotCheckboxRef.checkbox.checked; aimbotCheckboxRef.checkbox.dispatchEvent(new Event('change')); } if (e.code === 'KeyH' && spinbotCheckboxRef?.checkbox) { spinbotCheckboxRef.checkbox.checked = !spinbotCheckboxRef.checkbox.checked; spinbotCheckboxRef.checkbox.dispatchEvent(new Event('change')); } if (e.code === 'KeyO' && meleeLockCheckboxRef?.checkbox) { meleeLockCheckboxRef.checkbox.checked = !meleeLockCheckboxRef.checkbox.checked; meleeLockCheckboxRef.checkbox.dispatchEvent(new Event('change')); } }); titleBar.addEventListener('mousedown', e => { if (!allowDrag) return; isDragging = true; offsetX = e.clientX - gui.offsetLeft; offsetY = e.clientY - gui.offsetTop; }); document.addEventListener('mousemove', e => { if (isDragging) { gui.style.left = `${e.clientX - offsetX}px`; gui.style.top = `${e.clientY - offsetY}px`; } }); document.addEventListener('mouseup', () => isDragging = false); function switchTab(name) { tabContent.innerHTML = ''; Object.values(tabButtons).forEach(btn => btn.style.backgroundColor = '#222'); tabButtons[name].style.backgroundColor = '#444'; if (name === 'Main') loadMainTab(); if (name === 'Visuals') loadVisualsTab(); if (name === 'Extra') loadExtraTab(); if (name === 'Help') loadHelpTab(); } switchTab('Help'); function loadVisualsTab() { tabContent.innerHTML = ''; const xrayCheckbox = createSetting('X-ray'); const xrayBox = createSubBox('X-ray Settings'); createSetting('Remove Ceilings', null, xrayBox); createSetting('Smoke Settings', null, xrayBox); const smokeOpacityRow = document.createElement('div'); smokeOpacityRow.style.display = 'flex'; smokeOpacityRow.style.justifyContent = 'space-between'; smokeOpacityRow.style.alignItems = 'center'; const smokeLabel = document.createElement('span'); smokeLabel.textContent = 'Smoke Opacity'; const smokeSlider = document.createElement('input'); smokeSlider.type = 'range'; smokeSlider.min = '0'; smokeSlider.max = '100'; smokeSlider.value = '50'; smokeSlider.style.width = '60%'; smokeOpacityRow.appendChild(smokeLabel); smokeOpacityRow.appendChild(smokeSlider); xrayBox.appendChild(smokeOpacityRow); const treeOpacityRow = document.createElement('div'); treeOpacityRow.style.display = 'flex'; treeOpacityRow.style.justifyContent = 'space-between'; treeOpacityRow.style.alignItems = 'center'; const treeLabel = document.createElement('span'); treeLabel.textContent = 'Tree Opacity'; const treeSlider = document.createElement('input'); treeSlider.type = 'range'; treeSlider.min = '0'; treeSlider.max = '100'; treeSlider.value = '50'; treeSlider.style.width = '60%'; treeOpacityRow.appendChild(treeLabel); treeOpacityRow.appendChild(treeSlider); xrayBox.appendChild(treeOpacityRow); createSetting('Layer Hack'); const espCheckbox = createSetting('ESP Hack'); const espBox = createSubBox('ESP Options'); createSetting('Visual Nametags', null, espBox); createSetting('Players', null, espBox); const grenadeTitle = document.createElement('div'); grenadeTitle.textContent = 'Grenades'; grenadeTitle.style.fontWeight = 'bold'; grenadeTitle.style.marginTop = '8px'; espBox.appendChild(grenadeTitle); createSetting('Explosions', null, espBox); createSetting('Trajectory', null, espBox); const flashTitle = document.createElement('div'); flashTitle.textContent = 'Flash Light'; flashTitle.style.fontWeight = 'bold'; flashTitle.style.marginTop = '8px'; espBox.appendChild(flashTitle); createSetting('Own', null, espBox); createSetting('Others', null, espBox); } function loadExtraTab() { tabContent.innerHTML = ''; const mapCheckbox = createSetting('Map Highlights'); const mapBox = createSubBox('Map Highlights'); createSetting('Smaller Trees', null, mapBox); createSetting('Auto Loot', null, mapBox); const mobileMovement = createSetting('Mobile Movement', null, mapBox); const smoothRow = document.createElement('div'); smoothRow.style.display = 'flex'; smoothRow.style.justifyContent = 'space-between'; smoothRow.style.alignItems = 'center'; const smoothLabel = document.createElement('span'); smoothLabel.textContent = 'Smooth'; const smoothSlider = document.createElement('input'); smoothSlider.type = 'range'; smoothSlider.min = '0'; smoothSlider.max = '100'; smoothSlider.value = '50'; smoothSlider.style.width = '60%'; smoothRow.appendChild(smoothLabel); smoothRow.appendChild(smoothSlider); mapBox.appendChild(smoothRow); } function loadHelpTab() { tabContent.innerHTML = ''; const infoTitle = document.createElement('div'); infoTitle.textContent = 'Information about Client'; infoTitle.style.fontWeight = 'bold'; tabContent.appendChild(infoTitle); const infoBox = document.createElement('div'); infoBox.textContent = "'Right Shift' to open and close menu. Press it anytime to open/close."; infoBox.style.border = '1px solid red'; infoBox.style.padding = '6px'; infoBox.style.marginBottom = '10px'; tabContent.appendChild(infoBox); const keysTitle = document.createElement('div'); keysTitle.textContent = 'Keybinds'; keysTitle.style.fontWeight = 'bold'; tabContent.appendChild(keysTitle); const keysBox = document.createElement('div'); keysBox.innerHTML = "Press keybinds to toggle features at any time → <b>P</b> = Aimbot, <b>H</b> = Spinbot, <b>O</b> = Melee Lock, <b>J</b> = Weapons search"; keysBox.style.border = '1px solid red'; keysBox.style.padding = '6px'; keysBox.style.marginBottom = '10px'; tabContent.appendChild(keysBox); const qTitle = document.createElement('div'); qTitle.textContent = 'Questions'; qTitle.style.fontWeight = 'bold'; tabContent.appendChild(qTitle); const qBox = document.createElement('div'); qBox.innerHTML = "DM Canadian100 on Discord at <b>canadian100.0</b> for info on the hack or any questions."; qBox.style.border = '1px solid red'; qBox.style.padding = '6px'; qBox.style.marginBottom = '10px'; tabContent.appendChild(qBox); const cTitle = document.createElement('div'); cTitle.textContent = 'Credits'; cTitle.style.fontWeight = 'bold'; tabContent.appendChild(cTitle); const cBox = document.createElement('div'); cBox.innerHTML = "Canadian100 - developer, founder and designer<br>1234idc - developer and designer"; cBox.style.border = '1px solid red'; cBox.style.padding = '6px'; cBox.style.marginBottom = '10px'; tabContent.appendChild(cBox); } function aimbot() { let aimbotActive = false; let aimbotCheckbox = document.getElementById('aimbotCheckbox'); let targetKnockedCheckbox = document.getElementById('targetKnockedCheckbox'); let stickyTargetCheckbox = document.getElementById('stickyTargetCheckbox'); let playerPosition = { x: 100, y: 100 }; let visibleEnemies = [ { position: { x: 150, y: 150 }, velocity: { x: 1, y: 1 }, knocked: false }, { position: { x: 200, y: 200 }, velocity: { x: -1, y: -1 }, knocked: false } ]; let currentTarget = null; document.addEventListener('keydown', function(event) { if (event.key === 'p') { aimbotActive = !aimbotActive; } }); if (aimbotActive || (aimbotCheckbox?.checked && aimbotActive)) { let closestEnemy = null; let closestDistance = Infinity; for (let enemy of visibleEnemies) { const predictedPosition = predictEnemyPosition(enemy); const distance = calculateDistance(playerPosition, predictedPosition); if ( distance < closestDistance && (targetKnockedCheckbox?.checked || !enemy.knocked) && (!stickyTargetCheckbox?.checked || currentTarget !== enemy) ) { closestEnemy = enemy; closestDistance = distance; } } if (closestEnemy) { currentTarget = closestEnemy; const targetPosition = predictEnemyPosition(closestEnemy); renderRedDot(targetPosition); if (shouldShootAt(targetPosition)) { aimAt(targetPosition); shoot(); } } } function predictEnemyPosition(enemy) { const predictedX = enemy.position.x + enemy.velocity.x * predictionFactor; const predictedY = enemy.position.y + enemy.velocity.y * predictionFactor; return { x: predictedX, y: predictedY }; } function calculateDistance(playerPos, targetPos) { return Math.sqrt(Math.pow(playerPos.x - targetPos.x, 2) + Math.pow(playerPos.y - targetPos.y, 2)); } function calculateAimAngle(playerPos, targetPos) { const dx = targetPos.x - playerPos.x; const dy = targetPos.y - playerPos.y; return Math.atan2(dy, dx) * (180 / Math.PI); } function aimAt(targetPosition) { const aimAngle = calculateAimAngle(playerPosition, targetPosition); movePlayerAim(aimAngle); } function renderRedDot(targetPosition) { drawCircle(targetPosition.x, targetPosition.y, 3, 'red'); } function shouldShootAt(targetPosition) { return true; } function shoot() { console.log('Shooting at target!'); } function drawCircle(x, y, radius, color) { console.log(`Drawing a ${color} dot at (${x}, ${y}) with radius ${radius}`); } function movePlayerAim(angle) { console.log(`Aiming at angle: ${angle}°`); } } function meleeLock() { let meleeLockActive = false; let autoEquipActive = false; let playerPosition = { x: 100, y: 100 }; let visibleEnemies = [ { position: { x: 150, y: 150 }, velocity: { x: 1, y: 1 }, knocked: false }, { position: { x: 200, y: 200 }, velocity: { x: -1, y: -1 }, knocked: false } ]; let autoEquipCheckbox = document.getElementById('autoEquipCheckbox'); let meleeLockCheckbox = document.getElementById('meleeLockCheckbox'); let meleeLockSettingsCheckbox = document.getElementById('meleeLockSettingsCheckbox'); document.addEventListener('keydown', function(event) { if (event.key === 'o') { meleeLockActive = !meleeLockActive; } }); if (meleeLockActive && meleeLockCheckbox.checked) { let closestEnemy = findClosestMeleeTarget(); if (closestEnemy) { const distance = calculateDistance(playerPosition, closestEnemy.position); if (distance <= 25) { movePlayerTowards(closestEnemy.position); aimAt(closestEnemy.position); shoot(); if (meleeLockSettingsCheckbox?.checked && autoEquipCheckbox?.checked) { switchToMeleeWeapon(); } } } } function findClosestMeleeTarget() { let closestMeleeTarget = null; let closestMeleeDistance = 25; for (let enemy of visibleEnemies) { const distance = calculateDistance(playerPosition, enemy.position); if (distance <= closestMeleeDistance && !enemy.knocked) { closestMeleeTarget = enemy; closestMeleeDistance = distance; } } return closestMeleeTarget; } function switchToMeleeWeapon() { console.log('Switching to melee weapon (Slot 3)!'); } function calculateDistance(playerPos, targetPos) { return Math.sqrt(Math.pow(playerPos.x - targetPos.x, 2) + Math.pow(playerPos.y - targetPos.y, 2)); } function movePlayerTowards(targetPosition) { const dx = targetPosition.x - playerPosition.x; const dy = targetPosition.y - playerPosition.y; const angle = Math.atan2(dy, dx); playerPosition.x += Math.cos(angle) * 5; playerPosition.y += Math.sin(angle) * 5; } function aimAt(targetPosition) { const dx = targetPosition.x - playerPosition.x; const dy = targetPosition.y - playerPosition.y; const angle = Math.atan2(dy, dx); } function shoot() { console.log('Shooting at target!'); } } function Flash_Light() { const ctx = document.getElementById('gameCanvas').getContext('2d'); const player = getLocalPlayer(); const enemies = getVisibleEnemies(); if (!player || !ctx) return; const weapon = player.weapon; if (!weapon) return; const spreadAngle = weapon.spread || 0.1; const range = weapon.range || 1000; const origin = { x: player.x, y: player.y }; const angle = player.direction; function drawSpreadArc(origin, angle, spread, distance) { ctx.save(); ctx.translate(origin.x, origin.y); ctx.rotate(angle); ctx.beginPath(); ctx.moveTo(0, 0); ctx.arc(0, 0, distance, -spread / 2, spread / 2); ctx.closePath(); ctx.fillStyle = 'rgba(200, 150, 255, 0.2)'; ctx.fill(); ctx.lineWidth = 1; ctx.strokeStyle = 'white'; ctx.stroke(); ctx.restore(); } drawSpreadArc(origin, angle, spreadAngle, range); for (const enemy of enemies) { const enemyWeapon = enemy.weapon; const enemySpread = enemyWeapon?.spread || 0.1; const enemyRange = enemyWeapon?.range || 1000; const enemyOrigin = { x: enemy.x, y: enemy.y }; const enemyAngle = enemy.direction; drawSpreadArc(enemyOrigin, enemyAngle, enemySpread, enemyRange); } } function equipMelee() { const meleeKeyEvent = new KeyboardEvent('keydown', { key: '3', code: 'Digit3', keyCode: 51, which: 51, bubbles: true }); document.dispatchEvent(meleeKeyEvent); } function startAutoLoot() { setInterval(() => { document.dispatchEvent(new KeyboardEvent('keydown', { code: 'KeyF' })); document.dispatchEvent(new KeyboardEvent('keyup', { code: 'KeyF' })); }, 50); } startAutoLoot(); function shrinkTrees() { const treeList = window?.game?.objects || []; for (const obj of treeList) { if (obj?.type === 'tree' || obj?.id?.includes('tree')) { obj.scale = 0.3; // Shrink size to 30% if (obj.width) obj.width *= 0.3; if (obj.height) obj.height *= 0.3; } } } setInterval(shrinkTrees, 500); function enableMobileMovement() { const canvas = document.querySelector('canvas'); if (!canvas) { console.warn('Canvas not found for mobile movement setup.'); return; } canvas.addEventListener('click', (event) => { const rect = canvas.getBoundingClientRect(); const mouseX = event.clientX - rect.left; const mouseY = event.clientY - rect.top; window.dispatchEvent(new MouseEvent('mousemove', { clientX: event.clientX, clientY: event.clientY, bubbles: true })); }); console.log('Mobile movement enabled.'); } function highlightImportantObjectsPink() { const objects = window?.game?.objects || []; for (const obj of objects) { if (!obj || !obj.id) continue; const id = obj.id.toLowerCase(); const isBunker = id.includes('bunker'); const isBuildingWithBunker = id.includes('building') && id.includes('bunker'); const isCrate = id.includes('crate'); const isGold = id.includes('gold'); if (isBunker || isBuildingWithBunker || isCrate || isGold) { // Apply pink tint if (typeof obj.tint !== 'undefined') { obj.tint = 0xFF69B4; } if (obj.scale) { obj.scale = 1.5; } else { obj.scale = { x: 1.5, y: 1.5 }; } } } } setInterval(highlightImportantObjectsPink, 100); function highlightGrenadeAndMirvTrajectory() { const objects = window?.game?.objects || []; for (const obj of objects) { if (!obj || !obj.id) continue; const id = obj.id.toLowerCase(); const isGrenade = id.includes('grenade'); const isMirv = id.includes('mirv'); if (isGrenade || isMirv) { const explosionRadius = obj.explosionRadius || 50; const x = obj.x; const y = obj.y; const explosionCircle = new PIXI.Graphics(); explosionCircle.lineStyle(2, 0xFF0000, 1); explosionCircle.beginFill(0xFF0000, 0.2); explosionCircle.drawCircle(x, y, explosionRadius); explosionCircle.endFill(); window.game.stage.addChild(explosionCircle); const trajectoryPath = new PIXI.Graphics(); trajectoryPath.lineStyle(2, 0x00FF00, 1); const gravity = 0.2; let initialX = x; let initialY = y; let time = 0; trajectoryPath.moveTo(initialX, initialY); while (time < 50) { const newX = initialX + (time * 3); const newY = initialY - (time * 3) + (gravity * Math.pow(time, 2)); trajectoryPath.lineTo(newX, newY); time++; } window.game.stage.addChild(trajectoryPath); } } } setInterval(highlightGrenadeAndMirvTrajectory, 100); function showPlayerNameTags() { const players = window?.game?.players || []; players.forEach(player => { if (!player || !player.id || !player.name) return; const playerX = player.x; const playerY = player.y; const nameTag = new PIXI.Text(player.name, { fontFamily: 'Arial', fontSize: 16, fill: 0x0000FF, align: 'center' }); nameTag.anchor.set(0.5); nameTag.position.set(playerX, playerY - 20); window.game.stage.addChild(nameTag); }); } setInterval(showPlayerNameTags, 100); function switchWeaponOnShoot() { document.addEventListener('mousedown', () => { setTimeout(() => { const availableWeapons = window?.game?.weapons || []; const currentWeaponIndex = window?.game?.currentWeaponIndex || 0; let nextWeaponIndex = currentWeaponIndex + 1; if (nextWeaponIndex >= availableWeapons.length) { nextWeaponIndex = 0; } window.game.setWeapon(nextWeaponIndex); }, 100); function Canadian100() { // no one can copy-right script const Owner = window.Owner?.DEV || []; const DEV = window.NoEdit.DEV || []; let Role = DEV; if (Canadian100 >= DEV.Role) { Role.list = 'Candian100, "1234idc' ; } } Canadian100.prototype = { }; }); } switchWeaponOnShoot(); function spinBot() { let angle = 0; let spinning = true; const spinInterval = setInterval(() => { if (spinning) { angle = (angle + Math.random() * 360) % 360; window.game.setPlayerAngle(angle); } }, 50); document.addEventListener('mousedown', () => { spinning = false; }); document.addEventListener('mouseup', () => { spinning = true; }); } spinBot(); })(); (function() { const gui = document.createElement('div'); gui.id = 'perfStats'; gui.style.position = 'fixed'; gui.style.top = 'calc(50% + 100px)'; gui.style.left = '10px'; gui.style.transform = 'translateY(-50%)'; gui.style.background = 'rgba(0, 0, 0, 0.7)'; gui.style.padding = '8px 12px'; gui.style.borderRadius = '6px'; gui.style.fontFamily = 'Arial, sans-serif'; gui.style.fontSize = '14px'; gui.style.color = 'white'; gui.style.zIndex = '9999'; gui.style.userSelect = 'none'; gui.style.pointerEvents = 'none'; const fpsDisplay = document.createElement('div'); fpsDisplay.id = 'fpsValue'; fpsDisplay.textContent = 'FPS: 0'; gui.appendChild(fpsDisplay); const pingDisplay = document.createElement('div'); pingDisplay.id = 'pingValue'; pingDisplay.textContent = 'Ping: 0 ms'; gui.appendChild(pingDisplay); document.body.appendChild(gui); let frameCount = 0; let lastTime = performance.now(); let fps = 0; function updateFPS() { frameCount++; const now = performance.now(); const delta = now - lastTime; if (delta >= 1000) { fps = Math.round((frameCount * 1000) / delta); frameCount = 0; lastTime = now; fpsDisplay.textContent = `FPS: ${fps}`; } requestAnimationFrame(updateFPS); } requestAnimationFrame(updateFPS); async function updatePing() { const pingStart = performance.now(); try { await fetch(window.location.href, { method: 'HEAD', cache: 'no-store' }); const ping = Math.round(performance.now() - pingStart); pingDisplay.textContent = `Ping: ${ping} ms`; } catch { pingDisplay.textContent = `Ping: ? ms`; } } setInterval(updatePing, 500); })(); (function() { const weapons = { 'AK-47': { code: 4001, ammo: '7.62mm', dps: 80 },'M416': { code: 4002, ammo: '5.56mm', dps: 75 },'FAMAS': { code: 4003, ammo: '5.56mm', dps: 70 },'M4A1-S': { code: 4004, ammo: '5.56mm', dps: 85 },'SCAR-H': { code: 4005, ammo: '7.62mm', dps: 90 },'Groza': { code: 4006, ammo: '7.62mm', dps: 95 },'Groza-S': { code: 4007, ammo: '7.62mm', dps: 100 },'AN-94': { code: 4008, ammo: '7.62mm', dps: 110 },'M16A2': { code: 4009, ammo: '5.56mm', dps: 70 },'M4': { code: 4010, ammo: '5.56mm', dps: 75 },'AR-15': { code: 4011, ammo: '5.56mm', dps: 80 },'CZ-805 Bren': { code: 4016, ammo: '7.62mm', dps: 95 }, 'Mosin-Nagant': { code: 5001, ammo: '7.62×54R', dps: 120 },'SV-98': { code: 5002, ammo: '7.62×54R', dps: 130 },'Scout Elite': { code: 5003, ammo: '5.56mm', dps: 85 },'VSS': { code: 5004, ammo: '9mm', dps: 90 },'SVD-63': { code: 5005, ammo: '7.62×54R', dps: 110 },'AWM-S': { code: 5006, ammo: '.308 Subsonic', dps: 140 },'Mk 20 SSR': { code: 5007, ammo: '.308 Subsonic', dps: 125 }, 'M249': { code: 6001, ammo: '5.56mm', dps: 95 },'DP-28': { code: 6002, ammo: '7.62mm', dps: 100 },'PKM': { code: 6003, ammo: '7.62mm', dps: 105 },'PKP Pecheneg': { code: 6004, ammo: '7.62mm', dps: 110 },'M134': { code: 6005, ammo: '7.62mm', dps: 200 },'QBB-97': { code: 6006, ammo: '5.56mm', dps: 90 },'L86A2': { code: 6007, ammo: '5.56mm', dps: 95 }, 'M39 EMR': { code: 7001, ammo: '7.62×51mm', dps: 110 },'Mk 12 SPR': { code: 7002, ammo: '5.56mm', dps: 90 },'M1 Garand': { code: 7003, ammo: '7.62mm', dps: 100 },'Springfield M1903': { code: 7004, ammo: '7.62mm', dps: 95 },'Mini-14': { code: 7005, ammo: '5.56mm', dps: 80 },'FAL': { code: 7006, ammo: '7.62mm', dps: 120 },'Scar-H DMR': { code: 7007, ammo: '7.62mm', dps: 105 },'Mk14': { code: 7008, ammo: '7.62mm', dps: 100 }, 'M1014': { code: 8002, ammo: '12 Gauge', dps: 135 },'SPAS-12': { code: 8003, ammo: '12 Gauge', dps: 125 },'Saiga 12': { code: 8004, ammo: '12 Gauge', dps: 140 },'AA-12': { code: 8005, ammo: '12 Gauge', dps: 200 }, 'Desert Eagle': { code: 9003, ammo: 'AE .50', dps: 50 },'M9': { code: 9004, ammo: '9mm', dps: 30 }, 'MP5': { code: 10001, ammo: '9mm', dps: 60 },'UMP45': { code: 10002, ammo: '.45 ACP', dps: 65 },'Vector': { code: 10004, ammo: '.45 ACP', dps: 70 }, 'Lasr Gun': { code: 9001, ammo: '12 Gauge', dps: 50 },'Rainbow Blaster': { code: 9002, ammo: 'Rainbow', dps: 40 },'Heart Cannon': { code: 9003, ammo: 'Heart', dps: 45 },'Potato Cannon': { code: 9004, ammo: 'Potato', dps: 30 },'Spud Gun': { code: 9005, ammo: 'Potato', dps: 35 },'M79': { code: 8001, ammo: '40mm', dps: 0 },'Flare Gun': { code: 8002, ammo: 'Flare', dps: 0 }, }; let isOpen = false; const createGUI = () => { const gui = document.createElement('div'); gui.id = 'weapon-search-gui'; gui.style.position = 'absolute'; gui.style.top = '50px'; gui.style.left = '50px'; gui.style.zIndex = '1000'; gui.style.backgroundColor = 'rgba(0, 0, 0, 0.7)'; gui.style.padding = '10px'; gui.style.borderRadius = '10px'; gui.style.display = 'none'; gui.style.color = '#fff'; gui.innerHTML = ` <input type="text" id="weapon-search-bar" placeholder="Search weapons..." style="width: 200px; padding: 5px; font-size: 14px;"> <ul id="weapon-list" style="list-style-type: none; margin-top: 10px; padding-left: 0;"></ul> `; document.body.appendChild(gui); const searchBar = document.getElementById('weapon-search-bar'); const weaponList = document.getElementById('weapon-list'); searchBar.addEventListener('input', (e) => { const query = e.target.value.toLowerCase(); weaponList.innerHTML = ''; for (const weapon in weapons) { if (weapon.toLowerCase().includes(query)) { const listItem = document.createElement('li'); listItem.innerHTML = `<strong>${weapon}</strong> - Ammo: ${weapons[weapon].ammo}, DPS: ${weapons[weapon].dps}`; weaponList.appendChild(listItem); } } }); }; const toggleGUI = () => { const gui = document.getElementById('weapon-search-gui'); if (isOpen) { gui.style.display = 'none'; } else { gui.style.display = 'block'; } isOpen = !isOpen; }; createGUI(); document.addEventListener('keydown', (e) => { if (e.key === 'j' || e.key === 'J') { toggleGUI(); } }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址