在您安装前,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.2
- // @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
- // @run-at document-end
- // @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 = 3
- 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() * 6) + 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")
- return
- case null:
- alert("Dont Modify This Script")
- 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 DOGEWARE = {
- player: {
- wireframe: false,
- opacity: 0.5
- },
- spinbot: {
- on: false,
- speed: 0.1,
- spinAngle: 0
- },
- xray: {
- on: false,
- layer: 2,
- opacity: 0.3
- },
- cameraOffset: {
- on: true,
- x: 0,
- y: 0,
- z: 0
- },
- aimbot: {
- on: true,
- smoothingFactor: 0.7,
- onfov: false,
- size: 0.15,
- },
- scene: {
- wireframe: false
- },
- 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;
- }, DOGEWARE.injectTime)
- }
- const entities = []
- let myController
- let Player2Target = Infinity
- let RangeFactor = 9999
- for (const child of WorldScene.children) {
- if (child.material) {
- child.material.wireframe = DOGEWARE.scene.wireframe
- child.material.blending = DOGEWARE.xray.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 === null || undefined) {
- 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.cameraOffset.y
- myController.children[0].position.x = DOGEWARE.cameraOffset.x
- myController.children[0].position.z = DOGEWARE.cameraOffset.z
- let intersections;
- if (typeof myController !== 'undefined' &&
- typeof Player2Target !== 'undefined' && DOGEWARE.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
- DOGEWARE.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
- DOGEWARE.allowTarget = true
- intersections = raycaster.intersectObject(Player2Target, true)
- }
- DOGEWARE.console(intersections)
- try {
- if (intersections[0].object.material && intersections[0].object) {
- const material = intersections[0].object.material
- intersections[0].object.renderOrder = 9999
- material.transparent = true;
- DOGEWARE.console(intersections[0].object.renderOrder)
- material.wireframe = DOGEWARE.player.wireframe
- material.opacity = DOGEWARE.player.opacity
- } else {}
- } catch {}
- if (intersections[0].object && DOGEWARE.allowTarget) {
- if (DOGEWARE.aimbot.on) {
- placeholderObj.position.copy(myController.position)
- placeholderObj.lookAt(temporaryVector3)
- DOGEWARE.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
- DOGEWARE.console('Player2Target is visible to myPlayer.')
- DOGEWARE.console(myController)
- }
- } else {
- DOGEWARE.allowTarget = false
- DOGEWARE.console('Player2Target is not visible to myPlayer.')
- }
- } else {
- DOGEWARE.console('myPlayer or Player2Target is not defined or is not an instance of THREE.Object3D.')
- }
- }
- function createMenuItem() {
- const styleTag = document.createElement('style')
- styleTag.textContent = `
- .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); }
- }
- `;
- document.head.appendChild(styleTag)
- const menuItemDiv = document.createElement('div')
- menuItemDiv.classList.add('menuItem')
- 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)
- let fovDiv = document.getElementById('fovVisualization')
- if (!fovDiv) {
- fovDiv = document.createElement('div')
- fovDiv.id = 'fovVisualization'
- fovDiv.style.position = 'fixed'
- fovDiv.style.width = '250px'
- fovDiv.style.height = '230px'
- fovDiv.style.left = '50%'
- fovDiv.style.top = '50%'
- fovDiv.style.transform = 'translate(-50%, -50%)'
- fovDiv.style.border = '2px solid rgba(255, 0, 0, 0.5)'
- fovDiv.style.background = 'transparent'
- fovDiv.style.pointerEvents = 'none'
- if (DOGEWARE.aimbot.onfov) {
- document.body.appendChild(fovDiv);
- }
- }
- window.addEventListener('resize', () => {
- fovDiv.style.left = '50%'
- fovDiv.style.top = '50%'
- fovDiv.style.transform = 'translate(-50%, -50%)'
- });
- const menuContainer = document.createElement('div')
- menuContainer.id = 'menuContainer'
- menuContainer.style.position = 'fixed'
- menuContainer.style.top = '20px'
- menuContainer.style.left = '20px'
- menuContainer.style.backgroundColor = '#fff'
- menuContainer.style.padding = '10px'
- menuContainer.style.border = '1px solid #ccc'
- menuContainer.style.zIndex = '1000'
- menuContainer.style.maxWidth = '200px'
- menuContainer.style.fontFamily = 'Arial, sans-serif'
- menuContainer.style.fontSize = '12px'
- menuContainer.style.lineHeight = '1.5'
- menuContainer.style.overflow = 'auto'
- document.body.appendChild(menuContainer)
- const tabNames = Object.keys(DOGEWARE)
- const tabLinks = document.createElement('div')
- tabLinks.classList.add('tab')
- 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)
- });
- menuContainer.appendChild(tabLinks)
- tabNames.forEach(tabName => {
- const tabContent = document.createElement('div')
- tabContent.id = tabName
- tabContent.classList.add('tabcontent')
- menuContainer.appendChild(tabContent)
- populateTab(tabName)
- });
- openTab(tabNames[0])
- function populateTab(tabName) {
- const tabContent = document.getElementById(tabName)
- const tabOptions = DOGEWARE[tabName]
- for (const option in tabOptions) {
- 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.text = 'Yes';
- const optionFalse = document.createElement('option')
- optionFalse.value = 'false'
- optionFalse.text = 'No';
- select.appendChild(optionTrue);
- select.appendChild(optionFalse);
- select.value = tabOptions[option].toString()
- select.addEventListener('change', () => {
- tabOptions[option] = select.value === 'true'
- });
- tabContent.appendChild(select);
- } else {
- const inputField = document.createElement('input');
- inputField.type = 'text'
- inputField.value = tabOptions[option]
- inputField.style.width = '100%'
- inputField.addEventListener('change', function(event) {
- tabOptions[option] = event.target.value;
- });
- tabContent.appendChild(inputField);
- }
- }
- }
- function openTab(tabName) {
- const tabs = document.getElementsByClassName('tabcontent');
- for (const tab of tabs) {
- tab.style.display = 'none'
- }
- const tabButtons = document.querySelectorAll('.tab button');
- tabButtons.forEach(tabButton => {
- tabButton.classList.remove('active')
- if (tabButton.textContent === tabName.charAt(0).toUpperCase() + tabName.slice(1)) {
- tabButton.classList.add('active')
- }
- });
- document.getElementById(tabName).style.display = 'block'
- }
- function openCheats() {
- const displayStyle = menuContainer.style.display;
- menuContainer.style.display = displayStyle === 'none' ? 'block' : 'none'
- }
- Inject();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址