您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Subir imagen personalizada con borde del color elegido, botón junto a "Save"
// ==UserScript== // @name Agario Custom Skin (borde real junto a Save) // @namespace https://tampermonkey.net/ // @version 1.1 // @description Subir imagen personalizada con borde del color elegido, botón junto a "Save" // @author ChatGPT + Tú // @match *://*.agar.io/* // @grant unsafeWindow // ==/UserScript== (function () { 'use strict'; function insertUploadButton() { const colorPickerContainer = document.querySelector('#nick + div'); const saveButton = document.querySelector('#mainPanel .btn.btn-primary'); if (!colorPickerContainer || !saveButton) return; // Crear input oculto const fileInput = document.createElement('input'); fileInput.type = 'file'; fileInput.accept = 'image/*'; fileInput.style.display = 'none'; // Crear botón "Subir imagen" const uploadButton = document.createElement('button'); uploadButton.innerText = 'Subir imagen'; uploadButton.className = 'btn btn-success'; uploadButton.style.marginLeft = '10px'; // Acción al hacer clic en el botón uploadButton.onclick = () => fileInput.click(); fileInput.onchange = () => { const file = fileInput.files[0]; if (!file) return; const reader = new FileReader(); reader.onload = function (e) { const skinURL = e.target.result; // Leer el color de borde elegido const selectedColor = localStorage.getItem("cellColor") || "1"; let borderColor = 0; if (selectedColor === "1") borderColor = 2; // blanco else if (selectedColor === "2") borderColor = 1; // negro else borderColor = parseInt(selectedColor); try { unsafeWindow.core.registerSkin(null, "%SkinPersonalizada", skinURL, borderColor, null); unsafeWindow.core.loadSkin("%SkinPersonalizada"); } catch (err) { console.error("Error al cargar la skin personalizada:", err); } }; reader.readAsDataURL(file); }; // Insertar al lado del botón "Save" saveButton.parentNode.insertBefore(uploadButton, saveButton.nextSibling); saveButton.parentNode.insertBefore(fileInput, uploadButton.nextSibling); } const waitForMenu = setInterval(() => { if (document.querySelector('#mainPanel') && unsafeWindow.core?.registerSkin) { clearInterval(waitForMenu); insertUploadButton(); } }, 1000); })();