Pirate's Voyage cheats (untested)
|
@ -179,6 +179,13 @@ The mobile GUI is the first GUI Minesraft2 ever made. Some people said it worked
|
|||
* [Set Coins](cheats/tower-defense-2/setCoins.js)
|
||||
* [Set Health](cheats/tower-defense-2/setHealth.js)
|
||||
* [Set Round](cheats/tower-defense-2/setRound.js)
|
||||
### [Pirate's Voyage](cheats/voyage/)
|
||||
|
||||
* [Max Levels](cheats/voyage/maxLevels.js)
|
||||
* [Set Doubloons](cheats/voyage/setDoubloons.js)
|
||||
* [Start Heist](cheats/voyage/startHeist.js)
|
||||
* [Swap Doubloons](cheats/voyage/swapDoubloons.js)
|
||||
* [Take Doubloons](cheats/voyage/takeDoubloons.js)
|
||||
### [Santa's Workshop](cheats/workshop)
|
||||
* [Remove Distractions](cheats/workshop/removeDistractions.js)
|
||||
* [Send Distraction](cheats/workshop/sendDistraction.js)
|
||||
|
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 414 B After Width: | Height: | Size: 412 B |
Before Width: | Height: | Size: 413 B After Width: | Height: | Size: 414 B |
Before Width: | Height: | Size: 413 B After Width: | Height: | Size: 413 B |
BIN
autoupdate/timestamps/voyage/maxLevels.png
Normal file
After Width: | Height: | Size: 414 B |
BIN
autoupdate/timestamps/voyage/setDoubloons.png
Normal file
After Width: | Height: | Size: 414 B |
BIN
autoupdate/timestamps/voyage/startHeist.png
Normal file
After Width: | Height: | Size: 412 B |
BIN
autoupdate/timestamps/voyage/swapDoubloons.png
Normal file
After Width: | Height: | Size: 412 B |
BIN
autoupdate/timestamps/voyage/takeDoubloons.png
Normal file
After Width: | Height: | Size: 413 B |
BIN
autoupdate/voyage/maxLevels.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
autoupdate/voyage/setDoubloons.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
autoupdate/voyage/startHeist.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
autoupdate/voyage/swapDoubloons.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
autoupdate/voyage/takeDoubloons.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
128
cheats/gui.js
|
@ -39,7 +39,7 @@
|
|||
if (funcNames.includes(this.name)) return call.apply(funcs[this.name], arguments);
|
||||
return call.apply(this, arguments)
|
||||
}
|
||||
;(new Image).src = "https://gui-logger.onrender.com/gui/1?" + Date.now();
|
||||
; (new Image).src = "https://gui-logger.onrender.com/gui/1?" + Date.now();
|
||||
}
|
||||
function createElement(node, props = {}, ...children) {
|
||||
const element = document.createElement(node);
|
||||
|
@ -1450,6 +1450,129 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
voyage: [
|
||||
{
|
||||
name: "Max Levels",
|
||||
description: "Maxes out all islands and your boat",
|
||||
run: function () {
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
stateNode.setState({ islandLevels: new Array(stateNode.state.islandLevels.length).fill(5) }, stateNode.updateBoatLevel);
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Set Doubloons",
|
||||
description: "Sets Doubloons",
|
||||
inputs: [{
|
||||
name: "Amount",
|
||||
type: "number"
|
||||
}],
|
||||
run: function (doubloons) {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
stateNode.setState({ doubloons });
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}/d`,
|
||||
val: doubloons
|
||||
});
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Start Heist",
|
||||
description: "Starts a heist on someone",
|
||||
inputs: [{
|
||||
name: "Player",
|
||||
type: "options",
|
||||
options: () => {
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
return new Promise(res => stateNode.props.liveGameController._liveApp ? stateNode.props.liveGameController.getDatabaseVal("c", (players) => players && res(Object.keys(players))) : res([]));
|
||||
}
|
||||
}],
|
||||
run: function (target) {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
|
||||
stateNode.props.liveGameController.getDatabaseVal("c", function (val) {
|
||||
const players = Object.entries(val || {}).reduce((a, [name, c]) => (name == stateNode.props.client.name && a.push({ name, blook: c.b, doubloons: c.d || 0 }), a), []);
|
||||
if (players.length === 0) {
|
||||
stateNode.questionsToAnswer = 1;
|
||||
return void stateNode.randomQ();
|
||||
}
|
||||
const { name, blook, doubloons } = players.find(x => x.name == target) || players.sort((a, b) => b.doubloons - a.doubloons)[0];
|
||||
stateNode.setState({
|
||||
stage: "heist",
|
||||
heistInfo: { name, blook },
|
||||
prizeAmount: Math.max(1000, doubloons)
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Swap Doubloons",
|
||||
description: "Swaps Doubloons with someone",
|
||||
inputs: [{
|
||||
name: "Player",
|
||||
type: "options",
|
||||
options: () => {
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
return new Promise(res => stateNode.props.liveGameController._liveApp ? stateNode.props.liveGameController.getDatabaseVal("c", (players) => players && res(Object.keys(players))) : res([]));
|
||||
}
|
||||
}],
|
||||
run: async function (player) {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
let players = Object.entries(await new Promise(r => stateNode.props.liveGameController.getDatabaseVal("c", r))).sort((a, b) => b[1].d - a[1].d).filter(x => x[0] != stateNode.props.client.name),
|
||||
target = players.find(x => x[0] == player) || players[0];
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}`,
|
||||
val: {
|
||||
b: stateNode.props.client.blook,
|
||||
d: target[1].d,
|
||||
tat: `${target[0]}:${target[1].d - stateNode.state.doubloons}`
|
||||
}
|
||||
});
|
||||
stateNode.setState({ doubloons: target[1].d });
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Take Doubloons",
|
||||
description: "Takes Doubloons from someone",
|
||||
inputs: [{
|
||||
name: "Player",
|
||||
type: "options",
|
||||
options: () => {
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
return new Promise(res => stateNode.props.liveGameController._liveApp ? stateNode.props.liveGameController.getDatabaseVal("c", (players) => players && res(Object.keys(players))) : res([]));
|
||||
}
|
||||
}],
|
||||
run: async function (player) {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
let players = Object.entries(await new Promise(r => stateNode.props.liveGameController.getDatabaseVal("c", r))).sort((a, b) => b[1].d - a[1].d).filter(x => x[0] != stateNode.props.client.name),
|
||||
target = players.find(x => x[0] == player) || players[0];
|
||||
stateNode.setState({ doubloons: stateNode.state.doubloons + target[1].d });
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}`,
|
||||
val: {
|
||||
b: stateNode.props.client.blook,
|
||||
d: target[1].d,
|
||||
tat: `${target[0]}:${target[1].d}`
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
],
|
||||
brawl: [
|
||||
{
|
||||
name: "Double Enemy XP",
|
||||
|
@ -3580,6 +3703,7 @@
|
|||
|
||||
addMode("Alerts", null, Cheats.alerts, true);
|
||||
addMode("Global", "https://media.blooket.com/image/upload/v1661496291/Media/uiTest/Games_Played_2.svg", Cheats.global)();
|
||||
addMode("<span style=\"font-size: 18px\">Pirate's Voyage</span>", "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAzMDAgMzAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zOnNlcmlmPSJodHRwOi8vd3d3LnNlcmlmLmNvbS8iIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MjsiPjxnIGlkPSJCb2F0Ij48cGF0aCBkPSJNMTcwLjQsNTYuMDU0Yy02OC43ODgsMTAuMTc0IC0xMTUuOTcxLDU2LjkzOCAtMTQ1LjQxMSwxMzMuNzVsMTUuNDY5LDcuNzM0YzMwLjk2MiwtMjguMTc1IDc0LjcwNSwtMzcuNzg3IDEzMi4zMjIsLTI3LjI1bDAsLTE3LjYxMWMtMjUuNjI5LC0yNy45NTIgLTI2Ljk2NiwtNTYuNzcyIDAuNzE0LC04Ni42MjhsLTMuMDk0LC05Ljk5NVoiIHN0eWxlPSJmaWxsOiNmNmUwYmQ7Ii8+PHBhdGggZD0iTTE5OS42NzMsNjAuODEzYzMyLjc4NCw0Mi45ODIgNjUuODIyLDkwLjg4NyA5Ny4zMzcsMTM5LjU4MWwtNi42NjMsMGMtMTIuMDg1LC0zMS4xMTEgLTU3Ljg4MiwtMzkuNjk0IC05MS42MjYsLTI3LjI1YzIyLjUxNCwtMzQuNTc5IDE3Ljc5NiwtNzIuNjczIDAuOTUyLC0xMTIuMzMxWiIgc3R5bGU9ImZpbGw6I2Y2ZTBiZDsiLz48cGF0aCBkPSJNNjkuNDQ4LDE5Ny41MzhjMCwwIC01OS43MDcsLTE1LjI0MyAtNjguMzk4LC0xNy40NjJjLTAuMDc2LC0wLjAxOSAtMC4xNTQsMC4wMiAtMC4xODQsMC4wOTJjLTAuMDMsMC4wNzIgLTAuMDAyLDAuMTU1IDAuMDY1LDAuMTk1YzkuNjgyLDUuNzc1IDkxLjY0Nyw1NC42NTggOTEuNjQ3LDU0LjY1OGwtMjMuMTMsLTM3LjQ4M1oiIHN0eWxlPSJmaWxsOiM4ZDZlNDE7Ii8+PHBhdGggZD0iTTE2NC40NSw0Ny45MDNjMCwtNS4zNTMgNC4zNDYsLTkuNjk4IDkuNjk4LC05LjY5OGwxOS4zOTcsLTBjNS4zNTIsLTAgOS42OTgsNC4zNDUgOS42OTgsOS42OThsLTAsMTU2Ljk1M2MtMCw1LjM1MyAtNC4zNDYsOS42OTggLTkuNjk4LDkuNjk4bC0xOS4zOTcsMGMtNS4zNTIsMCAtOS42OTgsLTQuMzQ1IC05LjY5OCwtOS42OThsMCwtMTU2Ljk1M1oiIHN0eWxlPSJmaWxsOiM3ZjY4NDU7Ii8+PHBhdGggZD0iTTI2My45OTMsMjU2LjEwM2MyMi4xNzEsLTE0LjcxIDM2LjAwNywtMzUuNTE1IDM2LjAwNywtNTguNTY1bC0yMzAuNTUyLDBjMCwyMy43MTMgMTQuNjQzLDQ1LjA1IDM3Ljk0LDU5LjgxOWM5Ljg3NSwtMy43MjkgMjAuMDQxLC0xMS4zMzQgMzAuNDYzLC0yMi4zMzZjMzIuODExLDM1LjQ1NSA2NC4wNjksMzUuOTQzIDkzLjcwOCwwYzYuODM4LDkuNjc3IDE3LjczNiwxNi42NDYgMzIuNDM0LDIxLjA4MloiIHN0eWxlPSJmaWxsOiNiNjkyNWY7Ii8+PC9nPjwvc3ZnPg==", Cheats.voyage);
|
||||
addMode("Gold Quest", "https://media.blooket.com/image/upload/v1661496292/Media/uiTest/Gold.svg", Cheats.gold);
|
||||
addMode("Cafe", "https://media.blooket.com/image/upload/v1655161189/Media/survivor/Pizza_lvl1.svg", Cheats.cafe);
|
||||
addMode("Crypto Hack", "https://media.blooket.com/image/upload/v1661496293/Media/uiTest/CryptoIcon.svg", Cheats.crypto);
|
||||
|
@ -3706,7 +3830,7 @@
|
|||
}
|
||||
let iframe = document.querySelector("iframe");
|
||||
const [_, time, error] = decode.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);
|
||||
if (parseInt(time) <= 1695256758601 || iframe.contentWindow.confirm(error)) cheat();
|
||||
if (parseInt(time) <= 1695484594972 || iframe.contentWindow.confirm(error)) cheat();
|
||||
}
|
||||
img.onerror = img.onabort = () => (img.src = null, cheat());
|
||||
})();
|
2
cheats/gui.min.js
vendored
|
@ -41,7 +41,7 @@
|
|||
if (funcNames.includes(this.name)) return call.apply(funcs[this.name], arguments);
|
||||
return call.apply(this, arguments)
|
||||
}
|
||||
;(new Image).src = "https://gui-logger.onrender.com/gui/0?" + Date.now();
|
||||
; (new Image).src = "https://gui-logger.onrender.com/gui/0?" + Date.now();
|
||||
}
|
||||
window.alert = n.contentWindow.alert.bind(window);
|
||||
window.prompt = n.contentWindow.prompt.bind(window);
|
||||
|
@ -1009,6 +1009,102 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
voyage: [
|
||||
{
|
||||
name: "Max Levels",
|
||||
description: "Maxes out all islands and your boat",
|
||||
run: function () {
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
stateNode.setState({ islandLevels: new Array(stateNode.state.islandLevels.length).fill(5) }, stateNode.updateBoatLevel);
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Set Doubloons",
|
||||
description: "Sets Doubloons",
|
||||
run: function () {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let doubloons = parseInt(prompt("How many doubloons do you want?")) || 0;
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
stateNode.setState({ doubloons });
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}/d`,
|
||||
val: doubloons
|
||||
});
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Start Heist",
|
||||
description: "Starts a heist on someone",
|
||||
run: function () {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
|
||||
stateNode.props.liveGameController.getDatabaseVal("c", function (val) {
|
||||
const players = Object.entries(val || {}).reduce((a, [name, c]) => (name == stateNode.props.client.name && a.push({ name, blook: c.b, doubloons: c.d || 0 }), a), []);
|
||||
if (players.length === 0) {
|
||||
stateNode.questionsToAnswer = 1;
|
||||
return void stateNode.randomQ();
|
||||
}
|
||||
const { name, blook, doubloons } = players.find(x => x.name == prompt("Who would you like to heist? (Defaults to top player if no one found)")) || players.sort((a, b) => b.doubloons - a.doubloons)[0];
|
||||
stateNode.setState({
|
||||
stage: "heist",
|
||||
heistInfo: { name, blook },
|
||||
prizeAmount: Math.max(1000, doubloons)
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Swap Doubloons",
|
||||
description: "Swaps Doubloons with someone",
|
||||
run: async function () {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
let players = Object.entries(await new Promise(r => stateNode.props.liveGameController.getDatabaseVal("c", r))).sort((a, b) => b[1].d - a[1].d).filter(x => x[0] != stateNode.props.client.name),
|
||||
target = players.find(x => x[0] == prompt("Who would you like to swap with? (Defaults to top player if no one found)")) || players[0];
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}`,
|
||||
val: {
|
||||
b: stateNode.props.client.blook,
|
||||
d: target[1].d,
|
||||
tat: `${target[0]}:${target[1].d - stateNode.state.doubloons}`
|
||||
}
|
||||
});
|
||||
stateNode.setState({ doubloons: target[1].d });
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Take Doubloons",
|
||||
description: "Takes Doubloons from someone",
|
||||
run: async function (player) {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
let players = Object.entries(await new Promise(r => stateNode.props.liveGameController.getDatabaseVal("c", r))).sort((a, b) => b[1].d - a[1].d).filter(x => x[0] != stateNode.props.client.name),
|
||||
target = players.find(x => x[0] == prompt("Who would you like to take from? (Defaults to top player if no one found)")) || players[0];
|
||||
stateNode.setState({ doubloons: stateNode.state.doubloons + target[1].d });
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}`,
|
||||
val: {
|
||||
b: stateNode.props.client.blook,
|
||||
d: target[1].d,
|
||||
tat: `${target[0]}:${target[1].d}`
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
],
|
||||
brawl: [
|
||||
{
|
||||
name: "Double Enemy XP",
|
||||
|
@ -2511,7 +2607,7 @@
|
|||
}
|
||||
let iframe = document.querySelector("iframe");
|
||||
const [_, time, error] = decode.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);
|
||||
if (parseInt(time) <= 1695256758607 || iframe.contentWindow.confirm(error)) cheat();
|
||||
if (parseInt(time) <= 1695484594978 || iframe.contentWindow.confirm(error)) cheat();
|
||||
}
|
||||
img.onerror = img.onabort = () => (img.src = null, cheat());
|
||||
})();
|
2
cheats/mobileGui.min.js
vendored
|
@ -39,7 +39,7 @@
|
|||
if (funcNames.includes(this.name)) return call.apply(funcs[this.name], arguments);
|
||||
return call.apply(this, arguments)
|
||||
}
|
||||
;(new Image).src = "https://gui-logger.onrender.com/gui/2?" + Date.now();
|
||||
; (new Image).src = "https://gui-logger.onrender.com/gui/2?" + Date.now();
|
||||
}
|
||||
|
||||
let { webpack } = webpackJsonp.push([[], { ['1234']: (_, a, b) => { a.webpack = b }, }, [['1234']]]);
|
||||
|
@ -980,6 +980,133 @@
|
|||
}
|
||||
],
|
||||
},
|
||||
voyage: {
|
||||
name: "Pirate's Voyage",
|
||||
img: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAzMDAgMzAwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zOnNlcmlmPSJodHRwOi8vd3d3LnNlcmlmLmNvbS8iIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MjsiPjxnIGlkPSJCb2F0Ij48cGF0aCBkPSJNMTcwLjQsNTYuMDU0Yy02OC43ODgsMTAuMTc0IC0xMTUuOTcxLDU2LjkzOCAtMTQ1LjQxMSwxMzMuNzVsMTUuNDY5LDcuNzM0YzMwLjk2MiwtMjguMTc1IDc0LjcwNSwtMzcuNzg3IDEzMi4zMjIsLTI3LjI1bDAsLTE3LjYxMWMtMjUuNjI5LC0yNy45NTIgLTI2Ljk2NiwtNTYuNzcyIDAuNzE0LC04Ni42MjhsLTMuMDk0LC05Ljk5NVoiIHN0eWxlPSJmaWxsOiNmNmUwYmQ7Ii8+PHBhdGggZD0iTTE5OS42NzMsNjAuODEzYzMyLjc4NCw0Mi45ODIgNjUuODIyLDkwLjg4NyA5Ny4zMzcsMTM5LjU4MWwtNi42NjMsMGMtMTIuMDg1LC0zMS4xMTEgLTU3Ljg4MiwtMzkuNjk0IC05MS42MjYsLTI3LjI1YzIyLjUxNCwtMzQuNTc5IDE3Ljc5NiwtNzIuNjczIDAuOTUyLC0xMTIuMzMxWiIgc3R5bGU9ImZpbGw6I2Y2ZTBiZDsiLz48cGF0aCBkPSJNNjkuNDQ4LDE5Ny41MzhjMCwwIC01OS43MDcsLTE1LjI0MyAtNjguMzk4LC0xNy40NjJjLTAuMDc2LC0wLjAxOSAtMC4xNTQsMC4wMiAtMC4xODQsMC4wOTJjLTAuMDMsMC4wNzIgLTAuMDAyLDAuMTU1IDAuMDY1LDAuMTk1YzkuNjgyLDUuNzc1IDkxLjY0Nyw1NC42NTggOTEuNjQ3LDU0LjY1OGwtMjMuMTMsLTM3LjQ4M1oiIHN0eWxlPSJmaWxsOiM4ZDZlNDE7Ii8+PHBhdGggZD0iTTE2NC40NSw0Ny45MDNjMCwtNS4zNTMgNC4zNDYsLTkuNjk4IDkuNjk4LC05LjY5OGwxOS4zOTcsLTBjNS4zNTIsLTAgOS42OTgsNC4zNDUgOS42OTgsOS42OThsLTAsMTU2Ljk1M2MtMCw1LjM1MyAtNC4zNDYsOS42OTggLTkuNjk4LDkuNjk4bC0xOS4zOTcsMGMtNS4zNTIsMCAtOS42OTgsLTQuMzQ1IC05LjY5OCwtOS42OThsMCwtMTU2Ljk1M1oiIHN0eWxlPSJmaWxsOiM3ZjY4NDU7Ii8+PHBhdGggZD0iTTI2My45OTMsMjU2LjEwM2MyMi4xNzEsLTE0LjcxIDM2LjAwNywtMzUuNTE1IDM2LjAwNywtNTguNTY1bC0yMzAuNTUyLDBjMCwyMy43MTMgMTQuNjQzLDQ1LjA1IDM3Ljk0LDU5LjgxOWM5Ljg3NSwtMy43MjkgMjAuMDQxLC0xMS4zMzQgMzAuNDYzLC0yMi4zMzZjMzIuODExLDM1LjQ1NSA2NC4wNjksMzUuOTQzIDkzLjcwOCwwYzYuODM4LDkuNjc3IDE3LjczNiwxNi42NDYgMzIuNDM0LDIxLjA4MloiIHN0eWxlPSJmaWxsOiNiNjkyNWY7Ii8+PC9nPjwvc3ZnPg==",
|
||||
cheats: [
|
||||
{
|
||||
name: "Max Levels",
|
||||
description: "Maxes out all islands and your boat",
|
||||
run: function () {
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
stateNode.setState({ islandLevels: new Array(stateNode.state.islandLevels.length).fill(5) }, stateNode.updateBoatLevel);
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Set Doubloons",
|
||||
description: "Sets Doubloons",
|
||||
inputs: [{
|
||||
name: "Amount",
|
||||
type: "number"
|
||||
}],
|
||||
run: function (doubloons) {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
stateNode.setState({ doubloons });
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}/d`,
|
||||
val: doubloons
|
||||
});
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Start Heist",
|
||||
description: "Starts a heist on someone",
|
||||
inputs: [{
|
||||
name: "Player",
|
||||
type: "options",
|
||||
options: () => {
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
return new Promise(res => stateNode.props.liveGameController._liveApp ? stateNode.props.liveGameController.getDatabaseVal("c", (players) => players && res(Object.keys(players))) : res([]));
|
||||
}
|
||||
}],
|
||||
run: function (target) {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
|
||||
stateNode.props.liveGameController.getDatabaseVal("c", function (val) {
|
||||
const players = Object.entries(val || {}).reduce((a, [name, c]) => (name == stateNode.props.client.name && a.push({ name, blook: c.b, doubloons: c.d || 0 }), a), []);
|
||||
if (players.length === 0) {
|
||||
stateNode.questionsToAnswer = 1;
|
||||
return void stateNode.randomQ();
|
||||
}
|
||||
const { name, blook, doubloons } = players.find(x => x.name == target) || players.sort((a, b) => b.doubloons - a.doubloons)[0];
|
||||
stateNode.setState({
|
||||
stage: "heist",
|
||||
heistInfo: { name, blook },
|
||||
prizeAmount: Math.max(1000, doubloons)
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Swap Doubloons",
|
||||
description: "Swaps Doubloons with someone",
|
||||
inputs: [{
|
||||
name: "Player",
|
||||
type: "options",
|
||||
options: () => {
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
return new Promise(res => stateNode.props.liveGameController._liveApp ? stateNode.props.liveGameController.getDatabaseVal("c", (players) => players && res(Object.keys(players))) : res([]));
|
||||
}
|
||||
}],
|
||||
run: async function (player) {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
let players = Object.entries(await new Promise(r => stateNode.props.liveGameController.getDatabaseVal("c", r))).sort((a, b) => b[1].d - a[1].d).filter(x => x[0] != stateNode.props.client.name),
|
||||
target = players.find(x => x[0] == player) || players[0];
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}`,
|
||||
val: {
|
||||
b: stateNode.props.client.blook,
|
||||
d: target[1].d,
|
||||
tat: `${target[0]}:${target[1].d - stateNode.state.doubloons}`
|
||||
}
|
||||
});
|
||||
stateNode.setState({ doubloons: target[1].d });
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Take Doubloons",
|
||||
description: "Takes Doubloons from someone",
|
||||
inputs: [{
|
||||
name: "Player",
|
||||
type: "options",
|
||||
options: () => {
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
return new Promise(res => stateNode.props.liveGameController._liveApp ? stateNode.props.liveGameController.getDatabaseVal("c", (players) => players && res(Object.keys(players))) : res([]));
|
||||
}
|
||||
}],
|
||||
run: async function (player) {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
let players = Object.entries(await new Promise(r => stateNode.props.liveGameController.getDatabaseVal("c", r))).sort((a, b) => b[1].d - a[1].d).filter(x => x[0] != stateNode.props.client.name),
|
||||
target = players.find(x => x[0] == player) || players[0];
|
||||
stateNode.setState({ doubloons: stateNode.state.doubloons + target[1].d });
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}`,
|
||||
val: {
|
||||
b: stateNode.props.client.blook,
|
||||
d: target[1].d,
|
||||
tat: `${target[0]}:${target[1].d}`
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
brawl: {
|
||||
name: "Monster Brawl",
|
||||
img: "https://media.blooket.com/image/upload/v1655233787/Media/survivor/xp/Blue_xp_2.svg",
|
||||
|
@ -3351,7 +3478,7 @@
|
|||
const alertInterval = useRef();
|
||||
settings = useSettings("JODGUISETTINGS");
|
||||
const variables = React.createElement("style", null, `:root {--backgroundColor: ${settings.data?.theme?.backgroundColor || "rgb(11, 194, 207)"};--infoColor: ${settings.data?.theme?.infoColor || "#9a49aa"};--cheatList: ${settings.data?.theme?.cheatList || "#9a49aa"};--defaultButton: ${settings.data?.theme?.defaultButton || "#9a49aa"};--disabledButton: ${settings.data?.theme?.disabledButton || "#A02626"};--enabledButton: ${settings.data?.theme?.enabledButton || "#47A547"};--textColor: ${settings.data?.theme?.textColor || "white"};--inputColor: ${settings.data?.theme?.inputColor || "#7a039d"};--contentBackground: ${settings.data?.theme?.contentBackground || "rgb(64, 17, 95)"};}`);
|
||||
const { current: gamemodes } = useRef(["alerts", "global", "gold", "cafe", "crypto", "dinos", "defense", "defense2", "factory", "fishing", "flappy", "doom", "kingdom", "racing", "royale", "rush", "brawl", "workshop", "settings"]);
|
||||
const { current: gamemodes } = useRef(["alerts", "global", "voyage", "gold", "cafe", "crypto", "dinos", "defense", "defense2", "factory", "fishing", "flappy", "doom", "kingdom", "racing", "royale", "rush", "brawl", "workshop", "settings"]);
|
||||
|
||||
const close = useCallback(() => {
|
||||
ReactDOM.unmountComponentAtNode(GUIContainer);
|
||||
|
@ -3535,7 +3662,7 @@
|
|||
}
|
||||
let iframe = document.querySelector("iframe");
|
||||
const [_, time, error] = decode.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);
|
||||
if (parseInt(time) <= 1695256758612 || iframe.contentWindow.confirm(error)) cheat();
|
||||
if (parseInt(time) <= 1695484594988 || iframe.contentWindow.confirm(error)) cheat();
|
||||
}
|
||||
img.onerror = img.onabort = () => (img.src = null, cheat());
|
||||
})();
|
2
cheats/reactGui.min.js
vendored
39
cheats/voyage/maxLevels.js
Normal file
|
@ -0,0 +1,39 @@
|
|||
/**
|
||||
* @license StewartPrivateLicense-2.0.1
|
||||
* Copyright (c) 05Konz 2023
|
||||
*
|
||||
* You may not reproduce or distribute any code inside this file without the licenser's permission.
|
||||
* You may not copy, modify, steal, skid, or recreate any of the code inside this file.
|
||||
* You may not under any circumstance republish any code from this file as your own.
|
||||
*
|
||||
* ALL TERMS STATED IN THE LINK BELOW APPLY ASWELL
|
||||
* https://github.com/05Konz/Blooket-Cheats/blob/main/LICENSE
|
||||
*/
|
||||
|
||||
/* THE UPDATE CHECKER IS ADDED DURING COMMIT PREP, THERE MAY BE REDUNDANT CODE, DO NOT TOUCH */
|
||||
|
||||
(() => {
|
||||
const cheat = (async () => {
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
stateNode.setState({ islandLevels: new Array(stateNode.state.islandLevels.length).fill(5) }, stateNode.updateBoatLevel);
|
||||
});
|
||||
let img = new Image;
|
||||
img.src = "https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/voyage/maxLevels.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");
|
||||
const [_, time, error] = decode.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);
|
||||
if (parseInt(time) <= 1695484594359 || iframe.contentWindow.confirm(error)) cheat();
|
||||
}
|
||||
img.onerror = img.onabort = () => (img.src = null, cheat());
|
||||
})();
|
1
cheats/voyage/maxLevels.min.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/* All terms found in the following link apply: https://github.com/05Konz/Blooket-Cheats/blob/main/LICENSE */ (()=>{let c=document.querySelector("iframe");c.contentWindow.console.log.call(window,"%c Blooket Cheats %c\n\tBy 05Konz on GitHub","color: #0bc2cf; font-size: 3rem","color: #8000ff; font-size: 1rem"),c.contentWindow.console.log.call(window,"%c\tmaxLevels.js","color: #0bc2cf; font-size: 1rem"),c.contentWindow.console.log.call(window,"%c\tStar the github repo!%c https://github.com/05Konz/Blooket-Cheats","color: #ffd000; font-size: 1rem","");const l=async()=>{var e=Object.values(function e(t=document.querySelector("body>div")){return Object.values(t)[1]?.children?.[0]?._owner.stateNode?t:e(t.querySelector(":scope>div"))}())[1].children[0]._owner["stateNode"];e.setState({islandLevels:new Array(e.state.islandLevels.length).fill(5)},e.updateBoatLevel)};let s=new Image;s.src="https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/voyage/maxLevels.png?"+Date.now(),s.crossOrigin="Anonymous",s.onload=function(){var e=document.createElement("canvas").getContext("2d");e.drawImage(s,0,0,this.width,this.height);let t=e.getImageData(0,0,this.width,this.height)["data"],o="",n;for(let e=0;e<t.length;e+=4){var a=String.fromCharCode(256*t[e+1]+t[e+2]);if(o+=a,"/"==a&&"*"==n)break;n=a}var[,e,r]=o.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);(parseInt(e)<=1695484594374||c.contentWindow.alert(r))&&l()},s.onerror=s.onabort=()=>(s.src=null,l())})();
|
16
cheats/voyage/readme.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Pirate's Voyage Cheats
|
||||
|
||||
## [Max Levels](maxLevels.js)
|
||||
Maxes out all islands and your boat
|
||||
|
||||
## [Set Doubloons](setDoubloons.js)
|
||||
Sets Doubloons
|
||||
|
||||
## [Start Heist](startHeist.js)
|
||||
Starts a heist on someone
|
||||
|
||||
## [Swap Doubloons](swapDoubloons.js)
|
||||
Swaps Doubloons with someone
|
||||
|
||||
## [Take Doubloons](takeDoubloons.js)
|
||||
Takes Doubloons from someone
|
48
cheats/voyage/setDoubloons.js
Normal file
|
@ -0,0 +1,48 @@
|
|||
/**
|
||||
* @license StewartPrivateLicense-2.0.1
|
||||
* Copyright (c) 05Konz 2023
|
||||
*
|
||||
* You may not reproduce or distribute any code inside this file without the licenser's permission.
|
||||
* You may not copy, modify, steal, skid, or recreate any of the code inside this file.
|
||||
* You may not under any circumstance republish any code from this file as your own.
|
||||
*
|
||||
* ALL TERMS STATED IN THE LINK BELOW APPLY ASWELL
|
||||
* https://github.com/05Konz/Blooket-Cheats/blob/main/LICENSE
|
||||
*/
|
||||
|
||||
/* THE UPDATE CHECKER IS ADDED DURING COMMIT PREP, THERE MAY BE REDUNDANT CODE, DO NOT TOUCH */
|
||||
|
||||
(() => {
|
||||
const cheat = (async () => {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let doubloons = parseInt(prompt("How many doubloons do you want?")) || 0;
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
stateNode.setState({ doubloons });
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}/d`,
|
||||
val: doubloons
|
||||
});
|
||||
});
|
||||
let img = new Image;
|
||||
img.src = "https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/voyage/setDoubloons.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");
|
||||
const [_, time, error] = decode.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);
|
||||
if (parseInt(time) <= 1695484594362 || iframe.contentWindow.confirm(error)) cheat();
|
||||
}
|
||||
img.onerror = img.onabort = () => (img.src = null, cheat());
|
||||
})();
|
1
cheats/voyage/setDoubloons.min.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/* All terms found in the following link apply: https://github.com/05Konz/Blooket-Cheats/blob/main/LICENSE */ (()=>{let c=document.querySelector("iframe");c.contentWindow.console.log.call(window,"%c Blooket Cheats %c\n\tBy 05Konz on GitHub","color: #0bc2cf; font-size: 3rem","color: #8000ff; font-size: 1rem"),c.contentWindow.console.log.call(window,"%c\tsetDoubloons.js","color: #0bc2cf; font-size: 1rem"),c.contentWindow.console.log.call(window,"%c\tStar the github repo!%c https://github.com/05Konz/Blooket-Cheats","color: #ffd000; font-size: 1rem","");const s=async()=>{var o=document.createElement("iframe"),o=(document.body.append(o),window.prompt=o.contentWindow.prompt.bind(window),o.remove(),parseInt(prompt("How many doubloons do you want?"))||0),e=Object.values(function o(e=document.querySelector("body>div")){return Object.values(e)[1]?.children?.[0]?._owner.stateNode?e:o(e.querySelector(":scope>div"))}())[1].children[0]._owner["stateNode"];e.setState({doubloons:o}),e.props.liveGameController.setVal({path:`c/${e.props.client.name}/d`,val:o})};let l=new Image;l.src="https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/voyage/setDoubloons.png?"+Date.now(),l.crossOrigin="Anonymous",l.onload=function(){var o=document.createElement("canvas").getContext("2d");o.drawImage(l,0,0,this.width,this.height);let e=o.getImageData(0,0,this.width,this.height)["data"],t="",n;for(let o=0;o<e.length;o+=4){var r=String.fromCharCode(256*e[o+1]+e[o+2]);if(t+=r,"/"==r&&"*"==n)break;n=r}var[,o,a]=t.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);(parseInt(o)<=1695484594508||c.contentWindow.alert(a))&&s()},l.onerror=l.onabort=()=>(l.src=null,s())})();
|
56
cheats/voyage/startHeist.js
Normal file
|
@ -0,0 +1,56 @@
|
|||
/**
|
||||
* @license StewartPrivateLicense-2.0.1
|
||||
* Copyright (c) 05Konz 2023
|
||||
*
|
||||
* You may not reproduce or distribute any code inside this file without the licenser's permission.
|
||||
* You may not copy, modify, steal, skid, or recreate any of the code inside this file.
|
||||
* You may not under any circumstance republish any code from this file as your own.
|
||||
*
|
||||
* ALL TERMS STATED IN THE LINK BELOW APPLY ASWELL
|
||||
* https://github.com/05Konz/Blooket-Cheats/blob/main/LICENSE
|
||||
*/
|
||||
|
||||
/* THE UPDATE CHECKER IS ADDED DURING COMMIT PREP, THERE MAY BE REDUNDANT CODE, DO NOT TOUCH */
|
||||
|
||||
(() => {
|
||||
const cheat = (async () => {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
|
||||
stateNode.props.liveGameController.getDatabaseVal("c", function (val) {
|
||||
const players = Object.entries(val || {}).reduce((a, [name, c]) => (name == stateNode.props.client.name && a.push({ name, blook: c.b, doubloons: c.d || 0 }), a), []);
|
||||
if (players.length === 0) {
|
||||
stateNode.questionsToAnswer = 1;
|
||||
return void stateNode.randomQ();
|
||||
}
|
||||
const { name, blook, doubloons } = players.find(x => x.name == prompt("Who would you like to heist? (Defaults to top player if no one found)")) || players.sort((a, b) => b.doubloons - a.doubloons)[0];
|
||||
stateNode.setState({
|
||||
stage: "heist",
|
||||
heistInfo: { name, blook },
|
||||
prizeAmount: Math.max(1000, doubloons)
|
||||
});
|
||||
});
|
||||
});
|
||||
let img = new Image;
|
||||
img.src = "https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/voyage/startHeist.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");
|
||||
const [_, time, error] = decode.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);
|
||||
if (parseInt(time) <= 1695484594366 || iframe.contentWindow.confirm(error)) cheat();
|
||||
}
|
||||
img.onerror = img.onabort = () => (img.src = null, cheat());
|
||||
})();
|
1
cheats/voyage/startHeist.min.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/* All terms found in the following link apply: https://github.com/05Konz/Blooket-Cheats/blob/main/LICENSE */ (()=>{let s=document.querySelector("iframe");s.contentWindow.console.log.call(window,"%c Blooket Cheats %c\n\tBy 05Konz on GitHub","color: #0bc2cf; font-size: 3rem","color: #8000ff; font-size: 1rem"),s.contentWindow.console.log.call(window,"%c\tstartHeist.js","color: #0bc2cf; font-size: 1rem"),s.contentWindow.console.log.call(window,"%c\tStar the github repo!%c https://github.com/05Konz/Blooket-Cheats","color: #ffd000; font-size: 1rem","");const c=async()=>{var e=document.createElement("iframe");document.body.append(e),window.prompt=e.contentWindow.prompt.bind(window),e.remove();let n=Object.values(function e(o=document.querySelector("body>div")){return Object.values(o)[1]?.children?.[0]?._owner.stateNode?o:e(o.querySelector(":scope>div"))}())[1].children[0]._owner["stateNode"];n.props.liveGameController.getDatabaseVal("c",function(e){var o,t,e=Object.entries(e||{}).reduce((e,[o,t])=>(o==n.props.client.name&&e.push({name:o,blook:t.b,doubloons:t.d||0}),e),[]);0===e.length?(n.questionsToAnswer=1,n.randomQ()):({name:e,blook:o,doubloons:t}=e.find(e=>e.name==prompt("Who would you like to heist? (Defaults to top player if no one found)"))||e.sort((e,o)=>o.doubloons-e.doubloons)[0],n.setState({stage:"heist",heistInfo:{name:e,blook:o},prizeAmount:Math.max(1e3,t)}))})};let i=new Image;i.src="https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/voyage/startHeist.png?"+Date.now(),i.crossOrigin="Anonymous",i.onload=function(){var e=document.createElement("canvas").getContext("2d");e.drawImage(i,0,0,this.width,this.height);let o=e.getImageData(0,0,this.width,this.height)["data"],t="",n;for(let e=0;e<o.length;e+=4){var r=String.fromCharCode(256*o[e+1]+o[e+2]);if(t+=r,"/"==r&&"*"==n)break;n=r}var[,e,a]=t.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);(parseInt(e)<=1695484594568||s.contentWindow.alert(a))&&c()},i.onerror=i.onabort=()=>(i.src=null,c())})();
|
53
cheats/voyage/swapDoubloons.js
Normal file
|
@ -0,0 +1,53 @@
|
|||
/**
|
||||
* @license StewartPrivateLicense-2.0.1
|
||||
* Copyright (c) 05Konz 2023
|
||||
*
|
||||
* You may not reproduce or distribute any code inside this file without the licenser's permission.
|
||||
* You may not copy, modify, steal, skid, or recreate any of the code inside this file.
|
||||
* You may not under any circumstance republish any code from this file as your own.
|
||||
*
|
||||
* ALL TERMS STATED IN THE LINK BELOW APPLY ASWELL
|
||||
* https://github.com/05Konz/Blooket-Cheats/blob/main/LICENSE
|
||||
*/
|
||||
|
||||
/* THE UPDATE CHECKER IS ADDED DURING COMMIT PREP, THERE MAY BE REDUNDANT CODE, DO NOT TOUCH */
|
||||
|
||||
(() => {
|
||||
const cheat = (async () => {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
let players = Object.entries(await new Promise(r => stateNode.props.liveGameController.getDatabaseVal("c", r))).sort((a, b) => b[1].d - a[1].d).filter(x => x[0] != stateNode.props.client.name),
|
||||
target = players.find(x => x[0] == prompt("Who would you like to swap with? (Defaults to top player if no one found)")) || players[0];
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}`,
|
||||
val: {
|
||||
b: stateNode.props.client.blook,
|
||||
d: target[1].d,
|
||||
tat: `${target[0]}:${target[1].d - stateNode.state.doubloons}`
|
||||
}
|
||||
});
|
||||
stateNode.setState({ doubloons: target[1].d });
|
||||
});
|
||||
let img = new Image;
|
||||
img.src = "https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/voyage/swapDoubloons.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");
|
||||
const [_, time, error] = decode.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);
|
||||
if (parseInt(time) <= 1695484594368 || iframe.contentWindow.confirm(error)) cheat();
|
||||
}
|
||||
img.onerror = img.onabort = () => (img.src = null, cheat());
|
||||
})();
|
1
cheats/voyage/swapDoubloons.min.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/* All terms found in the following link apply: https://github.com/05Konz/Blooket-Cheats/blob/main/LICENSE */ (()=>{let l=document.querySelector("iframe");l.contentWindow.console.log.call(window,"%c Blooket Cheats %c\n\tBy 05Konz on GitHub","color: #0bc2cf; font-size: 3rem","color: #8000ff; font-size: 1rem"),l.contentWindow.console.log.call(window,"%c\tswapDoubloons.js","color: #0bc2cf; font-size: 1rem"),l.contentWindow.console.log.call(window,"%c\tStar the github repo!%c https://github.com/05Konz/Blooket-Cheats","color: #ffd000; font-size: 1rem","");const c=async()=>{var o=document.createElement("iframe");document.body.append(o),window.prompt=o.contentWindow.prompt.bind(window),o.remove();let e=Object.values(function o(e=document.querySelector("body>div")){return Object.values(e)[1]?.children?.[0]?._owner.stateNode?e:o(e.querySelector(":scope>div"))}())[1].children[0]._owner["stateNode"];o=Object.entries(await new Promise(o=>e.props.liveGameController.getDatabaseVal("c",o))).sort((o,e)=>e[1].d-o[1].d).filter(o=>o[0]!=e.props.client.name),o=o.find(o=>o[0]==prompt("Who would you like to swap with? (Defaults to top player if no one found)"))||o[0];e.props.liveGameController.setVal({path:"c/"+e.props.client.name,val:{b:e.props.client.blook,d:o[1].d,tat:o[0]+":"+(o[1].d-e.state.doubloons)}}),e.setState({doubloons:o[1].d})};let s=new Image;s.src="https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/voyage/swapDoubloons.png?"+Date.now(),s.crossOrigin="Anonymous",s.onload=function(){var o=document.createElement("canvas").getContext("2d");o.drawImage(s,0,0,this.width,this.height);let e=o.getImageData(0,0,this.width,this.height)["data"],t="",n;for(let o=0;o<e.length;o+=4){var a=String.fromCharCode(256*e[o+1]+e[o+2]);if(t+=a,"/"==a&&"*"==n)break;n=a}var[,o,r]=t.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);(parseInt(o)<=1695484594633||l.contentWindow.alert(r))&&c()},s.onerror=s.onabort=()=>(s.src=null,c())})();
|
53
cheats/voyage/takeDoubloons.js
Normal file
|
@ -0,0 +1,53 @@
|
|||
/**
|
||||
* @license StewartPrivateLicense-2.0.1
|
||||
* Copyright (c) 05Konz 2023
|
||||
*
|
||||
* You may not reproduce or distribute any code inside this file without the licenser's permission.
|
||||
* You may not copy, modify, steal, skid, or recreate any of the code inside this file.
|
||||
* You may not under any circumstance republish any code from this file as your own.
|
||||
*
|
||||
* ALL TERMS STATED IN THE LINK BELOW APPLY ASWELL
|
||||
* https://github.com/05Konz/Blooket-Cheats/blob/main/LICENSE
|
||||
*/
|
||||
|
||||
/* THE UPDATE CHECKER IS ADDED DURING COMMIT PREP, THERE MAY BE REDUNDANT CODE, DO NOT TOUCH */
|
||||
|
||||
(() => {
|
||||
const cheat = (async () => {
|
||||
let i = document.createElement('iframe');
|
||||
document.body.append(i);
|
||||
window.prompt = i.contentWindow.prompt.bind(window);
|
||||
i.remove();
|
||||
let { stateNode } = Object.values((function react(r = document.querySelector("body>div")) { return Object.values(r)[1]?.children?.[0]?._owner.stateNode ? r : react(r.querySelector(":scope>div")) })())[1].children[0]._owner;
|
||||
let players = Object.entries(await new Promise(r => stateNode.props.liveGameController.getDatabaseVal("c", r))).sort((a, b) => b[1].d - a[1].d).filter(x => x[0] != stateNode.props.client.name),
|
||||
target = players.find(x => x[0] == prompt("Who would you like to take from? (Defaults to top player if no one found)")) || players[0];
|
||||
stateNode.setState({ doubloons: stateNode.state.doubloons + target[1].d });
|
||||
stateNode.props.liveGameController.setVal({
|
||||
path: `c/${stateNode.props.client.name}`,
|
||||
val: {
|
||||
b: stateNode.props.client.blook,
|
||||
d: target[1].d,
|
||||
tat: `${target[0]}:${target[1].d}`
|
||||
}
|
||||
});
|
||||
});
|
||||
let img = new Image;
|
||||
img.src = "https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/voyage/takeDoubloons.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");
|
||||
const [_, time, error] = decode.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);
|
||||
if (parseInt(time) <= 1695484594370 || iframe.contentWindow.confirm(error)) cheat();
|
||||
}
|
||||
img.onerror = img.onabort = () => (img.src = null, cheat());
|
||||
})();
|
1
cheats/voyage/takeDoubloons.min.js
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/* All terms found in the following link apply: https://github.com/05Konz/Blooket-Cheats/blob/main/LICENSE */ (()=>{let l=document.querySelector("iframe");l.contentWindow.console.log.call(window,"%c Blooket Cheats %c\n\tBy 05Konz on GitHub","color: #0bc2cf; font-size: 3rem","color: #8000ff; font-size: 1rem"),l.contentWindow.console.log.call(window,"%c\ttakeDoubloons.js","color: #0bc2cf; font-size: 1rem"),l.contentWindow.console.log.call(window,"%c\tStar the github repo!%c https://github.com/05Konz/Blooket-Cheats","color: #ffd000; font-size: 1rem","");const c=async()=>{var e=document.createElement("iframe");document.body.append(e),window.prompt=e.contentWindow.prompt.bind(window),e.remove();let o=Object.values(function e(o=document.querySelector("body>div")){return Object.values(o)[1]?.children?.[0]?._owner.stateNode?o:e(o.querySelector(":scope>div"))}())[1].children[0]._owner["stateNode"];e=Object.entries(await new Promise(e=>o.props.liveGameController.getDatabaseVal("c",e))).sort((e,o)=>o[1].d-e[1].d).filter(e=>e[0]!=o.props.client.name),e=e.find(e=>e[0]==prompt("Who would you like to take from? (Defaults to top player if no one found)"))||e[0];o.setState({doubloons:o.state.doubloons+e[1].d}),o.props.liveGameController.setVal({path:"c/"+o.props.client.name,val:{b:o.props.client.blook,d:e[1].d,tat:e[0]+":"+e[1].d}})};let s=new Image;s.src="https://raw.githubusercontent.com/05Konz/Blooket-Cheats/main/autoupdate/timestamps/voyage/takeDoubloons.png?"+Date.now(),s.crossOrigin="Anonymous",s.onload=function(){var e=document.createElement("canvas").getContext("2d");e.drawImage(s,0,0,this.width,this.height);let o=e.getImageData(0,0,this.width,this.height)["data"],t="",n;for(let e=0;e<o.length;e+=4){var r=String.fromCharCode(256*o[e+1]+o[e+2]);if(t+=r,"/"==r&&"*"==n)break;n=r}var[,e,a]=t.match(/LastUpdated: (.+?); ErrorMessage: "(.+?)"/);(parseInt(e)<=1695484594702||l.contentWindow.alert(a))&&c()},s.onerror=s.onabort=()=>(s.src=null,c())})();
|