KRUNKER.IO AIMBOT, XRAY, SPINBOT, WIREFRAME, FOV BOX, AND 3RD PERSON BY DOGEWARE

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

目前为 2024-03-29 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name KRUNKER.IO AIMBOT, XRAY, SPINBOT, WIREFRAME, FOV BOX, AND 3RD PERSON BY DOGEWARE
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.2
  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
  6. // @author DOGEWARE
  7. // @match *://krunker.io/*
  8. // @match *://browserfps.com/*
  9. // @icon https://media.giphy.com/media/CxYGmxv0Oyz4I/giphy.gif
  10. // @grant none
  11. // @run-at document-end
  12. // @require https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js
  13. // @antifeature ads
  14. // ==/UserScript==
  15.  
  16. const THREE = window.THREE;
  17. const urlParams = new URLSearchParams(window.location.search)
  18. let key = urlParams.get('key');
  19. const Start = ["H7", "J6", "P9", "H8"]
  20. const End = ["BJ8", "C8Y", "PLOG", "C149"]
  21. const x = 3
  22. let usedKey = localStorage.getItem('key')
  23. const alertMsg = `⚠️ Invalid Key Alert ⚠️
  24.  
  25. 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.
  26.  
  27. 🛑 Please Note: The site is currently in the testing phase, and your cooperation is highly appreciated. Thank you for your understanding!
  28. `
  29. const ChanceToReload = Math.floor(Math.random() * 6) + 1
  30. if (key !== null) {
  31. localStorage.setItem('key', key)
  32. }
  33. if (localStorage.getItem('key') === null) {
  34. alert(alertMsg)
  35. location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}`
  36. return
  37. } else {
  38. console.log(ChanceToReload)
  39. if (ChanceToReload === x) {
  40. alert(alertMsg, usedKey)
  41. location.href = `https://dogescripts.pages.dev/games/?script=${location.hostname}`
  42. return
  43. }
  44. }
  45. let isValidKey = false;
  46. switch (isValidKey) {
  47. case true:
  48. alert("Dont Modify This Script")
  49. return
  50. case null:
  51. alert("Dont Modify This Script")
  52. return
  53. }
  54. try {
  55. for (const startStr of Start) {
  56. if (key.startsWith(startStr)) {
  57. for (const endStr of End) {
  58. if (key.endsWith(endStr)) {
  59. isValidKey = true
  60. break;
  61. }
  62. }
  63. break;
  64. }
  65. }
  66. } catch { isValidKey = true }
  67. if (isValidKey) {
  68. console.log('Vaild Key')
  69. } else {
  70. return;
  71. }
  72. let WorldScene;
  73. let DOGEWARE = {
  74. player: {
  75. wireframe: false,
  76. opacity: 0.5
  77. },
  78. spinbot: {
  79. on: false,
  80. speed: 0.1,
  81. spinAngle: 0
  82. },
  83. xray: {
  84. on: false,
  85. layer: 2,
  86. opacity: 0.3
  87. },
  88. cameraOffset: {
  89. on: true,
  90. x: 0,
  91. y: 0,
  92. z: 0
  93. },
  94. aimbot: {
  95. on: true,
  96. smoothingFactor: 0.7,
  97. onfov: false,
  98. size: 0.15,
  99. },
  100. scene: {
  101. wireframe: false
  102. },
  103. allowTarget: true,
  104. console: console.log,
  105. injectTime: 3000
  106. }
  107. const temporaryVector3 = new THREE.Vector3()
  108. const placeholderObj = new THREE.Object3D()
  109. placeholderObj.rotation.order = 'YXZ'
  110. const origialArrayPush = Array.prototype.push
  111. const getMainScene = function(object) {
  112. if (object && object.parent && object.parent.type === "Scene" && object.parent.name === "Main") {
  113. WorldScene = object.parent;
  114. Array.prototype.push = origialArrayPush;
  115. }
  116. return origialArrayPush.apply(this, arguments);
  117. };
  118.  
  119. function Inject() {
  120. requestAnimationFrame.call(window, Inject);
  121. if (!WorldScene) {
  122. window.setTimeout(() => {
  123. Array.prototype.push = getMainScene;
  124. }, DOGEWARE.injectTime)
  125. }
  126. const entities = []
  127. let myController
  128. let Player2Target = Infinity
  129. let RangeFactor = 9999
  130. for (const child of WorldScene.children) {
  131. if (child.material) {
  132. child.material.wireframe = DOGEWARE.scene.wireframe
  133. child.material.blending = DOGEWARE.xray.on ? 2 : 1
  134. }
  135. }
  136. WorldScene.children.forEach(child => {
  137. if (child.type === 'Object3D') {
  138. try {
  139. const Camera = child.children[0]?.children[0]
  140. if (Camera && Camera.type === 'PerspectiveCamera') {
  141. myController = child
  142. } else {
  143. entities.push(child)
  144. }
  145. } catch {}
  146. }
  147. });
  148. if (myController === null || undefined) {
  149. Array.prototype.push = getMainScene
  150. return
  151. }
  152. placeholderObj.matrix.copy(myController.matrix).invert()
  153. entities.forEach(player => {
  154. const playerPosition = player.position
  155. const controllerPosition = myController.position
  156. if (playerPosition.x !== controllerPosition.x || playerPosition.z !== controllerPosition.z) {
  157. const dist = playerPosition.distanceTo(controllerPosition)
  158. if (dist < RangeFactor) {
  159. Player2Target = player
  160. RangeFactor = dist
  161. }
  162. }
  163. });
  164. temporaryVector3.setScalar(0);
  165. if (DOGEWARE.spinbot.on) {
  166. DOGEWARE.spinbot.spinAngle += DOGEWARE.spinbot.speed
  167. const targetRotationY = DOGEWARE.spinbot.spinAngle % (Math.PI * 2)
  168. myController.children[0].rotation.y += (targetRotationY - myController.children[0].rotation.y) * DOGEWARE.aimbot.smoothingFactor
  169. }
  170. myController.layers.mask = 1
  171. try {
  172. Player2Target.children[0].children[0].localToWorld(temporaryVector3)
  173. } catch {}
  174. myController.children[0].position.y = DOGEWARE.cameraOffset.y
  175. myController.children[0].position.x = DOGEWARE.cameraOffset.x
  176. myController.children[0].position.z = DOGEWARE.cameraOffset.z
  177. let intersections;
  178. if (typeof myController !== 'undefined' &&
  179. typeof Player2Target !== 'undefined' && DOGEWARE.allowTarget) {
  180. const raycaster = new THREE.Raycaster()
  181. const direction = new THREE.Vector3()
  182. const myPlayerPosition = new THREE.Vector3()
  183. myController.getWorldPosition(myPlayerPosition)
  184. if (DOGEWARE.aimbot.onfov) {
  185. direction.subVectors(Player2Target.position, myPlayerPosition).normalize()
  186. const frontDirection = new THREE.Vector3(0, 0, myController.rotation.z)
  187. const angleOffset = DOGEWARE.aimbot.size
  188. const axis = new THREE.Vector3().crossVectors(frontDirection, direction).normalize()
  189. const angle = Math.acos(frontDirection.dot(direction))
  190. const quaternion = new THREE.Quaternion().setFromAxisAngle(axis, angleOffset)
  191. const fanOutDirection = direction.clone().applyQuaternion(quaternion).normalize()
  192. raycaster.set(myPlayerPosition, fanOutDirection)
  193. raycaster.near = 0.05
  194. raycaster.far = 1000
  195. DOGEWARE.allowTarget = true;
  196. intersections = raycaster.intersectObject(Player2Target, true);
  197. } else {
  198. const raycaster = new THREE.Raycaster()
  199. const direction = new THREE.Vector3()
  200. const myPlayerPosition = new THREE.Vector3()
  201. myController.getWorldPosition(myPlayerPosition)
  202. raycaster.set(myPlayerPosition, direction.subVectors(Player2Target.position, myPlayerPosition).normalize())
  203. raycaster.near = 0.1
  204. raycaster.far = 100
  205. DOGEWARE.allowTarget = true
  206. intersections = raycaster.intersectObject(Player2Target, true)
  207. }
  208. DOGEWARE.console(intersections)
  209. try {
  210. if (intersections[0].object.material && intersections[0].object) {
  211. const material = intersections[0].object.material
  212. intersections[0].object.renderOrder = 9999
  213. material.transparent = true;
  214. DOGEWARE.console(intersections[0].object.renderOrder)
  215. material.wireframe = DOGEWARE.player.wireframe
  216. material.opacity = DOGEWARE.player.opacity
  217. } else {}
  218. } catch {}
  219. if (intersections[0].object && DOGEWARE.allowTarget) {
  220. if (DOGEWARE.aimbot.on) {
  221. placeholderObj.position.copy(myController.position)
  222. placeholderObj.lookAt(temporaryVector3)
  223. DOGEWARE.allowTarget = true
  224. const targetRotationX = -placeholderObj.rotation.x;
  225. const targetRotationY = placeholderObj.rotation.y + Math.PI
  226. myController.children[0].rotation.x += (targetRotationX - myController.children[0].rotation.x) * DOGEWARE.aimbot.smoothingFactor
  227. myController.rotation.y += (targetRotationY - myController.rotation.y) * DOGEWARE.aimbot.smoothingFactor
  228. DOGEWARE.console('Player2Target is visible to myPlayer.')
  229. DOGEWARE.console(myController)
  230. }
  231. } else {
  232. DOGEWARE.allowTarget = false
  233. DOGEWARE.console('Player2Target is not visible to myPlayer.')
  234. }
  235. } else {
  236. DOGEWARE.console('myPlayer or Player2Target is not defined or is not an instance of THREE.Object3D.')
  237. }
  238. }
  239.  
  240. function createMenuItem() {
  241. const styleTag = document.createElement('style')
  242. styleTag.textContent = `
  243. .menuItemTitle1 {
  244. font-size: 18px;
  245. animation: rgbAnimation 0.5s infinite alternate; /* Adding the animation */
  246. }
  247. @keyframes rgbAnimation {
  248. 0% { color: rgb(255, 0, 0); }
  249. 25% { color: rgb(255, 255, 0); }
  250. 50% { color: rgb(0, 255, 0); }
  251. 75% { color: rgb(0, 255, 255); }
  252. 100% { color: rgb(255, 0, 255); }
  253. }
  254. `;
  255. document.head.appendChild(styleTag)
  256. const menuItemDiv = document.createElement('div')
  257. menuItemDiv.classList.add('menuItem')
  258. const iconSpan = document.createElement('span')
  259. iconSpan.innerHTML = `<img src="https://media.giphy.com/media/CxYGmxv0Oyz4I/giphy.gif" width='60' height='60'>`
  260. iconSpan.style.color = '#ff6a0b';
  261. const titleDiv = document.createElement('div')
  262. titleDiv.classList.add('menuItemTitle1')
  263. titleDiv.classList.add('menuItemTitle')
  264. titleDiv.id = 'menuBtnProfile';
  265. titleDiv.style.fontSize = '18px';
  266. titleDiv.textContent = 'CH3ATS';
  267. menuItemDiv.addEventListener('click', openCheats)
  268. menuItemDiv.appendChild(iconSpan);
  269. menuItemDiv.appendChild(titleDiv);
  270. const menuItemContainer = document.getElementById('menuItemContainer')
  271. if (menuItemContainer) {
  272. menuItemContainer.appendChild(menuItemDiv)
  273. } else {
  274. alert('Error: #menuItemContainer not found.')
  275. }
  276. }
  277. setTimeout(function() {
  278. createMenuItem()
  279. }, 700)
  280. setTimeout(function() {
  281. if (document.getElementById('mapInfo') && !document.getElementById('mapInfo').innerText.includes("All")) {
  282. //location.href = `https://${location.hostname}/`;
  283. } else {}
  284. }, 4000)
  285. let fovDiv = document.getElementById('fovVisualization')
  286. if (!fovDiv) {
  287. fovDiv = document.createElement('div')
  288. fovDiv.id = 'fovVisualization'
  289. fovDiv.style.position = 'fixed'
  290. fovDiv.style.width = '250px'
  291. fovDiv.style.height = '230px'
  292. fovDiv.style.left = '50%'
  293. fovDiv.style.top = '50%'
  294. fovDiv.style.transform = 'translate(-50%, -50%)'
  295. fovDiv.style.border = '2px solid rgba(255, 0, 0, 0.5)'
  296. fovDiv.style.background = 'transparent'
  297. fovDiv.style.pointerEvents = 'none'
  298. if (DOGEWARE.aimbot.onfov) {
  299. document.body.appendChild(fovDiv);
  300. }
  301. }
  302. window.addEventListener('resize', () => {
  303. fovDiv.style.left = '50%'
  304. fovDiv.style.top = '50%'
  305. fovDiv.style.transform = 'translate(-50%, -50%)'
  306. });
  307. const menuContainer = document.createElement('div')
  308. menuContainer.id = 'menuContainer'
  309. menuContainer.style.position = 'fixed'
  310. menuContainer.style.top = '20px'
  311. menuContainer.style.left = '20px'
  312. menuContainer.style.backgroundColor = '#fff'
  313. menuContainer.style.padding = '10px'
  314. menuContainer.style.border = '1px solid #ccc'
  315. menuContainer.style.zIndex = '1000'
  316. menuContainer.style.maxWidth = '200px'
  317. menuContainer.style.fontFamily = 'Arial, sans-serif'
  318. menuContainer.style.fontSize = '12px'
  319. menuContainer.style.lineHeight = '1.5'
  320. menuContainer.style.overflow = 'auto'
  321. document.body.appendChild(menuContainer)
  322. const tabNames = Object.keys(DOGEWARE)
  323. const tabLinks = document.createElement('div')
  324. tabLinks.classList.add('tab')
  325. tabNames.forEach(tabName => {
  326. const tabButton = document.createElement('button')
  327. tabButton.textContent = tabName.charAt(0).toUpperCase() + tabName.slice(1)
  328. tabButton.addEventListener('click', () => openTab(tabName))
  329. tabLinks.appendChild(tabButton)
  330. });
  331. menuContainer.appendChild(tabLinks)
  332. tabNames.forEach(tabName => {
  333. const tabContent = document.createElement('div')
  334. tabContent.id = tabName
  335. tabContent.classList.add('tabcontent')
  336. menuContainer.appendChild(tabContent)
  337. populateTab(tabName)
  338. });
  339. openTab(tabNames[0])
  340.  
  341. function populateTab(tabName) {
  342. const tabContent = document.getElementById(tabName)
  343. const tabOptions = DOGEWARE[tabName]
  344. for (const option in tabOptions) {
  345. const label = document.createElement('label')
  346. label.textContent = option.charAt(0).toUpperCase() + option.slice(1)
  347. tabContent.appendChild(label);
  348. if (typeof tabOptions[option] === 'boolean') {
  349. const select = document.createElement('select')
  350. const optionTrue = document.createElement('option')
  351. optionTrue.value = 'true';
  352. optionTrue.text = 'Yes';
  353. const optionFalse = document.createElement('option')
  354. optionFalse.value = 'false'
  355. optionFalse.text = 'No';
  356. select.appendChild(optionTrue);
  357. select.appendChild(optionFalse);
  358. select.value = tabOptions[option].toString()
  359. select.addEventListener('change', () => {
  360. tabOptions[option] = select.value === 'true'
  361. });
  362. tabContent.appendChild(select);
  363. } else {
  364. const inputField = document.createElement('input');
  365. inputField.type = 'text'
  366. inputField.value = tabOptions[option]
  367. inputField.style.width = '100%'
  368. inputField.addEventListener('change', function(event) {
  369. tabOptions[option] = event.target.value;
  370. });
  371. tabContent.appendChild(inputField);
  372. }
  373. }
  374. }
  375.  
  376. function openTab(tabName) {
  377. const tabs = document.getElementsByClassName('tabcontent');
  378. for (const tab of tabs) {
  379. tab.style.display = 'none'
  380. }
  381. const tabButtons = document.querySelectorAll('.tab button');
  382. tabButtons.forEach(tabButton => {
  383. tabButton.classList.remove('active')
  384. if (tabButton.textContent === tabName.charAt(0).toUpperCase() + tabName.slice(1)) {
  385. tabButton.classList.add('active')
  386. }
  387. });
  388. document.getElementById(tabName).style.display = 'block'
  389. }
  390.  
  391. function openCheats() {
  392. const displayStyle = menuContainer.style.display;
  393. menuContainer.style.display = displayStyle === 'none' ? 'block' : 'none'
  394. }
  395. Inject();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址