您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Raiding Mod
- // ==UserScript==
- // @name cipher
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description Raiding Mod
- // @author cipher
- // @match zombs.io
- // @grant none
- // ==/UserScript==
- localStorage['youTubeSubscribed'] = true;
- localStorage['walkthroughCompleted'] = true;
- localStorage['twitterShared'] = true;
- localStorage['facebookShared'] = true;
- document.getElementsByClassName('hud-intro-name')[0].setAttribute('maxlength', 29);
- document.querySelectorAll('.ad-unit, .hud-intro-youtuber, .hud-intro-footer, .hud-intro-stone, .hud-intro-tree, hud-respawn-corner-bottom-left, .hud-intro-social, .hud-intro-more-games, .hud-intro-form > label, .hud-intro-stone, .hud-intro-tree, .hud-intro-corner-bottom-left, .hud-intro-corner-bottom-right').forEach(el => el.remove());
- document.getElementsByClassName('hud-intro-play')[0].classList.remove('btn-green');
- document.getElementsByClassName("hud-intro-wrapper")[0].childNodes[1].innerHTML = `<br style="height:20px;"><Custom><b><font size='24'>gg</font></b></Custom>`;
- document.getElementsByClassName('hud-party-tag')[0].setAttribute('maxlength', 49);
- document.getElementsByClassName("hud-intro-form")[0].setAttribute("style", "width: 310px; height: 330px; margin-top: 8px; background-color: rgb(0, 0, 0, 0.0);");
- document.getElementsByClassName("hud-intro-guide")[0].setAttribute("style", "width: 420px; height: 280px; margin-top: 8px; background-color: rgb(0, 0, 0, 0.0);");
- document.getElementsByClassName("hud-intro-left")[0].setAttribute("style", "width: 360px; height: 280px; margin-top: 24px; margin-left: 75px; margin-right: 0px;");
- // Intro
- let left = document.getElementsByClassName('hud-intro-left')[0];
- let defaultHTML = `
- <br>
- <button class='btn btn-blue tabsaver' style='width: 240px; height: 45px;'>Tab Saver</button>
- <br><br>
- <button class='btn btn-blue scanner' style='width: 240px; height: 45px;'>Scanner</button>
- <br><br>
- <button class='btn btn-blue menufiller' style='width: 240px; height: 45px;'>Menu Filler</button>
- <br><br>
- <button class='btn btn-blue alts' style='width: 240px; height: 45px;'>Sockets</button>
- <br>
- <br>
- `;
- left.innerHTML = defaultHTML;
- let right = document.getElementsByClassName('hud-intro-guide')[0];
- let layout = `
- <div class='tabsaverLayout' style='text-align: center;'>
- <h1>Tab Saver</h1>
- <p>Click on the <strong>Host Saved Tab</strong> button to open a saved tab here.</p>
- <input type="text" style="width: 225px; border-radius: 3px; border: 2px solid rgb(0, 0, 0, 0.4); color: red; height: 45px; padding: 5px;" id="hostsavedtabpsk" placeholder="Party Share Key?">
- <h3>Tabs saved:</h3>
- <div id="savedTabs"></div>
- <button class='btn btn-red' style='width: 200px; height: 40px; padding: 1px;' onclick='window.goback("tabsaver");'>Exit</button>
- <br>
- </div>
- <div class='menufillerLayout' style='text-align: center;'>
- <h1>Menu Filler</h1>
- <p>Sends WebSocket Fillers to fill the selected server.</p>
- <br><br>
- <button class='btn btn-blue' style='width: 160px;' onclick='sendFillerToServer();'>Send Filler</button>
-  
- <button class='btn btn-blue' style='width: 160px;' onclick='deleteFillersInServer();'>Delete Fillers</button>
- <br>
- <p style='width: 160px; padding: 6px;' class='btn fillerNums'>Filler Count: 0</p>
-  
- <button class='btn btn-red' style='width: 160px; margin-top: 15px;' onclick='window.goback("menufiller");'>Exit</button>
- </div>
- <div class='scannerLayout' style='text-align: center;'>
- <h1>Server Scanner</h1>
- <p>Click on the <strong>Scan Server</strong> button to show the data of the selected server here.</p>
- <br>
- <div id="ssrs"></div>
- <br>
- <button class='btn btn-red' style='width: 160px;' onclick='window.goback("scanner");'>Exit</button>
- </div>
- <div class='altsLayout' style='text-align: center;'>
- <h1>Sockets</h3>
- <p>Create WebSockets to join selected servers and bases.</p>
- <br><br>
- <input type="text" style="width: 160px; border-radius: 3px; border: 2px solid rgb(0, 0, 0, 0.4); height: 40px; padding: 6px;" placeholder='Server ID?' class='altsServerId' maxlength='9'> 
- <input type="text" style="width: 160px; border-radius: 3px; border: 2px solid rgb(0, 0, 0, 0.4); height: 40px; padding: 6px;" placeholder='Share Key?' class='altsPsk' maxlength='20'><br>
- <input type="text" style="width: 160px; border-radius: 3px; border: 2px solid rgb(0, 0, 0, 0.4); height: 40px; padding: 6px; margin-top: 10px;" placeholder='Name?' class='altsName' maxlength='29'> 
- <button class='btn btn-blue' style='width: 160px; margin-top: 10px;' onclick='window.sendafkws()'>Send WebSocket</button>
- </div>
- `;
- right.innerHTML = layout;
- document.getElementsByClassName('tabsaverLayout')[0].style.display = 'none';
- document.getElementsByClassName('menufillerLayout')[0].style.display = 'none';
- document.getElementsByClassName('scannerLayout')[0].style.display = 'none';
- document.getElementsByClassName('altsLayout')[0].style.display = 'none';
- let layouts = {
- 'menufiller': {
- layoutElem: 'menufillerLayout',
- name: 'menufiller'
- },
- 'scanner': {
- layoutElem: 'scannerLayout',
- name: 'scanner'
- },
- 'tabsaver': {
- layoutElem: 'tabsaverLayout',
- name: 'tabsaver'
- },
- 'alts': {
- layoutElem: 'altsLayout',
- name: 'alts'
- }
- };
- window.goback = (layout) => {
- document.getElementsByClassName(layout)[0].classList.replace('btn-red', 'btn-blue');
- switch (layout) {
- case 'menufiller':
- document.getElementsByClassName(layout)[0].innerText = 'Menu Filler';
- break;
- case 'scanner':
- document.getElementsByClassName(layout)[0].innerText = 'Scanner';
- break;
- case 'tabsaver':
- document.getElementsByClassName(layout)[0].innerText = 'Tab Saver';
- break;
- case 'alts':
- document.getElementsByClassName(layout)[0].innerText = 'Sockets';
- break;
- };
- document.getElementsByClassName(layout + 'Layout')[0].style.display = 'none';
- };
- let resetLayoutStyles = (layoutName) => {
- for (let l in layouts) {
- if (layouts[l].name == layoutName) {
- let withoutSelectedLayout = Object.keys(layouts).filter(k => k !== layouts[l].name);
- document.getElementsByClassName(layouts[l].layoutElem)[0].style.display = 'block';
- for (let f of withoutSelectedLayout) {
- document.getElementsByClassName(layouts[f].layoutElem)[0].style.display = 'none';
- document.getElementsByClassName(layouts[f].name)[0].classList.replace('btn-red', 'btn-blue');
- switch (layouts[f].name) {
- case 'menufiller':
- document.getElementsByClassName(layouts[f].name)[0].innerText = 'Menu Filler';
- break;
- case 'scanner':
- document.getElementsByClassName(layouts[f].name)[0].innerText = 'Scanner';
- break;
- case 'tabsaver':
- document.getElementsByClassName(layouts[f].name)[0].innerText = 'Tab Saver';
- break;
- case 'alts':
- document.getElementsByClassName(layouts[f].name)[0].innerText = 'Sockets';
- break;
- };
- };
- document.getElementsByClassName(layouts[l].name)[0].classList.replace('btn-blue', 'btn-red');
- document.getElementsByClassName(layouts[l].name)[0].innerText = '---';
- };
- };
- };
- document.getElementsByClassName('tabsaver')[0].addEventListener('click', () => {
- resetLayoutStyles('tabsaver');
- });
- document.getElementsByClassName('scanner')[0].addEventListener('click', () => {
- resetLayoutStyles('scanner');
- });
- document.getElementsByClassName('menufiller')[0].addEventListener('click', () => {
- resetLayoutStyles('menufiller');
- });
- document.getElementsByClassName('alts')[0].addEventListener('click', () => {
- resetLayoutStyles('alts');
- });
- window.fillerAlts = {};
- window.fillerCount = 0;
- window.refreshCount = () => document.getElementsByClassName('fillerNums')[0].innerHTML = `Filler Count: ${window.fillerCount};`;
- window.sendFillerToServer = () => {
- let iframe = document.createElement('iframe');
- iframe.src = 'https://zombs.io';
- iframe.style.display = 'none';
- document.body.append(iframe);
- let iframeWindow = iframe.contentWindow;
- iframe.addEventListener("load", () => {
- let connectionOptions = game.network.connectionOptions ?? game.options.servers[document.getElementsByClassName('hud-intro-server')[0].value];
- iframeWindow.game.network.connectionOptions = connectionOptions;
- iframeWindow.game.network.connected = true;
- let ws = new WebSocket(`wss://${connectionOptions.hostname}:${connectionOptions.port}`);
- ws.binaryType = 'arraybuffer';
- ws.onopen = (data) => {
- ws.network = new game.networkType();
- ws.network.sendPacket = (_event, _data) => {
- ws.send(ws.network.codec.encode(_event, _data));
- };
- ws.network.sendRpc = (_data) => {
- ws.network.sendPacket(9, _data);
- };
- ws.network.sendInput = (_data) => {
- ws.network.sendPacket(3, _data);
- };
- ws.playerTick = {};
- ws.onRpc = (data) => {
- switch (data.name) {
- case 'Dead':
- ws.network.sendInput({
- respawn: 1
- });
- break;
- };
- };
- ws.gameUpdate = () => {
- ws.network.sendInput({
- left: 1,
- up: 1
- });
- };
- ws.onmessage = msg => {
- if (new Uint8Array(msg.data)[0] == 5) {
- game.network.codec.decodePreEnterWorldResponse = buffer => buffer;
- let data = iframeWindow.game.network.codec.decodePreEnterWorldResponse(game.network.codec.decode(msg.data));
- ws.send(ws.network.codec.encode(4, {
- displayName: 'xdxd',
- extra: data.extra
- }));
- return;
- };
- ws.data = ws.network.codec.decode(msg.data);
- switch (ws.data.opcode) {
- case 0:
- for (let entityType in ws.data.entities[ws.playerTick.uid]) {
- if (entityType === 'uid') continue;
- ws.playerTick[entityType] = ws.data.entities[ws.playerTick.uid][entityType];
- }
- ws.gameUpdate();
- break;
- case 4:
- ws.send(iframeWindow.game.network.codec.encode(6, {}));
- iframe.remove();
- ws.playerTick.uid = ws.data.uid;
- window.fillerCount++;
- window.refreshCount();
- window.fillerAlts[window.fillerCount] = ws;
- break;
- case 9:
- ws.onRpc(ws.data);
- break;
- }
- }
- ws.onclose = e => {
- iframe.remove();
- };
- };
- });
- };
- window.deleteFillersInServer = () => {
- for (let filler in window.fillerAlts) {
- window.fillerAlts[filler].close();
- window.fillerCount--;
- window.refreshCount();
- };
- };
- window.sendafkws = () => {
- let iframe = document.createElement('iframe');
- iframe.src = 'https://zombs.io';
- iframe.style.display = 'none';
- document.body.append(iframe);
- let iframeWindow = iframe.contentWindow;
- let serverId = document.getElementsByClassName('altsServerId')[0].value;
- let psk = document.getElementsByClassName('altsPsk')[0].value;
- iframe.addEventListener("load", () => {
- let connectionOptions = game.options.servers[serverId];
- iframeWindow.game.network.connectionOptions = connectionOptions;
- iframeWindow.game.network.connected = true;
- let ws = new WebSocket(`wss://${connectionOptions.hostname}:${connectionOptions.port}`);
- ws.binaryType = 'arraybuffer';
- ws.onopen = (data) => {
- ws.network = new game.networkType();
- ws.network.sendPacket = (_event, _data) => {
- ws.send(ws.network.codec.encode(_event, _data));
- };
- ws.network.sendRpc = (_data) => {
- ws.network.sendPacket(9, _data);
- };
- ws.network.sendInput = (_data) => {
- ws.network.sendPacket(3, _data);
- };
- ws.playerTick = {};
- ws.onRpc = (data) => {
- switch (data.name) {
- case 'Dead':
- ws.network.sendInput({
- respawn: 1
- });
- break;
- };
- };
- ws.gameUpdate = () => {
- ws.network.sendInput({
- left: 1,
- up: 1
- });
- };
- ws.onmessage = msg => {
- if (new Uint8Array(msg.data)[0] == 5) {
- game.network.codec.decodePreEnterWorldResponse = buffer => buffer;
- let data = iframeWindow.game.network.codec.decodePreEnterWorldResponse(game.network.codec.decode(msg.data));
- ws.send(ws.network.codec.encode(4, {
- displayName: localStorage.name,
- extra: data.extra
- }));
- return;
- };
- ws.data = ws.network.codec.decode(msg.data);
- switch (ws.data.opcode) {
- case 0:
- for (let entityType in ws.data.entities[ws.playerTick.uid]) {
- if (entityType === 'uid') continue;
- ws.playerTick[entityType] = ws.data.entities[ws.playerTick.uid][entityType];
- }
- ws.gameUpdate();
- break;
- case 4:
- ws.send(iframeWindow.game.network.codec.encode(6, {}));
- iframe.remove();
- ws.network.sendRpc({
- name: 'JoinPartyByShareKey',
- partyShareKey: psk
- });
- ws.playerTick.uid = ws.data.uid;
- break;
- case 9:
- ws.onRpc(ws.data);
- break;
- }
- }
- ws.onclose = e => {
- iframe.remove();
- };
- };
- });
- };
- document.getElementsByClassName("hud-intro-form")[0].insertAdjacentHTML("beforeend", `<button class="btn hud-intro-play" onclick="window.ssfi();">Scan Server</button>`);
- let scanning = false;
- window.ssfi = () => {
- if (scanning == true) return;
- scanning = true;
- let ssrs = document.getElementById("ssrs");
- ssrs.innerHTML = `<strong>Loading...</strong>`;
- let selected = document.getElementsByClassName("hud-intro-server")[0].value;
- let server = game.options.servers[selected];
- let hostname = server.hostname;
- let url = `ws://${hostname}:80/`;
- game.network.connectionOptions = {
- hostname: hostname
- };
- game.network.connected = true;
- let ws = new WebSocket(url);
- ws.binaryType = "arraybuffer";
- const loadLbPacket = () => {
- for (let i = 0; i < 30; i++)
- ws.send(
- new Uint8Array([3, 17, 123, 34, 117, 112, 34, 58, 49, 44, 34, 100, 111, 119, 110, 34, 58, 48, 125])
- );
- ws.send(
- new Uint8Array([7, 0])
- );
- ws.send(
- new Uint8Array([9, 6, 0, 0, 0, 126, 8, 0, 0, 108, 27, 0, 0, 146, 23, 0, 0, 82, 23, 0, 0, 8, 91, 11, 0, 8, 91, 11, 0, 0, 0, 0, 0, 32, 78, 0, 0, 76, 79, 0, 0, 172, 38, 0, 0, 120, 155, 0, 0, 166, 39, 0, 0, 140, 35, 0, 0, 36, 44, 0, 0, 213, 37, 0, 0, 100, 0, 0, 0, 120, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 6, 0, 0])
- );
- };
- ws.onopen = (data) => {
- ws.network = new game.networkType();
- ws.network.sendPacket = (e, t) => {
- ws.send(ws.network.codec.encode(e, t));
- };
- ws.onRpc = (data) => {
- if (data.name === "SetPartyList") {
- ws.parties = data.response;
- };
- if (data.name === "Leaderboard") {
- ws.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: "aaaaaaaaaaaaaaaaaaaa"
- });
- if (data.response.length > 1) {
- window.appSsrs({
- server: server,
- population: ws.pop,
- leaderboard: data.response,
- parties: ws.parties
- });
- return;
- };
- loadLbPacket();
- };
- };
- ws.onmessage = msg => {
- let data = ws.network.codec.decode(msg.data);
- switch (data.opcode) {
- case 5:
- ws.network.sendPacket(4, {
- displayName: `ø`,
- extra: data.extra
- });
- break;
- case 4:
- ws.network.sendPacket(6, {});
- ws.network.sendPacket(3, {
- left: 1,
- up: 1
- });
- ws.network.sendInput({
- mouseMovedWhileDown: 0
- });
- ws.network.sendInput({
- space: 0
- });
- ws.network.sendInput({
- space: 1
- });
- ws.pop = data.players - 1;
- break;
- case 9:
- ws.onRpc(data);
- break;
- };
- };
- };
- };
- let checkedServers = {};
- window.appSsrs = res => {
- game.network.connected = false;
- let ssrs = document.getElementById("ssrs");
- ssrs.style.overflow = "scroll";
- ssrs.style.height = "175px";
- let check = () => {
- let flaggedPlayers = [];
- let checked = {};
- let returnStr = '';
- res.leaderboard.map(o => {
- for (let badUser of flaggedPlayers) {
- if (badUser == o.name) {
- checked[o.name] = {
- wave: o.wave.toLocaleString('en'),
- name: o.name
- };
- };
- };
- });
- for (let a in checked)
- returnStr += ` % ${checked[a].name} - Wave: ${checked[a].wave}`;
- return returnStr || ' None';
- };
- ssrs.innerHTML = `
- <p>Population: ${res.population}</p>
- <h1>Leaderboard</h1>
- <hr />
- <div>
- ${res.leaderboard.map(lb => {
- return `
- <p>Rank: #${lb.rank + 1},
- Nickname: ${lb.name},
- Wave: ${lb.wave.toLocaleString("en")},
- Score: ${lb.score}</p>
- `;
- }).join("<hr />")}
- </div>
- <hr />
- <h1>Parties</h1>
- ${res.parties.map(p => {
- return `
- <p>Name: ${p.partyName},
- ID: ${p.partyId},
- Members: ${p.memberCount},
- Public: ${p.isOpen ? 'Open' : 'Closed'}</p>
- `;
- }).join("<hr />")}
- <div>
- </div>
- `;
- let serverId = res.server.id;
- let serverElem = game.ui.components.Intro.serverElem;
- for (let optgroup in serverElem.children) {
- for (let option in serverElem.children[optgroup].children) {
- let server = serverElem.children[optgroup].children[option];
- if (server && server.value == serverId) {
- if (checkedServers[serverId]) continue;
- checkedServers[serverId] = true;
- window.checkedServers = checkedServers;
- let p = server.textContent;
- let o = p.indexOf('[') - 1;
- let u = Array.from(p);
- let y = '';
- for (let c in u) {
- if (c >= o) delete u[c];
- y = u.join('');
- };
- server.textContent = y + ' => Pop: ' + res.population + 'ARTEMIS, player | Flagged Players: ' + check();
- }
- };
- };
- };
- document.getElementsByClassName('hud-chat')[0].style.width = "auto";
- document.getElementsByClassName('hud-chat')[0].style.minWidth = "520px";
- const request = new XMLHttpRequest();
- request.onreadystatechange = function() {
- if (this.readyState == 4 && this.status == 200) {
- document.getElementsByClassName("hud-intro-wrapper")[0].childNodes[3].innerHTML = `People in game: ${JSON.parse(request.responseText).players}/${JSON.parse(request.responseText).capacity} [${(JSON.parse(request.responseText).players / JSON.parse
- (request.responseText).capacity * 100).toFixed(2)}%]`;
- let servers = ["US East", "US West", "Europe", "Asia", "Australia", "South America"];
- for (let i in servers) {
- game.ui.components.Intro.serverElem.children[i].setAttribute("label", `${servers[i]}: Population: ${JSON.parse(request.responseText).regions[servers[i]].players} / ${JSON.parse(request.responseText).regions[servers[i]].capacity}`);
- };
- };
- };
- request.open("GET", "http://zombs.io/capacity", true);
- request.send();
- game.network.addRpcHandler("SetPartyList", parties => {
- let serverPop = 0;
- for (let party of parties) {
- serverPop += party.memberCount;
- };
- document.getElementsByClassName("hud-party-server")[0].innerHTML = `${serverPop}/32 <small>${game.network.connectionOptions.name}</small>`;
- });
- let css = `
- .btn:hover {
- cursor: pointer;
- }
- .btn-blue {
- background-color: #144b7a;
- }
- .btn-blue:hover .btn-blue:active {
- background-color: #4fa7ee;
- }
- .box {
- display: block;
- width: 100%;
- height: 50px;
- line-height: 34px;
- padding: 8px 14px;
- margin: 0 0 10px;
- background: #eee;
- border: 0;
- font-size: 14px;
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
- border-radius: 4px;
- }
- .hud-intro::before {
- background-image: url(https://images.wallpaperscraft.com/image/single/mountains_mountain_range_peaks_149574_1920x1200.jpg);
- background-size: cover;
- }
- .hud-intro .hud-intro-form .hud-intro-server {
- display: block;
- line-height: unset;
- border: 3px solid white;
- background-image: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(https://cdn.discordapp.com/attachments/854376044522242059/925743376505118720/light2.webp);
- }
- .hud-intro .hud-intro-form .hud-intro-name {
- display: block;
- border: 3px solid white;
- background-image: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(https://cdn.discordapp.com/attachments/854376044522242059/925743376505118720/light2.webp);
- }
- .hud-intro .hud-intro-form .hud-intro-play {
- display: block;
- background: #eee;
- font-size: 0.9rem;
- color: black;
- padding: 1px;
- line-height: unset;
- background-image: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)), url(https://i.pinimg.com/564x/75/10/d1/7510d144335a2d2ed277c00df430f6a7.jpg);
- font-family: Arial;
- }
- .longbtn {
- display: block;
- width: 100%;
- height: 50px;
- line-height: 50px;
- }
- .disabledBtn {
- opacity: 0.6;
- cursor: not-allowed;
- display: inline-block;
- height: 40px;
- line-height: 40px;
- padding: 0 20px;
- background: #444;
- color: #eee;
- border: 0;
- font-size: 14px;
- vertical-align: top;
- text-align: center;
- text-decoration: none;
- text-shadow: 0 1px 0 rgba(0, 0, 0, 0.4);
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
- border-radius: 4px;
- transition: all 0.15s ease-in-out;
- }
- .btn1 {
- display: inline-block;
- height: 20px;
- line-height: 15px;
- padding: 0 20px;
- color: #eee;
- x border: 0;
- font-size: 10px;
- vertical-align: top;
- text-align: center;
- text-decoration: none;
- border-radius: 4px;
- transition: all 5s ease-in-out;
- }
- .btn1:hover {
- cursor: pointer;
- }
- .btn1-blue {
- background-color: #144b7a;
- }
- .btn1-blue:hover .btn1-blue:active {
- background-color: #4fa7ee;
- }
- a {
- text-decoration: none;
- }
- .hud-menu-party .hud-party-tag {
- width: 120px;
- }
- .hud-menu-party .hud-party-share {
- width: 280px;
- }
- #hud-menu-party {
- top: 51%;
- width: 610px;
- height: 480px;
- background-color: rgb(61 115 157 / 55%);
- border: 5px solid white;
- background-image: url("https://images.wallpaperscraft.com/image/single/mountains_mountain_range_peaks_149574_1920x1200.jpg");
- }
- .hud-menu-party .hud-party-grid .hud-party-link.is-active {
- background: lightblue !important;
- }
- .hud-menu-party .hud-party-visibility {
- margin: 0 0 0 10px;
- width: 125px;
- }
- .hud-popup-overlay .hud-popup-confirmation .hud-confirmation-actions .btn.btn-green {
- background: #649db0;
- }
- #hud-menu-shop {
- top: 54.5%;
- left: 50.5%;
- width: 690px;
- height: 500px;
- background-color: rgb(61 115 157 / 55%);
- border: 5px solid white;
- margin: -350px 0 0 -350px;
- padding: 20px 20px 20px 20px;
- z-index: 20;
- background-image: url("https://images.wallpaperscraft.com/image/single/mountains_mountain_range_peaks_149574_1920x1200.jpg");
- }
- .hud-menu-shop .hud-shop-grid .hud-shop-item .hud-shop-item-actions .hud-shop-actions-equip {
- background: #649db0;
- }
- .hud-menu-shop .hud-shop-grid .hud-shop-item .hud-shop-item-actions .hud-shop-actions-equip:hover, .hud-menu-shop .hud-shop-grid .hud-shop-item .hud-shop-item-actions .hud-shop-actions-equip:active {
- background: #1cb2c9;
- }
- .hud-menu-shop .hud-shop-grid .hud-shop-item .hud-shop-item-actions .hud-shop-actions-equip.is-disabled {
- background: none;
- }
- .hud-menu-shop .hud-shop-grid .hud-shop-item[data-item=HatComingSoon] .hud-shop-item-coming-soon {
- background: none;
- }
- .hud-chat .hud-chat-message {
- white-space: unset;
- word-break: break-word;
- }
- .hud-chat .hud-chat-messages {
- max-height: 340px;
- min-height: 35px;
- }
- #hud-menu-settings {
- background-image: url("https://images.wallpaperscraft.com/image/single/mountains_mountain_range_peaks_149574_1920x1200.jpg");
- }
- .hud .box {
- display: block;
- width: 100%;
- height: 50px;
- line-height: 34px;
- padding: 8px 14px;
- margin: 0 0 10px;
- background: #eee;
- border: 0;
- font-size: 14px;
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
- border-radius: 4px;
- }
- .codeIn, .joinOut {
- height: 50px;
- }
- .hud-menu-raid{
- display: none;
- position: fixed;
- top: 48%;
- left: 50%;
- width: 650px;
- height: 560px;
- margin: -270px 0 0 -300px;
- padding: 20px;
- background: rgba(0, 0, 0, 0.6);
- color: #eee;
- border-radius: 4px;
- z-index: 15;
- background-image: url("https://images.wallpaperscraft.com/image/single/mountains_mountain_range_peaks_149574_1920x1200.jpg");
- }
- .hud-menu-raid h3 {
- display: block;
- margin: 0;
- line-height: 20px;
- }
- .hud-menu-raid .hud-raid-grid {
- display: block;
- height: 440px;
- padding: 0px;
- margin-top: 6px;
- }
- .hud-raid-grid {
- overflow: auto ;
- }
- .hud-spell-icons .hud-spell-icon[data-type="raid"]::before {
- background-image: url("https://i.pinimg.com/564x/b0/d3/38/b0d338dbf286e551cc0b92fc98ab9763.jpg");
- }
- .hud-menu-raid .hud-the-tab {
- position: relative;
- height: 60px;
- line-height: 40px;
- margin: 20px;
- border: 0px solid rgb(0, 0, 0, 0);
- }
- .hud-menu-raid .hud-the-tab {
- display: block;
- float: left;
- margin: 0 1px 0 0;
- font-size: 14px;
- background: rgba(0, 0, 0, 0.4);
- color: rgba(255, 255, 255, 0.4);
- transition: all 0.15s ease-in-out;
- }
- .hud-menu-raid .hud-the-tab:hover {
- background: rgba(0, 0, 0, 0.2);
- color: #eee;
- cursor: pointer;
- }
- .hud-raid-menus {
- border: 3px solid #222222;
- background: linear-gradient(#100c4d, #040317);
- height: 100%;
- text-align: center;
- width: 100px;
- float: left;
- }
- .mbtn {
- width: 100%;
- height: 20%;
- border: none;
- font-size: 100%;
- color: white;
- margin: 0px;
- background-color: rgba(0, 0, 0, 0);
- }
- .mbtn:hover, .activeM {
- background-color: #171369;
- }
- .mbtn, .hud-raid-menus {
- border-radius: 15px;
- }
- `;
- let styles = document.createElement("style");
- styles.appendChild(document.createTextNode(css));
- document.head.appendChild(styles);
- styles.type = "text/css";
- let spell = document.createElement("div");
- spell.classList.add("hud-spell-icon");
- spell.setAttribute("data-type", "raid");
- spell.classList.add("hud-raid-icon");
- document.getElementsByClassName("hud-spell-icons")[0].appendChild(spell);
- let modHTML = `
- <div class="hud-menu-raid">
- <div class='hud-raid-menus'>
- <button class="btn-blue SE mbtn">Utils</button>
- <br />
- <button class="btn-blue SI mbtn">Utils (2)</button>
- <br />
- <button class="btn-blue AB mbtn">Alts</button>
- <br />
- <button class="btn-blue BS mbtn">Bases</button>
- <br />
- <button class="btn-blue RE mbtn">Renderer</button>
- <br />
- </div>
- <div class="hud-raid-grid"></div>
- </div>
- `;
- document.body.insertAdjacentHTML("afterbegin", modHTML);
- let raidMenu = document.getElementsByClassName("hud-menu-raid")[0];
- document.getElementsByClassName("hud-raid-icon")[0].addEventListener("click", function() {
- if (raidMenu.style.display == "none" || raidMenu.style.display == "") {
- raidMenu.style.display = "block";
- } else {
- raidMenu.style.display = "none";
- };
- });
- window.addEventListener("keydown", e => {
- switch (e.keyCode) {
- case 220:
- /* key \ */
- if (game.world.inWorld) document.getElementsByClassName("hud-raid-icon")[0].click();
- };
- });
- let _menu = document.getElementsByClassName("hud-menu-icon");
- let _spell = document.getElementsByClassName("hud-spell-icon");
- let allIcon = [
- _menu[0],
- _menu[1],
- _menu[2],
- _spell[0],
- _spell[1]
- ];
- allIcon.forEach(function(elem) {
- elem.addEventListener("click", function() {
- if (raidMenu.style.display == "block") {
- raidMenu.style.display = "none";
- };
- });
- });
- document.getElementsByClassName("SE")[0].addEventListener("click", function() {
- displayAllToNone();
- document.getElementsByClassName("SE")[0].classList.add("activeM");
- document.getElementsByClassName("etc.Class")[0].innerText = "Utils";
- for (let i = 0; i < 50; i++) {
- if (document.getElementsByClassName(i + "i")[0]) {
- document.getElementsByClassName(i + "i")[0].style.display = "";
- };
- };
- });
- document.getElementsByClassName("SI")[0].addEventListener("click", function() {
- displayAllToNone();
- document.getElementsByClassName("SI")[0].classList.add("activeM");
- document.getElementsByClassName("etc.Class")[0].innerText = "Utils (2)";
- for (let i = 0; i < 50; i++) {
- if (document.getElementsByClassName(i + "i5")[0]) {
- document.getElementsByClassName(i + "i5")[0].style.display = "";
- };
- };
- });
- document.getElementsByClassName("AB")[0].addEventListener("click", function() {
- displayAllToNone();
- document.getElementsByClassName("AB")[0].classList.add("activeM");
- document.getElementsByClassName("etc.Class")[0].innerText = "Alts";
- for (let i = 0; i < 50; i++) {
- if (document.getElementsByClassName(i + "i2")[0]) {
- document.getElementsByClassName(i + "i2")[0].style.display = "";
- };
- };
- });
- document.getElementsByClassName("BS")[0].addEventListener("click", function() {
- displayAllToNone();
- document.getElementsByClassName("BS")[0].classList.add("activeM");
- document.getElementsByClassName("etc.Class")[0].innerText = "Bases";
- for (let i = 0; i < 50; i++) {
- if (document.getElementsByClassName(i + "i3")[0]) {
- document.getElementsByClassName(i + "i3")[0].style.display = "";
- };
- };
- });
- document.getElementsByClassName("RE")[0].addEventListener("click", function() {
- displayAllToNone();
- document.getElementsByClassName("RE")[0].classList.add("activeM");
- document.getElementsByClassName("etc.Class")[0].innerText = "Renderer";
- for (let i = 0; i < 50; i++) {
- if (document.getElementsByClassName(i + "i4")[0]) {
- document.getElementsByClassName(i + "i4")[0].style.display = "";
- };
- };
- });
- // key to open and close
- function modm() {
- if (raidMenu.style.display == "none" || raidMenu.style.display == "") {
- raidMenu.style.display = "block";
- } else {
- raidMenu.style.display = "none";
- };
- };
- function displayAllToNone() {
- document.getElementsByClassName("SE")[0].classList.remove("activeM");
- document.getElementsByClassName("SI")[0].classList.remove("activeM");
- document.getElementsByClassName("AB")[0].classList.remove("activeM");
- document.getElementsByClassName("BS")[0].classList.remove("activeM");
- document.getElementsByClassName('RE')[0].classList.remove("activeM");
- for (let i = 0; i < 50; i++) {
- if (document.getElementsByClassName(i + "i")[0]) {
- document.getElementsByClassName(i + "i")[0].style.display = "none";
- };
- };
- for (let i = 0; i < 50; i++) {
- if (document.getElementsByClassName(i + "i2")[0]) {
- document.getElementsByClassName(i + "i2")[0].style.display = "none";
- };
- };
- for (let i = 0; i < 50; i++) {
- if (document.getElementsByClassName(i + "i3")[0]) {
- document.getElementsByClassName(i + "i3")[0].style.display = "none";
- };
- };
- for (let i = 0; i < 50; i++) {
- if (document.getElementsByClassName(i + "i4")[0]) {
- document.getElementsByClassName(i + "i4")[0].style.display = "none";
- };
- };
- for (let i = 0; i < 50; i++) {
- if (document.getElementsByClassName(i + "i5")[0]) {
- document.getElementsByClassName(i + "i5")[0].style.display = "none";
- };
- };
- };
- document.getElementsByClassName("hud-raid-grid")[0].innerHTML = `
- <div style="text-align:center"><br>
- <hr />
- <h3 class="etc.Class">raid</h3>
- <hr />
- <button class="btn btn-blue 1i" style="width: 45%;">Sell All!</button>
- <button class="btn btn-blue 2i" style="width: 45%;">Sell Walls!</button>
- <button class="btn btn-blue 3i" style="width: 45%;">Sell Doors!</button>
- <button class="btn btn-blue 4i" style="width: 45%;">Sell Traps!</button>
- <button class="btn btn-blue 5i" style="width: 45%;">Sell Arrows!</button>
- <button class="btn btn-blue 6i" style="width: 45%;">Sell Mages!</button>
- <button class="btn btn-blue 7i" style="width: 45%;">Sell Pets!</button>
- <button class="btn btn-blue 8i" style="width: 45%;">Activate Upgrade All!</button>
- <button class="btn btn-blue 9i" style="width: 45%;">Activate AHRC!</button>
- <button class="btn btn-blue 10i" style="width: 45%;">Enable Autobow</button>
- <button class="btn btn-blue 13i" style="width: 45%;">Enable Auto Accepter</button>
- <button class="btn btn-blue 14i" style="width: 45%;">Enable Auto Kicker</button>
- <br class="16i"><br class="17i">
- <button class="btn btn-blue 0i5" style="width: 45%;">Can Members Sell!</button>
- <button class="btn btn-blue 1i5" style="width: 45%;"">Kick All Members!</button>
- <button class="btn btn-red 8i5" style="width: 45%;">!(Auto heal and Pet Heal)</button>
- <button class="btn btn-red 9i5" style="width: 45%;">!(Revive and Evolve Pets)</button>
- <button class="btn btn-blue 5i5" style="width: 45%;">Enable Send Info!</button>
- <button class="btn btn-blue 10i5" style="width: 45%;">Clear Messages!</button>
- <button class="btn btn-blue 11i5" style="width: 45%;">Enable Screenshot Mode</button>
- <button class="btn btn-blue 12i5" style="width: 45%;">Enable Debug</button>
- <button class="btn btn-blue 13i5" style="width: 45%;">Enable AutoAim!</button>
- <select id="aimOptions" class="btn btn-blue 14i5"style="width: 45%;"><option value="pl" selected>Players</option><option value="zo">Zombies</option></select>
- <br class="15i5"><br class="16i5">
- <button class="btn btn-blue 0i2">Send Alt!</button>
- <button class="btn btn-blue 1i2">Enable Aim!</button>
- <button class="btn btn-blue 2i2">Enable Player Follower!</button>
- <button class="btn btn-blue 10i2 emm">Enable MouseMove!</button>
- <br class="23i2"><br class="24i2">
- <button class="btn btn-blue 3i2">Delete Alt!</button>
- <input type="number" class="btn 4i2" style='width: 125px;' placeholder="Alt Id">
- <button class="btn btn-blue 7i2">Delete All Alts!</button>
- <button class="btn btn-blue 28i2">Enable Auto Raid!</button>
- <br class="5i2"><br class="6i2">
- <button class="btn btn-blue 8i2">Show Resources!</button>
- <button class="btn btn-blue 21i2">Control Alts!</button>
- <button class="btn btn-blue 30i2">Lock Pos!</button>
- <br class="9i2"><br class="10i2">
- <button class="btn btn-blue 11i2">Start Aito!</button>
- <button class="btn btn-blue 12i2">Activate Base Finder!</button>
- <button class="btn btn-blue 17i2">Clear Base Objects</button>
- <br class="14i2"><br class="15i2">
- <input type="text" value="1" class="btn 16i2" placeholder="Player Rank" style="width: 25%;">
- <button class="btn btn-blue 18i2">Activate Player Finder</button>
- <button class="btn btn-blue 25i2">Follow Position</button>
- <br class="19i2"><br class="20i2">
- <button class="btn btn-blue 0i3" onclick="RecordBase();">Record Base!</button>
- <button class="btn btn-blue 1i3" onclick="buildRecordedBase();">Build Recorded Base!</button>
- <button class="btn btn-blue 2i3" onclick="DeleteRecordedbase();">Delete Recorded Base!</button>
- <br class="3i3"><br class="4i3">
- <button class="btn btn-blue 5i3" onclick="RecordBase2();">Record Base (2)!</button>
- <button class="btn btn-blue 6i3" onclick="buildRecordedBase2();">Build Recorded Base (2)!</button>
- <button class="btn btn-blue 7i3" onclick="DeleteRecordedbase2();">Delete Recorded Base (2)!</button>
- <br class="8i3"><br class="9i3">
- <button class="btn btn-blue 10i3" onclick="RecordBase3();">Record Base (3)!</button>
- <button class="btn btn-blue 11i3" onclick="buildRecordedBase3();">Build Recorded Base (3)!</button>
- <button class="btn btn-blue 12i3" onclick="DeleteRecordedbase3();">Delete Recorded Base (3)!</button>
- <br class="13i3"><br class="14i3">
- <button class="btn btn-blue 15i3" onclick="saveBase();">Save Towers!</button>
- <button class="btn btn-blue 16i3" onclick="buildSavedBase();">Build Saved Towers!</button>
- <br class="17i3"><br class="18i3">
- <button class="btn btn-blue 21i3" onclick="autobuildtoggle();">Enable Auto Build Saved Towers!</button>
- <button class="btn btn-blue 26i3" onclick="upgradealltoggle();">Enable Upgrade All!</button>
- <br class="28i3"><br class="29i3">
- <input type="text" class="btn 30i3" placeholder='Click "Save Towers!" and build your favorite base to get their codes.' style="width: 100%" disabled="true">
- <br class="31i3"><br class="32i3">
- <button class='btn btn-blue 0i4'>Hide Ground</button>
- <button class='btn btn-blue 1i4'>Show Projectiles</button>
- <button class='btn btn-blue 2i4'>Hide Npcs</button>
- <br class='3i4'><br class='4i4'>
- <button class='btn btn-blue 5i4'>Hide Environment</button>
- <button class='btn btn-blue 6i4'>Show Grids</button>
- <br class='7i4'><br class='8i4'>
- <button class='btn btn-blue 9i4'>Hide Scene</button>
- <button class='btn btn-blue 10i4'>Stop Game</button>
- <br class='11i4><br class='12i4>
- `;
- displayAllToNone();
- let Main1Keys = true;
- let Main2Keys = true;
- let Main3Keys = true;
- let upgradeAll = false;
- let AHRC = false;
- let autobow = false;
- let accept = false;
- let kick = false;
- let heal = true;
- let revive = true;
- let clearMsgs = false;
- let autobuild = false;
- let upgradeAll2 = false;
- let petTimeout = false;
- let screenshotMode = false;
- let debugMode = false;
- let myPlayer;
- let myPet;
- let shouldHealPet;
- let autorss;
- let uid;
- let shouldautoaim = false;
- var getRss = false;
- var allowed1 = true;
- let entities = {};
- let players = {};
- let buildings = {};
- let stopped = false;
- let msg;
- var Bowtier = 0;
- let packets = {
- 0: "PACKET_ENTITY_UPDATE",
- 1: "PACKET_PLAYER_COUNTER_UPDATE",
- 2: "PACKET_SET_WORLD_DIMENSIONS",
- 3: "PACKET_INPUT",
- 4: "PACKET_ENTER_WORLD",
- 7: "PACKET_PING",
- 9: "PACKET_RPC",
- PACKET_ENTER_WORLD: 4,
- PACKET_ENTITY_UPDATE: 0,
- PACKET_INPUT: 3,
- PACKET_PING: 7,
- PACKET_PLAYER_COUNTER_UPDATE: 1,
- PACKET_RPC: 9,
- PACKET_SET_WORLD_DIMENSIONS: 2
- };
- window.count = 0;
- function msToTime(s) {
- function pad(n, z) {
- z = z || 2;
- return ('00' + n).slice(-z);
- }
- var ms = s % 1000;
- s = (s - ms) / 1000;
- var secs = s % 60;
- s = (s - secs) / 60;
- var mins = s % 60;
- var hrs = (s - mins) / 60;
- return pad(hrs) + ':' + pad(mins) + ':' + pad(secs) + '.' + pad(ms, 3);
- };
- document.addEventListener('keyup', function(e) {
- if (e.key === "Enter" && game.ui.playerTick.dead === 1) {
- game.ui.components.Chat.startTyping();
- };
- });
- function findNearestAltToStash() {
- if (window.allSockets.length < 1) return;
- let altArray = [];
- let targetGoldStash = Object.values(game.world.entities).find(building => building.fromTick.model == "GoldStash");
- if (targetGoldStash.targetTick.partyId == game.ui.playerPartyId) return;
- for (let i in window.allSockets) {
- if (!window.allSockets[i].myPlayer.dead) altArray.push(window.allSockets[i].myPlayer);
- };
- if (altArray.length < 1) return;
- altArray.sort((a, b) => measureDistance(targetGoldStash.fromTick.position, a.position) - measureDistance(targetGoldStash.fromTick.position, b.position));
- return altArray[0];
- };
- window.findNearestAlt = findNearestAltToStash;
- // Renderer
- document.getElementsByClassName('0i4')[0].addEventListener('click', () => {
- let on = game.renderer.ground.isVisible;
- if (on) {
- game.renderer.ground.setVisible(!on);
- document.getElementsByClassName('0i4')[0].innerText = 'Show Ground';
- } else if (!on) {
- game.renderer.ground.setVisible(!on);
- document.getElementsByClassName('0i4')[0].innerText = 'Hide Ground';
- };
- });
- document.getElementsByClassName('1i4')[0].addEventListener('click', () => {
- let on = game.renderer.projectiles.isVisible;
- if (on) {
- game.renderer.projectiles.setVisible(!on);
- document.getElementsByClassName('1i4')[0].innerText = 'Show Projectiles';
- } else if (!on) {
- game.renderer.projectiles.setVisible(!on);
- document.getElementsByClassName('1i4')[0].innerText = 'Hide Projectiles';
- };
- });
- document.getElementsByClassName('2i4')[0].addEventListener('click', () => {
- let on = game.renderer.npcs.isVisible;
- if (on) {
- game.renderer.npcs.setVisible(!on);
- document.getElementsByClassName('2i4')[0].innerText = 'Show Npcs';
- } else if (!on) {
- game.renderer.npcs.setVisible(!on);
- document.getElementsByClassName('2i4')[0].innerText = 'Hide Npcs';
- };
- });
- document.getElementsByClassName('5i4')[0].addEventListener('click', () => {
- let on = game.renderer.scenery.isVisible;
- if (on) {
- game.renderer.scenery.setVisible(!on);
- document.getElementsByClassName('5i4')[0].innerText = 'Show Environment';
- } else if (!on) {
- game.renderer.scenery.setVisible(!on);
- document.getElementsByClassName('5i4')[0].innerText = 'Hide Environment';
- };
- });
- document.getElementsByClassName('6i4')[0].addEventListener('click', () => {
- if (game.script.grouping.isVisible) {
- game.script.grouping.hide();
- document.getElementsByClassName('6i4')[0].innerText = 'Show Grids';
- } else if (!game.script.grouping.isVisible) {
- game.script.grouping.show();
- document.getElementsByClassName('6i4')[0].innerText = 'Hide Grids';
- };
- });
- document.getElementsByClassName('9i4')[0].addEventListener('click', () => {
- let on = game.renderer.scene.isVisible;
- if (on) {
- game.renderer.scene.setVisible(!on);
- document.getElementsByClassName('9i4')[0].innerText = 'Show Scene';
- } else if (!on) {
- game.renderer.scene.setVisible(!on);
- document.getElementsByClassName('9i4')[0].innerText = 'Hide Scene';
- };
- });
- document.getElementsByClassName('10i4')[0].addEventListener('click', () => {
- if (stopped) {
- game.start();
- document.getElementsByClassName('10i4')[0].innerText = 'Stop Game';
- } else if (!stopped) {
- game.stop();
- document.getElementsByClassName('10i4')[0].innerText = 'Start Game';
- };
- stopped = !stopped;
- });
- game.network.addPacketHandler = function(event, callback) {
- game.network.emitter.on(packets[event], callback);
- };
- game.network.emitter.removeListener('PACKET_ENTITY_UPDATE', game.network.emitter._events.PACKET_ENTITY_UPDATE);
- game.network.addPacketHandler(0, function(e) {
- game.network.sendRpc({
- "name": "BuyItem",
- "itemName": "HealthPotion",
- "tier": 1
- })
- })
- for (let i = 0; i < 10; i++) {
- game.network.addPacketHandler(i, function(e) {
- msg = e;
- interval();
- });
- };
- let interval = () => {
- if (msg.uid) {
- uid = msg.uid;
- players = {};
- entities = {};
- buildings = {};
- window.message = 0;
- }
- if (msg.entities) {
- if (window.message == 0) {
- game.world.replicator.onEntityUpdate(msg);
- }
- if (msg.entities[uid].name) {
- myPlayer = msg.entities[uid];
- }
- for (let g in myPlayer) {
- if (myPlayer[g] !== msg.entities[uid][g] && msg.entities[uid][g] !== undefined) {
- myPlayer[g] = msg.entities[uid][g];
- }
- }
- if (myPlayer.petUid) {
- if (msg.entities[myPlayer.petUid]) {
- if (msg.entities[myPlayer.petUid].model) {
- myPet = msg.entities[myPlayer.petUid];
- shouldHealPet = false;
- }
- }
- for (let g in myPet) {
- if (msg.entities[myPlayer.petUid]) {
- if (myPet[g] !== msg.entities[myPlayer.petUid][g] && msg.entities[myPlayer.petUid][g] !== undefined) {
- myPet[g] = msg.entities[myPlayer.petUid][g]
- }
- }
- }
- }
- for (let i in msg.entities) {
- if (msg.entities[i].name) {
- players[i] = msg.entities[i];
- if (autorss) {
- for (let i2 = 0; i2 < 8; i2++) {
- for (let i = 0; i < 8; i++) {
- game.network.sendRpc({
- name: "BuyItem",
- itemName: "Bow",
- tier: i
- })
- }
- }
- let t = 0;
- let rainbowBowtoggle = true;
- interval = setInterval(() => {
- if (rainbowBowtoggle)
- t = (t + 1) % 8;
- game.network.sendRpc({
- name: "EquipItem",
- itemName: "Bow",
- tier: t
- })
- }, 50);
- }
- }
- }
- for (let i in players) {
- if (!msg.entities[i]) {
- delete players[i];
- }
- for (let g in players[i]) {
- if (players[i][g] !== msg.entities[i][g] && msg.entities[i][g] !== undefined) {
- players[i][g] = msg.entities[i][g];
- }
- }
- }
- }
- if (game.world.inWorld) {
- let entities = game.world.entities;
- if (upgradeAll) {
- if (!window.upgradeAll1) {
- window.upgradeAll1 = true;
- setTimeout(() => {
- window.upgradeAll1 = false;
- }, 100);
- for (let uid in entities) {
- if (entities[uid].fromTick.tier !== 8 || entities[uid].fromTick.tier !== GetGoldStash().uid) {
- game.network.sendRpc({
- name: "UpgradeBuilding",
- uid: game.world.entities[uid].fromTick.uid
- });
- }
- }
- }
- }
- if (AHRC) {
- if (!window.AHRC1) {
- window.AHRC1 = true;
- setTimeout(() => {
- window.AHRC1 = false;
- }, 75);
- for (let uid in entities) {
- if (!entities.hasOwnProperty(uid)) continue;
- let obj = entities[uid];
- game.network.sendRpc({
- name: "CollectHarvester",
- uid: obj.fromTick.uid
- });
- if (obj.fromTick.model == "Harvester" && obj.fromTick.tier == 1) {
- game.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.fromTick.uid,
- deposit: 0.07
- });
- }
- if (obj.fromTick.model == "Harvester" && obj.fromTick.tier == 2) {
- game.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.fromTick.uid,
- deposit: 0.11
- });
- }
- if (obj.fromTick.model == "Harvester" && obj.fromTick.tier == 3) {
- game.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.fromTick.uid,
- deposit: 0.17
- });
- }
- if (obj.fromTick.model == "Harvester" && obj.fromTick.tier == 4) {
- game.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.fromTick.uid,
- deposit: 0.22
- });
- }
- if (obj.fromTick.model == "Harvester" && obj.fromTick.tier == 5) {
- game.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.fromTick.uid,
- deposit: 0.25
- });
- }
- if (obj.fromTick.model == "Harvester" && obj.fromTick.tier == 6) {
- game.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.fromTick.uid,
- deposit: 0.28
- });
- }
- if (obj.fromTick.model == "Harvester" && obj.fromTick.tier == 7) {
- game.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.fromTick.uid,
- deposit: 0.42
- });
- }
- if (obj.fromTick.model == "Harvester" && obj.fromTick.tier == 8) {
- game.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.fromTick.uid,
- deposit: 0.65
- });
- }
- }
- }
- }
- if (autobow) {
- game.network.sendInput({
- space: 0
- })
- game.network.sendInput({
- space: 1
- })
- }
- if (accept) {
- for (let i2 = 0; i2 < document.getElementsByClassName("btn btn-green hud-confirmation-accept").length; i2++) {
- document.getElementsByClassName("btn btn-green hud-confirmation-accept")[i2].click();
- };
- };
- if (kick) {
- for (let i in game.ui.playerPartyMembers) {
- game.network.sendRpc({
- name: "KickParty",
- uid: game.ui.playerPartyMembers[i].playerUid
- });
- };
- };
- if (revive) {
- if (!window.reviver) {
- window.reviver = true;
- setTimeout(() => {
- window.reviver = false;
- }, 1000);
- let element1 = document.getElementsByClassName("hud-shop-actions-revive");
- for (let i = 0; i < element1.length; i++) {
- element1[i].click();
- }
- let element2 = document.getElementsByClassName("hud-shop-actions-evolve");
- for (let i = 0; i < element2.length; i++) {
- element2[i].click();
- }
- }
- }
- if (clearMsgs) {
- for (let i = 0; i < document.getElementsByClassName('hud-chat-message').length; i++) {
- document.getElementsByClassName('hud-chat-message')[i].remove();
- }
- }
- if (autobuild) {
- if (!window.autobuildtimeout) {
- window.autobuildtimeout = true;
- setTimeout(() => {
- window.autobuildtimeout = false;
- }, 5000)
- if (GetGoldStash !== undefined) {
- window.buildSavedBase();
- }
- }
- }
- if (upgradeAll2) {
- if (!window.upgradeAll2) {
- window.upgradeAll2 = true;
- setTimeout(() => {
- window.upgradeAll2 = false;
- }, 50);
- for (let uid in entities) {
- if (entities[uid].fromTick.tier !== 8 || entities[uid].fromTick.tier !== GetGoldStash().uid) {
- game.network.sendRpc({
- name: "UpgradeBuilding",
- uid: game.world.entities[uid].fromTick.uid
- });
- }
- }
- }
- }
- if (heal) {
- if (myPlayer) {
- let playerHealth = (myPlayer.health / myPlayer.maxHealth) * 100;
- if (playerHealth <= 10) {
- if (!window.playerTimeout_1) {
- window.playerTimeout_1 = true;
- setTimeout(() => {
- window.playerTimeout_1 = false;
- }, 300)
- healPlayer();
- }
- }
- }
- }
- if (heal) {
- if (myPet) {
- let petHealth = (myPet.health / myPet.maxHealth) * 100;
- if (petHealth <= 70) {
- if (!petTimeout) {
- petTimeout = true;
- setTimeout(() => {
- petTimeout = false;
- }, 300);
- game.network.sendRpc({
- "name": "BuyItem",
- "itemName": "PetHealthPotion",
- "tier": 1
- });
- game.network.sendRpc({
- "name": "EquipItem",
- "itemName": "PetHealthPotion",
- "tier": 1
- });
- };
- };
- };
- };
- if (shouldautoaim && msg.opcode == 0) {
- window.targets = [];
- let entities = game.renderer.npcs.attachments;
- for (let i in entities) {
- if (document.getElementById('aimOptions').value == 'pl' ?
- (entities[i].fromTick.model == "GamePlayer" && entities[i].fromTick.uid !== game.ui.playerTick.uid && entities[i].targetTick.partyId !== game.ui.playerPartyId && entities[i].fromTick.dead == 0) :
- (entities[i].fromTick.model !== "GamePlayer" && entities[i].entityClass !== "Projectile")) {
- window.targets.push(entities[i].fromTick);
- };
- };
- if (window.targets.length > 0) {
- const myPos = game.ui.playerTick.position;
- window.targets.sort((a, b) => {
- return measureDistance(myPos, a.position) - measureDistance(myPos, b.position);
- });
- const target = window.targets[0];
- let reversedAim = game.inputPacketCreator.screenToYaw((target.position.x - myPos.x) * 100, (target.position.y - myPos.y) * 100);
- game.inputPacketCreator.lastAnyYaw = reversedAim;
- game.network.sendPacket(3, {
- mouseMoved: reversedAim
- });
- };
- };
- if (window.findPlayer) {
- if (myPlayer.position.y - window.playerY > 100 || Math.sqrt(Math.pow((myPlayer.position.y - window.playerY), 2) + Math.pow((myPlayer.position.x - window.playerX), 2)) < 100) {
- game.network.sendInput({
- down: 0
- });
- } else {
- game.network.sendInput({
- down: 1
- });
- };
- if (-myPlayer.position.y + window.playerY > 100 || Math.sqrt(Math.pow((myPlayer.position.y - window.playerY), 2) + Math.pow((myPlayer.position.x - window.playerX), 2)) < 100) {
- game.network.sendInput({
- up: 0
- });
- } else {
- game.network.sendInput({
- up: 1
- });
- };
- if (-myPlayer.position.x + window.playerX > 100 || Math.sqrt(Math.pow((myPlayer.position.y - window.playerY), 2) + Math.pow((myPlayer.position.x - window.playerX), 2)) < 100) {
- game.network.sendInput({
- left: 0
- });
- } else {
- game.network.sendInput({
- left: 1
- });
- };
- if (myPlayer.position.x - window.playerX > 100 || Math.sqrt(Math.pow((myPlayer.position.y - window.playerY), 2) + Math.pow((myPlayer.position.x - window.playerX), 2)) < 100) {
- game.network.sendInput({
- right: 0
- });
- } else {
- game.network.sendInput({
- right: 1
- });
- };
- };
- };
- };
- function measureDistance(obj1, obj2) {
- if (!(obj1.x && obj1.y && obj2.x && obj2.y)) return Infinity;
- let xDif = obj2.x - obj1.x;
- let yDif = obj2.y - obj1.y;
- return (xDif ** 2) + (yDif ** 2);
- };
- window.copyText = t => {
- const elem = document.createElement('textarea');
- elem.value = t;
- document.body.appendChild(elem);
- elem.select();
- document.execCommand('copy');
- document.body.removeChild(elem);
- };
- window.ssMode = () => {
- var mba = document.querySelectorAll([".hud-bottom-right", ".hud-bottom-left", ".hud-bottom-center", ".hud-center-left", ".hud-top-right"]);
- for (let mb of mba) {
- if (mb.style.display === "none") {
- mb.style.display = "block";
- } else {
- mb.style.display = "none";
- }
- };
- document.querySelector(".hud-bottom-right").appendChild(document.querySelector("#hud-health-bar"));
- document.querySelector(".hud-bottom-right").insertAdjacentElement("afterbegin", document.querySelector("#hud-party-icons"));
- document.querySelector(".hud-bottom-left").insertAdjacentElement("afterbegin", document.querySelector("#hud-day-night-ticker"));
- };
- window.ssModeReset = () => {
- var mba = document.querySelectorAll([".hud-bottom-right", ".hud-bottom-left", ".hud-bottom-center", ".hud-center-left", ".hud-top-right"]);
- for (let mb of mba) {
- if (mb.style.display === "none") {
- mb.style.display = "block";
- };
- };
- };
- game.network.addEntityUpdateHandler(() => {
- if (getRss) {
- !allowed1 && (allowed1 = true);
- }
- if (getRss || allowed1) {
- for (let i in game.renderer.npcs.attachments) {
- if (game.renderer.npcs.attachments[i].fromTick.name) {
- let player = game.renderer.npcs.attachments[i];
- let wood_1 = counter(player.targetTick.wood);
- let stone_1 = counter(player.targetTick.stone);
- let gold_1 = counter(player.targetTick.gold);
- let token_1 = counter(player.targetTick.token);
- let px_1 = counter(player.targetTick.position.x);
- let py_1 = counter(player.targetTick.position.y);
- let timeout_1 = "";
- if (getRss && !player.targetTick.oldName) {
- player.targetTick.oldName = player.targetTick.name;
- player.targetTick.oldWood = wood_1;
- player.targetTick.oldStone = stone_1;
- player.targetTick.oldGold = gold_1;
- player.targetTick.oldToken = token_1;
- player.targetTick.oldPX = px_1;
- player.targetTick.oldPY = py_1;
- player.targetTick.info = `
- ${player.targetTick.oldName}; score: ${player.targetTick.score.toLocaleString()}
- UID: ${player.targetTick.uid}
- W: ${wood_1}, S: ${stone_1}, G: ${gold_1}, T: ${token_1}
- x: ${Math.round(player.targetTick.position.x)}, y: ${Math.round(player.targetTick.position.y)}
- partyId: ${Math.round(player.targetTick.partyId)}
- timeDead: ${msToTime(player.targetTick.timeDead)}
- ${player.targetTick.isPaused ? "On Timeout" : ""}
- `;
- player.targetTick.name = game.renderer.npcs.attachments[i].targetTick.info;
- }
- if (!getRss && player.targetTick.oldName) {
- player.targetTick.info = player.targetTick.oldName;
- player.targetTick.name = game.renderer.npcs.attachments[i].targetTick.info;
- player.targetTick.oldName = null;
- }
- if (getRss) {
- if (player.targetTick.oldGold !== gold_1 || player.targetTick.oldWood !== wood_1 || player.targetTick.oldStone !== stone_1 || player.targetTick.oldToken !== token_1 || player.targetTick.oldPX !== px_1 || player.targetTick.oldPY !== py_1) {
- player.targetTick.oldWood = wood_1;
- player.targetTick.oldStone = stone_1;
- player.targetTick.oldGold = gold_1;
- player.targetTick.oldToken = token_1;
- player.targetTick.oldPX = px_1;
- player.targetTick.oldPY = py_1;
- player.targetTick.info = `
- ${player.targetTick.oldName}; score: ${player.targetTick.score.toLocaleString()}
- UID: ${player.targetTick.uid}
- W: ${wood_1}, S: ${stone_1}, G: ${gold_1}, T: ${token_1}
- x: ${Math.round(player.targetTick.position.x)}, y: ${Math.round(player.targetTick.position.y)}
- partyId: ${Math.round(player.targetTick.partyId)}
- timeDead: ${msToTime(player.targetTick.timeDead)}
- ${player.targetTick.isPaused ? "On Timeout" : ""}
- `;
- player.targetTick.name = game.renderer.npcs.attachments[i].targetTick.info;
- }
- }
- }
- }
- }
- if (!getRss) {
- allowed1 = false;
- }
- });
- document.getElementsByClassName("1i")[0].addEventListener('click', function() {
- for (let uid in game.ui.buildings) {
- if (game.ui.buildings[uid].type !== "GoldStash") {
- game.network.sendRpc({
- name: "DeleteBuilding",
- uid: game.ui.buildings[uid].uid
- });
- }
- }
- })
- document.getElementsByClassName("2i")[0].addEventListener('click', function() {
- for (let uid in game.ui.buildings) {
- if (game.ui.buildings[uid].type == "Wall") {
- game.network.sendRpc({
- name: "DeleteBuilding",
- uid: game.ui.buildings[uid].uid
- });
- }
- }
- })
- document.getElementsByClassName("3i")[0].addEventListener('click', function() {
- for (let uid in game.ui.buildings) {
- if (game.ui.buildings[uid].type == "Door") {
- game.network.sendRpc({
- name: "DeleteBuilding",
- uid: game.ui.buildings[uid].uid
- });
- }
- }
- })
- document.getElementsByClassName("4i")[0].addEventListener('click', function() {
- for (let uid in game.ui.buildings) {
- if (game.ui.buildings[uid].type == "SlowTrap") {
- game.network.sendRpc({
- name: "DeleteBuilding",
- uid: game.ui.buildings[uid].uid
- });
- }
- }
- })
- document.getElementsByClassName("5i")[0].addEventListener('click', function() {
- for (let uid in game.ui.buildings) {
- if (game.ui.buildings[uid].type == "ArrowTower") {
- game.network.sendRpc({
- name: "DeleteBuilding",
- uid: game.ui.buildings[uid].uid
- });
- }
- }
- })
- document.getElementsByClassName("6i")[0].addEventListener('click', function() {
- for (let uid in game.ui.buildings) {
- if (game.ui.buildings[uid].type == "MagicTower") {
- game.network.sendRpc({
- name: "DeleteBuilding",
- uid: game.ui.buildings[uid].uid
- });
- }
- }
- })
- document.getElementsByClassName("7i")[0].addEventListener('click', function() {
- for (let uid in game.world.entities) {
- if (game.world.entities[uid].fromTick.model == "PetCARL" || game.world.entities[uid].fromTick.model == "PetMiner") {
- game.network.sendRpc({
- name: "DeleteBuilding",
- uid: game.world.entities[uid].fromTick.uid
- });
- }
- }
- })
- document.getElementsByClassName("8i")[0].addEventListener('click', function() {
- upgradeAll = !upgradeAll;
- document.getElementsByClassName("8i")[0].className = "btn btn-blue 8i";
- document.getElementsByClassName("8i")[0].innerText = "Actitivate Upgrade All!";
- if (upgradeAll) {
- document.getElementsByClassName("8i")[0].className = "btn btn-red 8i";
- document.getElementsByClassName("8i")[0].innerText = "Deactivate Upgrade All!";
- }
- })
- document.getElementsByClassName("9i")[0].addEventListener('click', function() {
- AHRC = !AHRC;
- document.getElementsByClassName("9i")[0].className = "btn btn-blue 9i";
- document.getElementsByClassName("9i")[0].innerText = "Activate AHRC!";
- if (AHRC) {
- document.getElementsByClassName("9i")[0].className = "btn btn-red 9i";
- document.getElementsByClassName("9i")[0].innerText = "Deactivate AHRC!";
- }
- })
- document.getElementsByClassName("10i")[0].addEventListener('click', function() {
- autobow = !autobow;
- let playerWeapon = game.ui.playerTick.weaponName;
- document.getElementsByClassName("10i")[0].className = "btn btn-blue 10i";
- document.getElementsByClassName("10i")[0].innerText = "Enable Autobow";
- if (autobow) {
- document.getElementsByClassName("10i")[0].className = "btn btn-red 10i";
- document.getElementsByClassName("10i")[0].innerText = "Disable Autobow";
- if (game.ui.inventory.Bow) {
- game.network.sendRpc({
- name: "EquipItem",
- itemName: "Bow",
- tier: game.ui.inventory.Bow.tier
- });
- } else {
- game.network.sendRpc({
- name: "BuyItem",
- itemName: "Bow",
- tier: 1
- });
- game.network.sendRpc({
- name: "EquipItem",
- itemName: "Bow",
- tier: 1
- });
- };
- } else {
- game.network.sendRpc({
- name: "EquipItem",
- itemName: playerWeapon,
- tier: game.ui.inventory[playerWeapon].tier
- });
- };
- });
- document.getElementsByClassName("11i2")[0].addEventListener('click', function() {
- window.startaito = !window.startaito;
- document.getElementsByClassName("11i2")[0].innerText = "Start Aito!";
- if (window.startaito) {
- window.sendAitoAlt();
- document.getElementsByClassName("11i2")[0].innerText = "Stop Aito!";
- };
- });
- document.getElementsByClassName("13i")[0].addEventListener('click', function() {
- accept = !accept;
- document.getElementsByClassName("13i")[0].className = "btn btn-blue 13i";
- document.getElementsByClassName("13i")[0].innerText = "Enable Auto Accepter";
- if (accept) {
- document.getElementsByClassName("13i")[0].className = "btn btn-red 13i";
- document.getElementsByClassName("13i")[0].innerText = "Disable Auto Accepter";
- };
- });
- document.getElementsByClassName("14i")[0].addEventListener('click', function() {
- kick = !kick;
- document.getElementsByClassName("14i")[0].className = "btn btn-blue 14i";
- document.getElementsByClassName("14i")[0].innerText = "Enable Auto Kicker";
- if (kick) {
- document.getElementsByClassName("14i")[0].className = "btn btn-red 14i";
- document.getElementsByClassName("14i")[0].innerText = "Disable Auto Kicker";
- };
- });
- document.getElementsByClassName("11i5")[0].addEventListener('click', function() {
- screenshotMode = !screenshotMode;
- document.getElementsByClassName("11i5")[0].className = "btn btn-blue 11i5";
- document.getElementsByClassName("11i5")[0].innerText = "Enable Screenshot Mode";
- window.ssModeReset();
- if (screenshotMode) {
- document.getElementsByClassName("11i5")[0].className = "btn btn-red 11i5";
- document.getElementsByClassName("11i5")[0].innerText = "Disable Screenshot Mode";
- window.ssMode();
- };
- });
- document.getElementsByClassName("12i5")[0].addEventListener('click', function() {
- debugMode = !debugMode;
- document.getElementsByClassName("12i5")[0].className = "btn btn-blue 12i5";
- document.getElementsByClassName("12i5")[0].innerText = "Enable Debug Mode";
- game.debug.hide();
- if (debugMode) {
- document.getElementsByClassName("12i5")[0].className = "btn btn-red 12i5";
- document.getElementsByClassName("12i5")[0].innerText = "Disable Debug Mode";
- game.debug.show();
- };
- });
- document.getElementsByClassName("emm")[0].addEventListener('click', function() {
- window.mousemove = !window.mousemove;
- this.innerText = window.mousemove ? "Disable MouseMove!" : "Enable MouseMove!"
- });
- document.getElementsByClassName("28i2")[0].addEventListener('click', function() {
- window.autoraid = !window.autoraid;
- this.innerText = window.autoraid ? "Disable Auto Raid!" : "Enable Auto Raid!"
- });
- document.getElementsByClassName("0i5")[0].addEventListener('click', function() {
- for (let i in game.ui.playerPartyMembers) {
- game.network.sendRpc({
- name: "SetPartyMemberCanSell",
- uid: game.ui.playerPartyMembers[i].playerUid,
- canSell: 1
- })
- }
- })
- document.getElementsByClassName("1i5")[0].addEventListener('click', function() {
- for (let i in game.ui.playerPartyMembers) {
- game.network.sendRpc({
- name: "KickParty",
- uid: game.ui.playerPartyMembers[i].playerUid
- })
- }
- })
- document.getElementsByClassName("5i5")[0].addEventListener('click', function() {
- autorss = !autorss;
- document.getElementsByClassName("5i5")[0].className = "btn btn-blue 5i5";
- document.getElementsByClassName("5i5")[0].innerText = "Enable Send Info!";
- if (autorss) {
- document.getElementsByClassName("5i5")[0].className = "btn btn-red 5i5";
- document.getElementsByClassName("5i5")[0].innerText = "Disable Send Info!";
- };
- });
- document.getElementsByClassName("8i5")[0].addEventListener('click', function() {
- heal = !heal;
- document.getElementsByClassName("8i5")[0].className = "btn btn-blue 8i5";
- document.getElementsByClassName("8i5")[0].innerText = "Auto heal and Pet Heal";
- if (heal) {
- document.getElementsByClassName("8i5")[0].className = "btn btn-red 8i5";
- document.getElementsByClassName("8i5")[0].innerText = "!(Auto heal and Pet Heal)";
- };
- });
- document.getElementsByClassName("9i5")[0].addEventListener('click', function() {
- revive = !revive;
- document.getElementsByClassName("9i5")[0].className = "btn btn-blue 9i5";
- document.getElementsByClassName("9i5")[0].innerText = "Revive and Evolve Pets";
- if (revive) {
- document.getElementsByClassName("9i5")[0].className = "btn btn-red 9i5";
- document.getElementsByClassName("9i5")[0].innerText = "!(Revive and Evolve Pets)";
- };
- });
- document.getElementsByClassName("10i5")[0].addEventListener('click', function() {
- clearMsgs = !clearMsgs;
- document.getElementsByClassName("10i5")[0].className = "btn btn-blue 10i5";
- document.getElementsByClassName("10i5")[0].innerText = "Clear Messages";
- if (clearMsgs) {
- document.getElementsByClassName("10i5")[0].className = "btn btn-red 10i5";
- document.getElementsByClassName("10i5")[0].innerText = "!(Clear Messages)";
- };
- });
- document.getElementsByClassName("13i5")[0].addEventListener('click', function() {
- shouldautoaim = !shouldautoaim;
- document.getElementsByClassName("13i5")[0].className = "btn btn-blue 13i5";
- document.getElementsByClassName("13i5")[0].innerText = "Enable AutoAim!";
- if (shouldautoaim) {
- document.getElementsByClassName("13i5")[0].className = "btn btn-red 13i5";
- document.getElementsByClassName("13i5")[0].innerText = "Disable AutoAim!";
- };
- });
- document.getElementsByClassName("0i2")[0].addEventListener('click', function() {
- window.sendws();
- });
- document.getElementsByClassName("12i2")[0].addEventListener('click', function() {
- window.basefind = !window.basefind;
- document.getElementsByClassName("12i2")[0].innerText = "Activate Base Finder";
- if (window.basefind) {
- window.baseFinder();
- document.getElementsByClassName("12i2")[0].innerText = "Deactivate Base Finder";
- } else {
- window.basefind = false;
- };
- });
- document.getElementsByClassName("17i2")[0].addEventListener('click', function() {
- for (let obj in document.getElementsByClassName('scanned-building')) {
- document.getElementsByClassName('scanned-building')[obj].remove();
- };
- });
- document.getElementsByClassName("18i2")[0].addEventListener('click', function() {
- window.startaito2 = !window.startaito2;
- document.getElementsByClassName("18i2")[0].innerText = "Activate Player Finder";
- if (window.startaito2) {
- window.sendAitoAlt2();
- document.getElementsByClassName("18i2")[0].innerText = "Deactivate Player Finder";
- };
- });
- document.getElementsByClassName("25i2")[0].addEventListener('click', function() {
- if (window.playerX && window.playerY) {
- window.findPlayer = !window.findPlayer;
- document.getElementsByClassName("25i2")[0].innerText = "Follow Position";
- if (window.findPlayer) {
- document.getElementsByClassName("25i2")[0].innerText = "Unfollow Position";
- };
- } else {
- game.ui.components.PopupOverlay.showHint("Player not found! You can try again once it's found.");
- };
- });
- document.getElementsByClassName("2i2")[0].addEventListener('click', function() {
- setTimeout(() => {
- if (window.move) {
- document.getElementsByClassName("2i2")[0].innerText = "Disable Player Follower!";
- } else {
- document.getElementsByClassName("2i2")[0].innerText = "Enable Player Follower!";
- }
- }, 100)
- });
- document.getElementsByClassName("3i2")[0].addEventListener('click', function() {
- let id = Math.floor(document.getElementsByClassName("4i2")[0].value);
- window.allSockets[id - 1].close();
- });
- game.network.sendInput = (e) => {
- let i = e;
- if (!i.mouseDown && !i.mouseUp) {
- game.network.sendPacket(3, e);
- };
- };
- document.getElementsByClassName('hud')[0].addEventListener('mousedown', e => {
- if (!e.button) {
- game.network.sendPacket(3, {
- mouseDown: game.inputPacketCreator.screenToYaw(e.clientX, e.clientY)
- });
- };
- if (raidMenu.style.display == 'block') {
- raidMenu.style.display = 'none';
- };
- });
- document.getElementsByClassName('hud')[0].addEventListener('mouseup', e => {
- if (!e.button) {
- game.network.sendPacket(3, {
- mouseUp: 1
- });
- };
- });
- window.RecordBase = function(baseName) {
- game.ui.getComponent("PopupOverlay").showConfirmation("Are you sure you want to record base? If you recorded it twice, the first recorded base will be deleted.", 1e4, function() {
- game.ui.components.PopupOverlay.showHint("Successfully recorded!");
- let buildings = game.ui.buildings;
- let base = "";
- let stash = GetGoldStash();
- if (stash == undefined) return;
- let stashPosition = {
- x: stash.x,
- y: stash.y
- };
- for (var uid in buildings) {
- if (!buildings.hasOwnProperty(uid)) continue;
- let obj = buildings[uid];
- let x = game.ui.buildings[obj.uid].x - stashPosition.x;
- let y = game.ui.buildings[obj.uid].y - stashPosition.y;
- let building = game.ui.buildings[obj.uid].type;
- let yaw = 0;
- base += "PlaceBuilding(stashPosition.x + " + x + ", stashPosition.y + " + y + ", '" + building + "', " + yaw + ");"
- };
- localStorage.RecordedBase1 = base;
- });
- };
- window.buildRecordedBase = function() {
- let waitForGoldStash = setInterval(function() {
- if (document.querySelectorAll("[data-building]")[10].classList[1] == "is-disabled") {
- let stash = GetGoldStash();
- if (stash == undefined) return;
- let stashPosition = {
- x: stash.x,
- y: stash.y
- };
- clearInterval(waitForGoldStash);
- game.ui.components.PopupOverlay.showHint("Successfully recorded base were built!");
- var basecode = localStorage.RecordedBase1;
- basecode = new Function(basecode);
- return basecode();
- };
- }, 275);
- };
- window.DeleteRecordedbase = function() {
- game.ui.getComponent("PopupOverlay").showConfirmation("Are you sure you want to delete recorded base?", 1e4, function() {
- game.ui.components.PopupOverlay.showHint("Successfully recorded base has been deleted!");
- localStorage.RecordedBase1 = null;
- });
- };
- window.RecordBase2 = function(baseName) {
- game.ui.getComponent("PopupOverlay").showConfirmation("Are you sure you want to record base? If you recorded it twice, the first recorded base will be deleted.", 1e4, function() {
- game.ui.components.PopupOverlay.showHint("Successfully recorded!");
- let buildings = game.ui.buildings;
- let base = "";
- let stash = GetGoldStash();
- if (stash == undefined) return;
- let stashPosition = {
- x: stash.x,
- y: stash.y
- };
- for (var uid in buildings) {
- if (!buildings.hasOwnProperty(uid)) continue;
- let obj = buildings[uid];
- let x = game.ui.buildings[obj.uid].x - stashPosition.x;
- let y = game.ui.buildings[obj.uid].y - stashPosition.y;
- let building = game.ui.buildings[obj.uid].type;
- let yaw = 90;
- base += "PlaceBuilding(stashPosition.x + " + x + ", stashPosition.y + " + y + ", '" + building + "', " + yaw + ");"
- };
- localStorage.RecordedBase2 = base;
- });
- };
- window.buildRecordedBase2 = function() {
- var waitForGoldStash = setInterval(function() {
- if (document.querySelectorAll("[data-building]")[10].classList[1] == "is-disabled") {
- let stash = GetGoldStash();
- if (stash == undefined) return;
- let stashPosition = {
- x: stash.x,
- y: stash.y
- };
- clearInterval(waitForGoldStash);
- game.ui.components.PopupOverlay.showHint("Successfully recorded base were built!");
- var basecode = localStorage.RecordedBase2;
- basecode = new Function(basecode);
- return basecode();
- };
- }, 275);
- };
- window.DeleteRecordedbase2 = function() {
- game.ui.getComponent("PopupOverlay").showConfirmation("Are you sure you want to delete recorded base?", 1e4, function() {
- game.ui.components.PopupOverlay.showHint("Successfully recorded base has been deleted!");
- localStorage.RecordedBase2 = null;
- });
- };
- window.RecordBase3 = function(baseName) {
- game.ui.getComponent("PopupOverlay").showConfirmation("Are you sure you want to record base? If you recorded it twice, the first recorded base will be deleted.", 1e4, function() {
- game.ui.components.PopupOverlay.showHint("Successfully recorded!");
- let buildings = game.ui.buildings;
- let base = "";
- let stash = GetGoldStash();
- if (stash == undefined) return;
- let stashPosition = {
- x: stash.x,
- y: stash.y
- };
- for (var uid in buildings) {
- if (!buildings.hasOwnProperty(uid)) continue;
- let obj = buildings[uid];
- let x = game.ui.buildings[obj.uid].x - stashPosition.x;
- let y = game.ui.buildings[obj.uid].y - stashPosition.y;
- let building = game.ui.buildings[obj.uid].type;
- let yaw = 180;
- base += "PlaceBuilding(stashPosition.x + " + x + ", stashPosition.y + " + y + ", '" + building + "', " + yaw + ");"
- };
- localStorage.RecordedBase3 = base;
- });
- };
- window.buildRecordedBase3 = function() {
- var waitForGoldStash = setInterval(function() {
- if (document.querySelectorAll("[data-building]")[10].classList[1] == "is-disabled") {
- let stash = GetGoldStash();
- if (stash == undefined) return;
- let stashPosition = {
- x: stash.x,
- y: stash.y
- };
- clearInterval(waitForGoldStash);
- game.ui.components.PopupOverlay.showHint("Successfully recorded base were built!");
- var basecode = localStorage.RecordedBase3;
- basecode = new Function(basecode);
- return basecode();
- };
- }, 275);
- };
- window.DeleteRecordedbase3 = function() {
- game.ui.getComponent("PopupOverlay").showConfirmation("Are you sure you want to delete recorded base?", 1e4, function() {
- game.ui.components.PopupOverlay.showHint("Successfully recorded base has been deleted!");
- localStorage.RecordedBase3 = null;
- });
- };
- window.buildSavedBase = function() {
- var waitForGoldStash = setInterval(function() {
- if (document.querySelectorAll("[data-building]")[10].classList[1] == "is-disabled") {
- let stash = GetGoldStash();
- if (stash == undefined) return;
- let stashPosition = {
- x: stash.x,
- y: stash.y
- };
- clearInterval(waitForGoldStash);
- var basecode = document.getElementsByClassName("30i3")[0].value;
- basecode = new Function(basecode);
- return basecode();
- };
- }, 275);
- };
- window.saveBase = () => {
- game.ui.components.PopupOverlay.showHint("Successfully saved!");
- let buildings = game.ui.buildings;
- let base = "";
- let stash = GetGoldStash();
- if (stash == undefined) return;
- let stashPosition = {
- x: stash.x,
- y: stash.y
- };
- for (var uid in buildings) {
- if (!buildings.hasOwnProperty(uid)) continue;
- let obj = buildings[uid];
- let x = game.ui.buildings[obj.uid].x - stashPosition.x;
- let y = game.ui.buildings[obj.uid].y - stashPosition.y;
- let building = game.ui.buildings[obj.uid].type;
- let yaw = 270;
- base += "PlaceBuilding(stashPosition.x + " + x + ", stashPosition.y + " + y + ", '" + building + "', " + yaw + ");";
- };
- document.getElementsByClassName("30i3")[0].value = base;
- };
- window.autobuildtoggle = () => {
- autobuild = !autobuild;
- document.getElementsByClassName("21i3")[0].innerText = "Enable Auto Build Saved Towers!";
- if (autobuild) {
- document.getElementsByClassName("21i3")[0].classList.replace('btn-blue', 'btn-red');
- document.getElementsByClassName("21i3")[0].innerText = "Disable Auto Build Saved Towers!";
- };
- };
- window.upgradealltoggle = () => {
- upgradeAll2 = !upgradeAll2;
- document.getElementsByClassName("26i3")[0].innerText = "Enable Upgrade All!";
- if (upgradeAll2) {
- document.getElementsByClassName("26i3")[0].classList.replace('btn-blue', 'btn-red');
- document.getElementsByClassName("26i3")[0].innerText = "Disable Upgrade All!";
- }
- }
- function GetGoldStash() {
- for (let i in game.ui.buildings) {
- if (game.ui.buildings[i].type == "GoldStash") {
- return game.ui.buildings[i];
- }
- }
- }
- window.PlaceBuilding = function(x, y, building, yaw) {
- game.network.sendRpc({
- name: "MakeBuilding",
- x: x,
- y: y,
- type: building,
- yaw: yaw
- })
- }
- function counter(e = 0) {
- if (e <= -0.99949999999999999e24) {
- return Math.round(e / -1e23) / -10 + "TT";
- }
- if (e <= -0.99949999999999999e21) {
- return Math.round(e / -1e20) / -10 + "TB";
- }
- if (e <= -0.99949999999999999e18) {
- return Math.round(e / -1e17) / -10 + "TM";
- }
- if (e <= -0.99949999999999999e15) {
- return Math.round(e / -1e14) / -10 + "TK";
- }
- if (e <= -0.99949999999999999e12) {
- return Math.round(e / -1e11) / -10 + "T";
- }
- if (e <= -0.99949999999999999e9) {
- return Math.round(e / -1e8) / -10 + "B";
- }
- if (e <= -0.99949999999999999e6) {
- return Math.round(e / -1e5) / -10 + "M";
- }
- if (e <= -0.99949999999999999e3) {
- return Math.round(e / -1e2) / -10 + "K";
- }
- if (e <= 0.99949999999999999e3) {
- return Math.round(e) + "";
- }
- if (e <= 0.99949999999999999e6) {
- return Math.round(e / 1e2) / 10 + "K";
- }
- if (e <= 0.99949999999999999e9) {
- return Math.round(e / 1e5) / 10 + "M";
- }
- if (e <= 0.99949999999999999e12) {
- return Math.round(e / 1e8) / 10 + "B";
- }
- if (e <= 0.99949999999999999e15) {
- return Math.round(e / 1e11) / 10 + "T";
- }
- if (e <= 0.99949999999999999e18) {
- return Math.round(e / 1e14) / 10 + "TK";
- }
- if (e <= 0.99949999999999999e21) {
- return Math.round(e / 1e17) / 10 + "TM";
- }
- if (e <= 0.99949999999999999e24) {
- return Math.round(e / 1e20) / 10 + "TB";
- }
- if (e <= 0.99949999999999999e27) {
- return Math.round(e / 1e+23) / 10 + "TT";
- }
- if (e >= 0.99949999999999999e27) {
- return Math.round(e / 1e+23) / 10 + "TT";
- }
- }
- function healPlayer() {
- if (!game.ui.components.PlacementOverlay.buildingId && !game.ui.components.BuildingOverlay.buildingId) {
- game.network.sendRpc({
- "name": "EquipItem",
- "itemName": "HealthPotion",
- "tier": 1
- })
- game.network.sendRpc({
- "name": "BuyItem",
- "itemName": "HealthPotion",
- "tier": 1
- });
- };
- };
- // AITO;
- window.sendAitoAlt = () => {
- if (window.startaito) {
- let iframe = document.createElement('iframe');
- iframe.src = 'https://zombs.io';
- iframe.style.display = 'none';
- document.body.append(iframe);
- let iframeWindow = iframe.contentWindow;
- iframe.addEventListener("load", () => {
- let connectionOptions = game.network.connectionOptions ?? game.options.servers[document.getElementsByClassName('hud-intro-server')[0].value];
- iframeWindow.game.network.connectionOptions = connectionOptions;
- iframeWindow.game.network.connected = true;
- let ws = new WebSocket(`wss://${connectionOptions.hostname}:${connectionOptions.port}`);
- ws.binaryType = "arraybuffer";
- ws.onclose = () => {
- ws.isclosed = true;
- }
- ws.onPreEnterWorld = (data) => {
- let decoded = iframeWindow.game.network.codec.decodePreEnterWorldResponse(data);
- ws.network.sendInput = (t) => {
- ws.network.sendPacket(3, t);
- };
- ws.network.sendRpc = (t) => {
- ws.network.sendPacket(9, t);
- };
- ws.network.sendPacket = (e, t) => {
- if (!ws.isclosed) {
- ws.send(ws.network.codec.encode(e, t));
- }
- };
- ws.network.sendPacket(4, {
- displayName: game.options.nickname,
- extra: decoded.extra
- });
- };
- ws.onEnterWorld = () => {
- ws.send(iframeWindow.game.network.codec.encode(6, {}));
- iframe.remove();
- };
- ws.onmessage = msg => {
- if (new Uint8Array(msg.data)[0] == 5) {
- game.network.codec.decodePreEnterWorldResponse = buffer => buffer;
- ws.network = new game.networkType();
- let data = game.network.codec.decode(msg.data);
- ws.onPreEnterWorld(data);
- return;
- };
- ws.data = ws.network.codec.decode(msg.data);
- if (ws.data.uid) {
- ws.uid = ws.data.uid;
- };
- if (ws.data.name) {
- ws.dataType = ws.data;
- };
- if (!window.startaito && !ws.isclosed) {
- ws.isclosed = true;
- ws.close();
- };
- if (ws.verified) {
- if (!ws.isDay && !ws.isclosed) {
- ws.isclosed = true;
- ws.close();
- window.sendAitoAlt();
- };
- };
- if (ws.data.name == "DayCycle") {
- ws.isDay = ws.data.response.isDay;
- if (ws.isDay) {
- ws.verified = true;
- };
- };
- if (ws.data.name == "Dead") {
- ws.network.sendRpc({
- respawn: 1
- });
- };
- if (ws.data.name == "Leaderboard") {
- ws.lb = ws.data;
- if (ws.psk) {
- ws.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: game.ui.getPlayerPartyShareKey()
- });
- if (ws.psk.response.partyShareKey == game.ui.getPlayerPartyShareKey()) {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "Pause",
- tier: 1
- });
- };
- };
- };
- if (ws.data.name == "PartyShareKey") {
- ws.psk = ws.data;
- };
- switch (ws.data.opcode) {
- case 4:
- ws.onEnterWorld(ws.data);
- break;
- };
- };
- });
- };
- };
- // Player Finder
- window.sendAitoAlt2 = () => {
- if (window.startaito2) {
- let iframe = document.createElement('iframe');
- iframe.src = 'https://zombs.io';
- iframe.style.display = 'none';
- document.body.append(iframe);
- let iframeWindow = iframe.contentWindow;
- iframe.addEventListener("load", () => {
- let connectionOptions = game.network.connectionOptions ?? game.options.servers[document.getElementsByClassName('hud-intro-server')[0].value];
- iframeWindow.game.network.connectionOptions = connectionOptions;
- iframeWindow.game.network.connected = true;
- let ver = false;
- let player = game.ui.components.Leaderboard.leaderboardData[document.getElementsByClassName("16i2")[0].value - 1].name;
- let ws = new WebSocket(`wss://${connectionOptions.hostname}:${connectionOptions.port}`);
- ws.binaryType = "arraybuffer";
- ws.onclose = () => {
- ws.isclosed = true;
- };
- ws.onPreEnterWorld = (data) => {
- let decoded = iframeWindow.game.network.codec.decodePreEnterWorldResponse(data);
- ws.network.sendInput = (t) => {
- ws.network.sendPacket(3, t);
- };
- ws.network.sendRpc = (t) => {
- ws.network.sendPacket(9, t);
- };
- ws.network.sendPacket = (e, t) => {
- if (!ws.isclosed) {
- ws.send(ws.network.codec.encode(e, t));
- };
- };
- ws.network.sendPacket(4, {
- displayName: 'ø',
- extra: decoded.extra
- });;
- };
- ws.onEnterWorld = (data) => {
- ws.send(iframeWindow.game.network.codec.encode(6, {}));
- iframe.remove();
- };
- ws.onmessage = msg => {
- if (new Uint8Array(msg.data)[0] == 5) {
- game.network.codec.decodePreEnterWorldResponse = buffer => buffer;
- ws.network = new game.networkType();
- let data = game.network.codec.decode(msg.data);
- ws.onPreEnterWorld(data);
- return;
- };
- ws.data = ws.network.codec.decode(msg.data);
- if (ws.data.uid) {
- ws.uid = ws.data.uid;
- };
- ws.network.sendInput({
- up: 1
- });
- if (ws.data.entities) {
- for (let i in ws.data.entities) {
- if (ws.data.entities[i].name == player) {
- window.startaito2 = false;
- window.playerX = Math.round(ws.data.entities[i].position.x);
- window.playerY = Math.round(ws.data.entities[i].position.y);
- document.getElementsByClassName("16i2")[0].value = "(" + window.playerX + ", " + window.playerY + ")";
- document.getElementsByClassName("18i2")[0].innerText = "Activate Player Finder";
- game.ui.components.PopupOverlay.showHint(`Successfully found the player, { x: ${window.playerX}, y: ${window.playerY} };`);
- let xPos = Math.round(window.playerX / game.world.getHeight() * 100);
- let yPos = Math.round(window.playerY / game.world.getWidth() * 100);
- let player = document.createElement('div');
- player.classList.add('hud-map-player');
- player.classList.add('scanned-player');
- player.style.left = xPos + '%';
- player.style.top = yPos + '%';
- document.getElementsByClassName('hud-map')[0].appendChild(player);
- };
- if (ws.data.entities[i].name) {
- ver = true;
- };
- };
- };
- if (ws.data.name == "DayCycle") {
- ws.isDay = ws.data.response.isDay;
- };
- if (ws.data.name == "Dead") {
- ws.network.sendRpc({
- respawn: 1
- });
- };
- if (ver && !ws.isclosed) {
- ws.isclosed = true;
- setTimeout(() => {
- ws.close();
- window.sendAitoAlt2();
- }, 15000);
- }
- if (ws.data.name == "PartyShareKey") {
- ws.psk = ws.data;
- ws.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: game.ui.playerPartyShareKey
- });
- };
- switch (ws.data.opcode) {
- case 4:
- ws.onEnterWorld(ws.data);
- break;
- };
- };
- });
- };
- };
- // Base Finder
- window.baseFinder = () => {
- if (window.basefind) {
- let iframe = document.createElement('iframe');
- iframe.src = 'https://zombs.io';
- iframe.style.display = 'none';
- document.body.append(iframe);
- let iframeWindow = iframe.contentWindow;
- iframe.addEventListener("load", () => {
- let connectionOptions = game.network.connectionOptions ?? game.options.servers[document.getElementsByClassName('hud-intro-server')[0].value];
- iframeWindow.game.network.connectionOptions = connectionOptions;
- iframeWindow.game.network.connected = true;
- let ws = new WebSocket(`wss://${connectionOptions.hostname}:${connectionOptions.port}`);
- ws.binaryType = "arraybuffer";
- let finder = setInterval(() => {
- setTimeout(() => {
- ws.close();
- window.baseFinder();
- }, 30000);
- ws.close();
- }, 30000);
- ws.onclose = () => {
- ws.isclosed = true;
- };
- ws.onPreEnterWorld = (data) => {
- let decoded = iframeWindow.game.network.codec.decodePreEnterWorldResponse(data);
- ws.network.sendInput = (t) => {
- ws.network.sendPacket(3, t);
- };
- ws.network.sendRpc = (t) => {
- ws.network.sendPacket(9, t);
- };
- ws.network.sendPacket = (e, t) => {
- if (!ws.isclosed) {
- ws.send(ws.network.codec.encode(e, t));
- };
- };
- ws.network.sendPacket(4, {
- displayName: 'ø',
- extra: decoded.extra
- });;
- };
- ws.onEnterWorld = (data) => {
- ws.send(iframeWindow.game.network.codec.encode(6, {}));
- iframe.remove();
- };
- ws.onmessage = msg => {
- if (new Uint8Array(msg.data)[0] == 5) {
- game.network.codec.decodePreEnterWorldResponse = buffer => buffer;
- ws.network = new game.networkType();
- let data = game.network.codec.decode(msg.data);
- ws.onPreEnterWorld(data);
- return;
- };
- ws.data = ws.network.codec.decode(msg.data);
- if (ws.data.uid) {
- ws.uid = ws.data.uid;
- };
- ws.network.sendInput({
- up: 1
- });
- if (ws.data.name == "DayCycle") {
- ws.isDay = ws.data.response.isDay;
- };
- if (ws.data.name == "Dead") {
- ws.network.sendInput({
- respawn: 1
- });
- };
- if (ws.data.name == "PartyShareKey") {
- ws.psk = ws.data;
- };
- ws.onTowerFound = data => {
- let res = JSON.stringify(data);
- let res2 = JSON.parse(res);
- let Schema = Object.keys(game.ui.buildingSchema).filter(building => building !== 'Harvester');
- for (let i in Schema) {
- for (let entity in ws.data.entities) {
- if (res.includes(Schema[i])) {
- for (let e in res2.entities) {
- let xPos = Math.round(res2.entities[e].position.x / game.world.getHeight() * 100);
- let yPos = Math.round(res2.entities[e].position.y / game.world.getWidth() * 100);
- let building = document.createElement('div');
- building.classList.add('hud-map-building');
- building.classList.add('scanned-building');
- building.style.left = xPos + '%';
- building.style.top = yPos + '%';
- document.getElementsByClassName('hud-map')[0].appendChild(building);
- ws.close();
- };
- };
- };
- };
- };
- switch (ws.data.opcode) {
- case 4:
- ws.onEnterWorld();
- ws.network.sendPacket(9, {
- name: "JoinPartyByShareKey",
- partyShareKey: game.ui.getPlayerPartyShareKey()
- });
- break;
- case 0:
- ws.onTowerFound(ws.data);
- break;
- };
- };
- });
- };
- };
- window.allSockets = [];
- window.sendws = () => {
- let iframe = document.createElement('iframe');
- iframe.src = 'https://zombs.io';
- iframe.style.display = 'none';
- document.body.append(iframe);
- let iframeWindow = iframe.contentWindow;
- iframe.addEventListener("load", () => {
- let connectionOptions = game.network.connectionOptions ?? game.options.servers[document.getElementsByClassName('hud-intro-server')[0].value];
- iframeWindow.game.network.connectionOptions = connectionOptions;
- iframeWindow.game.network.connected = true;
- let mousePosition3;
- let isOnControl = false;
- let isTrue = true;
- let altElem = document.createElement('div');
- let ws = new WebSocket(`wss://${connectionOptions.hostname}:${connectionOptions.port}`);
- if (!window.allSockets[window.allSockets.length]) {
- ws.cloneId = window.allSockets.length + 1;
- window.allSockets[window.allSockets.length] = ws;
- };
- ws.binaryType = "arraybuffer";
- ws.aimingYaw = 1;
- ws.onclose = () => {
- ws.isclosed = true;
- altElem.remove();
- };
- ws.onPreEnterWorld = (data) => {
- let decoded = iframeWindow.game.network.codec.decodePreEnterWorldResponse(data);
- ws.network.sendInput = (t) => {
- ws.network.sendPacket(3, t);
- };
- ws.network.sendRpc = (t) => {
- ws.network.sendPacket(9, t);
- };
- ws.network.sendPacket = (e, t) => {
- if (!ws.isclosed) {
- ws.send(ws.network.codec.encode(e, t));
- }
- };
- ws.network.sendPacket(4, {
- displayName: game.options.nickname,
- extra: decoded.extra
- });
- };
- ws.onmessage = msg => {
- if (new Uint8Array(msg.data)[0] == 5) {
- ws.network = new game.networkType();
- game.network.codec.decodePreEnterWorldResponse = buffer => buffer;
- let data = game.network.codec.decode(msg.data);
- ws.onPreEnterWorld(data);
- return;
- };
- ws.data = ws.network.codec.decode(msg.data);
- if (isTrue) {
- isTrue = !isTrue;
- var timeCheck = setTimeout(function() {
- if (ws.cloneId === 0) {
- ws.close();
- }
- }, 3000);
- ws.network.sendInput({
- up: 1
- });
- ws.mouseUp = 1;
- ws.mouseDown = 0;
- ws.f = false;
- function mouseMoved(e, x, y, d) {
- ws.aimingYaw = e;
- if (ws.mouseDown && !ws.mouseUp) {
- ws.network.sendInput({
- mouseMovedWhileDown: e,
- worldX: x,
- worldY: y,
- distance: d
- });
- };
- if (!ws.mouseDown && ws.mouseUp) {
- ws.network.sendInput({
- mouseMoved: e,
- worldX: x,
- worldY: y,
- distance: d
- });
- };
- };
- document.addEventListener('mousemove', mousemove => {
- if (isOnControl) {
- if (!ws.isclosed) {
- mousePosition3 = game.renderer.screenToWorld(mousemove.clientX, mousemove.clientY);
- if (ws.myPlayer) {
- if (ws.myPlayer.position) {
- mouseMoved(
- game.inputPacketCreator.screenToYaw((-ws.myPlayer.position.x + mousePosition3.x) * 100, (-ws.myPlayer.position.y + mousePosition3.y) * 100),
- Math.floor(mousePosition3.x),
- Math.floor(mousePosition3.y),
- Math.floor(game.inputPacketCreator.distanceToCenter((-ws.myPlayer.position.x + mousePosition3.x) * 100, (-ws.myPlayer.position.y + mousePosition3.y) * 100) / 100)
- );
- };
- };
- };
- };
- });
- let SendRpc = ws.network.sendRpc;
- let SendInput = ws.network.sendInput;
- document.addEventListener('keydown', e => {
- if (!ws.isclosed) {
- if (isOnControl) {
- let KeyCode = e.keyCode;
- if(e.key === '.') {
- console.log(ws.inventory);
- ws.network.sendRpc({ name: 'BuyItem', itemName: 'Spear', tier: ws.inventory.Spear ? (ws.inventory.Spear.tier + 1) : 1});
- }
- if (KeyCode == 81 && document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- setTimeout(() => {
- var nextWeapon = 'Pickaxe';
- var weaponOrder = ['Pickaxe', 'Spear', 'Bow', 'Bomb'];
- var foundCurrent = false;
- for (let i in weaponOrder) {
- if (foundCurrent) {
- if (ws.inventory[weaponOrder[i]]) {
- nextWeapon = weaponOrder[i];
- break;
- };
- } else if (weaponOrder[i] == ws.myPlayer.weaponName) {
- foundCurrent = true;
- };
- };
- ws.network.sendRpc({
- name: 'EquipItem',
- itemName: nextWeapon,
- tier: ws.inventory[nextWeapon].tier
- });
- }, 100);
- };
- if (KeyCode == 72 && document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- ws.network.sendRpc({
- name: 'LeaveParty'
- });
- };
- if (KeyCode == 74 && document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- ws.network.sendRpc({
- name: 'JoinPartyByShareKey',
- partyShareKey: game.ui.playerPartyShareKey
- });
- };
- if (KeyCode == 32 && document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- setTimeout(() => {
- ws.network.sendInput({
- space: 0
- });
- ws.network.sendInput({
- space: 1
- });
- }, 100);
- };
- if (KeyCode == 82) {
- if (document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- for (let i in game.ui.buildings) {
- if (game.ui.components.BuildingOverlay.shouldUpgradeAll && game.ui.buildings[i].type == game.ui.components.BuildingOverlay.buildingId && game.ui.buildings[i].tier == game.ui.components.BuildingOverlay.buildingTier) {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: game.ui.buildings[i].uid
- });
- };
- };
- };
- };
- if (KeyCode == 46) {
- if (document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- if (ws.myPet) {
- ws.network.sendInput({
- name: "DeleteBuilding",
- uid: ws.myPet.uid
- });
- };
- };
- };
- if (KeyCode == 82) {
- if (document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- if (!game.ui.components.BuildingOverlay.shouldUpgradeAll && game.ui.components.BuildingOverlay.buildingUid) {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: game.ui.components.BuildingOverlay.buildingUid
- });
- };
- };
- };
- if (KeyCode == 89) {
- if (document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- for (let i in game.ui.buildings) {
- if (game.ui.components.BuildingOverlay.buildingUid && game.ui.components.BuildingOverlay.shouldUpgradeAll && game.ui.buildings[i].type == game.ui.components.BuildingOverlay.buildingId && game.ui.buildings[i].tier == game.ui.components.BuildingOverlay.buildingTier && game.ui.components.BuildingOverlay.buildingId !== "GoldStash") {
- ws.network.sendRpc({
- name: "DeleteBuilding",
- uid: game.ui.buildings[i].uid
- });
- };
- };
- };
- };
- if (KeyCode == 84) {
- if (document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- for (var i in game.ui.buildings) {
- if (game.ui.components.BuildingOverlay.buildingUid && game.ui.components.BuildingOverlay.shouldUpgradeAll && game.ui.buildings[i].type == game.ui.components.BuildingOverlay.buildingId && game.ui.buildings[i].tier == game.ui.components.BuildingOverlay.buildingTier && game.ui.components.BuildingOverlay.buildingId !== "GoldStash") {
- game.network.sendRpc({
- name: "DeleteBuilding",
- uid: game.ui.buildings[i].uid
- });
- };
- };
- };
- };
- if (KeyCode == 89) {
- if (document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- if (!game.ui.components.BuildingOverlay.shouldUpgradeAll && game.ui.components.BuildingOverlay.buildingId !== "GoldStash" && game.ui.components.BuildingOverlay.buildingUid) {
- ws.network.sendRpc({
- name: "DeleteBuilding",
- uid: game.ui.components.BuildingOverlay.buildingUid
- });
- };
- };
- };
- if (KeyCode == 89) {
- if (document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- if (!game.ui.components.BuildingOverlay.shouldUpgradeAll && game.ui.components.BuildingOverlay.buildingId !== "GoldStash" && game.ui.components.BuildingOverlay.buildingUid) {
- ws.network.sendRpc({
- name: "DeleteBuilding",
- uid: game.ui.components.BuildingOverlay.buildingUid
- });
- };
- };
- };
- if (document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- if (!ws.automove) {
- if (KeyCode == 76) {
- ws.network.sendInput({
- up: 1,
- down: 0
- });
- };
- if (KeyCode == 191) {
- ws.network.sendInput({
- right: 1,
- left: 0
- });
- };
- if (KeyCode == 190) {
- ws.network.sendInput({
- down: 1,
- up: 0
- });
- };
- if (KeyCode == 188) {
- ws.network.sendInput({
- left: 1,
- right: 0
- });
- };
- if (KeyCode == 87) {
- ws.network.sendInput({
- up: 1,
- down: 0
- });
- };
- if (KeyCode == 68) {
- ws.network.sendInput({
- right: 1,
- left: 0
- });
- };
- if (KeyCode == 83) {
- ws.network.sendInput({
- down: 1,
- up: 0
- });
- };
- if (KeyCode == 65) {
- ws.network.sendInput({
- left: 1,
- right: 0
- });
- };
- };
- if (KeyCode == 82) {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "HealthPotion",
- tier: 1
- });
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "HealthPotion",
- tier: 1
- });
- };
- if (KeyCode == 78) {
- ws.network.sendRpc({
- "name": "EquipItem",
- "itemName": "PetCARL",
- "tier": ws.inventory.PetCARL.tier
- });
- ws.network.sendRpc({
- "name": "EquipItem",
- "itemName": "PetMiner",
- "tier": ws.inventory.PetMiner.tier
- });
- };
- if (KeyCode == 77) {
- ws.network.sendRpc({
- "name": "BuyItem",
- "itemName": "PetRevive",
- "tier": 1
- });
- ws.network.sendRpc({
- "name": "EquipItem",
- "itemName": "PetRevive",
- "tier": 1
- });
- ws.network.sendRpc({
- "name": "BuyItem",
- "itemName": "PetCARL",
- "tier": ws.inventory.PetCARL.tier + 1
- });
- ws.network.sendRpc({
- "name": "BuyItem",
- "itemName": "PetMiner",
- "tier": ws.inventory.PetMiner.tier + 1
- });
- };
- if (KeyCode == 221) {
- game.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: ws.psk.response.partyShareKey
- });
- };
- };
- };
- };
- });
- document.addEventListener('keyup', e => {
- if (!ws.isclosed) {
- if (isOnControl) {
- let KeyCode = e.keyCode;
- if (document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- if (!ws.automove) {
- if (KeyCode == 76) {
- ws.network.sendInput({
- up: 0
- });
- };
- if (KeyCode == 191) {
- ws.network.sendInput({
- right: 0
- });
- };
- if (KeyCode == 190) {
- ws.network.sendInput({
- down: 0
- });
- };
- if (KeyCode == 188) {
- ws.network.sendInput({
- left: 0
- });
- };
- if (KeyCode == 87) {
- ws.network.sendInput({
- up: 0
- });
- };
- if (KeyCode == 68) {
- ws.network.sendInput({
- right: 0
- });
- };
- if (KeyCode == 83) {
- ws.network.sendInput({
- down: 0
- });
- };
- if (KeyCode == 65) {
- ws.network.sendInput({
- left: 0
- });
- };
- };
- };
- };
- };
- });
- document.getElementsByClassName("hud")[0].addEventListener("mousedown", function(e) {
- if (!ws.isclosed) {
- if (isOnControl) {
- if (!e.button) {
- ws.mouseDown = 1;
- ws.mouseUp = 0;
- ws.network.sendInput({
- mouseDown: ws.aimingYaw,
- worldX: Math.floor(mousePosition3.x),
- worldY: Math.floor(mousePosition3.y),
- distance: Math.floor(game.inputPacketCreator.distanceToCenter((-ws.myPlayer.position.x + mousePosition3.x) * 100, (-ws.myPlayer.position.y + mousePosition3.y) * 100) / 100)
- });
- };
- };
- };
- });
- document.getElementsByClassName("hud")[0].addEventListener("mouseup", function(e) {
- if (!ws.isclosed) {
- if (isOnControl) {
- if (!e.button) {
- ws.mouseUp = 1;
- ws.mouseDown = 0;
- ws.network.sendInput({
- mouseUp: 1,
- worldX: Math.floor(mousePosition3.x),
- worldY: Math.floor(mousePosition3.y),
- distance: Math.floor(game.inputPacketCreator.distanceToCenter((-ws.myPlayer.position.x + mousePosition3.x) * 100, (-ws.myPlayer.position.y + mousePosition3.y) * 100) / 100)
- });
- };
- };
- };
- });
- if (isOnControl) {
- let t1 = 0;
- document.getElementsByClassName("hud-shop-item")[t1 + 0].addEventListener('click', function() {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "Pickaxe",
- tier: ws.inventory.Pickaxe.tier + 1
- });
- });
- document.getElementsByClassName("hud-shop-item")[t1 + 1].addEventListener('click', function() {
- if (!ws.inventory.Bow) {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "Bow",
- tier: 1
- });
- } else {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "Bow",
- tier: ws.inventory.Bow.tier + 1
- });
- };
- });
- document.getElementsByClassName("hud-shop-item")[t1 + 2].addEventListener('click', function() {
- if (!ws.inventory.Bow) {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "Bow",
- tier: 1
- });
- } else {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "Bow",
- tier: ws.inventory.Bow.tier + 1
- });
- };
- });
- document.getElementsByClassName("hud-shop-item")[t1 + 3].addEventListener('click', function() {
- if (!ws.inventory.Bomb) {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "Bomb",
- tier: 1
- });
- } else {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "Bomb",
- tier: ws.inventory.Bomb.tier + 1
- });
- };
- });
- document.getElementsByClassName("hud-shop-item")[t1 + 4].addEventListener('click', function() {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "ZombieShield",
- tier: ws.inventory.ZombieShield ? (ws.inventory.ZombieShield.tier + 1) : 1
- });
- });
- document.getElementsByClassName("hud-respawn-btn")[0].addEventListener('click', function() {
- ws.network.sendRpc({
- respawn: 1
- });
- });
- document.getElementsByClassName("hud-toolbar-item")[t1 + 0].addEventListener('mouseup', function(e) {
- if (!e.button) {
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "Pickaxe",
- tier: ws.inventory.Pickaxe.tier
- });
- };
- });
- document.getElementsByClassName("hud-toolbar-item")[t1 + 1].addEventListener('mouseup', function(e) {
- if (!e.button) {
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "Bow",
- tier: ws.inventory.Bow.tier
- });
- };
- });
- document.getElementsByClassName("hud-toolbar-item")[t1 + 2].addEventListener('mouseup', function(e) {
- if (!e.button) {
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "Bow",
- tier: ws.inventory.Bow.tier
- });
- };
- });
- document.getElementsByClassName("hud-toolbar-item")[t1 + 3].addEventListener('mouseup', function(e) {
- if (!e.button) {
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "Bomb",
- tier: ws.inventory.Bomb.tier
- });
- };
- });
- document.getElementsByClassName("hud-toolbar-item")[t1 + 4].addEventListener('mouseup', function(e) {
- if (!e.button) {
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "HealthPotion",
- tier: 1
- });
- };
- });
- document.getElementsByClassName("hud-toolbar-item")[t1 + 5].addEventListener('mouseup', function(e) {
- if (!e.button) {
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "PetHealthPotion",
- tier: 1
- });
- };
- });
- document.getElementsByClassName("hud-toolbar-item")[t1 + 6].addEventListener("mouseup", function(e) {
- if (!e.button) {
- if (isOnControl) {
- ws.network.sendRpc({
- name: "RecallPet"
- });
- ws.network.sendInput({
- respawn: 1
- });
- ws.automove = !ws.automove;
- if (ws.automove) {
- window.move = true;
- } else {
- window.move = false;
- };
- };
- };
- });
- };
- ws.respawn = true;
- document.getElementsByClassName("10i")[0].addEventListener('click', () => {
- ws.activebow = !ws.activebow;
- ws.playerWeapon = ws.myPlayer.weaponName;
- if (ws.activebow) {
- if (ws.inventory.Bow) {
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "Bow",
- tier: ws.inventory.Bow.tier
- })
- } else {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "Bow",
- tier: 1
- })
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "Bow",
- tier: 1
- });
- };
- } else {
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: ws.playerWeapon,
- tier: ws.inventory[ws.playerWeapon].tier
- });
- };
- });
- if (window.aim) {
- ws.autoaim = true;
- };
- if (window.move) {
- ws.automove = true;
- };
- if (window.autohiBot) {
- ws.autohi = true;
- };
- document.getElementsByClassName("1i2")[0].addEventListener('click', () => {
- ws.autoaim = !ws.autoaim;
- if (ws.autoaim) {
- window.aim = true;
- document.getElementsByClassName("1i2")[0].innerText = "Disable Aim!";
- } else {
- window.aim = false;
- document.getElementsByClassName("1i2")[0].innerText = "Enable Aim!";
- };
- });
- document.getElementsByClassName("2i2")[0].addEventListener('click', () => {
- ws.automove = !ws.automove;
- if (ws.automove) {
- window.move = true;
- } else {
- window.move = false;
- };
- });
- document.getElementsByClassName("7i2")[0].addEventListener('click', () => {
- ws.close();
- altElem.remove();
- });
- document.getElementsByClassName("8i2")[0].addEventListener('click', () => {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: `${ws.players[ws.uid].name}, W: ${counter(ws.players[ws.uid].wood)}, S: ${counter(ws.players[ws.uid].stone)}, G: ${counter(ws.players[ws.uid].gold)}, ID: ${ws.cloneId};`
- });
- });
- document.getElementsByClassName("21i2")[0].addEventListener('click', () => {
- isOnControl = !isOnControl;
- document.getElementsByClassName("21i2")[0].innerText = isOnControl ? 'Uncontrol Alts!' : 'Control Alts!';
- });
- document.getElementsByClassName("30i2")[0].addEventListener('click', () => {
- window.lock = !window.lock;
- if (window.lock) {
- window.count = 0;
- delete window.lockPos;
- document.getElementsByClassName("30i2")[0].innerText = 'Unlock Pos!';
- } else if (!window.lock) {
- document.getElementsByClassName("30i2")[0].innerText = 'Lock Pos!';
- ws.network.sendInput({
- up: 0,
- right: 0,
- left: 0,
- right: 0
- });
- };
- });
- };
- if (window.testing) {
- ws.network.sendRpc({
- name: "SetOpenParty",
- isOpen: 0
- });
- ws.network.sendRpc({
- name: "SetPartyName",
- partyName: ws.cloneId + ''
- });
- };
- if (ws.data.uid) {
- ws.uid = ws.data.uid;
- ws.dataInfo = ws.data;
- ws.players = {};
- ws.inventory = {};
- ws.buildings = {};
- ws.parties = {};
- ws.lb = {};
- ws.playerUid = game.world.myUid;
- if (window.allSockets[ws.cloneId - 1]) {
- window.allSockets[ws.cloneId - 1] = ws;
- };
- ws.network.sendInput({
- space: 1
- });
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "PetCARL",
- tier: 1
- });
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "PetMiner",
- tier: 1
- });
- };
- if (ws.data.entities) {
- if (window.message == ws.cloneId) {
- game.world.replicator.onEntityUpdate(ws.data);
- };
- if (ws.data.entities[ws.uid].name) {
- ws.myPlayer = ws.data.entities[ws.uid];
- };
- for (let g in ws.myPlayer) {
- if (ws.myPlayer[g] !== ws.data.entities[ws.uid][g] && ws.data.entities[ws.uid][g] !== undefined) {
- ws.myPlayer[g] = ws.data.entities[ws.uid][g];
- };
- };
- if (ws.myPlayer.petUid) {
- if (ws.data.entities[ws.myPlayer.petUid]) {
- if (ws.data.entities[ws.myPlayer.petUid].model) {
- ws.myPet = ws.data.entities[ws.myPlayer.petUid];
- ws.shouldHealPet = false;
- };
- };
- for (let g in ws.myPet) {
- if (ws.data.entities[ws.myPlayer.petUid]) {
- if (ws.myPet[g] !== ws.data.entities[ws.myPlayer.petUid][g] && ws.data.entities[ws.myPlayer.petUid][g] !== undefined) {
- ws.myPet[g] = ws.data.entities[ws.myPlayer.petUid][g]
- };
- };
- };
- };
- for (let i in ws.data.entities) {
- if (ws.data.entities[i].name) {
- ws.players[i] = ws.data.entities[i];
- };
- };
- for (let i in ws.players) {
- if (!ws.data.entities[i]) {
- delete ws.players[i];
- };
- for (let g in ws.players[i]) {
- if (ws.players[i][g] !== ws.data.entities[i][g] && ws.data.entities[i][g] !== undefined) {
- ws.players[i][g] = ws.data.entities[i][g];
- };
- };
- ws.playerTick = ws.players[ws.playerUid];
- };
- altElem.style.left = (Math.round(ws.myPlayer.position.x) / game.world.getHeight() * 100) + '%';
- altElem.style.top = (Math.round(ws.myPlayer.position.y) / game.world.getWidth() * 100) + '%';
- };
- if (ws.data.name == "DayCycle") {
- ws.tickData = ws.data.response;
- ws.isDay = ws.data.response.isDay;
- };
- if (ws.data.tick) {
- var currentTick = ws.data.tick;
- var msPerTick = 50;
- var dayRatio = 0;
- var nightRatio = 0;
- var barWidth = 130;
- if (ws.tickData) {
- if (ws.tickData.dayEndTick) {
- if (ws.tickData.dayEndTick > 0) {
- var dayLength = ws.tickData.dayEndTick - ws.tickData.cycleStartTick;
- var dayTicksRemaining = ws.tickData.dayEndTick - currentTick;
- dayRatio = 1 - dayTicksRemaining / dayLength;
- }
- } else if (ws.tickData.nightEndTick > 0) {
- var nightLength = ws.tickData.nightEndTick - ws.tickData.cycleStartTick;
- var nightTicksRemaining = ws.tickData.nightEndTick - currentTick;
- dayRatio = 1;
- nightRatio = 1 - nightTicksRemaining / nightLength;
- };
- var currentPosition = (dayRatio * 1 / 2 + nightRatio * 1 / 2) * -barWidth;
- var offsetPosition = currentPosition + barWidth / 2;
- if (offsetPosition) {
- ws.dayTicker = Math.round(offsetPosition);
- };
- };
- };
- if (ws.data.name == "PartyInfo") {
- ws.partyInfo = ws.data.response;
- setTimeout(() => {
- for (let i in ws.partyInfo) {
- if (ws.partyInfo[i].playerUid == ws.uid && ws.partyInfo[i].isLeader) {
- ws.network.sendRpc({
- name: "SetPartyMemberCanSell",
- uid: game.world.myUid,
- canSell: 1
- });
- ws.network.sendRpc({
- name: "SetOpenParty",
- isOpen: 1
- });
- setTimeout(() => {
- ws.network.sendRpc({
- name: "SetPartyName",
- partyName: ws.cloneId + ''
- });
- }, 1000);
- };
- };
- }, 1750);
- };
- if (ws.data.name == "SetItem") {
- ws.inventory[ws.data.response.itemName] = ws.data.response;
- if (!ws.inventory[ws.data.response.itemName].stacks) {
- delete ws.inventory[ws.data.response.itemName];
- };
- if (ws.data.response.itemName == "ZombieShield" && ws.data.response.stacks) {
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "ZombieShield",
- tier: data.response.tier
- });
- };
- };
- if (ws.data.name == "PartyApplicant") {
- ws.partyApplicant = ws.data.response;
- if (ws.partyApplicant.applicantUid == game.world.myUid) {
- ws.network.sendRpc({
- name: "PartyApplicantDecide",
- applicantUid: game.world.myUid,
- accepted: 1
- });
- };
- };
- if ((game.world.entities[ws.uid] && game.world.getEntityByUid(ws.uid))) {
- for (let socket in window.allSockets) {
- let wss = window.allSockets[socket];
- if (wss) {
- let {
- uid,
- cloneId
- } = wss;
- if (((game.world.entities[uid] && game.world.getEntityByUid(uid))) && (game.world.getEntityByUid(uid)).targetTick)
- (game.world.getEntityByUid(uid)).targetTick.name = (cloneId).toString();
- };
- };
- };
- if (ws.data.name == "ReceiveChatMessage") {
- ws.message = ws.data;
- if (ws.message.response.message == "!move" && ws.message.response.uid == game.world.myUid) {
- ws.mousemove = true;
- };
- if (ws.message.response.message == "!unmove" && ws.message.response.uid == game.world.myUid) {
- ws.mousemove = false;
- };
- if (ws.message.response.message == `#` && ws.message.response.uid == game.world.myUid) {
- let word = ws.message.response.message;
- let uid = '';
- for (let i = 0; i < 30; i++) {
- if (Math.round(word[i] == 0 || word[i] == 1 || word[i] == 2 || word[i] == 3 || word[i] == 4 || word[i] == 5 || word[i] == 6 || word[i] == 7 || word[i] == 8 || word[i] == 9)) {
- uid += word[i]
- };
- uid = Math.round(uid);
- ws.playerUid = uid;
- };
- };
- if (ws.message.response.message == "!aim" && ws.message.response.uid == game.world.myUid) {
- window.move = true;
- };
- if (ws.message.response.message == "!unaim" && ws.message.response.uid == game.world.myUid) {
- window.move = false;
- };
- if (ws.message.response.message == "!c" && ws.message.response.uid == game.world.myUid) {
- isOnControl = true;
- };
- if (ws.message.response.message == `!c ${ws.cloneId}` && ws.message.response.uid == game.world.myUid) {
- isOnControl = true;
- };
- if (ws.message.response.message == "!!c" && ws.message.response.uid == game.world.myUid) {
- isOnControl = false;
- };
- if (ws.message.response.message == `!!c ${ws.cloneId}` && ws.message.response.uid == game.world.myUid) {
- isOnControl = false;
- };
- if (ws.message.response.message == `!psk ${ws.cloneId}` && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: `${ws.cloneId}: ${ws.psk.response.partyShareKey}`
- });
- };
- if (ws.message.response.message == "!stats") {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: `${ws.players[ws.message.response.uid].name}, W: ${counter(ws.players[ws.message.response.uid].wood)}, S: ${counter(ws.players[ws.message.response.uid].stone)}, G: ${counter(ws.players[ws.message.response.uid].gold)}, T: ${Math.floor(ws.players[ws.message.response.uid].token)};`
- });
- };
- if (ws.message.response.message == "!s" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: `${ws.players[ws.uid].name}, W: ${counter(ws.players[ws.uid].wood)}, S: ${counter(ws.players[ws.uid].stone)}, G: ${counter(ws.players[ws.uid].gold)}, ID: ${ws.cloneId};`
- });
- };
- if (ws.message.response.message == "!h" && ws.message.response.uid == game.world.myUid) {
- ws.autohi = !ws.autohi;
- if (ws.autohi) {
- window.autohiBot = true;
- } else {
- window.autohiBot = false;
- };
- };
- if (ws.message.response.message == "!ahrc" && ws.message.response.uid == game.world.myUid) {
- ws.ahrc = true;
- };
- if (ws.message.response.message == `!ahrc ${ws.cloneId}` && ws.message.response.uid == game.world.myUid) {
- ws.ahrc = true;
- };
- if (ws.message.response.message == "!!ahrc" && ws.message.response.uid == game.world.myUid) {
- ws.ahrc = false;
- };
- if (ws.message.response.message == `!!ahrc ${ws.cloneId}` && ws.message.response.uid == game.world.myUid) {
- ws.ahrc = false;
- };
- if (ws.message.response.message == "!space" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendInput({
- space: 0
- })
- ws.network.sendInput({
- space: 1
- });
- };
- if (ws.message.response.message == `${ws.cloneId}` && ws.message.response.uid == game.world.myUid) {
- ws.network.sendInput({
- space: 0
- })
- ws.network.sendInput({
- space: 1
- });
- ws.network.sendRpc({
- name: 'JoinPartyByShareKey',
- partyShareKey: game.ui.getPlayerPartyShareKey()
- });
- };
- if (ws.message.response.message == `!dc` && ws.message.response.uid == game.world.myUid) {
- ws.network.sendPacket({}, {});
- };
- if (ws.message.response.message == `!dc ${ws.cloneId}` && ws.message.response.uid == game.world.myUid) {
- ws.network.sendPacket({}, {});
- };
- if (ws.message.response.message == "!upgrade" && ws.message.response.uid == game.world.myUid) {
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "GoldMine") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- })
- }
- setTimeout(() => {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- })
- }, 100);
- };
- };
- if (ws.message.response.message == "!autobomb" && ws.message.response.uid == game.world.myUid) {
- ws.raid = true;
- };
- if (ws.message.response.message == "!!autobomb" && ws.message.response.uid == game.world.myUid) {
- ws.raid = false;
- };
- if (ws.message.response.message == `!respawn` && ws.message.response.uid == game.world.myUid) {
- ws.respawn = true;
- };
- if (ws.message.response.message == `!respawn ${ws.cloneId}` && ws.message.response.uid == game.world.myUid) {
- ws.respawn = true;
- };
- if (ws.message.response.message == "!!respawn" && ws.message.response.uid == game.world.myUid) {
- ws.respawn = false;
- };
- if (ws.message.response.message == `!!respawn ${ws.cloneId}` && ws.message.response.uid == game.world.myUid) {
- ws.respawn = false;
- };
- if (ws.message.response.message == `!join ${ws.cloneId}` && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: game.ui.getPlayerPartyShareKey() + ""
- });
- };
- if (ws.message.response.message.startsWith(`!joinPsk ${ws.cloneId}`) && ws.message.response.uid == game.world.myUid) {
- let args = ws.message.response.message.split(' ');
- ws.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: args[2]
- });
- };
- if (ws.message.response.message == `!leave` && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "LeaveParty"
- });
- };
- if (ws.message.response.message == `!leave ${ws.cloneId}` && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "LeaveParty"
- });
- };
- if (ws.message.response.message == "!up" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded all!"
- });
- for (let i in ws.buildings) {
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: ws.buildings[i].uid
- });
- };
- };
- if (ws.message.response.message == "!upStash" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded stash!"
- });
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "GoldStash") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- });
- };
- };
- };
- if (ws.message.response.message == "!up1" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded wall(s)!"
- });
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "Wall") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- });
- };
- };
- };
- if (ws.message.response.message == "!up2" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded door(s)!"
- });
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "Door") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- });
- };
- };
- };
- if (ws.message.response.message == "!up3" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded slowtrap(s)!"
- });
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "SlowTrap") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- });
- };
- };
- };
- if (ws.message.response.message == "!up4" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded arrow(s)!"
- });
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "ArrowTower") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- });
- };
- };
- };
- if (ws.message.response.message == "!up5" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded cannon(s)!"
- });
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "CannonTower") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- });
- };
- };
- };
- if (ws.message.response.message == "!up6" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded Melee(s)!"
- });
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "MeeleTower") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- });
- };
- };
- };
- if (ws.message.response.message == "!up7" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded bomb(s)!"
- });
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "BombTower") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- });
- };
- };
- };
- if (ws.message.response.message == "!up8" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded mage(s)!"
- });
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "MagicTower") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- });
- };
- };
- };
- if (ws.message.response.message == "!up9" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded gold mine(s)!"
- });
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "GoldMine") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- });
- };
- };
- };
- if (ws.message.response.message == "!up0" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendRpc({
- name: "SendChatMessage",
- channel: "Local",
- message: "Successfully upgraded harvester(s)!"
- });
- for (let i in ws.buildings) {
- if (ws.buildings[i].type == "ResourceHarvester") {
- ws.network.sendRpc({
- name: "UpgradeBuilding",
- uid: ws.buildings[i].uid
- });
- };
- };
- };
- if (ws.message.response.message == "a" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendInput({
- left: 1
- });
- ws.network.sendInput({
- right: 0
- });
- }
- if (ws.message.response.message == "d" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendInput({
- right: 1
- });
- ws.network.sendInput({
- left: 0
- });
- }
- if (ws.message.response.message == "w" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendInput({
- up: 1
- });
- ws.network.sendInput({
- down: 0
- });
- }
- if (ws.message.response.message == "s" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendInput({
- down: 1
- });
- ws.network.sendInput({
- up: 0
- });
- }
- if (ws.message.response.message == "f" && ws.message.response.uid == game.world.myUid) {
- ws.network.sendInput({
- left: 0
- });
- ws.network.sendInput({
- right: 0
- });
- ws.network.sendInput({
- down: 0
- });
- ws.network.sendInput({
- up: 0
- });
- }
- }
- if (ws.autohi) {
- if (ws.data.entities) {
- let sus = setInterval(() => {
- let msg = "";
- let msg2 = "";
- for (let i = 0; i < 15; i++) {
- msg += `&#${Math.random() * 2500 + 100 | 0};`;
- }
- for (let i = 0; i < 15; i++) {
- msg2 += `&#${Math.random() * 2500 + 100 | 0};`;
- }
- ws.network.sendRpc({
- name: "SendChatMessage",
- message: `${msg}${msg2}`,
- channel: "Local"
- });
- });
- };
- };
- if (ws.data.name == "Leaderboard") {
- for (let i in ws.data.response) {
- ws.lb[ws.data.response[i].rank + 1] = ws.data.response[i];
- }
- if (ws.ahrc) {
- for (let uid in ws.buildings) {
- let obj = ws.buildings[uid];
- ws.network.sendRpc({
- name: "CollectHarvester",
- uid: obj.uid
- });
- if (obj.type == "Harvester" && obj.tier == 1) {
- ws.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.uid,
- deposit: 20 / 2
- });
- }
- if (obj.type == "Harvester" && obj.tier == 2) {
- ws.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.uid,
- deposit: 30 / 2
- });
- }
- if (obj.type == "Harvester" && obj.tier == 3) {
- ws.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.uid,
- deposit: 35 / 2
- });
- }
- if (obj.type == "Harvester" && obj.tier == 4) {
- ws.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.uid,
- deposit: 50 / 2
- });
- }
- if (obj.type == "Harvester" && obj.tier == 5) {
- ws.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.uid,
- deposit: 60 / 2
- });
- }
- if (obj.type == "Harvester" && obj.tier == 6) {
- ws.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.uid,
- deposit: 70 / 2
- });
- }
- if (obj.type == "Harvester" && obj.tier == 7) {
- ws.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.uid,
- deposit: 120 / 2
- });
- }
- if (obj.type == "Harvester" && obj.tier == 8) {
- ws.network.sendRpc({
- name: "AddDepositToHarvester",
- uid: obj.uid,
- deposit: 150 / 2
- });
- }
- };
- };
- };
- if (ws.respawn) {
- ws.network.sendInput({
- respawn: 1
- });
- if (ws.raid) {
- ws.space = true;
- ws.network.sendRpc({
- name: 'BuyItem',
- itemName: 'Bomb',
- tier: 1
- });
- ws.network.sendRpc({
- name: 'EquipItem',
- itemName: 'Bomb',
- tier: 1
- });
- };
- };
- if (ws.space) {
- ws.network.sendInput({
- space: 0
- })
- ws.network.sendInput({
- space: 1
- });
- };
- if (ws.data.name == "LocalBuilding") {
- for (let i in ws.data.response) {
- ws.buildings[ws.data.response[i].uid] = ws.data.response[i];
- if (ws.buildings[ws.data.response[i].uid].dead) {
- delete ws.buildings[ws.data.response[i].uid];
- };
- };
- };
- if (ws.data.name == "AddParty") {
- if (ws.addparties) {
- ws.parties[ws.data.response.partyId] = ws.data.response;
- };
- };
- if (ws.data.name == "RemoveParty") {
- if (ws.addparties) {
- if (ws.parties[ws.data.response.partyId].partyId) {
- delete ws.parties[ws.data.response.partyId];
- };
- };
- };
- if (ws.data.name == "PartyShareKey") {
- ws.psk = ws.data;
- altElem.style.display = (ws.psk.response.partyShareKey == game.ui.getPlayerPartyShareKey()) ? "none" : "block";
- };
- if (window.mousemove) {
- let myPlayer = game.ui.playerTick;
- let mouseToWorld = game.renderer.screenToWorld(game.ui.mousePosition.x, game.ui.mousePosition.y);
- if (ws.myPlayer) {
- if (ws.myPlayer.position) {
- ws.network.sendInput({
- mouseMoved: game.inputPacketCreator.screenToYaw((-ws.myPlayer.position.x + mouseToWorld.x) * 100, (-ws.myPlayer.position.y + mouseToWorld.y) * 100)
- })
- if (1 == 1) {
- if (ws.myPlayer.position.y - mouseToWorld.y > 10) {
- ws.network.sendInput({
- down: 0
- });
- } else {
- ws.network.sendInput({
- down: 1
- });
- };
- if (-ws.myPlayer.position.y + mouseToWorld.y > 10) {
- ws.network.sendInput({
- up: 0
- });
- } else {
- ws.network.sendInput({
- up: 1
- });
- };
- if (-ws.myPlayer.position.x + mouseToWorld.x > 10) {
- ws.network.sendInput({
- left: 0
- });
- } else {
- ws.network.sendInput({
- left: 1
- });
- };
- if (ws.myPlayer.position.x - mouseToWorld.x > 10) {
- ws.network.sendInput({
- right: 0
- });
- } else {
- ws.network.sendInput({
- right: 1
- });
- };
- };
- };
- };
- };
- if (window.autoraid) {
- if (ws.myPlayer) {
- if (findNearestAltToStash().uid == ws.uid) {
- if (Object.values(game.ui.buildings).length > 0 && !ws.myPlayer.dead) {
- ws.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: game.ui.getPlayerPartyShareKey() + ""
- });
- } else {
- for (let i in window.allSockets) {
- if (Object.values(window.allSockets[i].buildings).length > 0 && !ws.myPlayer.dead) {
- ws.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: window.allSockets[i].psk.response.partyShareKey + ""
- });
- };
- };
- };
- ws.network.sendInput({
- space: 0
- });
- ws.network.sendInput({
- space: 1
- });
- };
- };
- };
- if (ws.data.entities) {
- if (ws.letbotsjoin) {
- if (ws.myPlayer.gold > 100) {
- ws.network.sendRpc({
- name: 'LeaveParty'
- });
- } else {
- ws.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: game.ui.getPlayerPartyShareKey() + ""
- });
- };
- };
- if (ws.letbotsjoin2) {
- if (ws.myPlayer.gold > 500) {
- ws.network.sendRpc({
- name: 'LeaveParty'
- });
- } else {
- ws.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: game.ui.getPlayerPartyShareKey() + ""
- });
- };
- };
- if (ws.letbotsjoin3) {
- if (ws.myPlayer.gold > 8500) {
- ws.network.sendRpc({
- name: 'LeaveParty'
- });
- } else {
- ws.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: game.ui.getPlayerPartyShareKey() + ""
- });
- };
- };
- };
- if (window.lock) {
- addEventListener('mousedown', () => {
- window.count++;
- window.count == 1 && (
- window.lockPos = {
- x: game.renderer.screenToWorld(Object.freeze(game.ui.mousePosition).x, 0).x,
- y: game.renderer.screenToWorld(0, Object.freeze(game.ui.mousePosition).y).y
- }
- );
- });
- let pos = window.lockPos;
- if (!pos) return;
- if (ws.myPlayer) {
- ((position) => {
- let x = Math.round(position.x);
- let y = Math.round(position.y);
- ws.network.sendInput({
- mouseMoved: game.inputPacketCreator.screenToYaw((-ws.myPlayer.position.x + x) * 100, (-ws.myPlayer.position.y + y) * 100)
- });
- let myX = Math.round(ws.myPlayer.position.x);
- let myY = Math.round(ws.myPlayer.position.y);
- let offset = 6;
- if (-myX + x > offset) {
- ws.network.sendInput({
- left: 0
- });
- } else {
- ws.network.sendInput({
- left: 1
- });
- };
- if (myX - x > offset) {
- ws.network.sendInput({
- right: 0
- });
- } else {
- ws.network.sendInput({
- right: 1
- });
- }
- if (-myY + y > offset) {
- ws.network.sendInput({
- up: 0
- });
- } else {
- ws.network.sendInput({
- up: 1
- });
- };
- if (myY - y > offset) {
- ws.network.sendInput({
- down: 0
- });
- } else {
- ws.network.sendInput({
- down: 1
- });
- };
- })(pos);
- };
- };
- if (ws.automove) {
- let playerPos = game.world.entities[game.world.myUid].targetTick.position;
- let x = Math.round(playerPos.x);
- let y = Math.round(playerPos.y);
- let pos = {
- x: x,
- y: y
- };
- if (ws.myPlayer) {
- ((position) => {
- let x = Math.round(position.x);
- let y = Math.round(position.y);
- ws.network.sendInput({
- mouseMoved: game.inputPacketCreator.screenToYaw((-ws.myPlayer.position.x + x) * 100, (-ws.myPlayer.position.y + y) * 100)
- })
- let myX = Math.round(ws.myPlayer.position.x);
- let myY = Math.round(ws.myPlayer.position.y);
- let offset = 6;
- if (-myX + x > offset) {
- ws.network.sendInput({
- left: 0
- });
- } else {
- ws.network.sendInput({
- left: 1
- });
- };
- if (myX - x > offset) {
- ws.network.sendInput({
- right: 0
- });
- } else {
- ws.network.sendInput({
- right: 1
- });
- };
- if (-myY + y > offset) {
- ws.network.sendInput({
- up: 0
- });
- } else {
- ws.network.sendInput({
- up: 1
- });
- };
- if (myY - y > offset) {
- ws.network.sendInput({
- down: 0
- });
- } else {
- ws.network.sendInput({
- down: 1
- });
- };
- })(pos);
- };
- };
- if (ws.autoaim) {
- let myPlayer = game.ui.playerTick;
- let mouseToWorld = game.renderer.screenToWorld(game.ui.mousePosition.x, game.ui.mousePosition.y);
- if (ws.myPlayer) {
- if (ws.myPlayer.position) {
- ws.network.sendInput({
- mouseMoved: game.inputPacketCreator.screenToYaw((-ws.myPlayer.position.x + mouseToWorld.x) * 100, (-ws.myPlayer.position.y + mouseToWorld.y) * 100)
- });
- let offset = 6;
- if (1 == 1) {
- if (ws.myPlayer.position.y - mouseToWorld.y > offset) {
- ws.network.sendInput({
- down: 0
- });
- } else {
- ws.network.sendInput({
- down: 0
- });
- };
- if (-ws.myPlayer.position.y + mouseToWorld.y > offset) {
- ws.network.sendInput({
- up: 0
- });
- } else {
- ws.network.sendInput({
- up: 0
- });
- };
- if (-ws.myPlayer.position.x + mouseToWorld.x > offset) {
- ws.network.sendInput({
- left: 0
- });
- } else {
- ws.network.sendInput({
- left: 0
- });
- };
- if (ws.myPlayer.position.x - mouseToWorld.x > offset) {
- ws.network.sendInput({
- right: 0
- });
- } else {
- ws.network.sendInput({
- right: 0
- });
- };
- };
- };
- };
- };
- if (ws.data.opcode == 0) {
- if (heal) {
- if (ws.myPlayer) {
- let playerHealth = (ws.myPlayer.health / ws.myPlayer.maxHealth) * 100;
- if (playerHealth <= 10) {
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "HealthPotion",
- tier: 1
- });
- };
- };
- if (ws.myPet) {
- let petHealth = (ws.myPet.health / ws.myPet.maxHealth) * 100;
- if (petHealth <= 10) {
- if (!ws.shouldHealPet) {
- ws.shouldHealPet = true;
- setTimeout(() => {
- ws.shouldHealPet = false;
- }, 300);
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "PetHealthPotion",
- tier: 1
- });
- ws.network.sendRpc({
- name: "EquipItem",
- itemName: "PetHealthPotion",
- tier: 1
- });
- };
- };
- };
- };
- ws.network.sendRpc({
- name: "BuyItem",
- itemName: "HealthPotion",
- tier: 1
- });
- };
- if (ws.activebow) {
- ws.network.sendInput({
- space: 0
- });
- ws.network.sendInput({
- space: 1
- });
- };
- switch (ws.data.opcode) {
- case 4:
- ws.send(iframeWindow.game.network.codec.encode(6, {}));
- iframe.remove();
- ws.network.sendRpc({
- name: "JoinPartyByShareKey",
- partyShareKey: game.ui.playerPartyShareKey
- });
- break;
- };
- };
- });
- };
- (function() {
- document.getElementsByClassName("hud-party-actions")[0].insertAdjacentHTML("afterend", `
- <button class="btn btn-blue" style="width: 120px; margin: 10px 0 0 0;box-shadow: none;" onclick="game.network.sendRpc({ name: 'LeaveParty' });"> Leave </button>
- <input style="margin: 10px 10px -5px 15px; width: 281px;" placeholder="Party Share Key" value="" class="btn partyShareKey" />
- <button class="btn btn-blue" style="width: 125px; margin: 10px 0 -1px 0;" onclick="game.network.sendRpc({ name: 'JoinPartyByShareKey', partyShareKey: document.getElementsByClassName('partyShareKey')[0].value })"> Join </button>
- `);
- })();
- let getElement = (Element) => {
- return document.getElementsByClassName(Element);
- };
- let getId = (Element) => {
- return document.getElementById(Element);
- };
- getElement("hud-party-members")[0].style.display = "block";
- getElement("hud-party-grid")[0].style.display = "none";
- game.script.parties = {};
- // Closed Parties
- let privateTab = document.createElement("a");
- privateTab.className = "hud-party-tabs-link";
- privateTab.id = "privateTab";
- privateTab.innerHTML = "Closed Parties";
- let privateHud = document.createElement("div");
- privateHud.className = "hud-private hud-party-grid";
- privateHud.id = "privateHud";
- privateHud.style = "display: none;";
- getElement("hud-party-tabs")[0].appendChild(privateTab);
- getElement("hud-menu hud-menu-party")[0].insertBefore(privateHud, getElement("hud-party-actions")[0]);
- // Keys
- let keyTab = document.createElement("a");
- keyTab.className = "hud-party-tabs-link";
- keyTab.id = "keyTab";
- keyTab.innerHTML = "Party Keys";
- getElement("hud-party-tabs")[0].appendChild(keyTab);
- let keyHud = document.createElement("div");
- keyHud.className = "hud-keys hud-party-grid";
- keyHud.id = "keyHud";
- keyHud.style = "display: none;";
- getElement("hud-menu hud-menu-party")[0].insertBefore(keyHud, getElement("hud-party-actions")[0]);
- getId("privateTab").onclick = e => {
- for (let i = 0; i < getElement("hud-party-tabs-link").length; i++) {
- getElement("hud-party-tabs-link")[i].className = "hud-party-tabs-link";
- };
- getId("privateTab").className = "hud-party-tabs-link is-active";
- getId("privateHud").setAttribute("style", "display: block;");
- if (getElement("hud-party-members")[0].getAttribute("style") == "display: block;") {
- getElement("hud-party-members")[0].setAttribute("style", "display: none;");
- };
- if (getElement("hud-party-grid")[0].getAttribute("style") == "display: block;") {
- getElement("hud-party-grid")[0].setAttribute("style", "display: none;");
- };
- if (getId("privateHud").getAttribute("style") == "display: none;") {
- getId("privateHud").setAttribute("style", "display: block;");
- };
- if (getId("keyHud").getAttribute("style") == "display: block;") {
- getId("keyHud").setAttribute("style", "display: none;");
- };
- };
- getElement("hud-party-tabs-link")[0].onmouseup = e => {
- getId("privateHud").setAttribute("style", "display: none;");
- getId("keyHud").setAttribute("style", "display: none;");
- if (getId("privateTab").className == "hud-party-tabs-link is-active") {
- getId("privateTab").className = "hud-party-tabs-link"
- };
- if (getId("keyTab").className == "hud-party-tabs-link is-active") {
- getId("keyTab").className = "hud-party-tabs-link"
- };
- };
- getElement("hud-party-tabs-link")[1].onmouseup = e => {
- getId("privateHud").setAttribute("style", "display: none;");
- getId("keyHud").setAttribute("style", "display: none;");
- if (getId("privateTab").className == "hud-party-tabs-link is-active") {
- getId("privateTab").className = "hud-party-tabs-link"
- };
- if (getId("keyTab").className == "hud-party-tabs-link is-active") {
- getId("keyTab").className = "hud-party-tabs-link"
- };
- };
- getId("keyTab").onmouseup = e => {
- for (let i = 0; i < getElement("hud-party-tabs-link").length; i++) {
- getElement("hud-party-tabs-link")[i].className = "hud-party-tabs-link";
- };
- getId("keyTab").className = "hud-party-tabs-link is-active";
- getId("keyHud").setAttribute("style", "display: block;");
- if (getElement("hud-party-members")[0].getAttribute("style") == "display: block;") {
- getElement("hud-party-members")[0].setAttribute("style", "display: none;");
- };
- if (getElement("hud-party-grid")[0].getAttribute("style") == "display: block;") {
- getElement("hud-party-grid")[0].setAttribute("style", "display: none;");
- };
- if (getId("privateHud").getAttribute("style") == "display: block;") {
- getId("privateHud").setAttribute("style", "display: none;");
- };
- if (getId("keyHud").getAttribute("style") == "display: none;") {
- getId("keyHud").setAttribute("style", "display: block;");
- };
- };
- getElement('hud-keys hud-party-grid')[0].innerHTML += "<br><h3>Party Keys</h3><br>"
- game.network.addRpcHandler("PartyShareKey", e => {
- let cpKeyId = `skl${Math.floor(Math.random() * 999999)}`;
- let cpLnkId = `skl${Math.floor(Math.random() * 999999)}`;
- let psk = e.partyShareKey;
- let lnk = `http://zombs.io/#/${game.options.serverId}/${psk}/`;
- getId("keyHud").innerHTML += `<div style="display:inline-block;margin-right:10px;"><p>${psk}</p></div><button class="btn btn-red" id="${cpKeyId}" style="display:inline-block;" onclick="window.copyText('${psk}');">Copy Key</button> <button class="btn btn-red" id="${cpLnkId}" style="display:inline-block;" onclick="window.copyText('${lnk}');">Copy Link</button><br />`;
- });
- let parties = "";
- game.network.addRpcHandler("SetPartyList", e => {
- parties = "";
- for (let i in e) {
- if (e[i].isOpen == 0) {
- parties += "<div style=\"width: relative; height: relative;\" class=\"hud-party-link is-disabled\"><strong>" + e[i].partyName + "</strong><span>" + e[i].memberCount + "/4<span></div>";
- };
- };
- getId("privateHud").innerHTML = parties;
- });
- let getIsZombiesActive = function() {
- let isZombiesActive = false;
- for (let i in game.world.entities) {
- if (game.world.entities[i].fromTick.model !== "NeutralTier1") {
- if (game.world.entities[i].fromTick.entityClass == "Npc") {
- isZombiesActive = true;
- };
- };
- };
- return isZombiesActive;
- };
- let getactiveComingbosswaves = function() {
- let activeComingbosswave = false;
- let aftercomingbosswaves = [48, 56, 64, 72, 80, 88, 96, 104, 120];
- for (let i = 0; i < aftercomingbosswaves.length; i++) {
- if (game.ui.playerTick.wave == aftercomingbosswaves[i]) {
- activeComingbosswave = true;
- };
- };
- return activeComingbosswave;
- };
- let getbosswaves = function() {
- let activebosswave = false;
- let allbosswaves = [9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105, 121];
- for (let i = 0; i < allbosswaves.length; i++) {
- if (game.ui.playerTick.wave == allbosswaves[i]) {
- activebosswave = true;
- };
- };
- return activebosswave;
- };
- let bossAlert = document.createElement('p');
- bossAlert.innerHTML = `<i class="fa fa-exclamation-triangle"></i> Boss wave incoming`;
- bossAlert.style.display = "none";
- bossAlert.style.color = "white";
- bossAlert.style.opacity = '0.5';
- document.getElementsByClassName('hud-top-center')[0].appendChild(bossAlert);
- game.network.addRpcHandler("DayCycle", function(e) {
- if (game.ui.playerTick && e.isDay)
- getactiveComingbosswaves() ? bossAlert.style.display = "block" : bossAlert.style.display = "none";
- });
- let inull = true;
- let i1 = true;
- let i2 = true;
- let i3 = true;
- document.addEventListener("keydown", (e) => {
- if (document.activeElement.tagName.toLowerCase() == "input" || document.activeElement.tagName.toLowerCase() == "textarea") {
- Main1Keys = false;
- Main2Keys = false;
- Main3Keys = false;
- } else {
- Main1Keys = true;
- Main2Keys = true;
- Main3Keys = true;
- }
- if (Main1Keys) {
- switch (e.code) {
- case "Insert":
- document.getElementsByClassName("1i")[0].click();
- break;
- case "KeyX":
- document.getElementsByClassName("8i")[0].click();
- break;
- case "KeyZ":
- document.getElementsByClassName("10i")[0].click();
- break;
- case "KeyR":
- healPlayer();
- break;
- case "KeyG":
- document.getElementsByClassName("7i")[0].click();
- break;
- }
- }
- if (Main2Keys) {
- switch (e.code) {
- case "KeyK":
- document.getElementsByClassName("10i5")[0].click();
- break;
- case "Key/":
- document.getElementsByClassName("6i5")[0].click();
- break;
- case "KeyM":
- game.network.sendRpc({
- "name": "BuyItem",
- "itemName": "PetRevive",
- "tier": 1
- })
- game.network.sendRpc({
- "name": "EquipItem",
- "itemName": "PetRevive",
- "tier": 1
- })
- break;
- }
- }
- if (Main3Keys) {
- switch (e.code) {
- case "KeyL":
- document.getElementsByClassName("0i2")[0].click();
- break;
- case "KeyI":
- game.network.sendRpc({
- name: "LeaveParty"
- })
- break;
- }
- }
- });
- document.addEventListener("keydown", e => {
- if (document.activeElement.tagName.toLowerCase() !== "input" && document.activeElement.tagName.toLowerCase() !== "textarea") {
- if (e.keyCode == 189) {
- getRss = !getRss;
- };
- };
- });
- let savedTabs = [];
- let gameServers = game.options.servers;
- document.getElementsByClassName('hud-intro-form')[0].insertAdjacentHTML('beforeend', '<button class="btn hud-intro-play" id="hstb">Host Saved Tab</button>');
- let stElem = document.getElementById('savedTabs');
- let newPlayButton = document.getElementsByClassName("hud-intro-play")[0].cloneNode();
- newPlayButton.classList.replace('hud-intro-play', 'longbtn');
- newPlayButton.style.display = "none";
- newPlayButton.style.marginTop = "10px";
- newPlayButton.innerText = "Enter Saved Tab";
- newPlayButton.addEventListener('click', function() {
- game.ui.components.Intro.componentElem.style.display = "none";
- });
- document.getElementsByClassName('hud-intro-play')[0].insertAdjacentElement("beforebegin", newPlayButton)
- let realPlayButton = true
- const switchPlayButtons = () => {
- realPlayButton = !realPlayButton;
- if (realPlayButton) {
- newPlayButton.style.display = "none";
- document.getElementsByClassName("hud-intro-play")[0].style.display = "block";
- } else {
- document.getElementsByClassName("hud-intro-play")[0].style.display = "none";
- newPlayButton.style.display = "block";
- };
- };
- const updateSavedTabs = () => {
- stElem.innerHTML = `<br>`;
- let oneEnabled = false;
- for (let tabi in savedTabs) {
- let tab = savedTabs[tabi];
- let tabBtn = document.createElement('button');
- if (tab.enabled) {
- oneEnabled = true;
- };
- tabBtn.classList.add('btn', tab.enabled ? "btn-green" : "btn-red");
- tabBtn.innerText = savedTabs[tabi].id;
- stElem.appendChild(tabBtn);
- stElem.append(' ');
- let xBtn = document.createElement('button');
- xBtn.classList.add('btn');
- xBtn.classList.add('btn-red');
- xBtn.innerHTML = "❌";
- xBtn.style.display = "inline-block";
- stElem.appendChild(xBtn);
- stElem.append(' ');
- let writeBtn = document.createElement('button');
- writeBtn.classList.add('btn');
- writeBtn.classList.add('btn-blue');
- writeBtn.innerHTML = "✍️";
- writeBtn.style.display = "inline-block"
- stElem.appendChild(writeBtn);
- stElem.appendChild(document.createElement('br'));
- stElem.appendChild(document.createElement('br'));
- let enterBtn = document.createElement('button');
- enterBtn.classList.add('btn');
- enterBtn.classList.add('btn-blue');
- enterBtn.innerHTML = "☑️";
- enterBtn.style.width = '130px';
- enterBtn.style.display = "none";
- stElem.appendChild(enterBtn);
- stElem.append(' ');
- let resetBtn = document.createElement('button');
- resetBtn.classList.add('btn');
- resetBtn.classList.add('btn-red');
- resetBtn.innerHTML = "🔙";
- resetBtn.style.width = '130px';
- resetBtn.style.display = "none";
- stElem.appendChild(resetBtn);
- let oldId;
- writeBtn.addEventListener('click', function() {
- if (this.dataset.editing) {
- updateSavedTabs();
- } else {
- resetBtn.style.display = "inline-block";
- resetBtn.classList.replace('btn', 'disabledBtn');
- enterBtn.style.display = "inline-block";
- enterBtn.classList.replace('btn', 'disabledBtn');
- oldId = savedTabs[tabi].id;
- tabBtn.innerHTML = `<input style="width:110px; height: 35px; margin-top: 2px;" type="text" class='btn btn-red' />`
- tabBtn.children[0].addEventListener('input', function() {
- this.value = this.value.replaceAll(' ', '_');
- if (this.value == oldId || this.value == "") {
- if (this.value !== "") {
- resetBtn.classList.replace('btn', 'disabledBtn');
- };
- if (this.value == "") {
- enterBtn.classList.replace('btn', 'disabledBtn');
- }
- } else {
- resetBtn.classList.replace('disabledBtn', 'btn');
- enterBtn.classList.replace('disabledBtn', 'btn');
- };
- if (savedTabs.find(i => i.id == this.value)) {
- enterBtn.classList.replace('btn', 'disabledBtn');
- };
- })
- tabBtn.children[0].focus();
- tabBtn.children[0].value = savedTabs[tabi].id;
- tabBtn.setAttribute('disabled', true);
- this.innerHTML = "Back"
- xBtn.setAttribute('disabled', true)
- this.dataset.editing = true;
- xBtn.classList.replace('btn', 'disabledBtn');
- };
- });
- resetBtn.addEventListener('click', function() {
- tabBtn.children[0].value = oldId;
- });
- enterBtn.addEventListener('click', function() {
- savedTabs[tabi].id = tabBtn.children[0].value;
- updateSavedTabs();
- });
- xBtn.addEventListener('click', function() {
- let c = confirm('Are you sure you want to close this tab?');
- if (c) {
- tab.iframe.remove();
- savedTabs.splice(tabi, tabi + 1);
- updateSavedTabs();
- };
- })
- savedTabs[tabi].btn = tabBtn;
- tabBtn.addEventListener('click', function() {
- savedTabs[tabi].enabled = !savedTabs[tabi].enabled;
- tab.iframe.style.display = "block";
- document.getElementsByTagName('canvas')[0].style.display = "none";
- for (let component in game.ui.components) {
- if (component !== "Intro") {
- game.ui.components[component].componentElem.style.display = "none";
- };
- };
- for (let tbi in savedTabs) {
- let tb = savedTabs[tbi];
- if ((tb.serverId !== tab.serverId) || (tb.serverId == tab.serverId && tb.no !== tab.no)) {
- tb.iframe.style.display = "none";
- savedTabs[tbi].enabled = false;
- };
- };
- updateSavedTabs();
- })
- stElem.insertAdjacentHTML('beforeend', '<br />')
- };
- if (oneEnabled) {
- document.getElementsByTagName('canvas')[0].style.display = "none";
- for (let component in game.ui.components) {
- if (component !== "Intro") {
- game.ui.components[component].componentElem.style.display = "none";
- };
- };
- if (realPlayButton) {
- switchPlayButtons();
- };
- } else {
- document.getElementsByTagName('canvas')[0].style.display = "block";
- if (!realPlayButton) {
- switchPlayButtons();
- };
- for (let tb of savedTabs) {
- tb.iframe.style.display = "none"
- };
- for (let component in game.ui.components) {
- if (component !== "Intro") {
- game.ui.components[component].componentElem.style.display = "block";
- };
- };
- for (let component in game.ui.components) {
- if (component !== "Intro") {
- game.ui.components[component].componentElem.style.display = "block";
- };
- };
- };
- };
- window.stOpt = {
- ust: updateSavedTabs,
- gst: () => savedTabs,
- spb: switchPlayButtons
- }
- window.ostb = () => {
- game.ui.components.Intro.componentElem.style.display = "block";
- };
- window.joinST = id => {
- let tab = savedTabs.find(i => i.id == id);
- if (tab) {
- for (let tb of savedTabs) {
- tb.iframe.style.display = "none"
- };
- tab.iframe.style.display = "block";
- };
- };
- updateSavedTabs();
- const hostSavedTab = (serverId, psk = 'tabsession') => {
- let iframe = document.createElement('iframe');
- iframe.src = `https://zombs.io/#/${serverId}/${psk}/`;
- iframe.style.diplay = "none";
- iframe.style.width = "100%"
- iframe.style.height = "100%"
- iframe.style.position = 'absolute';
- iframe.style.display = "none";
- document.getElementsByClassName('hud')[0].append(iframe);
- iframe.onload = () => {
- if (iframe.dataset.loaded) {
- return;
- };
- iframe.dataset.loaded = true;
- if (gameServers[serverId].hostno) {
- gameServers[serverId].hostno++;
- } else {
- gameServers[serverId].hostno = 1;
- };
- let tabi = savedTabs.length;
- savedTabs.push({
- serverId: serverId,
- psk: psk,
- serverName: game.options.servers[serverId].name,
- no: gameServers[serverId].hostno,
- iframe: iframe,
- id: `${game.options.servers[serverId].name.replaceAll(' ', '-')}_#${gameServers[serverId].hostno}`
- })
- updateSavedTabs();
- iframe.contentWindow.eval(`
- document.getElementsByClassName("hud-intro-play")[0].click()
- let hasJoined = false
- game.network.addEnterWorldHandler(() => {
- if(hasJoined) { return; }
- hasJoined = true;
- });
- `);
- setTimeout(() => {
- if (!iframe.contentWindow.game.world.inWorld) {
- iframe.remove();
- savedTabs.splice(tabi, tabi + 1);
- game.ui.components.Intro.componentElem.style.display = "block";
- updateSavedTabs();
- };
- }, 10000);
- };
- };
- document.getElementById('hstb').addEventListener('click', function() {
- if (document.getElementById('hostsavedtabpsk').value.length > 1 && document.getElementById('hostsavedtabpsk').value.length < 21) {
- hostSavedTab(document.getElementsByClassName('hud-intro-server')[0].value, document.getElementById('hostsavedtabpsk').value);
- } else {
- hostSavedTab(document.getElementsByClassName('hud-intro-server')[0].value);
- };
- })
- game.ui.components.Chat.sendMessage2 = game.ui.components.Chat.sendMessage;
- game.ui.components.Chat.sendMessage = (msg) => {
- switch (msg) {
- case "!back":
- if (window.parent !== window) {
- window.parent.ostb();
- };
- break;
- default:
- if (msg.toLowerCase().startsWith('!jointab')) {
- let id = msg.split(" ")[1];
- if (window.parent !== window) {
- window.parent.joinST(id);
- };
- return;
- };
- game.ui.components.Chat.sendMessage2(msg);
- break;
- };
- };
- // Zoom with mouse
- let dimension = 1;
- const onWindowResize = () => {
- const renderer = game.renderer;
- let canvasWidth = window.innerWidth * window.devicePixelRatio;
- let canvasHeight = window.innerHeight * window.devicePixelRatio;
- let ratio = Math.max(canvasWidth / (1920 * dimension), canvasHeight / (1080 * dimension));
- renderer.scale = ratio;
- renderer.entities.setScale(ratio);
- renderer.ui.setScale(ratio);
- renderer.renderer.resize(canvasWidth, canvasHeight);
- renderer.viewport.width = renderer.renderer.width / renderer.scale + 4 * renderer.viewportPadding;
- renderer.viewport.height = renderer.renderer.height / renderer.scale + 4 * renderer.viewportPadding;
- };
- onWindowResize();
- window.onresize = onWindowResize;
- window.onwheel = e => {
- if (e.deltaY > 0) {
- dimension += 0.08;
- } else if (e.deltaY < 0) {
- dimension -= 0.08;
- }
- onWindowResize();
- };
- window.zoom = val => {
- dimension = val;
- onWindowResize();
- };
- game.network.addEnterWorldHandler(() => {
- game.renderer.projectiles.setVisible(0);
- document.getElementsByClassName('hud-menu-shop')[0].style.display = 'none';
- document.getElementsByClassName('hud-menu-settings')[0].style.display = 'none';
- document.getElementsByClassName('hud-menu-party')[0].style.display = 'none';
- });
- game.network.oldSendRpc = game.network.sendRpc;
- game.network.sendRpc = m => {
- const webSockets = window.allSockets;
- if(m.name == "EquipItem") {
- for(let id in webSockets) {
- const ws = webSockets[id];
- ws.network.sendPacket(9, { name: "BuyItem", itemName: m.itemName, tier: m.tier });
- ws.network.sendPacket(9, m);
- };
- };
- game.network.oldSendRpc(m);
- };
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址