您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Automatically fill player rating input boxes with random numbers within specified ranges and click on each input box to validate them.
当前为
// ==UserScript== // @name Auto Fill Player Ratings with Custom Ranges and Auto-Click // @namespace http://tampermonkey.net/ // @version 0.5 // @description Automatically fill player rating input boxes with random numbers within specified ranges and click on each input box to validate them. // @author tanguy // @match *://*.ea.com/games/ea-sports-college-football/team-builder/team-create/* // @icon https://i.imgur.com/9nq6Rpp.png // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; function getRandomNumber(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } function updateAllMinMaxInputs(globalMin, globalMax) { const minBoxes = document.querySelectorAll('input.min-range'); const maxBoxes = document.querySelectorAll('input.max-range'); minBoxes.forEach(minBox => minBox.value = globalMin); maxBoxes.forEach(maxBox => maxBox.value = globalMax); } function addGlobalRangeInputs() { const globalContainer = document.createElement('div'); globalContainer.style.display = 'flex'; globalContainer.style.alignItems = 'center'; globalContainer.style.margin = '10px 0'; globalContainer.style.padding = '10px'; globalContainer.style.backgroundColor = '#f8f9fa'; globalContainer.style.border = '1px solid #ddd'; const globalMinBox = document.createElement('input'); globalMinBox.type = 'number'; globalMinBox.placeholder = 'Global Min'; globalMinBox.value = '0'; globalMinBox.style.marginRight = '10px'; globalMinBox.style.width = '100px'; const globalMaxBox = document.createElement('input'); globalMaxBox.type = 'number'; globalMaxBox.placeholder = 'Global Max'; globalMaxBox.value = '99'; globalMaxBox.style.marginRight = '10px'; globalMaxBox.style.width = '100px'; globalContainer.appendChild(globalMinBox); globalContainer.appendChild(globalMaxBox); document.body.insertBefore(globalContainer, document.body.firstChild); globalMinBox.addEventListener('input', function() { const globalMin = parseInt(globalMinBox.value) || 0; const globalMax = parseInt(globalMaxBox.value) || 99; updateAllMinMaxInputs(globalMin, globalMax); }); globalMaxBox.addEventListener('input', function() { const globalMin = parseInt(globalMinBox.value) || 0; const globalMax = parseInt(globalMaxBox.value) || 99; updateAllMinMaxInputs(globalMin, globalMax); }); } function addRangeInputs() { const forms = document.querySelectorAll('form.playerRating-item'); forms.forEach(form => { const ratingDiv = form.querySelector('div.playerRating-item--ranking'); const existingMinBox = form.querySelector('input.min-range'); const existingMaxBox = form.querySelector('input.max-range'); if (!existingMinBox && !existingMaxBox) { const rangeContainer = document.createElement('div'); rangeContainer.style.display = 'flex'; rangeContainer.style.alignItems = 'center'; rangeContainer.style.marginBottom = '5px'; const minBox = document.createElement('input'); minBox.type = 'number'; minBox.placeholder = 'Min'; minBox.className = 'input input--sm min-range'; minBox.value = '0'; minBox.style.marginRight = '5px'; minBox.style.width = '80px'; const maxBox = document.createElement('input'); maxBox.type = 'number'; maxBox.placeholder = 'Max'; maxBox.className = 'input input--sm max-range'; maxBox.value = '99'; maxBox.style.marginRight = '5px'; maxBox.style.width = '80px'; rangeContainer.appendChild(minBox); rangeContainer.appendChild(maxBox); ratingDiv.parentNode.insertBefore(rangeContainer, ratingDiv); } }); } function addHeightWeightInputs() { const container = document.createElement('div'); container.style.display = 'flex'; container.style.alignItems = 'center'; container.style.margin = '10px 0'; container.style.padding = '10px'; container.style.backgroundColor = '#f8f9fa'; container.style.border = '1px solid #ddd'; const heightMinBox = document.createElement('input'); heightMinBox.type = 'number'; heightMinBox.placeholder = 'Height Min (inches)'; heightMinBox.value = '60'; heightMinBox.style.marginRight = '10px'; heightMinBox.style.width = '150px'; const heightMaxBox = document.createElement('input'); heightMaxBox.type = 'number'; heightMaxBox.placeholder = 'Height Max (inches)'; heightMaxBox.value = '80'; heightMaxBox.style.marginRight = '10px'; heightMaxBox.style.width = '150px'; const weightMinBox = document.createElement('input'); weightMinBox.type = 'number'; weightMinBox.placeholder = 'Weight Min (lbs)'; weightMinBox.value = '160'; weightMinBox.style.marginRight = '10px'; weightMinBox.style.width = '150px'; const weightMaxBox = document.createElement('input'); weightMaxBox.type = 'number'; weightMaxBox.placeholder = 'Weight Max (lbs)'; weightMaxBox.value = '400'; weightMaxBox.style.marginRight = '10px'; weightMaxBox.style.width = '150px'; container.appendChild(heightMinBox); container.appendChild(heightMaxBox); container.appendChild(weightMinBox); container.appendChild(weightMaxBox); document.body.insertBefore(container, document.body.firstChild); const randomizeButton = document.createElement('button'); randomizeButton.textContent = 'Randomize Height & Weight'; randomizeButton.style.display = 'block'; randomizeButton.style.margin = '10px 0'; randomizeButton.style.padding = '10px'; randomizeButton.style.backgroundColor = '#28a745'; randomizeButton.style.color = '#fff'; randomizeButton.style.border = 'none'; randomizeButton.style.cursor = 'pointer'; container.appendChild(randomizeButton); randomizeButton.addEventListener('click', function() { const heightMin = parseInt(heightMinBox.value) || 60; const heightMax = parseInt(heightMaxBox.value) || 80; const weightMin = parseInt(weightMinBox.value) || 160; const weightMax = parseInt(weightMaxBox.value) || 400; const heightSlider = document.querySelector('input[type="range"]#heightSlider'); const weightSlider = document.querySelector('input[type="range"]#weightSlider'); if (heightSlider) { heightSlider.value = getRandomNumber(heightMin, heightMax); // Trigger input and change events heightSlider.dispatchEvent(new Event('input', { bubbles: true })); heightSlider.dispatchEvent(new Event('change', { bubbles: true })); } if (weightSlider) { weightSlider.value = getRandomNumber(weightMin, weightMax); // Trigger input and change events weightSlider.dispatchEvent(new Event('input', { bubbles: true })); weightSlider.dispatchEvent(new Event('change', { bubbles: true })); } // Optionally set focus, though this doesn't trigger events heightSlider.focus(); weightSlider.focus(); heightSlider.click(); }); } const button = document.createElement('button'); button.textContent = 'Randomize Ratings'; button.style.display = 'block'; button.style.margin = '10px 0'; button.style.padding = '10px'; button.style.backgroundColor = '#007bff'; button.style.color = '#fff'; button.style.border = 'none'; button.style.cursor = 'pointer'; document.body.insertBefore(button, document.body.firstChild); button.addEventListener('click', function() { addRangeInputs(); const forms = document.querySelectorAll('form.playerRating-item'); forms.forEach(form => { const inputBox = form.querySelector('input[type="number"].input.input--sm.no-arrows'); const minBox = form.querySelector('input.min-range'); const maxBox = form.querySelector('input.max-range'); if (inputBox && minBox && maxBox) { const min = parseInt(minBox.value) || 0; const max = parseInt(maxBox.value) || 99; const validMin = Math.max(0, min); const validMax = Math.min(99, max); if (validMin <= validMax) { inputBox.value = getRandomNumber(validMin, validMax); // Click on the input box to trigger any associated event inputBox.focus(); // Simulate pressing "Enter" to validate the input const event = new KeyboardEvent('keydown', { key: 'Enter', code: 'Enter', keyCode: 13, bubbles: true, }); inputBox.dispatchEvent(event); } } }); }); addGlobalRangeInputs(); addRangeInputs(); addHeightWeightInputs(); })();