您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Öffnet Packs automatisch und sortiert Karten nach Wertung
// ==UserScript== // @name EA FC 25 Ultimate Pack Manager // @namespace http://tampermonkey.net/ // @version 2.0 // @description Öffnet Packs automatisch und sortiert Karten nach Wertung // @author Your Name // @match https://www.ea.com/*fc* // @grant GM_addStyle // @require https://code.jquery.com/jquery-3.6.0.min.js // ==/UserScript== (function() { 'use strict'; let isOpening = false; let openInterval; let cardProcessing = false; let totalCardsProcessed = 0; // Styling für zusätzliche UI-Elemente GM_addStyle(` .fc-control-panel { position: fixed; bottom: 20px; right: 20px; z-index: 99999; background: rgba(40, 40, 40, 0.93); border-radius: 15px; padding: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); border: 2px solid #00aeff; width: 300px; color: white; font-family: Arial, sans-serif; } .fc-control-btn { display: block; width: 100%; padding: 15px; margin: 10px 0; font-size: 18px; font-weight: bold; text-align: center; border-radius: 50px; cursor: pointer; transition: all 0.3s; border: none; color: white; } #fc-start-btn { background: linear-gradient(to right, #00c853, #009624); } #fc-start-btn:hover { background: linear-gradient(to right, #00e676, #00c853); transform: translateY(-2px); } #fc-start-btn.stopping { background: linear-gradient(to right, #ff5252, #b71c1c); } .fc-stats { text-align: center; margin: 15px 0; font-size: 16px; color: #00aeff; } .fc-status { margin-top: 15px; padding: 10px; background: rgba(0, 50, 80, 0.4); border-radius: 8px; font-size: 14px; min-height: 40px; } `); // Control Panel erstellen const controlPanel = document.createElement('div'); controlPanel.className = 'fc-control-panel'; controlPanel.innerHTML = ` <h3 style="text-align:center; margin-top:0; color:#00aeff">FC 25 Pack Manager</h3> <button id="fc-start-btn" class="fc-control-btn">START AUTO-OPEN</button> <div class="fc-stats"> Verarbeitete Karten: <span id="fc-card-count">0</span> </div> <div class="fc-status" id="fc-status">Bereit zum Starten...</div> `; document.body.appendChild(controlPanel); const startButton = document.getElementById('fc-start-btn'); const cardCount = document.getElementById('fc-card-count'); const statusDisplay = document.getElementById('fc-status'); function updateStatus(message) { statusDisplay.textContent = message; } function findPackElements() { // Aktualisierte Selektoren für EA FC 25 return { packButton: document.querySelector('.ut-store-pack-item .ut-store-pack-details-view .ut-button-group button'), cardElements: document.querySelectorAll('.ut-item-view .item-info'), quickSellBtn: document.querySelector('[data-tid="quick-sell-btn"]'), sendToClubBtn: document.querySelector('[data-tid="send-to-club-btn"]'), sendToSbcBtn: document.querySelector('[data-tid="squad-building-challenge-btn"]'), confirmBtn: document.querySelector('.ut-dialog-content .ut-confirmation-dialog-view .call-to-action'), closeBtn: document.querySelector('.ut-dialog-content .ut-dialog-close') }; } function getCardRating(cardElement) { try { const ratingText = cardElement.querySelector('.item-rating').textContent; return parseInt(ratingText); } catch (e) { return 0; } } async function processCard(cardElement) { cardProcessing = true; cardElement.click(); await wait(1500); const elements = findPackElements(); const cardRating = getCardRating(cardElement); if (cardRating >= 85) { // Versuche zuerst in den Verein zu senden if (elements.sendToClubBtn) { elements.sendToClubBtn.click(); updateStatus(`Karte (${cardRating}) zum Verein hinzugefügt`); } // Falls nicht verfügbar, versende zu SBC else if (elements.sendToSbcBtn) { elements.sendToSbcBtn.click(); updateStatus(`Karte (${cardRating}) zu SBC hinzugefügt`); } } else { if (elements.quickSellBtn) { elements.quickSellBtn.click(); await wait(1000); if (elements.confirmBtn) { elements.confirmBtn.click(); updateStatus(`Karte (${cardRating}) schnellverkauft`); } } } totalCardsProcessed++; cardCount.textContent = totalCardsProcessed; await wait(2000); cardProcessing = false; } async function processPack() { updateStatus("Verarbeite Pack..."); await wait(4000); const elements = findPackElements(); if (!elements.cardElements || elements.cardElements.length === 0) { updateStatus("Keine Karten gefunden"); return false; } // Verarbeite jede Karte nacheinander for (const card of elements.cardElements) { if (!isOpening) break; await processCard(card); await wait(1000); } return true; } function openNextPack() { const elements = findPackElements(); if (elements.packButton && !cardProcessing) { elements.packButton.click(); updateStatus("Öffne Pack..."); return true; } return false; } function closePack() { const elements = findPackElements(); if (elements.closeBtn) { elements.closeBtn.click(); updateStatus("Pack geschlossen"); return true; } return false; } async function packOpeningCycle() { if (!isOpening) return; if (openNextPack()) { await wait(3000); await processPack(); await wait(2000); closePack(); await wait(3000); } else { updateStatus("Warte auf verfügbare Packs..."); } if (isOpening) { setTimeout(packOpeningCycle, 3000); } } function startOpening() { if (isOpening) return; isOpening = true; startButton.textContent = 'STOPP'; startButton.classList.add('stopping'); updateStatus("Starte automatisches Öffnen..."); totalCardsProcessed = 0; cardCount.textContent = '0'; packOpeningCycle(); } function stopOpening() { isOpening = false; startButton.textContent = 'START AUTO-OPEN'; startButton.classList.remove('stopping'); updateStatus("Prozess gestoppt"); } startButton.addEventListener('click', function() { if (isOpening) { stopOpening(); } else { startOpening(); } }); // Hilfsfunktion für Wartezeiten function wait(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址