在您安装前,Greasy Fork 希望您知道此脚本包含可能不受欢迎的功能,也许会帮助脚本作者获利,而不能给你带来任何收益。
这个脚本会在你访问的网站插入广告。
Krunker's Mod Menu Aimbot targets nearest VISIBLE player. Adjust Smoothing for precision. Use Xray to see through walls, wireframe for players & world, and more
目前为
// ==UserScript== // @name KRUNKER.IO AIMBOT, XRAY, SPINBOT, WIREFRAME, FOV BOX, AND 3RD PERSON BY DOGEWARE // @namespace http://tampermonkey.net/ // @version 0.5 // @description Krunker's Mod Menu Aimbot targets nearest VISIBLE player. Adjust Smoothing for precision. Use Xray to see through walls, wireframe for players & world, and more // @author DOGEWARE // @match *://krunker.io/* // @match *://browserfps.com/* // @icon https://media.giphy.com/media/CxYGmxv0Oyz4I/giphy.gif // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js // @antifeature ads // ==/UserScript== const THREE = window.THREE; const urlParams = new URLSearchParams(window.location.search) let key = urlParams.get('key'); const Start = ["H7", "J6", "P9", "H8"] const End = ["BJ8", "C8Y", "PLOG", "C149"] const x = 1 let usedKey = localStorage.getItem('key') const alertMsg = `⚠️ Invalid Key Alert ⚠️ This script now requires our license key for activation. To obtain the key, please visit our official page at dogescripts.pages.dev. This process only takes a few seconds and needs to be done about twice a day. 🛑 Please Note: The site is currently in the testing phase, and your cooperation is highly appreciated. Thank you for your understanding! ` const ChanceToReload = Math.floor(Math.random() * 2) + 1 if(key !== null) { localStorage.setItem('key', key) } if(localStorage.getItem('key') === null) { alert(alertMsg) location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}` return } else { console.log(ChanceToReload) if(ChanceToReload === x) { alert(alertMsg, usedKey) location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}` return } } let isValidKey = false; switch(isValidKey) { case true: alert("Dont Modify This Script") location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}` return case null: alert("Dont Modify This Script") location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}` return } try { for(const startStr of Start) { if(key.startsWith(startStr)) { for(const endStr of End) { if(key.endsWith(endStr)) { isValidKey = true break; } } break; } } } catch { isValidKey = true } if(isValidKey) { console.log('Vaild Key') }else{ return } let WorldScene; let intersections; let DOGEWARE = { player: { wireframe: false, opacity: 1, colorR: 1, colorB: 0, colorG: 0 }, spinbot: { on: false, speed: 0.1, spinAngle: 0 }, ESP: { VisiblePlayers: true, msg: "Xray Settings: ", on: false, layer: 2, opacity: 0.3 }, Camera: { on: true, x: 0, y: 0, z: 0 }, aimbot: { on: true, smoothingFactor: 0.99, onfov: false, size: 0.15, }, scene: { wireframe: false }, } let norms = { allowTarget: true, console: console.log, injectTime: 3000 } const temporaryVector3 = new THREE.Vector3() const placeholderObj = new THREE.Object3D() placeholderObj.rotation.order = 'YXZ' const origialArrayPush = Array.prototype.push const getMainScene = function(object) { if(object && object.parent && object.parent.type === "Scene" && object.parent.name === "Main") { WorldScene = object.parent; Array.prototype.push = origialArrayPush; } return origialArrayPush.apply(this, arguments); }; function Inject() { requestAnimationFrame.call(window, Inject); if(!WorldScene) { window.setTimeout(() => { Array.prototype.push = getMainScene; }, norms.injectTime) } const entities = [] let myController let Player2Target let RangeFactor = Infinity for(const child of WorldScene.children) { if(child.material) { child.material.wireframe = DOGEWARE.scene.wireframe child.material.blending = DOGEWARE.ESP.on ? 2 : 1 } } WorldScene.children.forEach(child => { if(child.type === 'Object3D') { try { const Camera = child.children[0]?.children[0] if(Camera && Camera.type === 'PerspectiveCamera') { myController = child } else { entities.push(child) } } catch {} } }); if(!myController) { Array.prototype.push = getMainScene return } placeholderObj.matrix.copy(myController.matrix) .invert() entities.forEach(player => { const playerPosition = player.position const controllerPosition = myController.position if(playerPosition.x !== controllerPosition.x || playerPosition.z !== controllerPosition.z) { const dist = playerPosition.distanceTo(controllerPosition) if(dist < RangeFactor) { Player2Target = player RangeFactor = dist } } }); temporaryVector3.setScalar(0); if(DOGEWARE.spinbot.on) { DOGEWARE.spinbot.spinAngle += DOGEWARE.spinbot.speed const targetRotationY = DOGEWARE.spinbot.spinAngle % (Math.PI * 2) myController.children[0].rotation.y += (targetRotationY - myController.children[0].rotation.y) * DOGEWARE.aimbot.smoothingFactor } myController.layers.mask = 1 try { Player2Target.children[0].children[0].localToWorld(temporaryVector3) } catch {} myController.children[0].position.y = DOGEWARE.Camera.y myController.children[0].position.x = DOGEWARE.Camera.x myController.children[0].position.z = DOGEWARE.Camera.z if(typeof myController !== 'undefined' && typeof Player2Target !== 'undefined' && norms.allowTarget) { const raycaster = new THREE.Raycaster() const direction = new THREE.Vector3() const myPlayerPosition = new THREE.Vector3() myController.getWorldPosition(myPlayerPosition) if(DOGEWARE.aimbot.onfov) { direction.subVectors(Player2Target.position, myPlayerPosition).normalize() const frontDirection = new THREE.Vector3(0, 0, myController.rotation.z) const angleOffset = DOGEWARE.aimbot.size const axis = new THREE.Vector3().crossVectors(frontDirection, direction).normalize() const angle = Math.acos(frontDirection.dot(direction)) const quaternion = new THREE.Quaternion().setFromAxisAngle(axis, angleOffset) const fanOutDirection = direction.clone().applyQuaternion(quaternion).normalize() raycaster.set(myPlayerPosition, fanOutDirection) raycaster.near = 0.05 raycaster.far = 1000 norms.allowTarget = true; intersections = raycaster.intersectObject(Player2Target, true); } else { const raycaster = new THREE.Raycaster() const direction = new THREE.Vector3() const myPlayerPosition = new THREE.Vector3() myController.getWorldPosition(myPlayerPosition) raycaster.set(myPlayerPosition, direction.subVectors(Player2Target.position, myPlayerPosition).normalize()) raycaster.near = 0.1 raycaster.far = 100 norms.allowTarget = true intersections = raycaster.intersectObject(Player2Target, true) } try { if(intersections[0].object.material && intersections[0].object) { const material = intersections[0].object.material intersections[0].object.renderOrder = 99999 material.transparent = true; norms.console(intersections[0].object.material) material.depthTest = DOGEWARE.ESP.VisiblePlayers ? false : true material.color.r = DOGEWARE.player.colorR material.color.g = DOGEWARE.player.colorG material.color.b = DOGEWARE.player.colorB material.emissive.r = DOGEWARE.player.colorR * 255 material.emissive.g = DOGEWARE.player.colorG * 255 material.emissive.b = DOGEWARE.player.colorB * 255 material.fog = false; material.wireframe = DOGEWARE.player.wireframe material.opacity = DOGEWARE.player.opacity } else {} } catch {} if(intersections[0].object && norms.allowTarget) { if(DOGEWARE.aimbot.on) { placeholderObj.position.copy(myController.position) placeholderObj.lookAt(temporaryVector3) norms.allowTarget = true const targetRotationX = -placeholderObj.rotation.x; const targetRotationY = placeholderObj.rotation.y + Math.PI myController.children[0].rotation.x += (targetRotationX - myController.children[0].rotation.x) * DOGEWARE.aimbot.smoothingFactor myController.rotation.y += (targetRotationY - myController.rotation.y) * DOGEWARE.aimbot.smoothingFactor norms.console('Player2Target is visible to myPlayer.') } } else { norms.allowTarget = false } } else {} } function createMenuItem() { const styleTag = document.createElement('style') styleTag.textContent = ` .menuHeaderText1{ font-size: 35px; font-weight: 900; text-align: center !important; animation: rgbAnimation 0.5s infinite alternate; /* Adding the animation */ } .menuItemTitle1 { font-size: 18px; animation: rgbAnimation 0.5s infinite alternate; /* Adding the animation */ } @keyframes rgbAnimation { 0% { color: rgb(255, 0, 0); } 25% { color: rgb(255, 255, 0); } 50% { color: rgb(0, 255, 0); } 75% { color: rgb(0, 255, 255); } 100% { color: rgb(255, 0, 255); } } .menuItem1:hover img{ transform: scale(1.1); } `; document.head.appendChild(styleTag) const menuItemDiv = document.createElement('div') menuItemDiv.classList.add('menuItem') menuItemDiv.classList.add('menuItem1') menuItemDiv.setAttribute('onmouseenter', 'playTick()'); menuItemDiv.setAttribute('onclick', 'playSelect()'); const iconSpan = document.createElement('span') iconSpan.innerHTML = `<img src="https://media.giphy.com/media/CxYGmxv0Oyz4I/giphy.gif" width='60' height='60'>` iconSpan.style.color = '#ff6a0b'; const titleDiv = document.createElement('div') titleDiv.classList.add('menuItemTitle1') titleDiv.classList.add('menuItemTitle') titleDiv.id = 'menuBtnProfile'; titleDiv.style.fontSize = '18px'; titleDiv.textContent = 'CH3ATS'; menuItemDiv.addEventListener('click', openCheats) menuItemDiv.appendChild(iconSpan); menuItemDiv.appendChild(titleDiv); const menuItemContainer = document.getElementById('menuItemContainer') if(menuItemContainer) { menuItemContainer.appendChild(menuItemDiv) } else { alert('Error: #menuItemContainer not found.') } } setTimeout(function() { createMenuItem() }, 700) setTimeout(function() { if(document.getElementById('mapInfo') && !document.getElementById('mapInfo') .innerText.includes("All")) { //location.href = `https://${location.hostname}/`; } else {} }, 4000) const style = document.createElement('style'); style.innerHTML = ` #menuContainer { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: #212121; padding: 10px; border-radius: 10px; border: revert-layer; z-index: 1000; max-width: 400px; font-size: 14px; line-height: 1.5; box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); } #menuContainer *{ -webkit-font-smoothing: antialiased; /* Apply webkit anti-aliasing */ font-smoothing: antialiased; /* Standard anti-aliasing */ } #menuContainer label{ color: white !important; font-weight: bold; } .tab { display: flex; justify-content: space-around; margin-bottom: 10px; } .tab button { background-color: #f0f0f0; border: 1px solid #ccc; padding: 3px 5px; cursor: pointer; font-size: xx-small !important; } .tab button.active { background-color: #ccc; } .tabcontent { display: none; margin-top: 10px; } .tabcontent.active { display: block; } label { display: block; margin-bottom: 5px; } select, input[type="text"] { width: calc(100% - 12px); padding: 3px; margin-bottom: 5px; } select{ width: calc(100% - 2px) !important; } .header { position: relative; text-align: center; } .headerContent { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .header h2 { margin: 0; position: relative; bottom: -100px; } .headerImage { width: 100%; height: auto; margin-top: -50px; border-radius: 10px; object-fit: cover; } `; document.head.appendChild(style); const menuContainer = document.createElement('div') menuContainer.id = 'menuContainer' document.body.appendChild(menuContainer) const header = document.createElement('div') header.innerHTML = ` <div class="header"> <h2 class='menuHeaderText1'>DOGEWARE</h2> <img src="https://media.giphy.com/media/fg4EQNbMABa6c/200.gif" alt='Header Image' class='headerImage'> </div> <div style="height: 6px;"></div> <b>[O] HIDE</b> <div style="height: 6px;"></div> ` menuContainer.appendChild(header) const tabLinks = document.createElement('div') tabLinks.classList.add('tab') menuContainer.appendChild(tabLinks) const tabContents = {} const tabNames = Object.keys(DOGEWARE) tabNames.forEach(tabName => { const tabButton = document.createElement('button') tabButton.textContent = tabName.charAt(0) .toUpperCase() + tabName.slice(1) tabButton.addEventListener('click', () => openTab(tabName)) tabLinks.appendChild(tabButton) const tabContent = document.createElement('div') tabContent.classList.add('tabcontent') menuContainer.appendChild(tabContent) tabContents[tabName] = tabContent populateTab(tabName) }); openTab(tabNames[0]) function populateTab(tabName) { const tabContent = tabContents[tabName] const tabOptions = DOGEWARE[tabName] for(const option in tabOptions) { if(typeof tabOptions[option] !== 'object') { const label = document.createElement('label') label.textContent = option.charAt(0) .toUpperCase() + option.slice(1) tabContent.appendChild(label) if(typeof tabOptions[option] === 'boolean') { const select = document.createElement('select') const optionTrue = document.createElement('option') optionTrue.value = 'true' optionTrue.textContent = 'Yes' const optionFalse = document.createElement('option'); optionFalse.value = 'false' optionFalse.textContent = 'No' select.appendChild(optionTrue) select.appendChild(optionFalse) select.value = tabOptions[option].toString() select.addEventListener('change', event => { tabOptions[option] = event.target.value === 'true'; }); tabContent.appendChild(select) } else { const inputField = document.createElement('input'); inputField.type = 'text'; inputField.value = tabOptions[option] inputField.addEventListener('change', event => { tabOptions[option] = event.target.value }); tabContent.appendChild(inputField) } } } } function openTab(tabName) { const tabs = document.querySelectorAll('.tabcontent') tabs.forEach(tab => tab.classList.remove('active')) const tabButtons = document.querySelectorAll('.tab button') tabButtons.forEach(tabButton => tabButton.classList.remove('active')) const tabContent = tabContents[tabName] tabContent.classList.add('active') const tabButton = [...tabLinks.querySelectorAll('button')].find(button => button.textContent === tabName.charAt(0) .toUpperCase() + tabName.slice(1)) tabButton.classList.add('active') } const h3Element = document.createElement('h3') h3Element.style.position = 'absolute' h3Element.style.top = '60%' h3Element.style.left = '50%' h3Element.style.transform = 'translate(-50%, -50%)' h3Element.style.margin = '0' h3Element.style.color = 'white' h3Element.style.fontFamily = 'monospace' document.body.appendChild(h3Element) setInterval(function() { h3Element.textContent = `Targeting Player: ${intersections[0].distance} : ${intersections[0].object.name} ${intersections[0].object.type}` }, 100) let firstOpen = false function openCheats() { const displayStyle = menuContainer.style.display; menuContainer.style.transition = 'opacity 0.3s ease'; menuContainer.style.opacity = '0'; if (displayStyle === 'none') { menuContainer.style.display = 'block'; setTimeout(() => { menuContainer.style.opacity = '1'; }, 10); } else { menuContainer.style.opacity = '0'; setTimeout(() => { menuContainer.style.display = 'none'; }, 300); } if (!firstOpen) { window.open('https://dogescripts.pages.dev/games/promo-page', '_blank'); firstOpen = true; } } document.addEventListener('keydown', function(event) { if(event.keyCode === 79) { openCheats() } }); function alertEveryThreeMinutes() { setInterval(function() { window.open('https://dogescripts.pages.dev/games/promo-page', '_blank'); }, 4 * 60 * 1000); } alertEveryThreeMinutes(); Inject()