Completely Free!
// ==UserScript==
// @name Yohoho.EXE (Inf Gold & XP)
// @namespace http://yohoho.io/
// @version 1.0
// @description Completely Free!
// @match https://yohoho.io/
// @grant GM_info
// @antifeature ads
// @icon https://media.tenor.com/qDMan7R2yIoAAAAi/blue-emoji.gif
// ==/UserScript==
/*
.
.
BBBBBBBBBBBBBBBBB LLLLLLLLLLL 1111111 000000000 000000000 000000000 .
B::::::::::::::::B L:::::::::L 1::::::1 00:::::::::00 00:::::::::00 00:::::::::00 .
B::::::BBBBBB:::::B L:::::::::L 1:::::::1 00:::::::::::::00 00:::::::::::::00 00:::::::::::::00 .
BB:::::B B:::::B LL:::::::LL 111:::::1 0:::::::000:::::::00:::::::000:::::::00:::::::000:::::::0
B::::B B:::::Byyyyyyy yyyyyyy L:::::L 1::::1 0::::::0 0::::::00::::::0 0::::::00::::::0 0::::::0
B::::B B:::::B y:::::y y:::::y L:::::L 1::::1 0:::::0 0:::::00:::::0 0:::::00:::::0 0:::::0
B::::BBBBBB:::::B y:::::y y:::::y L:::::L 1::::1 0:::::0 0:::::00:::::0 0:::::00:::::0 0:::::0
B:::::::::::::BB y:::::y y:::::y L:::::L --------------- 1::::l 0:::::0 000 0:::::00:::::0 000 0:::::00:::::0 000 0:::::0
B::::BBBBBB:::::B y:::::y y:::::y L:::::L -:::::::::::::- 1::::l 0:::::0 000 0:::::00:::::0 000 0:::::00:::::0 000 0:::::0
B::::B B:::::B y:::::y y:::::y L:::::L --------------- 1::::l 0:::::0 0:::::00:::::0 0:::::00:::::0 0:::::0
B::::B B:::::B y:::::y:::::y L:::::L 1::::l 0:::::0 0:::::00:::::0 0:::::00:::::0 0:::::0
B::::B B:::::B y:::::::::y L:::::L LLLLLL 1::::l 0::::::0 0::::::00::::::0 0::::::00::::::0 0::::::0
BB:::::BBBBBB::::::B y:::::::y LL:::::::LLLLLLLLL:::::L 111::::::1110:::::::000:::::::00:::::::000:::::::00:::::::000:::::::0
B:::::::::::::::::B y:::::y L::::::::::::::::::::::L 1::::::::::1 00:::::::::::::00 00:::::::::::::00 00:::::::::::::00 .
B::::::::::::::::B y:::::y L::::::::::::::::::::::L 1::::::::::1 00:::::::::00 00:::::::::00 00:::::::::00 .
BBBBBBBBBBBBBBBBB y:::::y LLLLLLLLLLLLLLLLLLLLLLLL 111111111111 000000000 000000000 000000000 .
y:::::y .
y:::::y .
y:::::y .
y:::::y .
yyyyyyy .
.
.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
____ ____ _ _____ _____ ____ ____ ____ _ _____
/ _ \/ _ \/ \ /|/ __// __// __\ /_ \/ _ \/ \ /|/ __/
| | \|| / \|| |\ ||| | _| \ | \/| / /| / \|| |\ ||| \ <-- (Danger Zone for those who are slow)
| |_/|| |-||| | \||| |_//| /_ | / / /_| \_/|| | \||| /_
\____/\_/ \|\_/ \|\____\\____\\_/\_\ \____/\____/\_/ \|\____\
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⣤⣤⣶⣦⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀ .
⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⡿⠛⠉⠙⠛⠛⠛⠛⠻⢿⣿⣷⣤⡀⠀⠀⠀⠀⠀ .
⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠋⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠈⢻⣿⣿⡄⠀⠀⠀⠀ .
⠀⠀⠀⠀⠀⠀⠀⣸⣿⡏⠀⠀⠀⣠⣶⣾⣿⣿⣿⠿⠿⠿⢿⣿⣿⣿⣄⠀⠀⠀ .
⠀⠀⠀⠀⠀⠀⠀⣿⣿⠁⠀⠀⢰⣿⣿⣯⠁⠀⠀⠀⠀⠀⠀⠀⠈⠙⢿⣷⡄⠀ .
⠀⠀⣀⣤⣴⣶⣶⣿⡟⠀⠀⠀⢸⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣷⠀ .
⠀⢰⣿⡟⠋⠉⣹⣿⡇⠀⠀⠀⠘⣿⣿⣿⣿⣷⣦⣤⣤⣤⣶⣶⣶⣶⣿⣿⣿⠀ .
⠀⢸⣿⡇⠀⠀⣿⣿⡇⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀ .
⠀⣸⣿⡇⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠉⠻⠿⣿⣿⣿⣿⡿⠿⠿⠛⢻⣿⡇⠀⠀ .
⠀⣿⣿⠁⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣧⠀⠀ .
⠀⣿⣿⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀ .
⠀⣿⣿⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀ .
⠀⢿⣿⡆⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀ .
⠀⠸⣿⣧⡀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠃⠀⠀ .
⠀⠀⠛⢿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⣰⣿⣿⣷⣶⣶⣶⣶⠶⠀⢠⣿⣿⠀⠀⠀ .
⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⣿⣿⡇⠀⣽⣿⡏⠁⠀⠀⢸⣿⡇⠀⠀⠀ .
⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⣿⣿⡇⠀⢹⣿⡆⠀⠀⠀⣸⣿⠇⠀⠀⠀ .
⠀⠀⠀⠀⠀⠀⠀⢿⣿⣦⣄⣀⣠⣴⣿⣿⠁⠀⠈⠻⣿⣿⣿⣿⡿⠏⠀⠀⠀⠀ .
⠀⠀⠀⠀⠀⠀⠀⠈⠛⠻⠿⠿⠿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
*/
const latestVersion = '1.0';
if (typeof GM_info !== 'undefined' && GM_info.script && GM_info.script.version !== latestVersion) {
alert('⚠️ Your script is outdated!\n\nPlease update to the latest version from https://greasyfork.org/en/scripts/534958-yohoho-exe-inf-gold-xp');
}
// Change game title
document.title = "*HACKED* YoHoHo.io - pirate battle royale io game";
// Create GUI
const gui = document.createElement('div');
gui.id = 'galaxy-gui';
gui.innerHTML = `
<h2>🌌 Mod Menu (Draggable)</h2>
<button id="btn-coins">O - Set Coins</button>
<button id="btn-pet">P - Change Pet</button>
<button id="btn-character">C - Change Character</button>
<button id="btn-island">I - Change Island</button>
<button id="btn-xp">X - Set XP</button>
<button id="btn-petlevel">L - Pet Level</button>
`;
document.body.appendChild(gui);
const style = document.createElement('style');
style.textContent = `
#galaxy-gui {
position: fixed;
top: 10px;
right: 10px;
background: radial-gradient(circle at top left, #2e003e, #1a002b);
border: 1px solid #7d00ff;
box-shadow: 0 0 12px #aa00ff;
border-radius: 12px;
padding: 10px;
z-index: 9999;
color: #fff;
font-family: 'Segoe UI', sans-serif;
width: 180px;
user-select: none;
cursor: grab;
}
#galaxy-gui h2 {
margin: 0 0 8px 0;
font-size: 16px;
text-align: center;
color: #e0b3ff;
text-shadow: 0 0 6px #ff00ff;
}
#galaxy-gui button {
display: block;
width: 100%;
margin: 4px 0;
padding: 6px;
background: rgba(255, 255, 255, 0.05);
border: 1px solid #aa00ff;
border-radius: 6px;
color: #fff;
font-size: 12px;
cursor: pointer;
transition: all 0.2s ease;
}
#galaxy-gui button:hover {
background: rgba(255, 255, 255, 0.15);
transform: scale(1.02);
}
`;
document.head.appendChild(style);
// Make it draggable
let isDragging = false;
let offsetX, offsetY;
gui.addEventListener('mousedown', function (e) {
isDragging = true;
offsetX = e.clientX - gui.getBoundingClientRect().left;
offsetY = e.clientY - gui.getBoundingClientRect().top;
});
document.addEventListener('mousemove', function (e) {
if (isDragging) {
gui.style.left = e.clientX - offsetX + 'px';
gui.style.top = e.clientY - offsetY + 'px';
gui.style.right = 'auto';
}
});
document.addEventListener('mouseup', function () {
isDragging = false;
});
// Cheats
const cheats = {
setCoins: function () {
const a = prompt("Enter your desired coin amount:");
if (isNaN(a)) return alert("Please enter a valid number!");
localStorage.setItem("coinsOwned", a);
document.getElementById("homepage-booty").innerHTML = a;
document.getElementById("skin-popup-booty").innerHTML = a;
alert("Gold set! Reloading...");
},
setXP: function () {
const x = prompt("Enter your desired XP amount:");
if (isNaN(x)) return alert("Please enter a valid number!");
localStorage.setItem("playerXP", Math.min(Math.max(x, 0), 13500));
alert("XP set! Reloading...");
location.reload();
},
changeCharacter: function () {
const b = prompt("Choose character (1-35):");
if (isNaN(b) || b < 1 || b > 35) return alert("Invalid character!");
localStorage.setItem("playerSkin", b);
alert("Skin selected! Reloading...");
location.reload();
},
changePet: function () {
const p = prompt("Choose pet (1-7):");
if (isNaN(p) || p < 1 || p > 7) return alert("Invalid pet!");
localStorage.setItem("playerPet", p);
alert("Pet selected! Reloading...");
location.reload();
},
setPetLevel: function () {
const l = prompt("Pet level (1-14):");
if (isNaN(l) || l < 1 || l > 14) return alert("Invalid level!");
localStorage.setItem("playerPetLevel", l);
alert("Pet level set! Reloading...");
location.reload();
},
changeIsland: function () {
const c = prompt("Island (1=Tortuga, 2=Beach, 3=Easter, 4=Wreck, 5=Aztec, 6=Volcano, 7=Village):");
const xpMap = { 1: 0, 2: 140, 3: 700, 4: 2100, 5: 4400, 6: 7600, 7: 13500 };
if (!xpMap[c]) return alert("Invalid island!");
localStorage.setItem("playerXP", xpMap[c]);
alert("Island set! Reloading...");
location.reload();
}
};
// Hook buttons
document.getElementById('btn-coins').onclick = cheats.setCoins;
document.getElementById('btn-xp').onclick = cheats.setXP;
document.getElementById('btn-character').onclick = cheats.changeCharacter;
document.getElementById('btn-island').onclick = cheats.changeIsland;
document.getElementById('btn-pet').onclick = cheats.changePet;
document.getElementById('btn-petlevel').onclick = cheats.setPetLevel;
// Hotkeys
document.addEventListener('keydown', (e) => {
const key = e.key.toLowerCase();
switch (key) {
case 'o': cheats.setCoins(); break;
case 'x': cheats.setXP(); break;
case 'p': cheats.changePet(); break;
case 'c': cheats.changeCharacter(); break;
case 'i': cheats.changeIsland(); break;
case 'l': cheats.setPetLevel(); break;
}
});
const adKey = 'yohohoAdActive';
if (!sessionStorage.getItem(adKey)) {
sessionStorage.setItem(adKey, 'true');
const returnUrl = encodeURIComponent(window.location.href);
window.location.href = `https://l1000-dev.github.io/Yohoho.EXE/?return=${returnUrl}`;
}
function removeQueries() {
const url = new URL(window.location.href);
url.searchParams.delete('showAd');
url.searchParams.delete('scriptVersion');
window.history.replaceState(null, '', url.href);
}
removeQueries();