// ==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 = `
`
//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);
});