您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Zoom cheat, game speed change cheat
当前为
- // ==UserScript==
- // @name Paper.IO Enhanced
- // @namespace -
- // @version 1.0.1
- // @description Zoom cheat, game speed change cheat
- // @author NotYou
- // @match *://paper-io.com/*
- // @match *://www.paper-io.com/*
- // @run-at document-start
- // @license GPL-3.0-or-later
- // @grant none
- // @icon data:image/png;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAe8MAYnvDAHp7wwB6e8MAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHvDAMp7wwD/e8MA/3vDAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7wwDKe8MA/3vDAP97wwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfcQAyn3EAP99xAD/fcQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIHGAMqBxgD/gcYA/4HGAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACHyQDKh8kA/4fJAP+HyQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjcwAyo3MAP+NzAD/jcwAsI7MAJSOzACUhrgAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJPPAMqTzwD/k88A/5PPAP+TzwD/k88A/4q5DfqKtxdaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACb0wDKm9MA/5vTAP+b0wD/m9MA/5vTAP+Rvif/kLss+pG8MVoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAodYDyqHWA/+h1gP/oNYBhp/VAFyf1QBcnc4X7J3OGP+ezhf6oNMOIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKnaKMqp2ij/qdoo/6naKEAAAAAAAAAAAKnaKOKp2ij/qdoo/6naKCoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACv3UHKr91B/6/dQf+v3UFAAAAAAAAAAACv3UHir91B/6/dQf+v3UEqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr9VclK/UX/+v1F//tN1WwrXgVK614FSur9Ve9q/UX/+v1F7gsdpUEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK/QbASx0XCisdFx/7nfY/+64mD/uuJg/7LTb/+x0XDgsNBtIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtdN3ArbUeqK+4W//v+Rt/7/kbf+31nngtdN4IgAAAAAAAAAAAAAAALXTdwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC614AEweR2QMLmdELC5nRCvNt8GgAAAAAAAAAAAAAAAAAAAAAAAAAA//8AAPH/AADx/wAA8f8AAPH/AADx/wAA8D8AAPAfAADwDwAA8McAAPHHAADxxwAA8AcAAPgPAAD8HwAA//8AAA==
- // ==/UserScript==
- (function() {
- let minimalZoom = 0.5
- let maximalZoom = 3.5
- let minimalGameSpeed = 10
- let maximalGameSpeed = 200
- // Do NOT edit code below
- let css = `
- #get_random_name {
- width: 60px;
- height: 60px;
- left: -70px;
- background: rgb(255, 255, 255);
- position: absolute;
- box-shadow: rgb(151, 151, 151) 0 6px 0;
- background-image: url(https://cdn-icons-png.flaticon.com/512/1714/1714041.png);
- background-size: 70% 70%;
- background-repeat: no-repeat;
- background-position: 50% 50%;
- filter: grayscale(1);
- }
- #get_random_name:active {
- box-shadow: none;
- top: 6px;
- }`
- class CookieControl {
- getEntries() {
- return document.cookie.replace(/\s/g, '').split(';').map(e => e.split('='))
- }
- set(name, value) {
- document.cookie = encodeURIComponent(name.trim()) + '=' + encodeURIComponent(value.trim())
- }
- get(name) {
- let entries = this.getEntries()
- return entries.find(e => e[0] === name)[1]
- }
- }
- let cookies = CookieControl.prototype
- waitForProperty(window, 'paper2').then(() => {
- let paper = window.paper2
- waitForProperty(paper, 'game').then(() => {
- let config = paper.game.config
- let scene = paper.configs.paper2_classic
- let game = paper.game
- // Get Random Name
- let username = document.querySelector('.username')
- username.insertAdjacentHTML('beforebegin', '<div id="get_random_name"></div>')
- document.querySelector('#get_random_name').addEventListener('click', () => {
- let name = getRandomName()
- username.querySelector('input').value = name
- cookies.set('paperio_username', name)
- })
- window.addEventListener('wheel', e => {
- let isPositive = e.deltaY > 0
- if(e.ctrlKey) {
- e.preventDefault()
- // Game Speed Cheat
- config.unitSpeed += isPositive ? -2.5 : 2.5
- let current = config.unitSpeed
- config.unitSpeed = correctValue(current, minimalGameSpeed, maximalGameSpeed)
- } else {
- // Zoom Cheat
- scene.maxScale += isPositive ? -0.5 : 0.5
- let current = scene.maxScale
- scene.maxScale = correctValue(current, minimalZoom, maximalZoom)
- }
- })
- // Movement Cheat
- let listenersData = ['w', 'a', 's', 'd']
- listenersData.forEach((e, i) => {
- addKeyListener(e, i > 1 ? false : true, i % 2 === 0 ? 'y' : 'x')
- })
- // Nerd Stuff
- let styleNode = document.createElement('style')
- styleNode.appendChild(document.createTextNode(css))
- document.head.appendChild(styleNode)
- function addKeyListener(key, isNegative, coordinate) {
- let code = 'Key' + key.toUpperCase()
- let randomValue = Math.floor(Math.random() * 18)
- window.addEventListener('keydown', e => {
- if(e.code === code) {
- let player = game.player
- if(player) {
- player.position[coordinate] += randomValue * (isNegative ? -1 : 1)
- }
- }
- })
- }
- function getRandomName() {
- let namesPool = game.nameManager.pool
- return namesPool[Math.floor(Math.random() * namesPool.length)]
- }
- function correctValue(currentValue, minimalValue, maximalValue) {
- return Math.max(minimalValue, Math.min(maximalValue, currentValue))
- }
- })
- })
- function waitForProperty(target, prop) {
- return new Promise(res => {
- let interval = setInterval(() => {
- if(target[prop]) {
- clearInterval(interval)
- return res(target[prop])
- }
- }, 1e3)
- })
- }
- })()