Skin, wearable changer, multi for flarex

hello eagle

  1. // ==UserScript==
  2. // @name Skin, wearable changer, multi for flarex
  3. // @version 2.0
  4. // @description hello eagle
  5. // @author agarpolice
  6. // @match https://flarex.fun/
  7. // @icon none
  8. // @run-at document-start
  9. // @grant unsafeWindow
  10. // @namespace https://greasyfork.org/users/1238627
  11. // ==/UserScript==
  12. //to trigger skin changer, press P
  13. let combo = {
  14. shield: 'a',//shield anti freeze
  15. vir: 'q',//virus anti rec
  16. pellet: '`',//loop pellet press one for enable and press again to turn off
  17. brshield: '1',//click to trigger, break shield then use virus on opponent
  18. freezevir: 'd',//shoot frozen virus and anti rec
  19. portal: 'l',// spam portal and virus
  20. recsplit: '0'//spam split and recombine
  21. }
  22. let send, enabled = false,
  23. interval, interval1, e = false,
  24. count = 0,
  25. e1 = false,
  26. e2 = false,
  27. e3 = false,
  28. interval2, interval3, interval4, interval5, mouseInt, spawnInt, x, y, a, b, xds = [x, y],
  29. skinarr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
  30. weararr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
  31. id = {
  32. portal: 109,
  33. anti: 110,
  34. antifreeze: 11,
  35. freezevir: 114,
  36. pellet: 100,
  37. virus: 27,
  38. shield: 120,
  39. push: 24,
  40. rec: 26,
  41. };
  42.  
  43. unsafeWindow.sendz = function(e) {
  44. e = new Uint8Array(e.buffer);
  45. send(e);
  46. }
  47. unsafeWindow.cht = function(msg) {
  48. chat(msg)
  49. post(messages.chat, msg)
  50. }
  51.  
  52. function idk(e) {
  53. if (document.getElementById("overlays").style.display != 'block' && document.getElementById("death-screen").style.display != 'block') {
  54. var t = new DataView(new ArrayBuffer(1));
  55. t.setUint8(0, e);
  56. sendz(t);
  57. }
  58. }
  59.  
  60. function skin(e) {
  61. var t = new DataView(new ArrayBuffer(1 + 2 * `${e}`.length));
  62. t.setUint8(0, 3);
  63. for (var n = 0; n < `${e}`.length; ++n) {
  64. t.setUint16(1 + 2 * n, `${e}`.charCodeAt(n), true);
  65. }
  66. sendz(t);
  67. }
  68.  
  69. function wear() {
  70. let wear = new DataView(new ArrayBuffer(2));
  71. wear.setUint8(0, 113);
  72. wear.setUint8(1, e);
  73. sendz(wear);
  74. }
  75.  
  76. function spawn(nick) {
  77. if (!$("#overlays").is(":visible")) {
  78. $("#prompt").fadeOut(0);
  79. $("#ds-Dialog").hide();
  80. $("#grid-bg").hide();
  81. $("#overlays").fadeIn(0);
  82. }
  83. $("#play-btn").click();
  84. }
  85.  
  86. function sendMouse(x, y) {
  87. var e = new DataView(new ArrayBuffer(21))
  88. e.setUint8(0, 16);
  89. e.setFloat64(1, x, true);
  90. e.setFloat64(9, y, true);
  91. e.setUint32(17, 0, true);
  92. sendz(e);
  93. }
  94.  
  95. function colorchanger(id) {
  96. let n = new DataView(new ArrayBuffer(3));
  97. n.setUint8(0, 112, true);
  98. n.setUint8(1, id, true);
  99. sendz(n);
  100. }
  101.  
  102. function chat(msg) {
  103. var t = new DataView(new ArrayBuffer(2 + 2 * msg.length));
  104. var n = 0;
  105. t.setUint8(n++, 99);
  106. t.setUint8(n++, 0);
  107. for (var s = 0; s < msg.length; ++s) {
  108. t.setUint16(n, msg.charCodeAt(s), true);
  109. n += 2;
  110. }
  111. sendz(t);
  112. }
  113. const delay = (t) => new Promise((resolve) => setTimeout(resolve, t));
  114. const change = () => {
  115. e1 = !e1;
  116. if (e1) {
  117. interval2 = setInterval(() => {
  118. skin(skinarr[count]);
  119. count += 1;
  120. count == skinarr.length ? count = 0 : undefined;
  121. }, 100)
  122. } else {
  123. clearInterval(interval2)
  124. };
  125. }
  126. const onefs = async (ms1, ms2) => {
  127. idk(17)
  128. await delay(0);
  129. idk(25);
  130. await delay(60);
  131. idk(25);
  132. }
  133. const doublefs = async (ms1, ms2) => {
  134. idk(17);
  135. await delay(40);
  136. onefs()
  137. }
  138. const breakshield = () => {
  139. idk(id.portal);
  140. setTimeout(() => {
  141. idk(id.anti);
  142. idk(id.virus)
  143. }, 150)
  144. }
  145. const shield = () => {
  146. idk(id.shield)
  147. idk(id.antifreeze)
  148. }
  149. const vir = () => {
  150. idk(id.virus);
  151. idk(id.anti);
  152. }
  153. const freezevir = () => {
  154. idk(id.freezevir);
  155. idk(id.anti);
  156. }
  157. const portal = () => {
  158. e = !e;
  159. if (e) {
  160. interval1 = setInterval(() => {
  161. idk(id.portal)
  162. }, 90)
  163. interval5 = setInterval(() => {
  164. //idk(id.virus)
  165. }, 135)
  166. } else {
  167. clearInterval(interval1);
  168. clearInterval(interval5)
  169. }
  170. }
  171. const push = () => {
  172. e2 = !e2;
  173. e2 ? interval3 = setInterval(() => {
  174. idk(id.push);
  175. }, 90) : clearInterval(interval3)
  176. }
  177. const pellet = () => {
  178. enabled = !enabled;
  179. enabled ? (interval = setInterval(() => {
  180. idk(id.pellet)
  181. })) : clearInterval(interval)
  182. }
  183. const recsplit = () => {
  184. e3 = !e3
  185. e3 ? interval4 = setInterval(() => {
  186. idk(id.rec)
  187. idk(17);
  188. }, 140) : clearInterval(interval4)
  189. }
  190. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  191. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  192. window.addEventListener('DOMContentLoaded', function() {
  193. $("#AccInfo").append(`<input type="checkbox" id="cBlinker">
  194. <label for="cBlinker" style="color: white;">Name color</label>
  195. <input type="number" id="delayInput" placeholder="0" min="0" style="width: 60px; text-align: center;"><br>`);
  196. let Multibox = document.getElementById('cMultiBox')
  197. let checkbox = document.getElementById('cBlinker')
  198. let delayInput = document.getElementById('delayInput')
  199. let savedDelay = localStorage.getItem("savedDelay");
  200. savedDelay ? delayInput.value = savedDelay : undefined;
  201. checkbox.addEventListener("change", function() {
  202. if (this.checked) {
  203. const delay = parseInt(document.getElementById("delayInput").value) || 100;
  204. let flag = false;
  205. interval = setInterval(async () => {
  206. flag = !flag;
  207. await colorchanger(flag ? 1 : 0);
  208. }, delay);
  209. } else {
  210. clearInterval(interval);
  211. }
  212. });
  213. delayInput.addEventListener("input", function() {
  214. if (checkbox.checked && interval) {
  215. clearInterval(interval);
  216. const newDelay = parseInt(this.value) || 100;
  217. let flag = false;
  218. interval = setInterval(async () => {
  219. flag = !flag;
  220. await colorchanger(flag ? 1 : 0);
  221. }, newDelay);
  222. localStorage.setItem("savedDelay", newDelay);
  223. }
  224. });
  225. });
  226. window.addEventListener("keydown", e => {
  227. if (document.activeElement != document.getElementById('chat_textbox')) {
  228. e.key == combo.shield && shield();
  229. e.key == combo.vir && vir();
  230. e.key == combo.pellet && pellet()
  231. e.key == combo.freezevir && freezevir()
  232. e.key == combo.portal && portal()
  233. e.key == combo.recsplit && recsplit()
  234. e.key == 'u' && push()
  235. e.key == 'r' && onefs()
  236. e.key == 'p' && change();
  237. e.key == 'm' && spawn();
  238. }
  239. })
  240. window.addEventListener("click", e => {
  241. if (e.which == 1) {
  242. breakshield();
  243. };
  244. })
  245. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  246. WebSocket.prototype.send = new Proxy(WebSocket.prototype.send, {
  247. apply(target, thisArg, argArray) {
  248. send = (...args) => target.call(thisArg, ...args);
  249. target.apply(thisArg, argArray);
  250. }
  251. });