// ==UserScript==
// @name myMod 2
// @namespace Nigger 18
// @version 5_beta
// @description V - spike, F - trap, - H - 2 turrets, SPACE - spikeHit, R - insta, C - 4 spikes, RightMouse - tankspam, O - qadro boost/trap, ESC - menu beta, T - reverse insta, G - beta one tick boost.
// @author Undyne the Undying (Gondon).
// @license MIT
// @match *://moomoo.io/*
// @match *://sandbox.moomoo.io/*
// @match *://dev.moomoo.io/*
// @require https://update.greasyfork.org/scripts/480301/1283571/CowJS.js
// @require https://update.greasyfork.org/scripts/480303/1282926/MooUI.js
// @require https://greasyfork.org/scripts/456235-moomoo-js/code/MooMoojs.js?version=1132127
// @require https://greasyfork.org/scripts/423602-msgpack/code/msgpack.js?version=912797
// @require http://code.jquery.com/jquery-3.3.1.min.js
// @require https://code.jquery.com/ui/1.12.0/jquery-ui.min.js
// @require https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.js
// @grant none
// @icon https://cdn.discordapp.com/avatars/1131925981460975676/36b51f984147c8b907af0a3dcb834853.png?size=4096
// @run-at document-end
// ==/UserScript==
if(palcetraps === true && ned <= 320){
place(boostType, nea)
}
let RpTraps = false;
var palcetraps = true;
let ned;
let nea;
if(!nearestEnemy){
nea = 0;
ned = 0;
}
function calculateDistance(a, b) {
var distance = Math.sqrt(Math.pow((b.x - a.x), 2) + Math.pow((b.y - a.y), 2));
return distance;
}
function determineRotationAngle(a, b) {
var deltaX = b.x - a.x;
var deltaY = b.y - a.y;
var dist1 = Math.atan2(deltaY, deltaX);
dist1 = dist1 * (180 / Math.PI);
dist1 += 90;
dist1 = (dist1 + 360) % 360;
return dist1;
}
setInterval(() => {
if(nearestEnemy){
ned = calculateDistance(myPlayer, enemyInf);
nea = determineRotationAngle(myPlayer, enemyInf);
}
}, 200);
function getEl(id) {
return document.getElementById(id);
}
let mapDisplay = getEl("mapDisplay");
let mapContext = mapDisplay.getContext("2d");
mapDisplay.width = 300;
mapDisplay.height = 300;
let scale = 45;
let doinsta;
let enemy;
let enemyInf = { hat: null, x: null, y: null, weaponIndex: null}
var antiInsta = false;
var PREFIX = "!" || "e " || "E ";
var InstaK = false;
var smartWeaponInsta = false;
let SmartInsta = 0;
let BullAuto = false;
setInterval(() => {
if (!smartWeaponInsta) {
SmartInsta = 0;
}
}, 200);
setInterval(() => {
if (smartWeaponInsta) {
setTimeout(() => {
doNewSend(["G", [primary, true]]);
if (myPlayer.weapon == 0 || myPlayer.weapon == 1 || myPlayer.weapon == 2 || myPlayer.weapon == 6 || myPlayer.weapon == 8) {
SmartInsta = 0;
}
if (!InstaK && (myPlayer.weapon == 3 || myPlayer.weapon == 4)) {
SmartInsta = 2;
}
if (InstaK && (myPlayer.weapon == 3 || myPlayer.weapon == 4)) {
SmartInsta = 1;
}
if (myPlayer.weapon == 5) {
SmartInsta = 1;
}
if (myPlayer.weapon == 7) {
SmartInsta = 2;
}
}, 50);
setTimeout(() => {
OldIdWeapon();
}, 100);
}
}, speedWeaponall + 200);
var Speed = 0;
function speedweapon() {
if(myPlayer.weapon == 0){Speed = 300}
if(myPlayer.weapon == 1){Speed = 400}
if(myPlayer.weapon == 2){Speed = 400}
if(myPlayer.weapon == 3){Speed = 300}
if(myPlayer.weapon == 4){Speed = 300}
if(myPlayer.weapon == 5){Speed = 700}
if(myPlayer.weapon == 6){Speed = 300}
if(myPlayer.weapon == 7){Speed = 100}
if(myPlayer.weapon == 10){Speed = 400}
}
function speedWeaponall() {
if (myPlayer.weapon == 0) {SpeedAll = 300}
if (myPlayer.weapon == 1) {SpeedAll = 400}
if (myPlayer.weapon == 2) {SpeedAll = 400}
if (myPlayer.weapon == 3) {SpeedAll = 300}
if (myPlayer.weapon == 4) {SpeedAll = 300}
if (myPlayer.weapon == 5) {SpeedAll = 700}
if (myPlayer.weapon == 6) {SpeedAll = 300}
if (myPlayer.weapon == 7) {SpeedAll = 100}
if (myPlayer.weapon == 8) {SpeedAll = 400}
if (myPlayer.weapon == 9) {SpeedAll = 600}
if (myPlayer.weapon == 10) {SpeedAll = 400}
if (myPlayer.weapon == 12) {SpeedAll = 700}
if (myPlayer.weapon == 13) {SpeedAll = 230}
if (myPlayer.weapon == 14) {SpeedAll = 700}
if (myPlayer.weapon == 15) {SpeedAll = 1500}
}
function speedWeapon3() {
doNewSend(["G", [primary, true]])
doNewSend(["G", [primary, true]]);
if (myPlayer.weapon == 0) {Speed3 = 300}
if (myPlayer.weapon == 1) {Speed3 = 400}
if (myPlayer.weapon == 2) {Speed3 = 400}
if (myPlayer.weapon == 3) {Speed3 = 300}
if (myPlayer.weapon == 4) {Speed3 = 300}
if (myPlayer.weapon == 5) {Speed3 = 700}
if (myPlayer.weapon == 6) {Speed3 = 300}
if (myPlayer.weapon == 7) {Speed3 = 100}
if (myPlayer.weapon == 8) {Speed3 = 400}
}
var SpeedAll = 0;
var Speed3 = 0;
var Speed2 = 0;
var BlockPW = false;
var LowHeal = false;
function speedWeapon2() {
doNewSend(["G", [secondary, true]])
doNewSend(["G", [secondary, true]]);
if (myPlayer.weapon == 9) {Speed2 = 600}
if (myPlayer.weapon == 10) {Speed2 = 400}
if (myPlayer.weapon == 12) {Speed2 = 700}
if (myPlayer.weapon == 13) {Speed2 = 230}
if (myPlayer.weapon == 15) {Speed2 = 1500}
}
function OldIdWeapon() {
if (
myPlayer.weapon == 9 ||
myPlayer.weapon == 10 ||
myPlayer.weapon == 11 ||
myPlayer.weapon == 12 ||
myPlayer.weapon == 13 ||
myPlayer.weapon == 14 ||
myPlayer.weapon == 15
) {
doNewSend(["G", [secondary, true]]);
} else {
doNewSend(["G", [primary, true]]);
}
}
function storeBuy(id, index) {
doNewSend("13c", 1, id, index);
}
var AntiTi = false;
var AutoSh = false;
var AutoQ = false;
var bht = false;
setInterval( () => {
if(bht === true && tankspamming === false){
if (ned > 320 && doinsta == false) {
if (myPlayer.y < 2400) {
hat(15);
} else {
if (myPlayer.y > 6850 && myPlayer.y < 7550) {
hat(31);
} else {
hat(12);
}
}
} else {
if (ned <= 320 && doinsta == false) {
hat(6);
}
}
}
}, 200);
function time(a, b) {
setInterval( () => { b
}, a);
}
let weaponSpeed = [300, 400, 400, 300, 300, 700, 300, 100, 400, 600, 400, 0, 700, 230, 700, 1500]
let weaponSrc = [
"hammer_1",
"axe_1",
"great_axe_1",
"sword_1",
"samurai_1",
"spear_1",
"bat_1",
"dagger_1",
"stick_1",
"bow_1",
"great_hammer_1",
"shield_1",
"crossbow_1",
"crossbow_2",
"grab_1",
"musket_1"
]
var onWeapon;
$("#mapDisplay").css({background: `url('http://i.imgur.com/Qllo1mA.png')`});
document.getElementById("enterGame").addEventListener('click', autohide);
var autohide = $("ot-sdk-btn-floating").remove();
document.getElementById('linksContainer2').remove();
document.getElementById('gameName').innerHTML = 'MyMod';
document.getElementById('loadingText').innerHTML = 'V5_BETA'
document.getElementById('diedText').innerHTML = "Wasted";
document.getElementById('diedText').style.color = "#000000";
document.getElementById("storeHolder").style = "height: 1400px; width: 500px;";
document.getElementById("promoImgHolder").remove();
document.querySelector("#pre-content-container").remove(); //ANTI AD log
$('#itemInfoHolder').css({
'top': '0px',
'left': '0px'
});
$("darkness").remove();
$("#youtuberOf").remove();
$("#adCard").remove();
$("#mobileInstructions").remove();
$("#downloadButtonContainer").remove();
$("#mobileDownloadButtonContainer").remove();
$(".downloadBadge").remove();
document.getElementById('gameName').style.color = "black";
document.getElementById('gameName').style.textShadow = 'none';
document.getElementById('gameName').style.fontSize = "80px";
document.getElementById('loadingText').style.color = "black";
document.getElementById('allianceButton').style.color = "gold";
document.getElementById('chatButton').remove();
document.getElementById('storeButton').style.color = "gold";
document.getElementById('setupCard').style.background = "black";
document.getElementById('guideCard').style.background = "black";
document.getElementById('diedText').style.color = "#219B00";
$("#wideAdCard").remove();
let details = document.createElement("div");
details.id = "details";
document.body.prepend(details);
var ping = document.getElementById("pingDisplay");
ping.style.fontSize = "20px";
ping.style.display = "block";
ping.style.zIndex = "1";
document.body.appendChild(ping);
setInterval(function() {
if (window.pingTime && ping) {
var shameInfo = myPlayer.hat == 45 ? "ShameTimer[" + (30 - 1) + "s]" : "Shame[" + shame + "]";
ping.innerHTML = "Ping[" + window.pingTime + "] | " + shameInfo + " | SmartInsta: " + SmartInsta + "| Dist["+ ned +"] | Angle[" + nea + "]";
}
}, window.pingTime ? 0 : 1e3);
var NoThing = undefined;
var pingTime = window.pingTime;
let lastDamageTick = 0;
let HP = 100;
let gameTick = 0;
var shame = 0;
let shameTime,
damageTimes = 0;
let friendlyMillLocs = [];
let EnemyTrapLocs = [];
let nearestFriendlyMill;
let nearestFriendlyMillX;
let nearestFriendlyMillY;
let NearEnemyTrapLocs;
let nearestFriendlyMillScale;
let isNextToFriendlyMill = false;
function removeArraysWithValue(arr, valueToRemove) {
for (let i = arr.length - 1; i >= 0; i--) {
const innerArray = arr[i];
if (innerArray.includes(valueToRemove)) {
arr.splice(i, 1);
}
}
}
var ws;
let movementDirection
let millCount = 0;
let nearestRandomObjectX;
let nearestRandomObjectY;
let mouseX;
let mouseY;
let width = 500;
let height = 500;
var bots = [];
var myWindow;
setInterval(() => {
if(hatToggle == 1) {
if(oldHat != normalHat) {
hat(normalHat);
console.log("Tried. - Hat")
}
if(oldAcc != normalAcc) {
acc(normalAcc);
console.log("Tried. - Acc")
}
oldHat = normalHat;
oldAcc = normalAcc
}
}, 25);
function normal() {
hat(normalHat);
acc(normalAcc);
}
function aim(x, y){
var cvs = document.getElementById("gameCanvas");
cvs.dispatchEvent(new MouseEvent("mousemove", {
clientX: x,
clientY: y
}));
}
let coreURL = new URL(window.location.href);
window.sessionStorage.force = coreURL.searchParams.get("fc");
let trap_a = null;
let intrap = false;
let trapid = null;
var antitrap = false;
var isEnemyNear;
var primary;
var secondary;
var foodType;
var wallType;
var spikeType;
var millType;
var mineType;
var boostType;
var turretType;
var spawnpadType;
var autoaim = false;
var autoprimary = false;
var autosecondary = false;
var tick = 1;
var oldHat;
var oldAcc;
var enemiesNear;
var normalHat;
var normalAcc;
var msgpack5 = msgpack;
var boostDir;
let myPlayer = {
id: null,
x: null,
y: null,
dir: null,
object: null,
weapon: null,
clan: null,
isLeader: null,
hat: null,
accessory: null,
isSkull: null
};
let healSpeed = 200;
var messageToggle = 0;
var nearestEnemy;
var nearestEnemyAngle;
var clanToggle = 0;
let healToggle = 2;
let hatToggle = 1;
var autoheal = true;
var instaPc = true;
var antiBull = true;
var autoinsta = false;
var afkspike = false;
var damageTick = false;
var autoreload = false;
var damageTrap = false;
var afterInsta = false;
var autoTurret = false;
document.msgpack = msgpack;
function n(){
this.buffer = new Uint8Array([0]);
this.buffer.__proto__ = new Uint8Array;
this.type = 0;
}
WebSocket.prototype.oldSend = WebSocket.prototype.send;
WebSocket.prototype.send = function(m){
if (!ws){
document.ws = this;
ws = this;
socketFound(this);
}
this.oldSend(m);
};
function socketFound(socket){
socket.addEventListener('message', function(message){
handleMessage(message);
});
}
function handleMessage(m){
let temp = msgpack5.decode(new Uint8Array(m.data));
let data;
if(temp.length > 1) {
data = [temp[0], ...temp[1]];
if (data[1] instanceof Array){
data = data;
}
} else {
data = temp;
}
let item = data[0];
if(!data) {return};
update();
if (item == "C" && myPlayer.id == null){
myPlayer.id = data[1];
}
if (item == "a") {
enemy = [];
for(let i = 0; i < data[1].length / 13; i++) {
let playerInfo = data[1].slice(13*i, 13*i+13);
if(playerInfo[0] == myPlayer.id) {
myPlayer.x = playerInfo[1];
myPlayer.y = playerInfo[2];
myPlayer.dir = playerInfo[3];
myPlayer.object = playerInfo[4];
myPlayer.weapon = playerInfo[5];
myPlayer.clan = playerInfo[7];
myPlayer.isLeader = playerInfo[8];
myPlayer.hat = playerInfo[9];
myPlayer.accessory = playerInfo[10];
myPlayer.isSkull = playerInfo[11];
} else if(playerInfo[7] != myPlayer.clan || playerInfo[7] === null) {
enemy.push(playerInfo);
}
}
}
var doActive = data[0];
if (enemy) {
nearestEnemy = enemy.sort((a, b) => dist(a, myPlayer) - dist(b, myPlayer))[0];
}
if (nearestEnemy) {
enemyInf.weapon = nearestEnemy[5]
enemyInf.hat = nearestEnemy[9]
enemyInf.x = nearestEnemy[1]
enemyInf.y = nearestEnemy[2]
}
update();
if (item == "H") {
for(let i = 0; i < data[1].length / 8; i++) {
let info = data[1].slice(8*i, 8*i+8);
if(info[6] == millType && info[7] == myPlayer.id){
friendlyMillLocs.push(info)
}
if(info[7] == myPlayer.id){
onWeapon = true;
}
}
}
update();
if(item == "Q"){
removeArraysWithValue(friendlyMillLocs, data[1])
}
update();
if(item == "R"){
removeArraysWithValue(friendlyMillLocs, data[1])
}
update();
if(item == "S"){
if(data[1] == 3){
millCount = data[2];
}
}
update();
if(friendlyMillLocs){
nearestFriendlyMill = friendlyMillLocs.sort((a,b) => dist(a, myPlayer) - dist(b, myPlayer))[0];
if(nearestFriendlyMill){
nearestFriendlyMillX = nearestFriendlyMill[1]
nearestFriendlyMillY = nearestFriendlyMill[2]
nearestFriendlyMillScale = nearestFriendlyMill[4]
}
}
if(Math.sqrt(Math.pow((myPlayer.y-nearestFriendlyMillY), 2) + Math.pow((myPlayer.x-nearestFriendlyMillX), 2)) < nearestFriendlyMillScale + 100) {
console.log(true)
isNextToFriendlyMill = true;
} else {
isNextToFriendlyMill = false;
}
WebSocket.prototype.send = function(m){
let xcc = new Uint8Array(m);
this.oldSend(m);
let realData = {};
let realInfo = msgpack5.decode(xcc);
if (realInfo[1] instanceof Array){
realData.data = [realInfo[0], ...realInfo[1]]
}
let rd0 = realData.data[0];
let rd1 = realData.data[1];
let rd2 = realData.data[2]
if(rd0 == 'a'){
movementDirection = rd1
}
};
isEnemyNear = false;
if (myPlayer.hat == 45 && shame) shameTime = 30000;
if (myPlayer.hat == 45 && shame) shame = 30000;
if (data[0] == "33") {
gameTick++;
}
if(item == "O" && data[1] == myPlayer.id) {
(gameTick = 0);
(lastDamageTick = 0);
(shame = 0);
(HP = 100);
(shameTime = 0);
if (item == "h" && data[1] == myPlayer.id) {
let damage = HP - data[2];
HP = data[2];
if (damage <= 0) {
damageTimes++;
if (!lastDamageTick) return;
let healTime = gameTick - lastDamageTick;
lastDamageTick = 0;
if (healTime <= 1) {
shame = shame++;
} else {
shame = Math.max(0, shame - 2);
}
} else {
lastDamageTick = gameTick;
}
}
var Pg = 0;
if(AutoQ == true && pingTime >= 500 && pingTime - Pg) {
setTimeout( () => {
Pg = 3
place(foodType, null);
place(foodType, null);
place(foodType, null);
OldIdWeapon()
}, pingTime - healSpeed + pingTime - Pg);
}
if(AutoQ == true && pingTime <= 499 && pingTime >= 101) {
setTimeout( () => {
Pg = 2
place(foodType, null);
place(foodType, null);
place(foodType, null);
OldIdWeapon()
}, pingTime - healSpeed + pingTime - Pg);
}
if(AutoQ == true && pingTime <= 100 && pingTime > 50) {
setTimeout( () => {
Pg = 1
place(foodType, null);
place(foodType, null);
place(foodType, null);
OldIdWeapon()
}, pingTime - healSpeed + pingTime - Pg);
}
if(AutoQ == true && pingTime <= 50) {
setTimeout( () => {
Pg = 4
place(foodType, null);
place(foodType, null);
place(foodType, null);
OldIdWeapon()
}, pingTime + Pg);
}
if(data[2] < 100 && data[2] >= 0 && damageTick == true && nearestEnemy){
place(foodType)
place(spikeType);
doNewSend(["d",[1]]);
doNewSend(["c", [0, 7, 0]]);
doNewSend(["G", [primary, true]]);
doNewSend(["d",[1]]);
setTimeout(() => {
doNewSend(["c", [0, 53, 0]]);
},85);
setTimeout(() => {
doNewSend(["c", [0, 6, 0]]);
doNewSend(["d",[0]]);
place(foodType)
OldIdWeapon()
},170);
}
if(data[2] < 100 && data[2] >= 0 && afkspike == true){
place(spikeType, myPlayer.dir + toRad(0));
place(spikeType, myPlayer.dir - toRad(180));
place(spikeType, myPlayer.dir + toRad(90));
place(spikeType, myPlayer.dir - toRad(90));
OldIdWeapon()
}
if(data[2] < 100 && data[2] >= 0 && damageTrap == true){
place(boostType, myPlayer.dir + toRad(45));
place(boostType, myPlayer.dir - toRad(45));
place(boostType, myPlayer.dir + toRad(135));
place(boostType, myPlayer.dir - toRad(135));
OldIdWeapon()
}
if(data[2] < 100 && data[2] >= 0 && autoinsta == true){
if(instaPc == true && document.activeElement.id.toLowerCase() !== 'chatbox'){
doNewSend(["G", [primary, true]]);
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
setTimeout(() => {
doNewSend(["c", [0, 53, 0]]);
place(spikeType)
}, 133);
setTimeout(() => {
doNewSend(["c", [0, 6, 0]]);
doNewSend(["d",[0]]);
}, 180);
}
if(instaPc == false && document.activeElement.id.toLowerCase() !== 'chatbox'){// insta
afterInsta = false
doNewSend(["c", [0, 53, 0]]);
doNewSend(["G", [primary, true]]);
setTimeout(() => {
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
},95);
setTimeout(() => {
place(foodType)
doNewSend(["G", [secondary, true]]);
doNewSend(["d",[1]]);
},180);
setTimeout(() => {
doNewSend(["d",[0]]);
doNewSend(["G", [primary, true]])
doNewSend(["c", [0, 6, 0]]);
afterInsta = true
},280);
}
}
if (data[2] < 100 && data[2] >= 0 && autoheal == true) {
let c;
c = 1;
if (data[2] < 100 && data[2] >= 0) {
if (data[2] < 100 && data[2] >= 50 && LowHeal == true) {
c = 1;
setTimeout(() => {
for (let i=0;i<c;i++) { place(foodType) };
if(doinsta == false){
doNewSend(["c", [0, 6, 0]]);
}
OldIdWeapon()
}, healSpeed - 25);
}
if (data[2] <= 31 && data[2] >= 0 && LowHeal == true) {
c = 3;
for (let i=0;i<c;i++) { place(foodType) };
if(doinsta == false){
doNewSend(["c", [0, 6, 0]]);
}
OldIdWeapon()
}
if (data[2] < 50 && data[2] > 31 && LowHeal == true) {
c = 2;
for (let i=0;i<c;i++) { place(foodType) };
if(doinsta == false){
doNewSend(["c", [0, 6, 0]]);
}
OldIdWeapon()
}
if (data[2] < 100 && data[2] >= 50 && LowHeal == false) {
c = 2;
setTimeout(() => {
for (let i=0;i<c;i++) { place(foodType) };
if(doinsta == false){
doNewSend(["c", [0, 6, 0]]);
}
OldIdWeapon()
},125);
}
if (data[2] < 50 && data[2] >= 0 && LowHeal == false) {
c = 3;
for (let i=0;i<c;i++) { place(foodType) };
if(doinsta == false){
doNewSend(["c", [0, 6, 0]]);
}
OldIdWeapon()
}
}
}
if (data[2] < 100 && nearestEnemy[9] == 21 && doinsta === false){
doNewSend(["c", [0, 23, 0]]);
place(foodType);
place(foodType);
place(foodType);
setTimeout(() => {OldIdWeapon(); doNewSend(["c", [0, 6, 0]])}, 75)
}
if (data[2] < 33 && data[2] > 0 && myPlayer.hat !== 6 && antiInsta == true && doinsta === false) {//antiinsta no sold log
doNewSend(["c", [0, 53, 0]]);
place(foodType);
place(foodType);
place(foodType);
setTimeout(() => {
place(foodType);
}, 170);
setTimeout(() => {
doNewSend(["G", [primary, true]]);
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
place(foodType);
}, 760);
setTimeout( () => {
doNewSend(["c", [0, 6, 0]]);
doNewSend(["d",[0]]);
OldIdWeapon()
}, 1900);
}
if (data[0] == "6" && data[1] == myPlayer.id && data[2].split(' ')[0] == PREFIX+"check") {
setTimeout(() => {
doNewSend(["G", [primary, true]]);
if (myPlayer.weapon == 0 || myPlayer.weapon == 1 || myPlayer.weapon == 2 || myPlayer.weapon == 6 || myPlayer.weapon == 8) {
SmartInsta = 0;
}
if (!InstaK && (myPlayer.weapon == 3 || myPlayer.weapon == 4)) {
SmartInsta = 2;
}
if (InstaK && (myPlayer.weapon == 3 || myPlayer.weapon == 4)) {
SmartInsta = 1;
}
if (myPlayer.weapon == 5) {
SmartInsta = 1;
}
if (myPlayer.weapon == 7) {
SmartInsta = 2;
}
}, 50);
setTimeout(() => {
OldIdWeapon();
doNewSend(["6", ["Checked: " + SmartInsta]])
}, 100);
}
if (data[2] < 51 && data[2] > 40 && myPlayer.hat == 6 && antiInsta == true && doinsta === false) {//antiinsta for pol
doNewSend(["c", [0, 22, 0]]);
place(foodType);
place(foodType);
place(foodType);
setTimeout(() => {
place(foodType);
place(foodType);
}, 170);
setTimeout(() => {
doNewSend(["G", [primary, true]]);
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
}, 760);
setTimeout( () => {
doNewSend(["c", [0, 6, 0]]);
doNewSend(["d",[0]]);
OldIdWeapon()
}, 1900);
}
if (AntiTi == true && data[2] < 100) {
var oldHp = data[2]
setTimeout(() => {
if (oldHp != data[2] && data[2] < 70) {
place(spikeType)
place(foodType)
place(foodType)
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
place(foodType)
place(foodType)
}
}, 30);
setTimeout(() => {
oldHp = data[2]
OldIdWeapon()
}, 160);
}
if (data[2] < 56 && data[2] > 50 && myPlayer.hat == 6 && antiBull == true && doinsta === false) {//bullspam heal
doNewSend(["d",[1]]);
place(foodType);
place(spikeType, - toRad(45));
place(spikeType, + toRad(45));
doNewSend(["c", [0, 53, 0]]);
setTimeout(() => {
place(foodType);
place(foodType);
doNewSend(["c", [0, 6, 0]]);
doNewSend(["d",[0]]);
OldIdWeapon()
}, 133);
}
if (data[2] < 41 && data[2] > 0 && myPlayer.hat == !6 && antiInsta == true && doinsta === false) {
setTimeout(() => {
doNewSend(["c", [0, 6, 0]]);
place(foodType);
place(foodType);
}, 133);
place(foodType);
place(foodType);
place(spikeType);
doNewSend(["d",[1]]);
doNewSend(["c", [0, 7, 0]]);
doNewSend(["G", [primary, true]]);
doNewSend(["d",[0]]);
setTimeout(() => {
place(spikeType, + toRad(45));
place(spikeType, - toRad(45));
doNewSend(["d",[1]]);
doNewSend(["c", [0, 53, 0]]);
doNewSend(["d",[0]]);
doNewSend(["c", [0, 11, 0]]);
},150);
setTimeout(() => {
doNewSend(["c", [0, 6, 0]]);
OldIdWeapon()
},300);
}
}
update();
};
function doNewSend(sender){
ws.send(new Uint8Array(Array.from(msgpack5.encode(sender))));
}
const emit = (e, a, b, c, m, r) => ws.send(Uint8Array.from([...msgpack5.encode([e, [a, b, c, m, r]])]));
function acc(id) { emit("c", myPlayer.accessory, id, 1)}
function hat(id) {
doNewSend(["c", [0, id, 0]]);
}
function place(id, angle = Math.atan2(mouseY - height / 2, mouseX - width / 2)) {
doNewSend(["G", [id, null]]);
doNewSend(["d", [1, angle]]);
doNewSend(["d", [0, angle]]);
OldIdWeapon()
}
function hit(angle = Math.atan2(mouseY - height / 2, mouseX - width / 2)) {
doNewSend(["d", [1, angle]]);
doNewSend(["d", [0, myPlayer.dir]]);
}
var repeater = function(key, action, interval) {
let _isKeyDown = false;
let _intervalId = undefined;
return {
start(keycode) {
if(keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') {
_isKeyDown = true;
if(_intervalId === undefined) {
_intervalId = setInterval(() => {
action();
if(!_isKeyDown){
clearInterval(_intervalId);
_intervalId = undefined;
}
}, interval);
}
}
},
stop(keycode) {
if(keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') {
_isKeyDown = false;
}
}
};
}
let automilling = false;
let automill = false;
var x,
y;
x = myPlayer.x;
y = myPlayer.y;
let angle = Math.atan2(y - myPlayer.y, x - myPlayer.x);
setInterval(()=>{
if(automill == true && isNextToFriendlyMill == false && millCount < 300 && automilling == false){
automilling = true;
doNewSend(["G",[millType, null]])
doNewSend(["d",[1, (movementDirection - 1.90)]])
doNewSend(["G",[myPlayer.weapon, true]])
doNewSend(["G",[millType, null]])
doNewSend(["d",[1, (movementDirection - 3.14)]])
doNewSend(["G",[myPlayer.weapon, true]])
doNewSend(["G",[millType, null]])
doNewSend(["d",[1, (movementDirection + 1.90)]])
doNewSend(["G",[myPlayer.weapon, true]])
doNewSend(["d", [1]]);
doNewSend(["d", [0]]);
automilling = false
}
}, 100);
let autoturreting = false;
setInterval(()=>{
if(autoTurret == true && autoturreting == false){
autoturreting = true;
doNewSend(["G",[turretType, null]])
doNewSend(["d",[1, (movementDirection - 1.90)]])
doNewSend(["G",[myPlayer.weapon, true]])
doNewSend(["G",[turretType, null]])
doNewSend(["d",[1, (movementDirection - 3.14)]])
doNewSend(["G",[myPlayer.weapon, true]])
doNewSend(["G",[turretType, null]])
doNewSend(["d",[1, (movementDirection + 1.90)]])
doNewSend(["G",[myPlayer.weapon, true]])
autoturreting = false
}
}, 100);
let tankspam = false;
let tankspamming = false;
setInterval(() => {
if (tankspam && !tankspamming) {
tankspamming = true;
if (SmartInsta === 2 && ned <= 320) {
doNewSend(["c", [0, 7, 0]]);
} else {
doNewSend(["c", [0, 40, 0]]);
}
doNewSend(["d", [1]]);
doNewSend(["d", [0]]);
setTimeout(() => {
doNewSend(["c", [0, 6, 0]]);
speedweapon();
tankspamming = false;
}, Speed + 100);
}
}, Speed + 100);
const boostPlacer = repeater(70, () => {place(boostType)}, 50);
const spikePlacer = repeater(86, () => {place(spikeType)}, 50);
const placers = [boostPlacer, spikePlacer];
let prevCount = 0;
const handleMutations = mutationsList => {
for (const mutation of mutationsList) {
if (mutation.target.id === "killCounter") {
const count = parseInt(mutation.target.innerText, 10) || 0;
if (count > prevCount) {
doNewSend(["6", [ "GG Kills: " + count]])
prevCount = count;
setTimeout(() => {
doNewSend(["6", [ "MyMod 2 v5 Beta"]])
}, 1500);
}
}
}
};
const observer = new MutationObserver(handleMutations);
observer.observe(document, {
subtree: true,
childList: true
});
document.addEventListener('keydown', (e) => {
if (["allianceinput", 'chatbox', 'nameinput','storeHolder'].includes(document.activeElement.id.toLowerCase())) return null;
placers.forEach(t => {
t.start(e.keyCode);
});
if(e.keyCode == 78 && document.activeElement.id.toLowerCase() !== 'chatbox'){// N = Automill
automill = !automill
}
if(e.keyCode == 16 && document.activeElement.id.toLowerCase() !== 'chatbox'){// H = Turret/Teleporter
doNewSend(["c", [0, 6, 0]]);
}
if(e.keyCode == 72 && document.activeElement.id.toLowerCase() !== 'chatbox'){// H = Turret/Teleporter
place(turretType, myPlayer.dir + toRad(45));
place(turretType, myPlayer.dir - toRad(45));
}
if(e.keyCode == 66 && document.activeElement.id.toLowerCase() !== 'chatbox'){// G = spawnpads
place(spawnpadType, myPlayer.dir + toRad(45));
place(spawnpadType, myPlayer.dir - toRad(45));
}
if (e.keyCode == 67) {
doNewSend(["c", [0, 53, 0]]);
setTimeout(() => {
doNewSend(["c", [0, 7, 0]]);
doNewSend(["G", [primary, true]]);
doNewSend(["d",[1]]);
}, 80)
setTimeout(() => {
doNewSend(["c", [0, 6, 0]]);
doNewSend(["d",[0]]);
place(spikeType, myPlayer.dir + toRad(0));
place(spikeType, myPlayer.dir - toRad(180));
place(spikeType, myPlayer.dir + toRad(90));
place(spikeType, myPlayer.dir - toRad(90));
place(spikeType, myPlayer.dir + toRad(45));
place(spikeType, myPlayer.dir - toRad(45));
place(spikeType, myPlayer.dir + toRad(135));
place(spikeType, myPlayer.dir - toRad(135));
}, 160);
}
if (e.keyCode == 81) {
place(foodType)
place(foodType)
place(foodType)
setTimeout(() => {
place(foodType)
place(foodType)
place(foodType)
},10);
}
if(e.keyCode == 79 && document.activeElement.id.toLowerCase() !== 'chatbox'){// spiketick
place(boostType, myPlayer.dir + toRad(45));
place(boostType, myPlayer.dir - toRad(45));
place(boostType, myPlayer.dir + toRad(135));
place(boostType, myPlayer.dir - toRad(135));
place(boostType, myPlayer.dir + toRad(0));
place(boostType, myPlayer.dir - toRad(180));
place(boostType, myPlayer.dir + toRad(90));
place(boostType, myPlayer.dir - toRad(90));
}
if(e.keyCode == 32 && document.activeElement.id.toLowerCase() !== 'chatbox'){// spiketick 72
place(foodType)
doNewSend(["d",[1]]);
doNewSend(["c", [0, 7, 0]]);
doNewSend(["G", [primary, true]]);
doNewSend(["d",[1]]);
setTimeout(() => {
place(spikeType);
doNewSend(["c", [0, 53, 0]]);
},85);
setTimeout(() => {
doNewSend(["c", [0, 6, 0]]);
doNewSend(["d",[0]]);
},170);
}
if (AutoSh == true) {
setTimeout(() => {
storeBuy(0, 6, 0)
},100);
setTimeout(() => {
storeBuy(0, 7, 0)
},200);
setTimeout(() => {
storeBuy(0, 31, 0)
},300);
setTimeout(() => {
storeBuy(0, 15, 0)
},400);
setTimeout(() => {
storeBuy(0, 12, 0)
},500);
setTimeout(() => {
storeBuy(0, 53, 0)
},600);
setTimeout(() => {
storeBuy(0, 19, 1)
},700);
setTimeout(() => {
storeBuy(0, 11, 1)
},800);
setTimeout(() => {
storeBuy(0, 40, 0)
},900);
setTimeout(() => {
storeBuy(0, 11, 0)
},1000);
setTimeout(() => {
storeBuy(0, 22, 0)
},1100);
}
if (autoreload == true && afterInsta == true) {
doNewSend(["G", [secondary, true]]);
speedWeapon2()
setTimeout(() => {
doNewSend(["G", [primary, true]]);
afterInsta = false
},Speed2 + 150);
}
if(e.keyCode == 89 && document.activeElement.id.toLowerCase() !== 'chatbox'){// insta
doinsta = true
afterInsta = false
doNewSend(["G", [primary, true]])
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
setTimeout(() => {
doNewSend(["c", [0, 21, 0]]);
doNewSend(["G", [secondary, true]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
}, 95)
setTimeout(() => { doNewSend(["G", [primary, true]]); doNewSend(["c", [0, 53, 0]]); place(spikeType)}, 150)
setTimeout(() => { doNewSend(["c", [0, 6, 0]]); afterInsta = true; doinsta == false}, 225)
}
if(e.keyCode == 71 && document.activeElement.id.toLowerCase() !== 'chatbox'){// insta
afterInsta = false
doinsta = true
place(boostType)
doNewSend(["c", [0, 53, 0]]);
doNewSend(["G", [secondary, true]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
setTimeout(() => {
doNewSend(["G", [primary, true]])
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
},70);
setTimeout(() => {
doNewSend(["d",[0]]);
doNewSend(["c", [0, 6, 0]]);
afterInsta = true
doinsta = false
},280);
}
if(e.keyCode == 84 && document.activeElement.id.toLowerCase() !== 'chatbox'){// insta
afterInsta = false
doinsta = true
doNewSend(["c", [0, 53, 0]]);
doNewSend(["G", [secondary, true]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
setTimeout(() => {
doNewSend(["G", [primary, true]])
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
},80);
setTimeout(() => {
doNewSend(["d",[0]]);
doNewSend(["c", [0, 6, 0]]);
doinsta = false
afterInsta = true
},280);
}
if(e.keyCode == 82 && instaPc == false && smartWeaponInsta == true && SmartInsta == 1 && document.activeElement.id.toLowerCase() !== 'chatbox'){// insta
afterInsta = false
doinsta = true
doNewSend(["G", [secondary, true]]);
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
setTimeout(() => {
doNewSend(["G", [primary, true]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
},90);
setTimeout(() => {
doNewSend(["c", [0, 53, 0]]);
doNewSend(["G", [primary, true]])
},180);
setTimeout(() => {
doNewSend(["G", [primary, true]])
doNewSend(["c", [0, 6, 0]]);
doNewSend(["c", [0, 6, 0]]);
afterInsta = true
doinsta = false
},295);
}
if(e.keyCode == 82 && instaPc == true && smartWeaponInsta == true && SmartInsta == 1 && document.activeElement.id.toLowerCase() !== 'chatbox'){// insta GG
afterInsta = false
doinsta = true
doNewSend(["G", [secondary, true]]);
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
setTimeout(() => {
doNewSend(["G", [primary, true]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
},90);
setTimeout(() => {
place(spikeType)
doNewSend(["c", [0, 53, 0]]);
doNewSend(["G", [primary, true]])
},180);
setTimeout(() => {
doNewSend(["G", [primary, true]])
doNewSend(["c", [0, 6, 0]]);
doNewSend(["c", [0, 6, 0]]);
afterInsta = true
doinsta = false
},295);
}
if(e.keyCode == 76 && document.activeElement.id.toLowerCase() !== 'chatbox'){// insta
place(boostType)
doinsta = true
setTimeout(() => {
afterInsta = false
doNewSend(["c", [0, 53, 0]]);
doNewSend(["G", [secondary, true]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
setTimeout(() => {
doNewSend(["G", [primary, true]])
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
},70);
setTimeout(() => {
doNewSend(["d",[0]]);
doNewSend(["c", [0, 6, 0]]);
},280);
},385);
setTimeout(() => {
place(spikeType)
afterInsta = true
doinsta = false
},435);
};
if(e.keyCode == 82 && instaPc == true && document.activeElement.id.toLowerCase() !== 'chatbox'){// insta
afterInsta = false
doinsta = true
doNewSend(["G", [secondary, true]]);
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
setTimeout(() => {
doNewSend(["G", [primary, true]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
},90);
setTimeout(() => {
place(spikeType)
doNewSend(["c", [0, 53, 0]]);
doNewSend(["G", [primary, true]])
},180);
setTimeout(() => {
doNewSend(["G", [primary, true]])
doNewSend(["c", [0, 6, 0]]);
doNewSend(["c", [0, 6, 0]]);
afterInsta = true
doinsta == false
},295);
}
if(e.keyCode == 82 && instaPc == false && document.activeElement.id.toLowerCase() !== 'chatbox'){// insta
afterInsta = false
doinsta = true
doNewSend(["G", [secondary, true]]);
doNewSend(["c", [0, 7, 0]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
setTimeout(() => {
doNewSend(["G", [primary, true]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
},90);
setTimeout(() => {
doNewSend(["c", [0, 53, 0]]);
doNewSend(["G", [primary, true]])
},180);
setTimeout(() => {
doNewSend(["G", [primary, true]])
doNewSend(["c", [0, 6, 0]]);
afterInsta = true
doinsta == false
},295);
}
})
document.addEventListener("mousedown", event => {
if(event.button == 2 && document.activeElement.id.toLowerCase() !== 'chatbox'){//tankspam
tankspam = !tankspam
}
});
document.addEventListener('keyup', (e) => {
placers.forEach(t => {
t.stop(e.keyCode);
});
})
function isElementVisible(e) {
return (e.offsetParent !== null);
}
function toRad(angle) {
return angle * 0.01745329251;
}
function dist(e, o) {
return e && o
? Math.sqrt((e.x - o.x) ** 2 + (e.y - o.y) ** 2)
: null
};
function update() {
for (let i=0;i<9;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
primary = i;
}
}
for (let i=9;i<16;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
secondary = i;
}
}
for (let i=16;i<19;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
foodType = i - 16;
}
}
for (let i=19;i<22;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
wallType = i - 16;
}
}
for (let i=22;i<26;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
spikeType = i - 16;
}
}
for (let i=26;i<29;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
millType = i - 16;
}
}
for (let i=29;i<31;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
mineType = i - 16;
}
}
for (let i=31;i<33;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
boostType = i - 16;
}
}
for (let i=33;i<36;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
turretType = i - 16;
}
}
for (let i=36;i<37;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
spawnpadType = i - 16;
}
}
for (let i=37;i<39;i++){
if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))){
turretType = i - 16;
}
}
}
(function () {
'use strict';
var customText = document.createElement('div');
customText.id = 'customText';
customText.style = 'position: fixed; top: 0; left: 0; background: #5a2b67; border: 1px solid #ccc; padding: 10px; color: #fff; width: 100%; display: none;';
customText.innerHTML = `
<label for="textInput" style="margin-right: 10px;">Введите команду:</label>
<input type="text" id="textInput" style="width: 300px;">
<button id="executeButton">Выполнить</button>
<div id="output" style="margin-top: 10px;"></div>
`;
document.body.appendChild(customText);
var functionsState = {
function1: false,
function2: false,
function3: false,
function4: false,
function5: false,
function6: false,
function7: false,
function8: false,
function9: false,
function10: false,
function11: false,
function12: false,
function13: false,
function14: false,
function15: false,
function16: false,
function17: false,
function18: false,
function19: false,
function20: false,
function21: false,
};
var initialState = {
function1: true,
function2: true,
function3: true,
function4: true,
function5: false,
function6: false,
function7: false,
function8: false,
function9: false,
function10: false,
function11: false,
function12: false,
function13: false,
function14: false,
function15: false,
function16: false,
function17: false,
function18: false,
function19: false,
function20: false,
function21: false,
};
var customMenu = document.createElement('div');
customMenu.id = 'customMenu';
customMenu.style = 'position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #5a2b67; border: 1px solid #ccc; padding: 10px; text-align: center; overflow-y: auto; max-height: 400px; width: 600px; display: none; cursor: move;';
customMenu.innerHTML = `
<h2 style="margin: 0; padding-bottom: 10px;">MENU</h2>
<button class="menuButton" id="function1Button">Anti Insta</button>
<button class="menuButton" id="function2Button">Anti Bull</button>
<button class="menuButton" id="function3Button">Spike Insta</button>
<button class="menuButton" id="function4Button">Auto Heal</button>
<button class="menuButton" id="function5Button">Auto Insta</button>
<button class="menuButton" id="function6Button">Auto Reload</button>
<button class="menuButton" id="function7Button">Damage Tick</button>
<button class="menuButton" id="function8Button">Damage Trap</button>
<button class="menuButton" id="function9Button">AFK Spike</button>
<button class="menuButton" id="function10Button">AutoTurret</button>
<button class="menuButton" id="function11Button">Auto Biome Hat</button>
<button class="menuButton" id="function12Button">Auto Q</button>
<button class="menuButton" id="function13Button">Auto Shop</button>
<button class="menuButton" id="function14Button">Anti Tick</button>
<button class="menuButton" id="function15Button">Style</button>
<button class="menuButton" id="function16Button">Smart Heal</button>
<button class="menuButton" id="function17Button">SmartInstaTrue</button>
<button class="menuButton" id="function18Button">SmartInstaType</button>
<button class="menuButton" id="function19Button">anti trap(not work)</button>
<button class="menuButton" id="function20Button">place trap(not work)</button>
<button class="menuButton" id="function21Button">replace trap(not work)</button>
<hr>
<h3>Приватный чат</h3>
<input type="text" id="privateChatInput" placeholder="Введите сообщение...">
<input type="text" id="privateChatSender" placeholder="Имя отправителя">
<button class="menuButton" id="setChatKey">ключ чата</button>
<input type="text" id="privateChatKey" placeholder="Ключ чата">
<button class="menuButton" id="sendPrivateMessage">Отправить</button>
`;
document.body.appendChild(customMenu);
document.addEventListener('keydown', function (event) {
if (event.key === 'Escape') {
toggleMenu();
}
});
initializeButtons();
function initializeButtons() {
for (var key in initialState) {
functionsState[key] = initialState[key];
toggleButtonColor(key + 'Button', initialState[key]);
}
}
document.getElementById('executeButton').addEventListener('click', function () {
var inputElement = document.getElementById('textInput');
var inputValue = inputElement.value.trim();
var outputElement = document.getElementById('output');
if (inputValue == 'Crash') {
outputElement.innerHTML = 'Crashing..';
for (var i = 0; i < 2147483647; i++) {
doNewSend(["6", [ "1111111111111111111111111111111"]])
console.log(i + ":Crash");
doNewSend(["G", [secondary, true]]);
doNewSend(["d",[1]]);
doNewSend(["d",[0]]);
doNewSend(["c", [0, 0, 0]]);
}
} else if (inputValue === 'Secret') {
outputElement.innerHTML = 'Результат команды 2';
} else {
outputElement.innerHTML = 'Неизвестная команда';
}
inputElement.value = '';
});
document.getElementById('function1Button').addEventListener('click', function () {
functionsState.function1 = !functionsState.function1;
toggleButtonColor('function1Button', functionsState.function1);
antiInsta = !antiInsta;
});
document.getElementById('function2Button').addEventListener('click', function () {
functionsState.function2 = !functionsState.function2;
toggleButtonColor('function2Button', functionsState.function2);
antiBull = !antiBull;
});
document.getElementById('function3Button').addEventListener('click', function () {
functionsState.function3 = !functionsState.function3;
toggleButtonColor('function3Button', functionsState.function3);
instaPc = !instaPc;
});
document.getElementById('function4Button').addEventListener('click', function () {
functionsState.function4 = !functionsState.function4;
toggleButtonColor('function4Button', functionsState.function4);
autoheal = !autoheal;
});
document.getElementById('function5Button').addEventListener('click', function () {
functionsState.function5 = !functionsState.function5;
toggleButtonColor('function5Button', functionsState.function5);
autoinsta = !autoinsta;
});
document.getElementById('function6Button').addEventListener('click', function () {
functionsState.function6 = !functionsState.function6;
toggleButtonColor('function6Button', functionsState.function6);
autoreload = !autoreload;
});
document.getElementById('function7Button').addEventListener('click', function () {
functionsState.function7 = !functionsState.function7;
toggleButtonColor('function7Button', functionsState.function7);
damageTick = !damageTick;
});
document.getElementById('function8Button').addEventListener('click', function () {
functionsState.function8 = !functionsState.function8;
toggleButtonColor('function8Button', functionsState.function8);
damageTrap = !damageTrap;
});
document.getElementById('function9Button').addEventListener('click', function () {
functionsState.function9 = !functionsState.function9;
toggleButtonColor('function9Button', functionsState.function9);
afkspike = !afkspike;
});
document.getElementById('function10Button').addEventListener('click', function () {
functionsState.function10 = !functionsState.function10;
toggleButtonColor('function10Button', functionsState.function10);
autoTurret = !autoTurret;
});
document.getElementById('function11Button').addEventListener('click', function () {
functionsState.function11 = !functionsState.function11;
toggleButtonColor('function11Button', functionsState.function11);
bht = !bht;
});
document.getElementById('function12Button').addEventListener('click', function () {
functionsState.function12 = !functionsState.function12;
toggleButtonColor('function12Button', functionsState.function12);
AutoQ = !AutoQ;
});
document.getElementById('function13Button').addEventListener('click', function () {
functionsState.function13 = !functionsState.function13;
toggleButtonColor('function13Button', functionsState.function13);
AutoSh = !AutoSh;
});
document.getElementById('function14Button').addEventListener('click', function () {
functionsState.function14 = !functionsState.function14;
toggleButtonColor('function14Button', functionsState.function14);
AntiTi = !AntiTi;
});
document.getElementById('function15Button').addEventListener('click', function () {
functionsState.function15 = !functionsState.function15;
toggleButtonColor('function15Button', functionsState.function15);
BlockPW = !BlockPW;
});
document.getElementById('function16Button').addEventListener('click', function () {
functionsState.function16 = !functionsState.function16;
toggleButtonColor('function16Button', functionsState.function16);
LowHeal = !LowHeal;
});
document.getElementById('function17Button').addEventListener('click', function () {
functionsState.function17 = !functionsState.function17;
toggleButtonColor('function17Button', functionsState.function17);
InstaK = !InstaK;
});
document.getElementById('function18Button').addEventListener('click', function () {
functionsState.function18 = !functionsState.function18;
toggleButtonColor('function18Button', functionsState.function18);
smartWeaponInsta = !smartWeaponInsta;
});
document.getElementById('function19Button').addEventListener('click', function () {
functionsState.function19 = !functionsState.function19;
toggleButtonColor('function19Button', functionsState.function19);
antitrap = !antitrap;
});
document.getElementById('function20Button').addEventListener('click', function () {
functionsState.function20 = !functionsState.function20;
toggleButtonColor('function20Button', functionsState.function20);
palcetraps = !palcetraps;
});
document.getElementById('function21Button').addEventListener('click', function () {
functionsState.function21 = !functionsState.function21;
toggleButtonColor('function21Button', functionsState.function21);
RpTraps = !RpTraps;
});
document.getElementById('setChatKey').addEventListener('click', function () {
setChatKey();
});
document.getElementById('setChatKey').addEventListener('click', function () {
setChatKey();
});
function toggleMenu() {
var menu = document.getElementById('customMenu');
var chatMe = document.getElementById('customText');
menu.style.display = (menu.style.display === 'none' || menu.style.display === '') ? 'block' : 'none';
chatMe.style.display = (chatMe.style.display === 'none' || chatMe.style.display === '') ? 'block' : 'none';
}
function toggleButtonColor(buttonId, isActive) {
var button = document.getElementById(buttonId);
button.style.backgroundColor = isActive ? '#4CAF50' : '#FF0000';
button.style.color = '#fff';
}
function setChatKey() {
var chatKeyInput = document.getElementById('privateChatKey');
var chatKey = chatKeyInput.value.trim();
}
function sendPrivateMessage() {
var messageInput = document.getElementById('privateChatInput');
var message = messageInput.value.trim();
var senderInput = document.getElementById('privateChatSender');
var sender = senderInput.value || 'Вы';
var chatKeyInput = document.getElementById('privateChatKey');
var chatKey = chatKeyInput.value;
if (message !== '' && chatKey === 'Nigger666') {
appendMessageToChat(message, sender);
messageInput.value = '';
}
}
var privateChatMessages = document.createElement('div');
privateChatMessages.id = 'privateChatMessages';
privateChatMessages.style = 'max-height: 200px; overflow-y: auto; margin-top: 10px;';
customMenu.appendChild(privateChatMessages);
function appendMessageToChat(message, sender) {
var messageElement = document.createElement('div');
messageElement.innerHTML = `<strong>${sender}:</strong> ${message}`;
privateChatMessages.appendChild(messageElement);
privateChatMessages.scrollTop = privateChatMessages.scrollHeight;
}
})();
(function() {
const { msgpack } = window
function AntiKick() {
this.resetDelay = 500
this.packetsLimit = 40
this.ignoreTypes = [ "pp", "rmd" ]
this.ignoreQueuePackets = [ "5", "c", "33", "2", "7", "13c" ]
this.packetsStorage = new Map()
this.tmpPackets = []
this.packetsQueue = []
this.lastSent = Date.now()
this.onSend = function(data) {
const binary = new Uint8Array(data)
const parsed = msgpack.decode(binary)
if (Date.now() - this.lastSent > this.resetDelay) {
this.tmpPackets = []
this.lastSent = Date.now()
}
if (!this.ignoreTypes.includes(parsed[0])) {
if (this.packetsStorage.has(parsed[0])) {
const oldPacket = this.packetsStorage.get(parsed[0])
switch (parsed[0]) {
case "2":
case "33":
if (oldPacket[0] == parsed[1][0]) return true
break
}
}
if (this.tmpPackets.length > this.packetsLimit) {
if (!this.ignoreQueuePackets.includes(parsed[0])) {
this.packetsQueue.push(data)
}
return true
}
this.tmpPackets.push({
type: parsed[0],
data: parsed[1]
})
this.packetsStorage.set(parsed[0], parsed[1])
}
return false
}
}
const antiKick = new AntiKick()
let firstSend = false
window.WebSocket.prototype.send = new Proxy(window.WebSocket.prototype.send, {
apply: function(target, _this) {
if (!firstSend) {
_this.addEventListener("message", (event) => {
if (!antiKick.packetsQueue.length) return
const binary = new Uint8Array(event.data)
const parsed = msgpack.decode(binary)
if (parsed[0] === "33") {
_this.send(antiKick.packetsQueue[0])
antiKick.packetsQueue.shift()
}
})
firstSend = true
}
if (antiKick.onSend(arguments[2][0])) return
return Reflect.apply(...arguments)
}
})
})()