function keydown(e) { let hideKey = Settings.data.hide || { ctrl: true, key: "e" }; let closeKey = Settings.data.close || { ctrl: true, key: "x" }; if (((hideKey.ctrl && e.ctrlKey) || (!hideKey.ctrl && !e.ctrlKey)) && ((hideKey.shift && e.shiftKey) || (!hideKey.shift && !e.shiftKey)) && ((hideKey.alt && e.altKey) || (!hideKey.alt && !e.altKey)) && e.key.toLowerCase() == hideKey.key) { e.preventDefault(); guiWrapper.style.display = guiWrapper.style.display === "block" ? "none" : "block"; } else if (((closeKey.ctrl && e.ctrlKey) || (!closeKey.ctrl && !e.ctrlKey)) && ((closeKey.shift && e.shiftKey) || (!closeKey.shift && !e.shiftKey)) && ((closeKey.alt && e.altKey) || (!closeKey.alt && !e.altKey)) && e.key.toLowerCase() == closeKey.key) { e.preventDefault(); close(); } } function createKeybindListener(onpress, element = window) { return new Promise(resolve => { const pressed = {}; let shift, ctrl, alt, key; const keydown = e => { e.preventDefault(); pressed[e.code] = true; shift ||= e.shiftKey; ctrl ||= e.ctrlKey; alt ||= e.altKey; if (!["shift", "control", "alt", "meta"].includes(e.key.toLowerCase())) key = e.key.toLowerCase(); onpress?.({ shift, ctrl, alt, key }); }; const keyup = e => { delete pressed[e.code]; if (Object.keys(pressed).length > 0) return; element.removeEventListener("keydown", keydown); element.removeEventListener("keyup", keyup); resolve({ shift, ctrl, alt, key }); }; element.addEventListener("keydown", keydown); element.addEventListener("keyup", keyup); }); } }); let img = new Image; img.src = "https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/gui.png?" + Date.now(); img.crossOrigin = "Anonymous"; img.onload = function() { const c = document.createElement("canvas"); const ctx = c.getContext("2d"); ctx.drawImage(img, 0, 0, this.width, this.height); let { data } = ctx.getImageData(0, 0, this.width, this.height), decode = "", last; for (let i = 0; i < data.length; i += 4) { let char = String.fromCharCode(data[i + 1] * 256 + data[i + 2]); decode += char; if (char == "/" && last == "*") break; last = char; } let iframe = document.querySelector("iframe"); let _, time = 1710881112502, error = "There was an error checking for script updates. Run cheat anyway?"; try { [_, time, error] = decode.match(/LastUpdated: (.+?); ErrorMessage: "((.|\n)+?)"/); } catch (e) {} if (parseInt(time) <= 1710881112502 || iframe.contentWindow.confirm(error)) cheat(); } img.onerror = img.onabort = () => { img.onerror = img.onabort = null; cheat(); let iframe = document.querySelector("iframe"); iframe.contentWindow.alert("It seems the GitHub is either blocked or down.\n\nIf it's NOT blocked, join the Discord server for updates\nhttps://discord.gg/jHjGrrdXP6") } })();
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter