- // ==UserScript==
- // @name Skin, wearable changer, multi for flarex
- // @version 2.0
- // @description hello eagle
- // @author agarpolice
- // @match https://flarex.fun/
- // @icon none
- // @run-at document-start
- // @grant unsafeWindow
- // @namespace https://greasyfork.org/users/1238627
- // ==/UserScript==
- //to trigger skin changer, press P
- let combo = {
- shield: 'a',//shield anti freeze
- vir: 'q',//virus anti rec
- pellet: '`',//loop pellet press one for enable and press again to turn off
- brshield: '1',//click to trigger, break shield then use virus on opponent
- freezevir: 'd',//shoot frozen virus and anti rec
- portal: 'l',// spam portal and virus
- recsplit: '0'//spam split and recombine
- }
- let send, enabled = false,
- interval, interval1, e = false,
- count = 0,
- e1 = false,
- e2 = false,
- e3 = false,
- interval2, interval3, interval4, interval5, mouseInt, spawnInt, x, y, a, b, xds = [x, y],
- skinarr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
- weararr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
- id = {
- portal: 109,
- anti: 110,
- antifreeze: 11,
- freezevir: 114,
- pellet: 100,
- virus: 27,
- shield: 120,
- push: 24,
- rec: 26,
- };
-
- unsafeWindow.sendz = function(e) {
- e = new Uint8Array(e.buffer);
- send(e);
- }
- unsafeWindow.cht = function(msg) {
- chat(msg)
- post(messages.chat, msg)
- }
-
- function idk(e) {
- if (document.getElementById("overlays").style.display != 'block' && document.getElementById("death-screen").style.display != 'block') {
- var t = new DataView(new ArrayBuffer(1));
- t.setUint8(0, e);
- sendz(t);
- }
- }
-
- function skin(e) {
- var t = new DataView(new ArrayBuffer(1 + 2 * `${e}`.length));
- t.setUint8(0, 3);
- for (var n = 0; n < `${e}`.length; ++n) {
- t.setUint16(1 + 2 * n, `${e}`.charCodeAt(n), true);
- }
- sendz(t);
- }
-
- function wear() {
- let wear = new DataView(new ArrayBuffer(2));
- wear.setUint8(0, 113);
- wear.setUint8(1, e);
- sendz(wear);
- }
-
- function spawn(nick) {
- if (!$("#overlays").is(":visible")) {
- $("#prompt").fadeOut(0);
- $("#ds-Dialog").hide();
- $("#grid-bg").hide();
- $("#overlays").fadeIn(0);
- }
- $("#play-btn").click();
- }
-
- function sendMouse(x, y) {
- var e = new DataView(new ArrayBuffer(21))
- e.setUint8(0, 16);
- e.setFloat64(1, x, true);
- e.setFloat64(9, y, true);
- e.setUint32(17, 0, true);
- sendz(e);
- }
-
- function colorchanger(id) {
- let n = new DataView(new ArrayBuffer(3));
- n.setUint8(0, 112, true);
- n.setUint8(1, id, true);
- sendz(n);
- }
-
- function chat(msg) {
- var t = new DataView(new ArrayBuffer(2 + 2 * msg.length));
- var n = 0;
- t.setUint8(n++, 99);
- t.setUint8(n++, 0);
- for (var s = 0; s < msg.length; ++s) {
- t.setUint16(n, msg.charCodeAt(s), true);
- n += 2;
- }
- sendz(t);
- }
- const delay = (t) => new Promise((resolve) => setTimeout(resolve, t));
- const change = () => {
- e1 = !e1;
- if (e1) {
- interval2 = setInterval(() => {
- skin(skinarr[count]);
- count += 1;
- count == skinarr.length ? count = 0 : undefined;
- }, 100)
- } else {
- clearInterval(interval2)
- };
- }
- const onefs = async (ms1, ms2) => {
- idk(17)
- await delay(0);
- idk(25);
- await delay(60);
- idk(25);
- }
- const doublefs = async (ms1, ms2) => {
- idk(17);
- await delay(40);
- onefs()
- }
- const breakshield = () => {
- idk(id.portal);
- setTimeout(() => {
- idk(id.anti);
- idk(id.virus)
- }, 150)
- }
- const shield = () => {
- idk(id.shield)
- idk(id.antifreeze)
- }
- const vir = () => {
- idk(id.virus);
- idk(id.anti);
- }
- const freezevir = () => {
- idk(id.freezevir);
- idk(id.anti);
- }
- const portal = () => {
- e = !e;
- if (e) {
- interval1 = setInterval(() => {
- idk(id.portal)
- }, 90)
- interval5 = setInterval(() => {
- //idk(id.virus)
- }, 135)
- } else {
- clearInterval(interval1);
- clearInterval(interval5)
- }
- }
- const push = () => {
- e2 = !e2;
- e2 ? interval3 = setInterval(() => {
- idk(id.push);
- }, 90) : clearInterval(interval3)
- }
- const pellet = () => {
- enabled = !enabled;
- enabled ? (interval = setInterval(() => {
- idk(id.pellet)
- })) : clearInterval(interval)
- }
- const recsplit = () => {
- e3 = !e3
- e3 ? interval4 = setInterval(() => {
- idk(id.rec)
- idk(17);
- }, 140) : clearInterval(interval4)
- }
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- window.addEventListener('DOMContentLoaded', function() {
- $("#AccInfo").append(`<input type="checkbox" id="cBlinker">
- <label for="cBlinker" style="color: white;">Name color</label>
- <input type="number" id="delayInput" placeholder="0" min="0" style="width: 60px; text-align: center;"><br>`);
- let Multibox = document.getElementById('cMultiBox')
- let checkbox = document.getElementById('cBlinker')
- let delayInput = document.getElementById('delayInput')
- let savedDelay = localStorage.getItem("savedDelay");
- savedDelay ? delayInput.value = savedDelay : undefined;
- checkbox.addEventListener("change", function() {
- if (this.checked) {
- const delay = parseInt(document.getElementById("delayInput").value) || 100;
- let flag = false;
- interval = setInterval(async () => {
- flag = !flag;
- await colorchanger(flag ? 1 : 0);
- }, delay);
- } else {
- clearInterval(interval);
- }
- });
- delayInput.addEventListener("input", function() {
- if (checkbox.checked && interval) {
- clearInterval(interval);
- const newDelay = parseInt(this.value) || 100;
- let flag = false;
- interval = setInterval(async () => {
- flag = !flag;
- await colorchanger(flag ? 1 : 0);
- }, newDelay);
- localStorage.setItem("savedDelay", newDelay);
- }
- });
- });
- window.addEventListener("keydown", e => {
- if (document.activeElement != document.getElementById('chat_textbox')) {
- e.key == combo.shield && shield();
- e.key == combo.vir && vir();
- e.key == combo.pellet && pellet()
- e.key == combo.freezevir && freezevir()
- e.key == combo.portal && portal()
- e.key == combo.recsplit && recsplit()
- e.key == 'u' && push()
- e.key == 'r' && onefs()
- e.key == 'p' && change();
- e.key == 'm' && spawn();
- }
- })
- window.addEventListener("click", e => {
- if (e.which == 1) {
- breakshield();
- };
- })
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- WebSocket.prototype.send = new Proxy(WebSocket.prototype.send, {
- apply(target, thisArg, argArray) {
- send = (...args) => target.call(thisArg, ...args);
- target.apply(thisArg, argArray);
- }
- });