Greasy Fork is available in English.

Бета адаптер Ping/Fps! (v3)

Это бета-адаптер для вашего ping/FPS в MooMoo.io! + Удалить Рекламу


Установить этот скрипт?
  1. // ==UserScript==// @name Beta adapter Ping/Fps! (v3)// @name:ru Бета адаптер Ping/Fps! (v3)// @namespace none// @version 3.1.0// @description This is a beta adapter for your ping/FPS in MooMoo.io! + Remove Ad// @description:ru Это бета-адаптер для вашего ping/FPS в MooMoo.io! + Удалить Рекламу// @author @nudoo// @match *://moomoo.io/*// @match *://*.moomoo.io/*// @icon https://www.google.com/s2/favicons?sz=64&domain=moomoo.io// @grant none// @run-at document-start// ==/UserScript==(function() {"use strict"const adSelectors = ["#adCard", "#adBlock", "#promoImgHolder","#pre-content-container"]const meaninglessSelectors = ["#joinPartyButton", "#partyButton", "#settingsButton",`script[src="./libs/howler.core.min.js"]`, "#errorNotification","#youtubeFollow", "#linksContainer2", "#twitterFollow","#followText", "#youtuberOf", "#mobileInstructions","#downloadButtonContainer", "#mobileDownloadButtonContainer", ".downloadBadge","#altServer"]const stateColors = {enabled: "#7ee559",disabled: "#e55959"}function removeElement(selector) {const elements = [ ...document.querySelectorAll(selector) ]for (const element of elements) {if (!element) continueif (!(element.remove instanceof Function)) {element.style.display = "none !important"element.style.visiblity = "hidden !important"continue}element.remove()}}function removeElements(selectors) {for (const selector of selectors) {if (!selector) continueremoveElement(selector)}}function getCustomId(id) {id = id.toLowerCase().replace(/(\-|\s)/g, "_")return `beta_adapter_${id}`}function getGameDefaultButton(id) {const button = document.createElement("div")button.classList.add("menuButton")button.id = idreturn button}function addButtonToSetupCard(name, state, listener) {const setupCard = document.getElementById("setupCard")const id = getCustomId(name)const button = getGameDefaultButton(id)button.innerHTML = `<span>${name}</span>`button.style.marginTop = "16px"setupCard.appendChild(button)button.setState = function(_state) {const stateColor = stateColors[_state ? "enabled" : "disabled"]button.style.backgroundColor = stateColor}button.setState(state)if (!(listener instanceof Function)) returnbutton.addEventListener("click", listener.bind(null, button))}function getRemoveStoreHatsState() {return JSON.parse(localStorage.getItem("remove_store_hats"))}function setRemoveStoreHatsState(_state) {localStorage.setItem("remove_store_hats", JSON.stringify(_state))}function onDOMLoaded() {removeElements(adSelectors)removeElements(meaninglessSelectors)addButtonToSetupCard("Remove store hats", getRemoveStoreHatsState(), (button) => {const state = !getRemoveStoreHatsState()button.setState(state)setRemoveStoreHatsState(state)})const storeButton = document.getElementById("storeButton")const storeTabs = document.querySelectorAll(".storeTab")const removeHatsButtons = [ storeButton, ...storeTabs ]removeHatsButtons.forEach((button) => {button.addEventListener("click", () => {if (!getRemoveStoreHatsState()) returnconst interval = setInterval(() => {const mainMenu = document.getElementById("mainMenu")const hatPreview = document.querySelector(".hatPreview")if (mainMenu) return clearInterval(interval)if (!hatPreview) returnremoveElement(".hatPreview")clearInterval(interval)})})})}window.location.native_resolution = trueconst oldReqAnimFrame = window.requestAnimationFramewindow.requestAnimationFrame = function(callback) {if (callback.toString().length === 69) {return window.setTimeout(callback, 1e3 / 111)}return oldReqAnimFrame(callback)}Object.defineProperty(HTMLImageElement.prototype, "src", {get() {return this[Symbol("src")]},set(value) {if (this.classList.contains("hatPreview")) {if (getRemoveStoreHatsState() && (/\/hats\/hat\_/.test(value) || /\/accessories\/access\_/.test(value))) {return this.remove()}}this.setAttribute("src", value)this[Symbol("src")] = value},configurable: true})Object.defineProperty(Object.prototype, "turnSpeed", {get() {return 0},set(value) {this[Symbol("turnSpeed")] = 0},configurable: true})const maxScreenWidth = 1920const maxScreenHeight = 1080const { lineTo, moveTo } = CanvasRenderingContext2D.prototypeconst gridAlpha = 0.06CanvasRenderingContext2D.prototype.moveTo = function(x, y) {if (this.globalAlpha === gridAlpha) returnreturn moveTo.apply(this, arguments)}CanvasRenderingContext2D.prototype.lineTo = function(x, y) {if (this.globalAlpha === gridAlpha && (y === maxScreenHeight || x === maxScreenWidth)) returnreturn lineTo.apply(this, arguments)}window.addEventListener("DOMContentLoaded", onDOMLoaded)})()