Revolver killer
// ==UserScript== // @name VN Mod v2 BY BLUCKGUY EZEZEZEZEZZZZZZZZZZZ // @namespace none // @version 3 // @description Revolver killer // @author BLUCKGUY SKIDDED IT EZZZZZZZ, og mod HaxKillerMacro // @license MIT // @icon https://cdn.discordapp.com/attachments/942291806740160552/1187992941306855544/Untitled_design_23.png?ex=6598e7a5&is=658672a5&hm=3b02984cc121d8feced3ba084129cbb21f3b3be25bd8d7c###4f4f176eeeecba& // @match *://moomoo.io/* // @match *://sandbox.moomoo.io/* // @match *://dev.moomoo.io/* // @require https://greasyfork.org/scripts/368273-msgpack/code/msgpack.js?version=598723 // @require http://code.jquery.com/jquery-3.3.1.min.js // @require https://cdn.jsdelivr.net/npm/[email protected]/dist/msgpack.min.js // @require https://cdn.jsdelivr.net/npm/[email protected]/fontfaceobserver.standalone.min.js // @grant none // ==/UserScript== (function() { 'use strict'; // Add custom CSS styles for the scrollbar const style = document.createElement('style'); style.textContent = ` /* Custom scrollbar styling */ #musicMenuContainer::-webkit-scrollbar { width: 15px; } #musicMenuContainer::-webkit-scrollbar-thumb { background-color: black; border-radius: 15px; border: 2px solid black; } #musicMenuContainer::-webkit-scrollbar-track { background-color: black; border-radius: 10px; } `; document.head.appendChild(style); // Create the menu container const menuContainer = document.createElement('div'); menuContainer.id = 'musicMenuContainer'; // Assign ID for custom scrollbar menuContainer.style.position = 'fixed'; menuContainer.style.top = '50%'; menuContainer.style.left = '50%'; menuContainer.style.transform = 'translate(-50%, -50%)'; menuContainer.style.backgroundColor = 'GREY'; menuContainer.style.color = 'black'; menuContainer.style.padding = '35px'; menuContainer.style.borderRadius = '15px'; menuContainer.style.display = 'none'; // Hidden by default menuContainer.style.zIndex = '9999'; // Ensure it's on top of other elements menuContainer.style.boxShadow = '0 0 15px black'; // Glowing shadow menuContainer.style.border = '2px solid black'; // Glowing border menuContainer.style.overflowY = 'auto'; menuContainer.style.maxHeight = '80vh'; // Limit height to viewport height menuContainer.style.transition = 'opacity 0.5s ease-in-out, transform 1s ease-in-out'; // Transition effect menuContainer.style.opacity = '0'; // Start with invisible menuContainer.style.transform = 'translate(-50%, -60%)'; // Start from above // Create the menu header const menuHeader = document.createElement('h3'); menuHeader.textContent = 'music menu / BluckGuY c:'; menuHeader.style.margin = '10'; menuHeader.style.paddingBottom = '15px'; menuHeader.style.borderBottom = '0px solid black'; menuContainer.appendChild(menuHeader); // List of music genres and their YouTube links const musicList = [ { name: 'Party girl', url: 'https://youtu.be/s5AoSQeYmzU?si=90DM0X1oMbcUy4oQ' }, { name: 'xxxtencaion 22min songs', url: 'https://youtu.be/szScXOEkkFw?si=YT_S3dFKod4BzlJ6' }, { name: '10 hour honey pie for bluckguy', url: 'https://youtu.be/lBrp7v4PE0c?si=iuGZorhhn4st6zny' }, { name: 'suavemente', url: 'https://youtu.be/S8i64rSAVIo?si=huqKKUNSP_eNNsP8' }, { name: '1 hour miss if u got a bomba', url: 'https://youtu.be/AcatRdNlaoc?si=GAwLj6IDHP1ncZp-' }, { name: 'funk', url: 'https://youtu.be/XcI5AwfjDzA?si=Zy3kLF18k7IP8zEP' }, { name: 'z-beta', url: 'https://youtu.be/W_kxsPzH3PE?si=aueeNn5bcNdJBURY' }, { name: 'shonci - CHEGOU 3', url: 'https://www.youtube.com/embed/jMcV_OP8LSw' }, { name: 'Benzz - Je Mappelle', url: 'https://www.youtube.com/embed/_83AOaZ3Iyg' }, { name: 'whine in brazil', url: 'https://www.youtube.com/watch?v=QBhA669Umbk' }, ]; // Track the currently playing video ID let currentPlayingID = null; let currentButton = null; // Add buttons for each music genre musicList.forEach(music => { const musicItem = document.createElement('div'); musicItem.style.display = 'flex'; musicItem.style.alignItems = 'center'; musicItem.style.marginBottom = '10px'; const musicButton = document.createElement('button'); musicButton.textContent = music.name + ' (Play)'; musicButton.style.flex = '1'; musicButton.style.marginRight = '10px'; musicButton.style.padding = '10px'; musicButton.style.backgroundColor = 'Black'; musicButton.style.color = 'white'; musicButton.style.border = '1px solid black'; musicButton.style.borderRadius = '10px'; musicButton.style.cursor = 'pointer'; musicButton.style.transition = 'background-color 0.3s'; // Transition for background color const stopButton = document.createElement('button'); stopButton.textContent = 'Stop'; stopButton.style.width = '50px'; stopButton.style.padding = '10px'; stopButton.style.backgroundColor = 'Black'; stopButton.style.color = 'white'; stopButton.style.border = '1px solid white'; stopButton.style.borderRadius = '5px'; stopButton.style.cursor = 'pointer'; stopButton.addEventListener('click', () => { if (currentPlayingID) { player.stopVideo(); currentPlayingID = null; if (currentButton) { currentButton.textContent = currentButton.textContent.replace(' (Playing)', ' (Play)'); currentButton.style.backgroundColor = 'white'; } } }); musicButton.addEventListener('click', () => { if (currentPlayingID && currentButton) { player.stopVideo(); currentButton.textContent = currentButton.textContent.replace(' (Playing)', ' (Play)'); currentButton.style.backgroundColor = 'black'; } const videoID = extractVideoID(music.url); if (videoID) { player.loadVideoById(videoID); player.playVideo(); currentPlayingID = videoID; currentButton = musicButton; musicButton.textContent = music.name + ' (Playing)'; musicButton.style.backgroundColor = 'black'; // Highlight color for playing } }); musicItem.appendChild(musicButton); musicItem.appendChild(stopButton); menuContainer.appendChild(musicItem); }); // Add the menu to the page document.body.appendChild(menuContainer); // Create an invisible player container const playerContainer = document.createElement('div'); playerContainer.id = 'musicPlayer'; playerContainer.style.position = 'fixed'; playerContainer.style.bottom = '0'; playerContainer.style.right = '0'; playerContainer.style.width = '0'; playerContainer.style.height = '0'; document.body.appendChild(playerContainer); // Load YouTube IFrame Player API let tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; let firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); // Create YouTube player let player; window.onYouTubeIframeAPIReady = function() { player = new YT.Player('musicPlayer', { height: '0', width: '0', videoId: '', playerVars: { 'autoplay': 1, 'controls': 0, 'mute': 0 }, events: { 'onReady': onPlayerReady } }); }; function onPlayerReady(event) { console.log('YouTube Player is ready'); } // Function to extract video ID from YouTube URL function extractVideoID(url) { const videoIDMatch = url.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})/); return videoIDMatch ? videoIDMatch[1] : null; } // Handle TAB key to toggle the menu document.addEventListener('keydown', (event) => { if (event.key === 'Tab') { event.preventDefault(); // Prevent default TAB behavior if (menuContainer.style.display === 'none') { menuContainer.style.display = 'block'; setTimeout(() => { menuContainer.style.opacity = '1'; // Fade in effect menuContainer.style.transform = 'translate(-50%, -50%)'; // Move to final position }, 10); // Small delay to apply transition } else { menuContainer.style.opacity = '0'; // Fade out effect menuContainer.style.transform = 'translate(-50%, -60%)'; // Move to starting position setTimeout(() => { menuContainer.style.display = 'none'; }, 500); // Match transition duration } } }); })(); setInterval(() => window.follmoo && follmoo(), 10); if(location.hostname == "sandbox.moomoo.io") { document.getElementById("foodDisplay").style.display = "none"; document.getElementById("woodDisplay").style.display = "none"; document.getElementById("stoneDisplay").style.display = "none"; } document.getElementById("enterGame").addEventListener("click", autohide); function autohide() { $("#ot-sdk-btn-floating").hide(); } document.getElementById("linksContainer2").innerHTML = " "; let changes = `<div id="subConfirmationElement"><a href="https://discord.gg/BVx8EWfBny">Join Discord!</a></div>`; $('#linksContainer2').prepend(changes); $('#subConfirmationElement').click( () => { try { window.follmoo(); } catch(e){}; localStorage["moofoll"] = "1"; localStorage["moofol"] = "1"; }); document.querySelector("#joinPartyButton").remove(); document.querySelector("#pre-content-container").remove(); //ANTI AD document.getElementById("gameName").innerHTML = "VN Mod"; let changes2 = `<div id="customMenuName"><h3 style="font-size: 50px;" class = "indent">By Mrlag & HaX</a></div>`; $('#gameName').prepend(changes2); $("#gameName").css({ color: "#333", "text-shadow": "0 1px 0 #181818, 0 2px 0 #181818, 0 3px 0 #181818, 0 4px 0 #181818, 0 5px 0 #181818, 0 6px 0 #181818, 0 7px 0 #181818, 0 8px 0 #181818, 0 9px 0 #181818, rgba(0, 0, 0, 0.4) 1px 1px 40px", "text-align": "center", "font-size": "156px", "margin-bottom": "-30px", }); document.getElementById("loadingText").innerHTML = `<div id="MRLAGPRO" class="loader">` //document.getElementById("loadingText").innerHTML = "VN Loading"; document.getElementById("diedText").innerHTML = "VN Died :C"; document.getElementById("diedText").style.color = "#ffffff"; document.title = " VN Mod"; document.getElementById("leaderboard").append("VN Mod"); $("#mapDisplay").css("background", "url('https://wormax.org/chrome3kafa/moomooio-background.png')"); document.getElementById("storeHolder").style = "height: 1150px; width: 400px;"; document.getElementById('promoImgHolder').innerHTML = ` <style> p { font-size: 20px;}#noticationDisplay { vertical-align: top; position: absolute; right: 85%; top: 10%; text-align: right; } .menuButton { transition: 0.5s; border-radius: 0px; } .menuButton:hover { transform: scale(1.11); box-shadow: 0 0 20px #333; } #linksContainer2 { background: #ccc; border-top: 5px solid; border-image: linear-gradient(to right,#333,#333) 1 1 0 0; height: 18px; top: 0%; color: #333; transition: 0.3s; } #linksContainer2:hover { background: #ccc; box-shadow: 0 0 20px #333; } #top-wrap-right { color: #333; } .check-box {transform: scale(1.1); } .inParty {display: none; } input[type="checkbox"] { position: relative; appearance: none; width: 33px; height: 15.5px; border-radius: 50px; box-shadow: inset 0 0 5px rgba(41, 41, 41, 0.2); cursor: pointer; top: 7.5px; transition: 0.4s; } input:checked[type="checkbox"] { background: #333; } input[type="checkbox"]::after { position: absolute; content: ""; width: 15.5px; height: 15.5px; top: 0; left: 0; background: #fff; border-radius: 50%; box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); transform: scale(1.1); transition: 0.4s; } input:checked[type="checkbox"]::after { left: 50%; } .menuCard { background-color: #181818; border-top: 5px solid; border-image: linear-gradient(to right,#333,#303030) 1 0 0 0; color: #333; margin-top:0px; border-radius: 0px; border-bottom: 0px solid red; transition: all 1s; transform: scale(1); box-shadow: 0px 0px #333; transform: translateX(0px); } .menuCard:hover { transform: scale(1.05); box-shadow: 0 0 20px #333; } .menuCard.active { transform: translateX(0px); } #adCard { display: none; } #promoImgHolder { overflow-y: scroll; -ms-overflow-style: none; scrollbar-width: none; height: 90px; max-height: 90px; } </style> </head> <div> <i class="fa-solid fa-rectangle-list"style="font-size: 25px";></i><p>Update V2</p> <div style="font-size: 15px"> - added boost tick<br> - added normal insta<br> - added sync detect test<br> - added sync heal q hold-beta)<br> - added a lot of visuals<br> - major bug fixes<br> - optimised heal<br> - removed autobreaker secondary<br> - added biome hat<br> - fixed heal bugs <br> - made logo <br> - changed autobreaker to ####click<br> - added menu! <br> - added stack insta<br> - added autoaim<br> - optimised heals<br> - added bullspam detect<br> - added accesories <br> <i class="fa-solid fa-rectangle-list"style="font-size: 25px";></i><p>Update V1</p> <div style="font-size: 15px"> - Created vn mod, devlopment beings<br> - Added basic macros & auto triple mills<br> - Fixed buggy placement function<br> - Added mousebutton hats<br> - Added perfect spiketick<br> - Added bullspammer<br> - added autobreaker<br> - added heal based hitback<br> - added anti instas<br> - added reverse insta<br> - removed bullspammer<br> - added music menu<br> </div><div style="font-size: 15px"> </div><br> ` $("#itemInfoHolder").css({ top: "0px", left: "15px" }); $("#youtuberOf").remove(); $("#adCard").remove(); $("#mobileInstructions").remove(); $("#downloadButtonContainer").remove(); $("#mobileDownloadButtonContainer").remove(); $(".downloadBadge").remove(); const shadowStyle = "box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.4)"; const setupCardDiv = document.getElementById("setupCard"); if (setupCardDiv) { setupCardDiv.style.cssText += shadowStyle; } const serverBrowserSelect = document.getElementById("serverBrowser"); if (serverBrowserSelect) { serverBrowserSelect.style.color = "#333"; serverBrowserSelect.style.backgroundColor = "#e5e3e4"; } const enterGameButton = document.getElementById("enterGame"); if (enterGameButton) { enterGameButton.style.backgroundColor = "#333"; } const style = document.createElement("style"); style.innerHTML = ` .menuLink { font-size: 20px; color: #333; } a { color: #333; text-decoration: none; } `; document.head.appendChild(style); const nameInputElement = document.getElementById("nameInput"); if (nameInputElement) { nameInputElement.style.color = "#333"; } const guideCardDiv = document.getElementById("guideCard"); if (guideCardDiv) { guideCardDiv.style.cssText += shadowStyle; setupCardDiv.style.backgroundColor = "#181818"; guideCardDiv.style.backgroundColor = "#181818"; } (function () { if (document.querySelector("#customAudioPlayer")) return; var audioFiles = [ { url: "https://cdn.discordapp.com/attachments/1062441866416619653/1069324203297362040/Barren_Gates_-_Obey_NCS_Release.mp3", title: "Obey NCS", }, { url: "https://cdn.discordapp.com/attachments/1062441866416619653/1069323837608570941/Clarx_-_Zig_Zag_NCS_Release.mp3", title: "Zig Zag NCS", }, { url: "https://cdn.discordapp.com/attachments/1062441866416619653/1069300879708135524/Anixto_-_Ride_Or_Die_NCS_Release.mp3", title: "Ride Or Die NCS", }, { url: "https://cdn.discordapp.com/attachments/1062441866416619653/1069324799903531128/MP3DL.CC_Rival_-_Throne_-_ft._Neoni_NCS_Release-256k.mp3", title: "Throne NCS", }, { url: "https://cdn.discordapp.com/attachments/905994516719345664/918544988965568562/Dirty_Palm_-_Ropes_feat._Chandler_Jewels_NCS10_Release.mp3", title: "Ropes NCS", }, { url: "https://cdn.discordapp.com/attachments/905994516719345664/918546211584213023/Jonth_Tom_Wilson_Facading_MAGNUS_Jagsy_Vosai_RudeLies__Domastic_-_Heartless_NCS10_Release.mp3", title: "Heartless NCS", }, { url: "https://cdn.discordapp.com/attachments/905873563490328626/920005714481672212/Anikdote_-_Turn_It_Up_NCS_Release.mp3", title: "Turn It Up NCS", }, { url: "https://cdn.discordapp.com/attachments/905873563490328626/920006439999778856/Unknown_Brain_-_MATAFAKA_feat._Marvin_Divine_NCS_Release.mp3", title: "MATAFKA NCS", }, { url: "https://cdn.discordapp.com/attachments/905994516719345664/918910823290769458/koven_never_have_i_felt_this_ncs_release_gqEQ_nIByoK-gucZcxBO.mp3", title: "Never Have I Felt This NCS", }, { url: "https://cdn.discordapp.com/attachments/905994516719345664/925144953611505714/Rebel_Scum__Dani_King__Centrix_-_Calm_Before_The_Storm_NCS_Release.mp3", title: "Calm Before The Storm NCS", }, ]; var currentIndex = 0; var audio = new Audio(audioFiles[currentIndex].url); audio.preload = "auto"; audio.volume = 0.1; var repeat = false; var shuffled = false; function playNext() { if (shuffled) { currentIndex = Math.floor(Math.random() * audioFiles.length); } else if (!repeat) { currentIndex = (currentIndex + 1) % audioFiles.length; } audio.src = audioFiles[currentIndex].url; audio.play(); label.textContent = audioFiles[currentIndex].title; playButton.textContent = "Pause"; playButton.style.background = "red"; var trackButtons = document.querySelectorAll(".track-button"); trackButtons.forEach(function (trackButton, index) { if (index === currentIndex) { trackButton.classList.add("active"); } else { trackButton.classList.remove("active"); } }); } function formatDuration(duration) { var minutes = Math.floor(duration / 60); var seconds = Math.floor(duration % 60); return minutes + ":" + (seconds < 10 ? "0" : "") + seconds; } audio.addEventListener("ended", playNext); audio.addEventListener("timeupdate", function () { durationDisplay.textContent = formatDuration(audio.currentTime) + "/" + formatDuration(audio.duration); }); var player = document.createElement("div"); player.id = "customAudioPlayer"; player.style = "position:fixed;top:10px;left:10px;z-index:10001;background:#282828;border:1px solid black;padding:20px;border-radius:10px;width:300px;color:#fff;box-shadow:0px 0px 20px 5px rgba(0,0,0,0.75);display:none;flex-direction:column;align-items:center;"; var profilePicture = document.createElement("img"); profilePicture.src = "https://yt3.ggpht.com/jI1t37BCsCD_jMVBEqQPUghbRmz3KMny540V-r5iYAHaJeGolUYdUE8o1QCok7HMxEzZHZGS9Q=s600-c-k-c0x00ffffff-no-rj-rp-mo"; profilePicture.style = "width:60px;height:60px;border-radius:50%;cursor:pointer;"; profilePicture.onclick = function () { window.location.href = "https://www.youtube.com/channel/UCub84Dy0SSA0NgCqeUdjpsA"; }; player.appendChild(profilePicture); var label = document.createElement("div"); label.textContent = audioFiles[currentIndex].title; label.style = "margin-top:10px;text-align:center;"; player.appendChild(label); var playButton = document.createElement("button"); playButton.textContent = "Play"; playButton.style = "margin-top:10px;width:100%;padding:10px;border:none;border-radius:5px;background-color:green;color:white;cursor:pointer;"; playButton.onclick = function () { if (audio.paused) { audio.play(); this.textContent = "Pause"; this.style.background = "red"; } else { audio.pause(); this.textContent = "Play"; this.style.background = "green"; } }; player.appendChild(playButton); var nextButton = document.createElement("button"); nextButton.textContent = "Next"; nextButton.style = "margin-top:10px;width:100%;padding:10px;border:none;border-radius:5px;background-color:white;color:black;cursor:pointer;"; nextButton.onclick = playNext; player.appendChild(nextButton); var shuffleRepeatContainer = document.createElement("div"); shuffleRepeatContainer.style = "display:flex;justify-content:space-between;width:100%;margin-top:10px;"; player.appendChild(shuffleRepeatContainer); var shuffleButton = document.createElement("button"); shuffleButton.textContent = "Shuffle: Off"; shuffleButton.style = "padding:10px;border:none;border-radius:5px;background-color:black;color:white;cursor:pointer;width:48%;"; shuffleButton.onclick = function () { shuffled = !shuffled; this.textContent = shuffled ? "Shuffle: On" : "Shuffle: Off"; }; shuffleRepeatContainer.appendChild(shuffleButton); var repeatButton = document.createElement("button"); repeatButton.textContent = "Repeat: Off"; repeatButton.style = "padding:10px;border:none;border-radius:5px;background-color:black;color:white;cursor:pointer;width:48%;"; repeatButton.onclick = function () { repeat = !repeat; this.textContent = repeat ? "Repeat: On" : "Repeat: Off"; }; shuffleRepeatContainer.appendChild(repeatButton); var durationDisplay = document.createElement("div"); durationDisplay.style = "margin-top:10px;text-align:center;"; player.appendChild(durationDisplay); var trackList = document.createElement("div"); trackList.style = "overflow:auto;max-height:150px;margin-top:20px;border:1px solid #fff;border-radius:10px;padding:5px;"; audioFiles.forEach(function (track, index) { var trackButton = document.createElement("button"); trackButton.textContent = track.title; trackButton.classList.add("track-button"); trackButton.style = "padding:5px;border:none;border-radius:5px;background-color:black;color:white;cursor:pointer;width:100%;text-align:left;margin-top:5px;"; trackButton.onclick = function () { currentIndex = index; audio.src = track.url; audio.play(); label.textContent = track.title; playButton.textContent = "Pause"; playButton.style.background = "red"; trackButtons.forEach(function (trackButton, i) { if (i === currentIndex) { trackButton.classList.add("active"); } else { trackButton.classList.remove("active"); } }); }; trackList.appendChild(trackButton); }); player.appendChild(trackList); var activeButtonStyle = document.createElement("style"); activeButtonStyle.innerHTML = ".track-button.active{background-color:green;}"; document.head.appendChild(activeButtonStyle); var madeByLabel = document.createElement("div"); madeByLabel.textContent = "Made by Zod324myers"; madeByLabel.style = "margin-top:auto;text-align:center;"; player.appendChild(madeByLabel); document.body.appendChild(player); document.addEventListener("keydown", function (e) { if (e.key === "m" && document.activeElement.id.toLowerCase() !== "chatbox") { player.style.display = player.style.display === "none" ? "flex" : "none"; } }); })(); let lastPing = -1; let cvs = document.getElementById("gameCanvas"), ctx = cvs.getContext("2d"); let Ie = document.getElementById("pingDisplay"); Ie.replaceWith(document.createElement("div")); Ie.style.fontSize = "20px"; Ie.style.fontFamily = "Calibri"; Ie.style.display = "block"; Ie.style.zIndex = "1"; document.body.appendChild(Ie); setInterval(() => { Ie.style.display = "block"; Ie.innerText = `${window.pingTime} ping | ${fps} fps`; }, 0); const times = []; let fps; function refreshLoop() { window.requestAnimationFrame(() => { const now = performance.now(); while (times.length > 0 && times[0] <= now - 1000) { times.shift(); } times.push(now); fps = times.length; refreshLoop(); }); } refreshLoop(); Ie.style.fontSize = "20px"; Ie.style.display = "block"; Ie.style.color = "#fff"; Ie.style.textShadow = "3px 3px 3px black"; Ie.style.zIndex = "1"; let anti = true; let hitBack = false; let stackInsta = false; let lastDamageTick = 0; let HP = 100; let gameTick = 0; var shame = 0; let shameTime, damageTimes = 0; let mouseX; let mouseY; let width; let height; //autoaim1 setInterval(() => { if (autoaim == true) { doNewSend(["D", [nearestEnemyAngle]]); } }, 10); setInterval(() => { if (hatToggle == 1) { if (oldHat != normalHat) { hat(normalHat); console.log("Tried. - Hat") } if (oldAcc != normalAcc) { acc(normalAcc); console.log("Tried. - Acc") } oldHat = normalHat; oldAcc = normalAcc } }, 25); setInterval(function () { if (myPlayer.hat == 45) { doNewSend(["6", [""]]); } }, 1980);// messages send ever 2000ms but this is incase of packet mashes function normal() { hat(normalHat); acc(normalAcc); } function aim(x, y) { var cvs = document.getElementById("gameCanvas"); cvs.dispatchEvent(new MouseEvent("mousemove", { clientX: x, clientY: y })); } let coreURL = new URL(window.location.href); window.sessionStorage.force = coreURL.searchParams.get("fc"); var packet var nearestEnemy; var nearestEnemyAngle; var oppositeEnemyAngle; var enemyRan; let trap_a = null; let intrap = false; let trapid = null; var antitrap = false; var isEnemyNear; var primary; var secondary; var foodType; var wallType; var spikeType; var millType; var mineType; var boostType; var turretType; var spawnpadType; var autoaim = false; var autoprimary = false; var autosecondary = false; var tick = 1; var oldHat; var oldAcc; var enemiesNear; var normalHat; var normalAcc; var ws; var msgpack5 = msgpack; var boostDir; let myPlayer = { id: null, x: null, y: null, dir: null, object: null, weapon: null, clan: null, isLeader: null, hat: null, accessory: null, isSkull: null, }; let healSpeed = 100; var messageToggle = 0; var clanToggle = 0; let healToggle = 1; let hatToggle = 1; document.msgpack = msgpack; function n() { this.buffer = new Uint8Array([0]); this.buffer.__proto__ = new Uint8Array; this.type = 0; } WebSocket.prototype.oldSend = WebSocket.prototype.send; WebSocket.prototype.send = function(m) { if (!ws) { document.ws = this; ws = this; socketFound(this); } this.oldSend(m); }; /*function biomeHat() { if (myPlayer.y < 2400) { hat(6); } else { if (myPlayer.y > 6850 && myPlayer.y < 7550) { hat(6); } else { hat(6); } } //acc(11); }*/ function socketFound(socket) { socket.addEventListener('message', function(message) { handleMessage(message); }); } function handleMessage(m) { let temp = msgpack5.decode(new Uint8Array(m.data)); let data; if (temp.length > 1) { data = [temp[0], ...temp[1]]; if (data[1] instanceof Array) { data = data; } } else { data = temp; } let item = data[0]; if (!data) { return }; if (item === "io-init") { let cvs = document.getElementById("gameCanvas"); width = cvs.clientWidth; height = cvs.clientHeight; $(window).resize(function() { width = cvs.clientWidth; height = cvs.clientHeight; }); cvs.addEventListener("mousemove", e => { mouseX = e.clientX; mouseY = e.clientY; }); } if (item == "C" && myPlayer.id == null) { myPlayer.id = data[1]; } if (item == "a") { enemiesNear = []; for (let i = 0; i < data[1].length / 13; i++) { let playerInfo = data[1].slice(13 * i, 13 * i + 13); if (playerInfo[0] == myPlayer.id) { myPlayer.x = playerInfo[1]; myPlayer.y = playerInfo[2]; myPlayer.dir = playerInfo[3]; myPlayer.object = playerInfo[4]; myPlayer.weapon = playerInfo[5]; myPlayer.clan = playerInfo[7]; myPlayer.isLeader = playerInfo[8]; myPlayer.hat = playerInfo[9]; myPlayer.accessory = playerInfo[10]; myPlayer.isSkull = playerInfo[11]; } else if (playerInfo[7] != myPlayer.clan || playerInfo[7] === null) { enemiesNear.push(playerInfo); } } } update(); if (item == "H") { for(let i = 0; i < data[1].length / 8; i++) { let info = data[1].slice(8*i, 8*i+8); if(info[6] == millType && info[7] == myPlayer.id){ friendlyMillLocs.push(info) } if(info[7] == myPlayer.id){ onWeapon = true; } } } update(); /*if(item == "P"){ setTimeout(() => { doNewSend(["M", [{name: "vn-" + "",moofoll: 1,skin: "#cc5151"}]]); }, 200); }*/ if(item == "Q"){ removeArraysWithValue(friendlyMillLocs, data[1]) } update(); if(item == "R"){ removeArraysWithValue(friendlyMillLocs, data[1]) } update(); if(item == "S"){ if(data[1] == 3){ millCount = data[2]; } } update(); if(friendlyMillLocs){ nearestFriendlyMill = friendlyMillLocs.sort((a,b) => dist(a, myPlayer) - dist(b, myPlayer))[0]; if(nearestFriendlyMill){ nearestFriendlyMillX = nearestFriendlyMill[1] nearestFriendlyMillY = nearestFriendlyMill[2] nearestFriendlyMillScale = nearestFriendlyMill[4] } } if(Math.sqrt(Math.pow((myPlayer.y-nearestFriendlyMillY), 2) + Math.pow((myPlayer.x-nearestFriendlyMillX), 2)) < nearestFriendlyMillScale + 100) { console.log(true) isNextToFriendlyMill = true; } else { isNextToFriendlyMill = false; } WebSocket.prototype.send = function(m){ let xcc = new Uint8Array(m); this.oldSend(m); let realData = {}; let realInfo = msgpack5.decode(xcc); if (realInfo[1] instanceof Array){ realData.data = [realInfo[0], ...realInfo[1]] } let rd0 = realData.data[0]; let rd1 = realData.data[1]; let rd2 = realData.data[2] if(rd0 == 'f'){ movementDirection = rd1 } }; isEnemyNear = false; if (enemiesNear) { nearestEnemy = enemiesNear.sort((a, b) => dist(a, myPlayer) - dist(b, myPlayer))[0]; } if (nearestEnemy) { nearestEnemyAngle = Math.atan2(nearestEnemy[2] - myPlayer.y, nearestEnemy[1] - myPlayer.x); oppositeEnemyAngle = Math.atan2(nearestEnemy[2] + myPlayer.y, nearestEnemy[1] + myPlayer.x); enemyRan = Math.sqrt(Math.pow((myPlayer.y - nearestEnemy[2]), 2) + Math.pow((myPlayer.x - nearestEnemy[1]), 2)); if (Math.sqrt(Math.pow((myPlayer.y - nearestEnemy[2]), 2) + Math.pow((myPlayer.x - nearestEnemy[1]), 2)) < 285) { isEnemyNear = true; if (autoaim == false && myPlayer.hat != 7 && myPlayer.hat != 53) { normalHat = 6; if (primary != 8) { normalAcc = 21 } }; } } if (isEnemyNear == false && autoaim == false) { if (myPlayer.y < 2400) { normalHat = 15; } else if (myPlayer.y > 6850 && myPlayer.y < 7550) { normalHat = 31; } else { normalHat = 12; } } if(isEnemyNear == true && nearestEnemy[5] == 4 && nearestEnemy[9] == 7 && hitBack == true && myPlayer.hat != 7 && myPlayer.hat != 53 && myPlayer.hat != 22 && myPlayer.hat != 11){ doNewSend(["c", [0, 11, 0]]); setTimeout(()=>{ doNewSend(["c", [0, 21, 1]]); },60); } if (!nearestEnemy) { nearestEnemyAngle = myPlayer.dir; } if (item == "X") { //this is Sync detector(beta) if (data[5] == 3.6) { let dir_1 = (dir) => Math.atan2(Math.sin(dir), Math.cos(dir)); let a1 = dir_1( (Math.atan2(data[2] - myPlayer.y, data[1] - myPlayer.x) + Math.PI + Math.PI) % (Math.PI * 2) ); let a2 = dir_1((dir_1(data[3]) + Math.PI) % (Math.PI * 2)); let a3 = a1 - a2; if (0.36 > a3 && -0.36 < a3) { //doNewSend(["6", ["Sync Detect Test"]]); doNewSend(["D",[Math.atan2(data[2] - myPlayer.y, data[1] - myPlayer.x)],]); if (data[2] < 80 && data[2] > 0) { doNewSend(["c", [0, 6, 0]]); place(foodType); place(foodType); } } } } if (myPlayer.hat == 45 && shame) shameTime = 30000; if (myPlayer.hat == 45 && shame) shame = 30000; if (data[0] == "a") { gameTick++; } if (item == "O" && data[1] == myPlayer.id) { gameTick = 0; lastDamageTick = 0; shame = 0; HP = 100; shameTime = 0; if (item == "O" && data[1] == myPlayer.id) { let damage = HP - data[2]; HP = data[2]; if (damage <= -1) { damageTimes++; if (!lastDamageTick) return; let healTime = gameTick - lastDamageTick; lastDamageTick = 0; if (healTime <= 1) { shame = shame++; } else { shame = Math.max(0, shame - 2); } } else { lastDamageTick = gameTick; } } if (data[2] < 100 && data[2] > 0 && healToggle == true) { //normal heal console.log("normal healing"); setTimeout(() => { place(foodType); place(foodType); doNewSend(["c", [0, 6, 0]]); // doNewSend(["6", ["Heal"]]); }, 115); } if (data[2] < 48 && data[2] > 0 && anti == true && (nearestEnemy[5] == 5 || nearestEnemy[5] == 3)) { healToggle = false; //antiinsta no sold for pol console.log("no soldier anti - polearm"); doNewSend(["c", [0, 22, 0]]); //doNewSend(["6", ["Anti"]]); place(foodType); setTimeout(() => { place(foodType); doNewSend(["c", [0, 6, 0]]); healToggle = true; }, 200); setTimeout(() => { doNewSend(["c", [0, 7, 0]]); }, 700); setTimeout(() => { doNewSend(["c", [0, 6, 0]]); }, 1900); } if (data[2] < 62 && data[2] > 41 && anti == true && (nearestEnemy[5] == 5 || nearestEnemy[5] == 3)) { healToggle = false; //antiinsta for pol console.log("anti insta - polearm"); doNewSend(["c", [0, 22, 0]]); //doNewSend(["6", ["Anti"]]); place(foodType); setTimeout(() => { place(foodType); doNewSend(["c", [0, 6, 0]]); healToggle = true; }, 200); setTimeout(() => { doNewSend(["c", [0, 7, 0]]); }, 700); setTimeout(() => { doNewSend(["c", [0, 6, 0]]); }, 1900); } if (data[2] < 56 && data[2] > 50) { healToggle = false; //bullspam heal console.log("anti bullspam"); setTimeout(() => { place(foodType); place(foodType); doNewSend(["c", [0, 6, 0]]); //doNewSend(["6", ["BHeal1"]]); healToggle = true; }, 140); } if (data[2] < 41 && data[2] > 0 && hitBack == true && nearestEnemy[5] == 4) { console.log("hitbacking"); healToggle = false; autoaim = true; setTimeout(() => { place(foodType); place(foodType); }, 133); place(spikeType, nearestEnemyAngle); doNewSend(["n", [1]]); doNewSend(["c", [0, 7, 0]]); doNewSend(["z", [primary, true]]); setTimeout(() => { doNewSend(["c", [0, 53, 0]]); doNewSend(["n", [0]]); healToggle = true; }, 150); setTimeout(() => { doNewSend(["c", [0, 11, 0]]); autoaim = false; }, 300); } } update(); } function doNewSend(sender) { ws.send(new Uint8Array(Array.from(msgpack5.encode(sender)))); } function acc(id) { doNewSend(["c", [0, 0, 1]]); doNewSend(["c", [0, id, 1]]); } function hat(id) { doNewSend(["c", [0, id, 0]]); } function placeO(id, angle = Math.atan2(mouseY - height / 2, mouseX - width / 2)) { doNewSend(["z", [myPlayer.weapon, true]]); doNewSend(["z", [id, null]]); doNewSend(["F", [1, angle]]); doNewSend(["F", [0, angle]]); doNewSend(["z", [myPlayer.weapon, true]]); } function place(id, angle = Math.atan2(mouseY - height / 2, mouseX - width / 2)) { doNewSend(["z", [id, null]]); doNewSend(["F", [1, angle]]); doNewSend(["F", [0, angle]]); doNewSend(["z", [myPlayer.weapon, true]]); } var repeater = function(key, action, interval, bu) { let _isKeyDown = false; let _intervalId = undefined; return { start(keycode) { if (keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') { _isKeyDown = true; if (_intervalId === undefined) { _intervalId = setInterval(() => { action(); if (!_isKeyDown) { clearInterval(_intervalId); _intervalId = undefined; console.log("claered"); } }, interval); } } }, stop(keycode) { if (keycode == key && document.activeElement.id.toLowerCase() !== 'chatbox') { _isKeyDown = false; } } }; } function removeArraysWithValue(arr, valueToRemove) { for (let i = arr.length - 1; i >= 0; i--) { const innerArray = arr[i]; if (innerArray.includes(valueToRemove)) { arr.splice(i, 1); } } } let movementDirection let millCount = 0; let nearestRandomObjectX; let nearestRandomObjectY; let friendlyMillLocs = []; let nearestFriendlyMill; let nearestFriendlyMillX; let nearestFriendlyMillY; let nearestFriendlyMillScale; let isNextToFriendlyMill = false; let automilling = false let automill = false setInterval(()=>{ if(automill == true && isNextToFriendlyMill == false && millCount < 298 && automilling == false){ automilling = true; doNewSend(["z",[millType, null]]) doNewSend(["F",[1, (movementDirection - 1.90)]]) doNewSend(["F",[0, (movementDirection - 1.90)]]) doNewSend(["z",[myPlayer.weapon, true]]) doNewSend(["z",[millType, null]]) doNewSend(["F",[1, (movementDirection - 3.14)]]) doNewSend(["F",[0, (movementDirection - 3.14)]]) doNewSend(["z",[myPlayer.weapon, true]]) doNewSend(["z",[millType, null]]) doNewSend(["F",[1, (movementDirection + 1.90)]]) doNewSend(["F",[0, (movementDirection + 1.90)]]) doNewSend(["z",[myPlayer.weapon, true]]) automilling = false } }, 100) const boostPlacer = repeater(70,() => {place(boostType);},50); const spikePlacer = repeater(86,() => {place(spikeType);},50); const placers = [boostPlacer, spikePlacer]; let prevCount = 0; const handleMutations = (mutationsList) => { for (const mutation of mutationsList) { if (mutation.target.id === "killCounter") { const count = parseInt(mutation.target.innerText, 10) || 0; if (count > prevCount) { doNewSend(["6", ["."]]); setTimeout(()=>{ doNewSend(["6", [""]]); },650); prevCount = count; } } } }; const observer = new MutationObserver(handleMutations); observer.observe(document, { subtree: true, childList: true, }); document.addEventListener('keydown', (e) => { if (["allianceinput", "chatbox", "nameinput", "storeHolder"].includes(document.activeElement.id.toLowerCase())) return null; placers.forEach((t) => { t.start(e.keyCode); }); if (e.keyCode == 78 && document.activeElement.id.toLowerCase() !== "chatbox") {// N = Automill automill = !automill; } if (e.keyCode == 72 && document.activeElement.id.toLowerCase() !== "chatbox") {// H = Turret/Teleporter for (let i = 0; i < Math.PI * 1; i+= Math.PI / 2) { place(turretType, myPlayer.dir + i); place(turretType, myPlayer.dir - i); } } /* if (e.keyCode == 16) { biomeHat(); }*/ if (e.keyCode == 32 && document.activeElement.id.toLowerCase() !== "chatbox") { // spiketick autoaim = true; console.log("spiektick"); place(spikeType, nearestEnemyAngle); doNewSend(["F", [1]]); doNewSend(["c", [0, 7, 0]]); doNewSend(["z", [primary, true]]); doNewSend(["F", [1]]); setTimeout(() => { doNewSend(["c", [0, 6, 0]]); doNewSend(["F", [0]]); autoaim = false; }, 400); } if (e.keyCode == 89 && document.activeElement.id.toLowerCase() !== "chatbox") {//diamond pol 1 tick autoaim = true; doNewSend(["z", [primary, true]]); doNewSend(["c", [0, 53, 0]]); setTimeout(() => { doNewSend(["c", [0, 7, 0]]); doNewSend(["F", [1]]); }, 100); setTimeout(() => { doNewSend(["z", [primary, true]]); doNewSend(["c", [0, 6, 0]]); doNewSend(["F", [0]]); autoaim = false; }, 500); } if (e.keyCode == 82 &&document.activeElement.id.toLowerCase() !== "chatbox") { if (stackInsta == false) { console.log("normal insta"); autoaim = true; doNewSend(["c", [0, 7, 0]]); doNewSend(["z", [primary, true]]); doNewSend(["c", [0, 0, 1]]) doNewSend(["F", [1]]); acc(18) doNewSend(["c", [1]]); setTimeout(() => { doNewSend(["z", [secondary, true]]); doNewSend(["c", [0, 53, 0]]); doNewSend(["c", [0, 0, 1]]); acc(21) }, 105); setTimeout(() => { doNewSend(["z", [secondary, true]]); }, 110); setTimeout(() => { doNewSend(["z", [secondary, true]]); }, 115); setTimeout(() => { doNewSend(["z", [primary, true]]); doNewSend(["F", [0, null]]); doNewSend(["c", [0, 6, 0]]); doNewSend(["c", [0, 0, 0]]); doNewSend(["c", [0, 0, 1]]); hat(6) acc(21) autoaim = false; }, 215); } else { console.log("stack insta"); autoaim = true; doNewSend(["c", [0, 7, 0]]); doNewSend(["z", [primary, true]]); doNewSend(["c", [0, 0, 1]]) doNewSend(["F", [1]]); acc(18) doNewSend(["c", [1]]); setTimeout( () => { var sck = ""; doNewSend(["z", [secondary, true]]); doNewSend(["c", [0, 53, 0]]); doNewSend(["c", [0, 0, 1]]); for(let i = 0; i < 850; i++){ let caas = new Uint8Array(550); for(let i = 0; i <caas.length;i++){ caas[i] = Math.floor(Math.random()*270); sck += caas[i] } } ws.send(caas); }, 105); setTimeout(() => { doNewSend(["z", [secondary, true]]); }, 200); setTimeout(() => { doNewSend(["z", [primary, true]]); doNewSend(["F", [0, null]]); doNewSend(["c", [0, 6, 0]]); doNewSend(["c", [0, 0, 0]]); doNewSend(["c", [0, 0, 1]]); hat(6) acc(21) autoaim = false; }, 215); } } if (e.keyCode == 188 &&document.activeElement.id.toLowerCase() !== "chatbox") { console.log("boost tick"); autoaim = true; setTimeout(()=>{ doNewSend(["F", [1]]); doNewSend(["z", [secondary, true]]); },99); setTimeout(()=>{ doNewSend(["c", [0, 53, 0]]); place(boostType); },50); setTimeout(() => { doNewSend(["z", [primary, true]]); doNewSend(["c", [0, 7, 0]]); doNewSend(["F", [1]]); doNewSend(["F", [0]]); }, 175); setTimeout(() => { doNewSend(["z", [primary, true]]); doNewSend(["c", [0, 6, 0]]); doNewSend(["F", [0]]); autoaim = false; }, 500); } if (e.keyCode == 84 && document.activeElement.id.toLowerCase() !== "chatbox") { if(stackInsta == false){ // insta autoaim = true; console.log("reverse insta"); doNewSend(["F", [1]]); doNewSend(["z", [secondary, true]]); doNewSend(["c", [0, 53, 0]]); setTimeout(() => { doNewSend(["z", [primary, true]]); doNewSend(["c", [0, 7, 0]]); doNewSend(["n", [1]]); doNewSend(["n", [0]]); }, 80); setTimeout(() => { doNewSend(["z", [primary, true]]); doNewSend(["c", [0, 6, 0]]); doNewSend(["F", [0]]); autoaim = false; }, 500); } else { autoaim = true; console.log("stacked reverse insta"); doNewSend(["F", [1]]); doNewSend(["z", [secondary, true]]); doNewSend(["c", [0, 53, 0]]); setTimeout(() => { var sck = ""; doNewSend(["z", [primary, true]]); doNewSend(["c", [0, 7, 0]]); doNewSend(["F", [1]]); doNewSend(["F", [0]]); for(let i = 0; i < 850; i++){ let caas = new Uint8Array(550); for(let i = 0; i <caas.length;i++){ caas[i] = Math.floor(Math.random()*270); sck += caas[i] } } ws.send(caas); }, 80); setTimeout(() => { doNewSend(["z", [primary, true]]); doNewSend(["c", [0, 6, 0]]); doNewSend(["F", [0]]); autoaim = false; }, 500); } } if (e.keyCode == 66 &&document.activeElement.id.toLowerCase() !== "chatbox") {//manual bulltick doNewSend(["c", [0, 7, 0]]); setTimeout(()=>{ doNewSend(["c", [0, 13, 1]]); },60); } }) document.addEventListener('keyup', (e) => { if (["allianceinput", "chatbox", "nameinput", "storeHolder"].includes(document.activeElement.id.toLowerCase())) return null; placers.forEach((t) => { t.stop(e.keyCode); }) }) document.addEventListener("mousedown", (event) => { if (event.button == 2 && secondary != 10) { doNewSend(["F", [1]]); doNewSend(["c", [0, 40, 0]]); doNewSend(["z", [primary, true]]); setTimeout(()=>{ doNewSend(["F", [0]]); doNewSend(["c", [0, 6, 0]]); },100); } else if (event.button == 2) { doNewSend(["F", [1]]); doNewSend(["c", [0, 40, 0]]); doNewSend(["z", [secondary, true]]); setTimeout(()=>{ doNewSend(["F", [0]]); doNewSend(["c", [0, 6, 0]]); },100); } }); /*document.addEventListener("mousedown", (event) => { if (event.button == 0) { doNewSend(["F", [1]]); doNewSend(["c", [0, 7, 0]]); doNewSend(["z", [primary, true]]); setTimeout(()=>{ doNewSend(["F", [0]]); doNewSend(["c", [0, 6, 0]]); },100); } });*/ function isElementVisible(e) { return (e.offsetParent !== null); } function toRad(angle) { return angle * 0.01745329251; } function dist(a, b) { return Math.sqrt(Math.pow((b.y - a[2]), 2) + Math.pow((b.x - a[1]), 2)); } function update() { for (let i = 0; i < 9; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { primary = i; } } for (let i = 9; i < 16; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { secondary = i; } } for (let i = 16; i < 19; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { foodType = i - 16; } } for (let i = 19; i < 22; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { wallType = i - 16; } } for (let i = 22; i < 26; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { spikeType = i - 16; } } for (let i = 26; i < 29; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { millType = i - 16; } } for (let i = 29; i < 31; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { mineType = i - 16; } } for (let i = 31; i < 33; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString()))) { boostType = i - 16; } } for (let i = 33; i < 39; i++) { if (isElementVisible(document.getElementById("actionBarItem" + i.toString())) && i != 36) { turretType = i - 16; } } spawnpadType = 36; } var styleItem = document.createElement("style"); styleItem.type = "text/css"; styleItem.appendChild(document.createTextNode(` .loader { position: absolute; top:110%; left:46%; border: 16px solid #333; border-radius: 50%; border-top: 16px solid #181818; box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.4); width: 60px; height: 60px; -webkit-animation: spin 0.5s linear infinite; /* Safari */ animation: spin 0.5s linear infinite; } @-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); } } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } #gameUI .joinAlBtn, a { animation: 5s infinite linear both normal rainbow; } @keyframes rainbow { 0% { filter: hue-rotate(0deg) } 100% { filter: hue-rotate(360deg) } }`)); document.head.appendChild(styleItem); window.addEventListener("load", () => { let toggleRender = true; let canvas = document.getElementById("gameCanvas"); let ctx = canvas.getContext("2d"); let screenWidth = 1920; let screenHeight = 1080; let screenW = screenWidth / 2; let screenH = screenHeight / 2; function render() { if (toggleRender) { ctx.beginPath(); let gradient = ctx.createRadialGradient(screenW, screenH, 0, screenW, screenH, screenWidth); for (let i = 0; i <= 1; i++) { gradient.addColorStop(i, "rgba(0, 0, 0, " + i + ")"); } ctx.fillStyle = gradient; ctx.rect(0, 0, screenWidth, screenHeight); ctx.fill(); } window.requestAnimFrame(render); } render(); }); document.addEventListener("keydown", function (e) { if (e.keyCode == 27) { $('#infomenu').toggle(); ext = !ext; }; }); // Menu $("body").after(` <div id="infomenu"> <hr> <div class="nameblock">VN Mod v2</div> <hr> <ul> <li></label><label><div class="text">AntiInsta<input type="checkbox" id="anti" checked><span class="checkmark"></div></li> <li></label><label><div class="text">HitBack<input type="checkbox" id="hitBack"><span class="checkmark"></div></li> <li></label><label><div class="text">Stacked Insta<input type="checkbox" id="stackInsta"><span class="checkmark"></div></li> </ul> <hr> <div class="nameblock">Controls:</div> <hr> <div class="text"> </li> <li> N - Auto Triple Mill </li> <li> V - Spike </li> <li> F - Trap </li> <li> H - Double Turrets </li> <li> M - Music Menu </li> <li> Space - Perfect Stacked Spiketick </li> <li> RightClick - AutoBreaker </li> <li> R - Normal Instakill </li> <li> T - Reverse Instakill </li> <li> Y - OneTick </li> <li> , - Boost OneTick </li> <li> B - Bulltick </li> <li> Esc - Menu </li> </ul> <hr> </div> </div> <style> button:active, button:focus { outline: none !important; } button::-moz-focus-inner { border: 0 !important; } .nameblock { font-size: 20px; color: #dbdbdb; text-align: center; } li { font-size: 13px; } .text { display: block; font-size: 17px; color: #fff; text-align: left; } .menuToggle:hover{ cursor: pointer; position: absolute; background: linear-gradient(to right, red, orange, yellow, green, cyan, blue, violet); background-size: 400% 400%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; -webkit-animation: colorR 20s ease infinite; animation: colorR 20s ease infinite; font-family: "Hammersmith One"; display: block !important; top: 80px; left: 1517px; font-size: 17px; } .menuToggle{ cursor: pointer; position: absolute; background: linear-gradient(to right, gray, black); background-size: 400% 400%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; -webkit-animation: colorR 20s ease infinite; animation: colorR 20s ease infinite; font-family: "Hammersmith One"; display: block !important; top: 80px; left: 1517px; font-size: 17px; } ::-webkit-scrollbar { width: 5px; height: 3px;} ::-webkit-scrollbar-button { background-color: #000000; } ::-webkit-scrollbar-track { background-color: #999;} ::-webkit-scrollbar-track-piece { background-color: rgba(0, 0, 0, 0.50);} ::-webkit-scrollbar-thumb { height: 50px; background-color: #666; border-radius: 3px;} ::-webkit-scrollbar-corner { background-color: #999;}} ::-webkit-resizer { background-color: #666;} #infomenu { overflow-y: scroll; overflow-x: hidden; padding: 20px; position: absolute; display: none; background: rgba(102, 102, 102, 0.25); width: 310px; height: 450px; border: 2px solid black; border-radius: 4px; top: 80px; left: 20px; z-index: 1; } input {outline: 0 !important;} .Input_Text_style, .Input_Buttob_style { background: rgba(102, 102, 102); border: 2px solid black; border-radius: 10px; color: #fff; -o-transition: all 1s ease; -ms-transition: all 1s ease; -moz-transition: all 1s ease; -webkit-transition: all 1s ease; transition: all 1s ease; } .Input_Text_style:focus,.Input_Buttob_style:focus { border: 2px solid #fff; } </style> <script> function InfoMenu() { $("#infomenu").css({ "display" : "block" }); } /*(function() { var UPDATE_DELAY = 700; var lastUpdate = 0; var frames = 0; var values; function updateCounter() { var now = Date.now(); var elapsed = now - lastUpdate; if (elapsed < UPDATE_DELAY) { ++frames; } else { var fps = Math.round(frames / (elapsed / 1000)); document.getElementById("fps").textContent ="Fps: " + fps ; frames = 0; lastUpdate = now; } requestAnimationFrame(updateCounter); } lastUpdate = Date.now(); requestAnimationFrame(updateCounter); })(); setInterval(()=>{ document.getElementById("ping").textContent = "Ping: " + window.pingTime; },0);*/ </script> `); $("body").after(` <div id="ShowMenu"> </span> <div id="addtext">LeftAndRightClick: On</div> <div id="addtext3">Balant macros: On</div> <div id="addtext0">Soldier-Q: On</div> <div id="addtext4">AutoSpawn: On</div> <div id="addtext1">Left-Click</div> <div id="addtext2">Right-Click</div> <style> #ShowMenu { position:absolute !important; display:block; top: 5px; left: 5px; width: auto; height: auto; text-align: center; } #addtext,#addtext1,#addtext2,#addtext0,#addtext3,#addtext4{ display: none; color: #fff; background: linear-gradient(to right, red, orange, yellow, green, cyan, blue, violet); background-size: 400% 400%; font-size: 20px; -webkit-background-clip: text; -webkit-text-fill-color: transparent; -webkit-animation: colorR 20s ease infinite; animation: colorR 20s ease infinite; } @-webkit-keyframes colorR { 0% { background-position: 0% 50% } 50% { background-position: 100% 50% } 100% { background-position: 0% 50% } } @keyframes colorR { 0% { background-position: 0% 50% } 50% { background-position: 100% 50% } 100% { background-position: 0% 50% } } </style> <script> </script> `); var antii = document.querySelector("#anti") antii.addEventListener('change', function() { if (this.checked) { anti = true; } else { anti = false; } }); var hitBackk = document.querySelector("#hitBack") hitBackk.addEventListener('change', function() { if (this.checked) { hitBack = true; } else { hitBack = false; } }); var stackInstaa = document.querySelector("#stackInsta") stackInstaa.addEventListener('change', function() { if (this.checked) { stackInsta = true; } else { stackInsta = false; } }); //ANTI SHAME & ANTI INSTA function autobulltickandantiinsta () { if (my.reSync && player.bullTick && tmpObj.shameCount > 2) { my.reSync = true; buyEquip(7, 0); buyEquip(6, 0); } else if (tmpObj.shameCount < 2 && tmpObj.shameCount > 1) { my.reSync = false; buyEquip(6, 0); } } if (near.weaponIndex > 5 && near.dist2 <= 150) { buyEquip(26, 0); buyEquip(6, 0); } /** AUTO HEAL **/ let autoHeal = (health, damage) => { let cHealSpeed = 120; if (nearestEnemy && damage >= 35 && (nearestEnemy.weapon == weapon.polearm || nearestEnemy.weapon == weapon.short_sword) && (nearestEnemy.hat == 7 || nearestEnemy.hat == 53 || nearestEnemy.hat == 6)) { cHealSpeed -= 70; place(foodType, null); } else if (nearestEnemy && damage >= 35) { cHealSpeed -= 60; } else { cHealSpeed = 120; } if (health < myPlayer.maxHealth) { let healing = setInterval(() => { if (myPlayer.health < myPlayer.maxHealth) { place(foodType, null); } else { clearInterval(healing); } }, cHealSpeed); } }; /** UPDATE HEALTH **/ let lastHealth = 100; let updateHealth = (health, playerID) => { if (myPlayer.id === playerID) { let damage = Math.max(0, lastHealth - health); myPlayer.health = health; if (myPlayer.health > 0) { autoHeal(myPlayer.health, damage); } lastHealth = health; } else { enemy.health = health; } };