Bloxd Keep Run / Crouch

Help you keep running or crouching in Bloxd.io with the key X and V.

  1. // ==UserScript==
  2. // @name Bloxd Keep Run / Crouch
  3. // @namespace http://tampermonkey.net/
  4. // @version 2.2.0
  5. // @description Help you keep running or crouching in Bloxd.io with the key X and V.
  6. // @icon https://bloxd.io/apple-touch-icon.png?v=2
  7. // @author Gnosis
  8. // @grant none
  9. // @run-at document-start
  10. // @license GPL3
  11. // @match https://bloxd.io/*
  12. // ==/UserScript==
  13.  
  14. (function() {
  15. 'use strict';
  16.  
  17. const infoDisplay = document.createElement('div')
  18.  
  19. infoDisplay.style.position = 'absolute'
  20. infoDisplay.style.left = '0px'
  21. infoDisplay.style.bottom = '10em'
  22. infoDisplay.style.whiteSpace = 'pre'
  23. infoDisplay.style.padding = '5px'
  24. infoDisplay.style.background = '#00000088'
  25. infoDisplay.style.zIndex = '999'
  26.  
  27. window.addEventListener('load', () => document.querySelector('.WholeAppWrapper').appendChild(infoDisplay))
  28.  
  29. let isRunning = ''
  30. let isCrouching = ''
  31. let isKeepingRunning = false
  32. let isKeepingCrouching = false
  33.  
  34. function updateInfoDisplay() {
  35. infoDisplay.textContent = `Running: ${isRunning || 'no'}${isKeepingRunning ? '(x)' : ''}\nCrouching: ${isCrouching || 'no'}${isKeepingCrouching ? '(v)': ''}`
  36. }
  37.  
  38. const shiftKeyData = {
  39. key: 'Shift',
  40. code: 'ShiftLeft',
  41. keyCode: 16,
  42. which: 16,
  43. shiftKey: true,
  44. ControlKey: false,
  45. altKey: false,
  46. metaKey: false,
  47. repeat: false,
  48. bubbles: true,
  49. cancelable: true
  50. }
  51.  
  52. const zKeyData = {
  53. key: 'z',
  54. code: 'KeyZ',
  55. keyCode: 90,
  56. which: 90,
  57. shiftKey: false,
  58. ControlKey: false,
  59. altKey: false,
  60. metaKey: false,
  61. repeat: false,
  62. bubbles: true,
  63. cancelable: true
  64. }
  65.  
  66. const shiftDown = new KeyboardEvent('keydown', shiftKeyData)
  67.  
  68. const shiftUp = new KeyboardEvent('keyup', shiftKeyData)
  69.  
  70. const zDown = new KeyboardEvent('keydown', zKeyData)
  71.  
  72. const zUp = new KeyboardEvent('keyup', zKeyData)
  73.  
  74. document.addEventListener('keyup', e => {
  75. if (e.code === 'KeyX') {
  76. if (isRunning === '') {
  77. isRunning = 'Shift'
  78. isKeepingRunning = true
  79. document.dispatchEvent(shiftDown)
  80. } else if (isRunning === 'Shift') {
  81. isRunning = ''
  82. isKeepingRunning = false
  83. document.dispatchEvent(shiftUp)
  84. }
  85. } else if (e.code === 'KeyV') {
  86. if (isCrouching === '') {
  87. isCrouching = 'z'
  88. isKeepingCrouching = true
  89. document.dispatchEvent(zDown)
  90. } else if (isCrouching === 'z') {
  91. isCrouching = ''
  92. isKeepingCrouching = false
  93. document.dispatchEvent(zUp)
  94. }
  95. } else if (e.code === 'ShiftLeft' && isRunning === 'Shift') {
  96. if (isKeepingRunning) {
  97. e.stopImmediatePropagation()
  98. return
  99. }
  100. isRunning = ''
  101. } else if (e.key === 'Control' && isCrouching === 'Control') {
  102. isCrouching = ''
  103. } else if (e.code === 'KeyZ' && isCrouching === 'z') {
  104. if (isKeepingCrouching) {
  105. e.stopImmediatePropagation()
  106. return
  107. }
  108. isCrouching = ''
  109. } else if (e.code === 'KeyC' && isCrouching === 'c') {
  110. isCrouching = ''
  111. }
  112. updateInfoDisplay()
  113. })
  114.  
  115. document.addEventListener('keydown', e => {
  116. if (e.code === 'ShiftLeft' && isRunning === '') {
  117. isRunning = 'Shift'
  118. } else if (e.key === 'Control' && isCrouching === '') {
  119. isCrouching = 'Control'
  120. } else if (e.code === 'KeyZ' && isCrouching === '') {
  121. isCrouching = 'z'
  122. } else if (e.code === 'KeyC' && isCrouching === '') {
  123. isCrouching = 'c'
  124. }
  125. updateInfoDisplay()
  126. })
  127.  
  128. setInterval(() => {
  129. if (isKeepingRunning && !isKeepingCrouching) {
  130. document.dispatchEvent(shiftDown)
  131. }
  132. if (isKeepingCrouching && !isKeepingRunning) {
  133. document.dispatchEvent(zDown)
  134. }
  135. }, 100)
  136.  
  137. updateInfoDisplay()
  138. })();

QingJ © 2025

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