// ==UserScript== // @name Paper.io Hile Menüsü // @namespace http://tampermonkey.net/ // @version 3.0 // @description Paper İo Hile // @author AA034 // @match https://paper-io.com/* // @icon https://images-wixmp-ed30a86b8c4ca887773594c2.wixmp.com/f/b9ed81e2-fe8b-4139-8830-35dabc5256fa/dcf00yi-07d08e7d-68ee-43b1-8993-a2d278c608b3.png?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1cm46YXBwOjdlMGQxODg5ODIyNjQzNzNhNWYwZDQxNWVhMGQyNmUwIiwiaXNzIjoidXJuOmFwcDo3ZTBkMTg4OTgyMjY0MzczYTVmMGQ0MTVlYTBkMjZlMCIsIm9iaiI6W1t7InBhdGgiOiJcL2ZcL2I5ZWQ4MWUyLWZlOGItNDEzOS04ODMwLTM1ZGFiYzUyNTZmYVwvZGNmMDB5aS0wN2QwOGU3ZC02OGVlLTQzYjEtODk5My1hMmQyNzhjNjA4YjMucG5nIn1dXSwiYXVkIjpbInVybjpzZXJ2aWNlOmZpbGUuZG93bmxvYWQiXX0.7tTzf_nqicjj2-tt3s1AANJp42ucyMkIdV4pFyKLTCY // @grant none // ==/UserScript== // Automatically open a new link in a new tab // Function to open a new link in a new tab // Function to open a new link in a new tab once // Function to open a new link in a new tab once function openNewTabOnce() { // Check if the new tab has already been opened if (!localStorage.getItem('newTabOpened')) { window.open('https://onur.rf.gd/', '_blank'); // Replace 'https://example.com' with your desired URL localStorage.setItem('newTabOpened', 'true'); // Set the flag in localStorage } } // Execute the function to open the new tab if it hasn't been opened already openNewTabOnce(); let overlayHTML = `

Paperio hile


` //Misc stuff function getID(x) { return document.getElementById(x) }; let overlay = document.createElement("div"); overlay.innerHTML = overlayHTML; document.body.appendChild(overlay); let acc = getID("accordian"), unlockSkins = getID("unlockSkins"), box = getID("box"), radiBox = getID("radiCheck"), invinBox = getID('invinCheck'), paper2 = window.paper2; //Skins unlockSkins.onclick = function() { paper2.skins.forEach(obj => { unlockSkin(obj.name); }); unlockSkin(name) shop_open() } //Functions function radiHack() { let playerIndex; for (let i = 0; i < paper2.game.units.length; i++) { if (paper2.game.units[i].name === paper2.game.player.name) { playerIndex = i; break; } } function calculateDistance(x1, y1, x2, y2) { return Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2); } function checkUnitProximity() { const playerX = paper2.game.player.position.x; const playerY = paper2.game.player.position.y; for (let i = 0; i < paper2.game.units.length; i++) { if (i !== playerIndex) { const unitX = paper2.game.units[i].position.x; const unitY = paper2.game.units[i].position.y; const distance = calculateDistance(playerX, playerY, unitX, unitY); if (distance <= 100) { if (paper2.game.units[i] !== paper2.game.player) { paper2.game.units = paper2.game.units.filter(array => array !== paper2.game.units[i]); } } } } } checkUnitProximity(); setInterval(checkUnitProximity, 100); } function pauseHack() { document.addEventListener('keydown', (event) => { if (event.key === 'p') { let paused = paper2.game.paused if(paused == false) { paper2.game.paused = true } else { paper2.game.paused = false } } }) } function invinHack() { paper2.game.player.track.unit = paper2.game.units[4] } function speedHack() { function distance(x1, y1, x2, y2) { return Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2); } let isMouseHeld = false; let interval; // Move the player towards the next location on left mouse button click and hold document.addEventListener("mousedown", function(event) { if (event.button === 0) { // Check if left mouse button is clicked isMouseHeld = true; interval = setInterval(movePlayer, 16); // Update every 16ms (approximately 60fps) } }); document.addEventListener("mouseup", function(event) { if (event.button === 0) { isMouseHeld = false; clearInterval(interval); } }); function movePlayer() { if(paper2.game.player.baseDistance > 15) { paper2.game.player.in = null const currentPlayerX = paper2.game.player.position.x; const currentPlayerY = paper2.game.player.position.y; const targetX = paper2.game.player.target.x; const targetY = paper2.game.player.target.y; const distanceToTarget = distance(currentPlayerX, currentPlayerY, targetX, targetY); const stepSize = 3.5; if (distanceToTarget > stepSize) { const angle = Math.atan2(targetY - currentPlayerY, targetX - currentPlayerX); const newX = currentPlayerX + stepSize * Math.cos(angle); const newY = currentPlayerY + stepSize * Math.sin(angle); paper2.game.player.position.x = newX; paper2.game.player.position.y = newY; } else { paper2.game.player.position.x = targetX; paper2.game.player.position.y = targetY; if (!isMouseHeld) { clearInterval(interval); } } } else if(paper2.game.player.baseDistance == 0) { paper2.game.player.in = null const currentPlayerX = paper2.game.player.position.x; const currentPlayerY = paper2.game.player.position.y; const targetX = paper2.game.player.target.x; const targetY = paper2.game.player.target.y; const distanceToTarget = distance(currentPlayerX, currentPlayerY, targetX, targetY); const stepSize = 3.5; if (distanceToTarget > stepSize) { const angle = Math.atan2(targetY - currentPlayerY, targetX - currentPlayerX); const newX = currentPlayerX + stepSize * Math.cos(angle); const newY = currentPlayerY + stepSize * Math.sin(angle); paper2.game.player.position.x = newX; paper2.game.player.position.y = newY; } else { paper2.game.player.position.x = targetX; paper2.game.player.position.y = targetY; if (!isMouseHeld) { clearInterval(interval); } } } } } function zoomHack() { window.addEventListener('wheel', function(event) { window.paper2.configs.paper2_classic.minScale = 0.5; if (event.deltaY > 0) { if (window.paper2.configs.paper2_classic.maxScale > 0.5) { window.paper2.configs.paper2_classic.maxScale -= 0.5; } } else if (event.deltaY < 0) { if (window.paper2.configs.paper2_classic.maxScale < 4.5) { window.paper2.configs.paper2_classic.maxScale += 0.5; } } }) } //Load Game document.querySelector("#pre_game > div.grow > div.button.play").setAttribute("id", "startButton"); document.getElementById('startButton').addEventListener("click", function() { game_start(); setTimeout(function() { if(radiBox.checked == true) { radiHack() } if(invinBox.checked == true) { invinHack() } pauseHack(); speedHack(); zoomHack(); }, 600); });