您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a button to autofill the Roblox signup form.
// ==UserScript== // @name Roblox Alt Creator // @namespace http://tampermonkey.net/ // @version 1.1 // @description Adds a button to autofill the Roblox signup form. // @author find // @match https://www.roblox.com/* // @grant GM_addStyle // @license MIT // ==/UserScript== (function() { 'use strict'; const MIN_BIRTH_YEAR = 1990; const MAX_BIRTH_YEAR = 2005; const adjectives = [ "Silent", "Golden", "Red", "Cosmic", "Dark", "Epic", "Shadow", "Aqua", "Cyber", "Mystic", "Iron", "Super", "Arctic", "Brave", "Grand", "Chrono" ]; const nouns = [ "Knight", "Hunter", "Panda", "Wolf", "Gamer", "Player", "Fox", "Coder", "Dragon", "Phoenix", "Guard", "Pilot", "Jester", "King", "Wizard" ]; function generateRandomUsername() { const adj = adjectives[Math.floor(Math.random() * adjectives.length)]; const noun = nouns[Math.floor(Math.random() * nouns.length)]; const num = Math.floor(Math.random() * 9999) + 1; return Math.random() > 0.5 ? `${adj}_${noun}${num}` : `${adj}${noun}${num}`; } function fillForm() { const months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; const randomMonth = months[Math.floor(Math.random() * months.length)]; const randomDay = String(Math.floor(Math.random() * 28) + 1).padStart(2, '0'); const randomYear = String(Math.floor(Math.random() * (MAX_BIRTH_YEAR - MIN_BIRTH_YEAR + 1)) + MIN_BIRTH_YEAR); setDropdownValue('MonthDropdown', randomMonth); setDropdownValue('DayDropdown', randomDay); setDropdownValue('YearDropdown', randomYear); setInputValue('signup-username', generateRandomUsername()); setInputValue('signup-password', Math.random().toString(36).slice(2) + Math.random().toString(36).slice(2, 8)); if (Math.random() < 0.5) { document.getElementById('FemaleButton')?.click(); } else { document.getElementById('MaleButton')?.click(); } } function setDropdownValue(id, value) { const dropdown = document.getElementById(id); if (dropdown) { dropdown.value = value; dropdown.dispatchEvent(new Event('change', { bubbles: true })); } } function setInputValue(id, value) { const input = document.getElementById(id); if (input) { const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set; nativeInputValueSetter.call(input, value); input.dispatchEvent(new Event('input', { bubbles: true })); } } function init() { const signUpButton = document.getElementById('signup-button'); if (signUpButton && !document.getElementById('autofill-button')) { const button = document.createElement('button'); button.innerHTML = 'Auto-Fill Form'; button.id = 'autofill-button'; button.type = 'button'; button.addEventListener('click', fillForm); signUpButton.parentNode.insertBefore(button, signUpButton); GM_addStyle(` #autofill-button { background-color: #00a2ff; color: white; border: none; padding: 10px 15px; width: 100%; font-size: 16px; font-weight: bold; border-radius: 8px; cursor: pointer; margin-bottom: 16px; transition: background-color 0.2s; text-align: center; line-height: normal; } #autofill-button:hover { background-color: #008ae6; } `); return true; } return false; } const observer = new MutationObserver((mutations, obs) => { if (init()) { obs.disconnect(); } }); observer.observe(document.body, { childList: true, subtree: true }); })();