Diep.io Multi-Box Mouse + Movement Sync

Toggle Multi-boxing with Q key: sync mouse + movement across Diep.io tabs

  1. // ==UserScript==
  2. // @name Diep.io Multi-Box Mouse + Movement Sync
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.0
  5. // @description Toggle Multi-boxing with Q key: sync mouse + movement across Diep.io tabs
  6. // @match *://diep.io/*
  7. // @grant none
  8. // ==/UserScript==
  9.  
  10. (function () {
  11. 'use strict';
  12.  
  13. let isMaster = false;
  14. let enabled = false;
  15.  
  16. document.addEventListener('keydown', (e) => {
  17. if (e.key.toLowerCase() === 'q') {
  18. enabled = !enabled;
  19. if (enabled) {
  20. isMaster = true;
  21. console.log('[MultiBox] Master mode enabled.');
  22. } else {
  23. isMaster = false;
  24. console.log('[MultiBox] Master mode disabled.');
  25. }
  26. }
  27.  
  28. if (enabled && isMaster) {
  29. localStorage.setItem('multibox_keydown', JSON.stringify({ key: e.key, time: Date.now() }));
  30. }
  31. });
  32.  
  33. document.addEventListener('keyup', (e) => {
  34. if (enabled && isMaster) {
  35. localStorage.setItem('multibox_keyup', JSON.stringify({ key: e.key, time: Date.now() }));
  36. }
  37. });
  38.  
  39. document.addEventListener('mousemove', (e) => {
  40. if (enabled && isMaster) {
  41. localStorage.setItem('multibox_mouse', JSON.stringify({
  42. x: e.clientX,
  43. y: e.clientY,
  44. time: Date.now()
  45. }));
  46. }
  47. });
  48.  
  49. setInterval(() => {
  50. if (!enabled || isMaster) return;
  51.  
  52. // Sync keys
  53. const down = JSON.parse(localStorage.getItem('multibox_keydown') || '{}');
  54. const up = JSON.parse(localStorage.getItem('multibox_keyup') || '{}');
  55.  
  56. if (down.time && down.time > (window.lastDown || 0)) {
  57. window.dispatchEvent(new KeyboardEvent('keydown', { key: down.key }));
  58. window.lastDown = down.time;
  59. }
  60.  
  61. if (up.time && up.time > (window.lastUp || 0)) {
  62. window.dispatchEvent(new KeyboardEvent('keyup', { key: up.key }));
  63. window.lastUp = up.time;
  64. }
  65.  
  66. // Sync mouse
  67. const mouse = JSON.parse(localStorage.getItem('multibox_mouse') || '{}');
  68. if (mouse.time && mouse.time > (window.lastMouse || 0)) {
  69. const event = new MouseEvent('mousemove', {
  70. clientX: mouse.x,
  71. clientY: mouse.y,
  72. bubbles: true
  73. });
  74. document.dispatchEvent(event);
  75. window.lastMouse = mouse.time;
  76. }
  77. }, 10);
  78. })();
  79. // ==UserScript==
  80. // @name Diep.io Multi-Box Mouse + Movement Sync
  81. // @namespace http://tampermonkey.net/
  82. // @version 1.0
  83. // @description Toggle Multi-boxing with Q key: sync mouse + movement across Diep.io tabs
  84. // @match *://diep.io/*
  85. // @grant none
  86. // ==/UserScript==
  87.  
  88. (function () {
  89. 'use strict';
  90.  
  91. let isMaster = false;
  92. let enabled = false;
  93.  
  94. document.addEventListener('keydown', (e) => {
  95. if (e.key.toLowerCase() === 'q') {
  96. enabled = !enabled;
  97. if (enabled) {
  98. isMaster = true;
  99. console.log('[MultiBox] Master mode enabled.');
  100. } else {
  101. isMaster = false;
  102. console.log('[MultiBox] Master mode disabled.');
  103. }
  104. }
  105.  
  106. if (enabled && isMaster) {
  107. localStorage.setItem('multibox_keydown', JSON.stringify({ key: e.key, time: Date.now() }));
  108. }
  109. });
  110.  
  111. document.addEventListener('keyup', (e) => {
  112. if (enabled && isMaster) {
  113. localStorage.setItem('multibox_keyup', JSON.stringify({ key: e.key, time: Date.now() }));
  114. }
  115. });
  116.  
  117. document.addEventListener('mousemove', (e) => {
  118. if (enabled && isMaster) {
  119. localStorage.setItem('multibox_mouse', JSON.stringify({
  120. x: e.clientX,
  121. y: e.clientY,
  122. time: Date.now()
  123. }));
  124. }
  125. });
  126.  
  127. setInterval(() => {
  128. if (!enabled || isMaster) return;
  129.  
  130. // Sync keys
  131. const down = JSON.parse(localStorage.getItem('multibox_keydown') || '{}');
  132. const up = JSON.parse(localStorage.getItem('multibox_keyup') || '{}');
  133.  
  134. if (down.time && down.time > (window.lastDown || 0)) {
  135. window.dispatchEvent(new KeyboardEvent('keydown', { key: down.key }));
  136. window.lastDown = down.time;
  137. }
  138.  
  139. if (up.time && up.time > (window.lastUp || 0)) {
  140. window.dispatchEvent(new KeyboardEvent('keyup', { key: up.key }));
  141. window.lastUp = up.time;
  142. }
  143.  
  144. // Sync mouse
  145. const mouse = JSON.parse(localStorage.getItem('multibox_mouse') || '{}');
  146. if (mouse.time && mouse.time > (window.lastMouse || 0)) {
  147. const event = new MouseEvent('mousemove', {
  148. clientX: mouse.x,
  149. clientY: mouse.y,
  150. bubbles: true
  151. });
  152. document.dispatchEvent(event);
  153. window.lastMouse = mouse.time;
  154. }
  155. }, 10);
  156. })();
  157. // ==UserScript==
  158. // @name Diep.io Multi-Box Mouse + Movement Sync
  159. // @namespace http://tampermonkey.net/
  160. // @version 1.0
  161. // @description Toggle Multi-boxing with Q key: sync mouse + movement across Diep.io tabs
  162. // @match *://diep.io/*
  163. // @grant none
  164. // ==/UserScript==
  165.  
  166. (function () {
  167. 'use strict';
  168.  
  169. let isMaster = false;
  170. let enabled = false;
  171.  
  172. document.addEventListener('keydown', (e) => {
  173. if (e.key.toLowerCase() === 'q') {
  174. enabled = !enabled;
  175. if (enabled) {
  176. isMaster = true;
  177. console.log('[MultiBox] Master mode enabled.');
  178. } else {
  179. isMaster = false;
  180. console.log('[MultiBox] Master mode disabled.');
  181. }
  182. }
  183.  
  184. if (enabled && isMaster) {
  185. localStorage.setItem('multibox_keydown', JSON.stringify({ key: e.key, time: Date.now() }));
  186. }
  187. });
  188.  
  189. document.addEventListener('keyup', (e) => {
  190. if (enabled && isMaster) {
  191. localStorage.setItem('multibox_keyup', JSON.stringify({ key: e.key, time: Date.now() }));
  192. }
  193. });
  194.  
  195. document.addEventListener('mousemove', (e) => {
  196. if (enabled && isMaster) {
  197. localStorage.setItem('multibox_mouse', JSON.stringify({
  198. x: e.clientX,
  199. y: e.clientY,
  200. time: Date.now()
  201. }));
  202. }
  203. });
  204.  
  205. setInterval(() => {
  206. if (!enabled || isMaster) return;
  207.  
  208. // Sync keys
  209. const down = JSON.parse(localStorage.getItem('multibox_keydown') || '{}');
  210. const up = JSON.parse(localStorage.getItem('multibox_keyup') || '{}');
  211.  
  212. if (down.time && down.time > (window.lastDown || 0)) {
  213. window.dispatchEvent(new KeyboardEvent('keydown', { key: down.key }));
  214. window.lastDown = down.time;
  215. }
  216.  
  217. if (up.time && up.time > (window.lastUp || 0)) {
  218. window.dispatchEvent(new KeyboardEvent('keyup', { key: up.key }));
  219. window.lastUp = up.time;
  220. }
  221.  
  222. // Sync mouse
  223. const mouse = JSON.parse(localStorage.getItem('multibox_mouse') || '{}');
  224. if (mouse.time && mouse.time > (window.lastMouse || 0)) {
  225. const event = new MouseEvent('mousemove', {
  226. clientX: mouse.x,
  227. clientY: mouse.y,
  228. bubbles: true
  229. });
  230. document.dispatchEvent(event);
  231. window.lastMouse = mouse.time;
  232. }
  233. }, 10);
  234. })();
  235. // ==UserScript==
  236. // @name Diep.io Multi-Box Mouse + Movement Sync
  237. // @namespace http://tampermonkey.net/
  238. // @version 1.0
  239. // @description Toggle Multi-boxing with Q key: sync mouse + movement across Diep.io tabs
  240. // @match *://diep.io/*
  241. // @grant none
  242. // ==/UserScript==
  243.  
  244. (function () {
  245. 'use strict';
  246.  
  247. let isMaster = false;
  248. let enabled = false;
  249.  
  250. document.addEventListener('keydown', (e) => {
  251. if (e.key.toLowerCase() === 'q') {
  252. enabled = !enabled;
  253. if (enabled) {
  254. isMaster = true;
  255. console.log('[MultiBox] Master mode enabled.');
  256. } else {
  257. isMaster = false;
  258. console.log('[MultiBox] Master mode disabled.');
  259. }
  260. }
  261.  
  262. if (enabled && isMaster) {
  263. localStorage.setItem('multibox_keydown', JSON.stringify({ key: e.key, time: Date.now() }));
  264. }
  265. });
  266.  
  267. document.addEventListener('keyup', (e) => {
  268. if (enabled && isMaster) {
  269. localStorage.setItem('multibox_keyup', JSON.stringify({ key: e.key, time: Date.now() }));
  270. }
  271. });
  272.  
  273. document.addEventListener('mousemove', (e) => {
  274. if (enabled && isMaster) {
  275. localStorage.setItem('multibox_mouse', JSON.stringify({
  276. x: e.clientX,
  277. y: e.clientY,
  278. time: Date.now()
  279. }));
  280. }
  281. });
  282.  
  283. setInterval(() => {
  284. if (!enabled || isMaster) return;
  285.  
  286. // Sync keys
  287. const down = JSON.parse(localStorage.getItem('multibox_keydown') || '{}');
  288. const up = JSON.parse(localStorage.getItem('multibox_keyup') || '{}');
  289.  
  290. if (down.time && down.time > (window.lastDown || 0)) {
  291. window.dispatchEvent(new KeyboardEvent('keydown', { key: down.key }));
  292. window.lastDown = down.time;
  293. }
  294.  
  295. if (up.time && up.time > (window.lastUp || 0)) {
  296. window.dispatchEvent(new KeyboardEvent('keyup', { key: up.key }));
  297. window.lastUp = up.time;
  298. }
  299.  
  300. // Sync mouse
  301. const mouse = JSON.parse(localStorage.getItem('multibox_mouse') || '{}');
  302. if (mouse.time && mouse.time > (window.lastMouse || 0)) {
  303. const event = new MouseEvent('mousemove', {
  304. clientX: mouse.x,
  305. clientY: mouse.y,
  306. bubbles: true
  307. });
  308. document.dispatchEvent(event);
  309. window.lastMouse = mouse.time;
  310. }
  311. }, 10);
  312. })();
  313. // ==UserScript==
  314. // @name Diep.io Multi-Box Mouse + Movement Sync
  315. // @namespace http://tampermonkey.net/
  316. // @version 1.0
  317. // @description Toggle Multi-boxing with Q key: sync mouse + movement across Diep.io tabs
  318. // @match *://diep.io/*
  319. // @grant none
  320. // ==/UserScript==
  321.  
  322. (function () {
  323. 'use strict';
  324.  
  325. let isMaster = false;
  326. let enabled = false;
  327.  
  328. document.addEventListener('keydown', (e) => {
  329. if (e.key.toLowerCase() === 'q') {
  330. enabled = !enabled;
  331. if (enabled) {
  332. isMaster = true;
  333. console.log('[MultiBox] Master mode enabled.');
  334. } else {
  335. isMaster = false;
  336. console.log('[MultiBox] Master mode disabled.');
  337. }
  338. }
  339.  
  340. if (enabled && isMaster) {
  341. localStorage.setItem('multibox_keydown', JSON.stringify({ key: e.key, time: Date.now() }));
  342. }
  343. });
  344.  
  345. document.addEventListener('keyup', (e) => {
  346. if (enabled && isMaster) {
  347. localStorage.setItem('multibox_keyup', JSON.stringify({ key: e.key, time: Date.now() }));
  348. }
  349. });
  350.  
  351. document.addEventListener('mousemove', (e) => {
  352. if (enabled && isMaster) {
  353. localStorage.setItem('multibox_mouse', JSON.stringify({
  354. x: e.clientX,
  355. y: e.clientY,
  356. time: Date.now()
  357. }));
  358. }
  359. });
  360.  
  361. setInterval(() => {
  362. if (!enabled || isMaster) return;
  363.  
  364. // Sync keys
  365. const down = JSON.parse(localStorage.getItem('multibox_keydown') || '{}');
  366. const up = JSON.parse(localStorage.getItem('multibox_keyup') || '{}');
  367.  
  368. if (down.time && down.time > (window.lastDown || 0)) {
  369. window.dispatchEvent(new KeyboardEvent('keydown', { key: down.key }));
  370. window.lastDown = down.time;
  371. }
  372.  
  373. if (up.time && up.time > (window.lastUp || 0)) {
  374. window.dispatchEvent(new KeyboardEvent('keyup', { key: up.key }));
  375. window.lastUp = up.time;
  376. }
  377.  
  378. // Sync mouse
  379. const mouse = JSON.parse(localStorage.getItem('multibox_mouse') || '{}');
  380. if (mouse.time && mouse.time > (window.lastMouse || 0)) {
  381. const event = new MouseEvent('mousemove', {
  382. clientX: mouse.x,
  383. clientY: mouse.y,
  384. bubbles: true
  385. });
  386. document.dispatchEvent(event);
  387. window.lastMouse = mouse.time;
  388. }
  389. }, 10);
  390. })();
  391. // ==UserScript==
  392. // @name Diep.io Multi-Box Mouse + Movement Sync
  393. // @namespace http://tampermonkey.net/
  394. // @version 1.0
  395. // @description Toggle Multi-boxing with Q key: sync mouse + movement across Diep.io tabs
  396. // @match *://diep.io/*
  397. // @grant none
  398. // ==/UserScript==
  399.  
  400. (function () {
  401. 'use strict';
  402.  
  403. let isMaster = false;
  404. let enabled = false;
  405.  
  406. document.addEventListener('keydown', (e) => {
  407. if (e.key.toLowerCase() === 'q') {
  408. enabled = !enabled;
  409. if (enabled) {
  410. isMaster = true;
  411. console.log('[MultiBox] Master mode enabled.');
  412. } else {
  413. isMaster = false;
  414. console.log('[MultiBox] Master mode disabled.');
  415. }
  416. }
  417.  
  418. if (enabled && isMaster) {
  419. localStorage.setItem('multibox_keydown', JSON.stringify({ key: e.key, time: Date.now() }));
  420. }
  421. });
  422.  
  423. document.addEventListener('keyup', (e) => {
  424. if (enabled && isMaster) {
  425. localStorage.setItem('multibox_keyup', JSON.stringify({ key: e.key, time: Date.now() }));
  426. }
  427. });
  428.  
  429. document.addEventListener('mousemove', (e) => {
  430. if (enabled && isMaster) {
  431. localStorage.setItem('multibox_mouse', JSON.stringify({
  432. x: e.clientX,
  433. y: e.clientY,
  434. time: Date.now()
  435. }));
  436. }
  437. });
  438.  
  439. setInterval(() => {
  440. if (!enabled || isMaster) return;
  441.  
  442. // Sync keys
  443. const down = JSON.parse(localStorage.getItem('multibox_keydown') || '{}');
  444. const up = JSON.parse(localStorage.getItem('multibox_keyup') || '{}');
  445.  
  446. if (down.time && down.time > (window.lastDown || 0)) {
  447. window.dispatchEvent(new KeyboardEvent('keydown', { key: down.key }));
  448. window.lastDown = down.time;
  449. }
  450.  
  451. if (up.time && up.time > (window.lastUp || 0)) {
  452. window.dispatchEvent(new KeyboardEvent('keyup', { key: up.key }));
  453. window.lastUp = up.time;
  454. }
  455.  
  456. // Sync mouse
  457. const mouse = JSON.parse(localStorage.getItem('multibox_mouse') || '{}');
  458. if (mouse.time && mouse.time > (window.lastMouse || 0)) {
  459. const event = new MouseEvent('mousemove', {
  460. clientX: mouse.x,
  461. clientY: mouse.y,
  462. bubbles: true
  463. });
  464. document.dispatchEvent(event);
  465. window.lastMouse = mouse.time;
  466. }
  467. }, 10);
  468. })();
  469. // ==UserScript==
  470. // @name Diep.io Multi-Box Mouse + Movement Sync
  471. // @namespace http://tampermonkey.net/
  472. // @version 1.0
  473. // @description Toggle Multi-boxing with Q key: sync mouse + movement across Diep.io tabs
  474. // @match *://diep.io/*
  475. // @grant none
  476. // ==/UserScript==
  477.  
  478. (function () {
  479. 'use strict';
  480.  
  481. let isMaster = false;
  482. let enabled = false;
  483.  
  484. document.addEventListener('keydown', (e) => {
  485. if (e.key.toLowerCase() === 'q') {
  486. enabled = !enabled;
  487. if (enabled) {
  488. isMaster = true;
  489. console.log('[MultiBox] Master mode enabled.');
  490. } else {
  491. isMaster = false;
  492. console.log('[MultiBox] Master mode disabled.');
  493. }
  494. }
  495.  
  496. if (enabled && isMaster) {
  497. localStorage.setItem('multibox_keydown', JSON.stringify({ key: e.key, time: Date.now() }));
  498. }
  499. });
  500.  
  501. document.addEventListener('keyup', (e) => {
  502. if (enabled && isMaster) {
  503. localStorage.setItem('multibox_keyup', JSON.stringify({ key: e.key, time: Date.now() }));
  504. }
  505. });
  506.  
  507. document.addEventListener('mousemove', (e) => {
  508. if (enabled && isMaster) {
  509. localStorage.setItem('multibox_mouse', JSON.stringify({
  510. x: e.clientX,
  511. y: e.clientY,
  512. time: Date.now()
  513. }));
  514. }
  515. });
  516.  
  517. setInterval(() => {
  518. if (!enabled || isMaster) return;
  519.  
  520. // Sync keys
  521. const down = JSON.parse(localStorage.getItem('multibox_keydown') || '{}');
  522. const up = JSON.parse(localStorage.getItem('multibox_keyup') || '{}');
  523.  
  524. if (down.time && down.time > (window.lastDown || 0)) {
  525. window.dispatchEvent(new KeyboardEvent('keydown', { key: down.key }));
  526. window.lastDown = down.time;
  527. }
  528.  
  529. if (up.time && up.time > (window.lastUp || 0)) {
  530. window.dispatchEvent(new KeyboardEvent('keyup', { key: up.key }));
  531. window.lastUp = up.time;
  532. }
  533.  
  534. // Sync mouse
  535. const mouse = JSON.parse(localStorage.getItem('multibox_mouse') || '{}');
  536. if (mouse.time && mouse.time > (window.lastMouse || 0)) {
  537. const event = new MouseEvent('mousemove', {
  538. clientX: mouse.x,
  539. clientY: mouse.y,
  540. bubbles: true
  541. });
  542. document.dispatchEvent(event);
  543. window.lastMouse = mouse.time;
  544. }
  545. }, 10);
  546. })();