// ==UserScript== // @name skin changer? // @version 0.1 // @match *://agma.io/** // @icon https://www.google.com/s2/favicons?sz=64&domain=agma.io // @grant unsafeWindow // @run-at document-start // @description no // @namespace https://greasyfork.org/users/1238627 // @downloadURL none // ==/UserScript== //ALERT // TO USE THIS SCRIPT, YOU HAVE TO CHANGE THE SKIN ID AND WEARABLES ID // JUST RIGHT CLICK ON THE SKIN U WANT TO CHANGE, THEN CHOOSE INSPECT ELEMENT IT SHOULD SHOW THE ID // USAGE: PRESS KEY 'A' = SKIN CHANGER+WEARABLE CHANGER, DIGIT '0'=AUTO ANIMATION //THANKS let id = [11639,13748], wears= [61, 35, 36]; let interval, interval1, interval2, interval3, interval4, interval5, ee = false, ee1 = false, send, curserTimeout, nick = [''], currentSkin = 0, currentWears = 0, currentNick = 0, enabled = !1, enabled1 = !1, status = !1, pushpacket; const osend = WebSocket.prototype.send; WebSocket.prototype.send = new Proxy(WebSocket.prototype.send, { apply(target, thisArg, argArray) { send = (...args) => target.call(thisArg, ...args); let pkt = argArray[0]; pkt = (pkt instanceof ArrayBuffer) ? new DataView(pkt) : (pkt instanceof DataView) ? pkt : new DataView(pkt.buffer); if (pkt.byteLength == 6 && pkt.getUint8(0) == 162){pushpacket = new Uint8Array(pkt.buffer)} target.apply(thisArg, argArray); } }); class Writer { constructor(e) { (this.buffer = new DataView(new ArrayBuffer(e))), (this.position = 0), (this.littleEndian = !0); } setString(e) { for (let t = 0; t < e.length; t++) this.setUint16(e.charCodeAt(t)); return this; } setInt8(e) { return this.buffer.setInt8(this.position++, e), this; } setUint8(e) { return this.buffer.setUint8(this.position++, e), this; } setInt16(e) { return this.buffer.setInt16((this.position += 2) - 2, e, this.littleEndian), this; } setUint16(e) { return this.buffer.setUint16((this.position += 2) - 2, e, this.littleEndian), this; } setInt32(e) { return this.buffer.setInt32((this.position += 4) - 4, e, this.littleEndian), this; } setUint32(e) { return e % 1 != 0 && 88 == e.toString().slice(-2) && (e += 2), this.buffer.setUint32((this.position += 4) - 4, e, this.littleEndian), this; } setFloat32(e) { return this.buffer.setFloat32((this.position += 4) - 4, e, this.littleEndian), this; } setFloat64(e) { return this.buffer.setFloat64((this.position += 8) - 8, e, this.littleEndian), this; } send() { return send(this.buffer); } } window.addEventListener("DOMContentLoaded",()=>{ function changeSkin() { ssk(id[currentSkin], wears[currentWears],''), (currentSkin = (currentSkin + 1) % id.length); } function we() { ssk(id[currentSkin], wears[currentWears],''), (currentWears = (currentWears + 1) % wears.length); } function changename() { ssk(id[currentSkin], wears[currentWears],nick[currentNick]), (currentNick = (currentNick + 1) % nick.length); } function sendchat(msg) { var b = new DataView(new ArrayBuffer(2 + 2 * msg.length)), x = 0; b.setUint8(x++, 98); b.setUint8(x++, 1); for (var _ = 0; _ < msg.length; ++_) b.setUint16(x, msg.charCodeAt(_), true), x += 2; send(b.buffer); } function respawn(e, t, nick) { if ("block" != $("#advert").css("display") && "block" != $("#overlays").css("display")) { var n = [""]; const i = new Writer(4 + 2 * n.length + 2 * ''.length); i.setUint8(1).setUint16(e).setUint8(n.length), i.setUint16(t), i.setString('').send(); } } function curserMsg(e, t, n) { "green" == t && (t = "rgb(0, 192, 0)"), "red" == t && (t = "rgb(255, 0, 0)"), "gray" == t && (t = "rgb(153, 153, 153)"), clearTimeout(curserTimeout), $("#curser").text(e).show().css("color", t), 0 !== n && (curserTimeout = setTimeout(() => $("#curser").fadeOut(400), n ?? 4e3)); } const delays = (e) => new Promise((t) => setTimeout(t, e)); async function animation() { for (let e = 23; e <= 26; e++) new Writer(2).setUint8(179).setUint8(e).send(), e < 26 && (await delays(5100)); } (unsafeWindow.ssk = (e, t) => { respawn(e, t); }), window.addEventListener("keydown", (event) => { if (!($("input, textarea").is(":focus"))) { switch (event.key) { case "a": enabled = !enabled; //ssk(0, 0); if (enabled) { changeSkin(); interval1 = setInterval(changeSkin, 5100); interval2 = setInterval(we, 100); interval3 = setInterval(changename,500) } else { clearInterval(interval1); clearInterval(interval2); clearInterval(interval3); } break; case "0": enabled1 = !enabled1; curserMsg(`Animation ${enabled1? 'ON' : 'OFF'}`,'green',500) if (enabled1) { animation(); interval = setInterval(animation, 20400); } else { clearInterval(interval); } break; case 'p': break; default: break; } } }); let swals = unsafeWindow.swal unsafeWindow.swal = function(){ const text = arguments[0].text; if(/Multi Feed/.test(text))return; swals.apply(this,arguments) } unsafeWindow.addEventListener("keydown", (e) => { if (("p" == e.key || "P" == e.key) && !$("input, textarea").is(":focus")) { ee=!ee new Writer(3).setUint8(4).setUint8(36).setUint8(1).send(); if(ee){interval4= setInterval(()=>{ if("block" != $("#advert").css("display") && "block" != $("#overlays").css("display")){ new Writer(2).setUint8(180).setUint8(5).send(); } })} else {clearInterval(interval4)} } if (("o" == e.key || "O" == e.key) && !$("input, textarea").is(":focus")) { ee1 = !ee1 if(ee1){interval5= setInterval(()=>{for(let i =0;i ("block" != $("#overlays").css("display"))&&send(new Uint8Array([4, 1, e]))); var e = document.createElement("input"); (e.type = "checkbox"), (e.id = "cGoldFlicker"), (e.name = "cGoldFlicker"); var t = document.createElement("label"); (t.textContent = "Gold Flicker"), t.setAttribute("for", "cGoldFlicker"); var n = document.createElement("input"); (n.type = "number"), (n.id = "delayInput"), (n.placeholder = "0"), (n.min = "0"), (n.style.width = "60px"), (n.style.textAlign = "center"); const i = localStorage.getItem("savedDelay"); i && (n.value = i), $("#roleSettings").append(e), $("#roleSettings").append(t), $("#roleSettings").append(n), $("#roleSettings").append("
"), $("#settingTab3, .rab-radius").click(() => { $("#roleSettings").css("display", "block"), (document.getElementById("cGoldFlicker").disabled = !1), setInterval(() => { document.getElementById("cGoldFlicker").disabled && ((document.getElementById("cGoldFlicker").disabled = !1), $("#roleSettings").css("display", "block")); }, 0); }), e.addEventListener("change", function() { this.checked ? curserMsg("Flicker turned ON", "green") : curserMsg("Flicker turned OFF", "green"); }), e.addEventListener("change", function() { if (this.checked) { const e = parseInt(document.getElementById("delayInput").value) || 100; let t = !1; inta = setInterval(async () => { (t = !t), await anim1(t ? 1 : 0); }, e); } else clearInterval(inta); }), n.addEventListener("input", function() { if (e.checked && inta) { clearInterval(inta); const e = parseInt(this.value) || 100; let t = !1; (inta = setInterval(async () => { (t = !t), await anim1(t ? 1 : 0); }, e)), localStorage.setItem("savedDelay", e); } }); });