Kirka.io

VOID Kirka tool

  1. // ==UserScript==
  2. // @name Kirka.io
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0
  5. // @description VOID Kirka tool
  6. // @author Mr.Time
  7. // @match https://kirka.io/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=kirka.io
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15. let isAutoFireActive = false;
  16. let isAutoInspectActive = false;
  17. let uiVisible = false;
  18. let zInterval;
  19. const uiContainer = document.createElement('div');
  20. uiContainer.style.position = 'fixed';
  21. uiContainer.style.top = '50%';
  22. uiContainer.style.left = '20px';
  23. uiContainer.style.transform = 'translateY(-50%)';
  24. uiContainer.style.backgroundColor = 'rgba(32, 38, 57, 0.9)';
  25. uiContainer.style.padding = '20px';
  26. uiContainer.style.borderRadius = '15px';
  27. uiContainer.style.color = '#fff';
  28. uiContainer.style.fontFamily = 'Exo 2';
  29. uiContainer.style.zIndex = '10000';
  30. uiContainer.style.display = 'none';
  31. uiContainer.style.boxShadow = '0 0 10px rgba(255, 0, 247, 0.3)';
  32. const toggleStyle = `
  33. .toggle-btn {
  34. border: .125rem solid #202639;
  35. background: var(--wNMWmnwW-1);
  36. display: flex;
  37. align-items: center;
  38. justify-content: space-between;
  39. padding: 10px 15px;
  40. margin: 8px 0;
  41. border-radius: .25rem;
  42. cursor: pointer;
  43. transition: all 0.3s ease;
  44. box-shadow: 0 1px 2px rgba(0,0,0,.4),inset 0 0 8px rgba(0,0,0,.4);
  45. }
  46. .toggle-btn:hover {
  47. background: var(--wNMWmnwW-2);
  48. }
  49. .toggle-btn.active {
  50. background: rgba(255, 0, 247, 0.2);
  51. border-color: rgba(255, 0, 247, 0.5);
  52. }
  53. .toggle-switch {
  54. width: 40px;
  55. height: 20px;
  56. background: var(--wNMWmnwW-4);
  57. border-radius: 10px;
  58. position: relative;
  59. transition: all 0.3s ease;
  60. }
  61. .toggle-switch::after {
  62. content: '';
  63. position: absolute;
  64. width: 16px;
  65. height: 16px;
  66. background: var(--white);
  67. border-radius: 50%;
  68. top: 2px;
  69. left: 2px;
  70. transition: all 0.3s ease;
  71. }
  72. .toggle-btn.active .toggle-switch {
  73. background: rgba(255, 0, 247, 0.5);
  74. }
  75. .toggle-btn.active .toggle-switch::after {
  76. left: 22px;
  77. }
  78. `;
  79. const styleSheet = document.createElement('style');
  80. styleSheet.textContent = toggleStyle;
  81. document.head.appendChild(styleSheet);
  82. const statusDisplay = document.createElement('div');
  83. statusDisplay.innerHTML = `
  84. <h3 style="margin: 0 0 15px 0; color: rgb(255, 0, 247); text-align: center; text-transform: uppercase; letter-spacing: 2px;">
  85. Void Kirka Tool Lite
  86. </h3>
  87. <div class="toggle-btn" id="autoFireToggle">
  88. <span>Auto Fire</span>
  89. <div class="toggle-switch"></div>
  90. </div>
  91. <div class="toggle-btn" id="autoInspectToggle">
  92. <span>Auto Inspect</span>
  93. <div class="toggle-switch"></div>
  94. </div>
  95. <div style="font-size: 12px; color: var(--gray-1); margin-top: 15px; text-align: center;">
  96. Press L to toggle UI
  97. </div>
  98. `;
  99. uiContainer.appendChild(statusDisplay);
  100. document.body.appendChild(uiContainer);
  101. function toggleFeature(feature, button) {
  102. switch(feature) {
  103. case 'autoFire':
  104. isAutoFireActive = !isAutoFireActive;
  105. if (isAutoFireActive) {
  106. document.addEventListener('mousedown', onMouseDownHandler);
  107. document.addEventListener('mouseup', onMouseUpHandler);
  108. } else {
  109. document.removeEventListener('mousedown', onMouseDownHandler);
  110. document.removeEventListener('mouseup', onMouseUpHandler);
  111. }
  112. break;
  113. case 'autoInspect':
  114. isAutoInspectActive = !isAutoInspectActive;
  115. if (isAutoInspectActive) {
  116. zInterval = setInterval(() => {
  117. document.dispatchEvent(new KeyboardEvent('keydown', { key: 'z', keyCode: 90 }));
  118. }, 50);
  119. } else {
  120. clearInterval(zInterval);
  121. }
  122. break;
  123. }
  124. button.classList.toggle('active');
  125. }
  126. function onMouseDownHandler(event) {
  127. if (event.target.tagName === 'CANVAS') {
  128. simulateMouseDown();
  129. }
  130. }
  131. function onMouseUpHandler(event) {
  132. if (event.target.tagName === 'CANVAS') {
  133. simulateMouseUp();
  134. }
  135. }
  136. function simulateMouseDown() {
  137. const canvas = document.querySelector('canvas');
  138. canvas.dispatchEvent(new MouseEvent('mousedown', {
  139. bubbles: true,
  140. cancelable: true,
  141. view: window,
  142. button: 0,
  143. clientX: canvas.width / 2,
  144. clientY: canvas.height / 2
  145. }));
  146. }
  147. function simulateMouseUp() {
  148. const canvas = document.querySelector('canvas');
  149. canvas.dispatchEvent(new MouseEvent('mouseup', {
  150. bubbles: true,
  151. cancelable: true,
  152. view: window,
  153. button: 0,
  154. clientX: canvas.width / 2,
  155. clientY: canvas.height / 2
  156. }));
  157. }
  158. document.getElementById('autoFireToggle').addEventListener('click', function() {
  159. toggleFeature('autoFire', this);
  160. });
  161. document.getElementById('autoInspectToggle').addEventListener('click', function() {
  162. toggleFeature('autoInspect', this);
  163. });
  164. document.addEventListener('keydown', function(event) {
  165. if (event.key.toLowerCase() === 'l') {
  166. uiVisible = !uiVisible;
  167. uiContainer.style.display = uiVisible ? 'block' : 'none';
  168. }
  169. });
  170. document.addEventListener('mousedown', function(event) {
  171. if (event.button === 0 && isAutoFireActive) {
  172. event.preventDefault();
  173. }
  174. });
  175. })();

QingJ © 2025

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