您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Multilingual promo-code selector and language switcher for Castle Clash
// ==UserScript== // @name Castle Clash Code Selector (Multilingual & Optimized) // @name:en Castle Clash Code Selector (Multilingual & Optimized) // @name:ru Выбор промокода Castle Clash (многоязычный и оптимизированный) // @namespace http://tampermonkey.net/ // @version 1.8.5 // @description Multilingual promo-code selector and language switcher for Castle Clash // @description:en Multilingual promo-code selector and language switcher for Castle Clash // @description:ru Многоязычный выбор промокодов и переключатель языка для Castle Clash // @match https://castleclash.igg.com/event/cdkey* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // --- Configuration --- const CODES = [ { id: '1', code: 'QYFUF6' }, { id: '2', code: 'NYQZKQ' }, { id: '3', code: 'KJYJT3' }, { id: '4', code: 'DN72M7' }, { id: '5', code: 'GDEJ9E' }, { id: '6', code: 'ZRX6NB' } // Новый код ]; const TRANSLATIONS = { en: { title: 'Select a promo code:', btnPrefix: '', switchLabel: 'Language:' }, ru: { title: 'Выберите промокод:', btnPrefix: '', switchLabel: 'Язык:' } }; // --- Helpers --- const params = new URLSearchParams(location.search); const currentLang = params.get('lang') in TRANSLATIONS ? params.get('lang') : 'en'; const t = TRANSLATIONS[currentLang]; const basePath = location.origin + '/event/cdkey'; function langUrl(lang) { return `${basePath}?lang=${lang}`; } // --- Styles --- const css = ` #cc-selector { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); background: #fff; border: 1px solid #ccc; padding: 15px; z-index:9999; box-shadow:0 4px 10px rgba(0,0,0,0.2); border-radius:8px; font-family:sans-serif; } #cc-selector h3 { margin:0 0 10px; font-size:16px; } .cc-btn { margin:4px; padding:8px 12px; background:#007bff; color:#fff; border:none; border-radius:4px; cursor:pointer; font-size:14px; } .cc-btn:hover { background:#0056b3; } #cc-language { margin-bottom:8px; display:flex; align-items:center; gap:6px; } #cc-language a { text-decoration:none; font-size:14px; color:#007bff; } #cc-language a.active { font-weight:bold; cursor:default; } `; const styleNode = document.createElement('style'); styleNode.textContent = css; document.head.append(styleNode); // --- UI Creation --- function buildUI() { const container = document.createElement('div'); container.id = 'cc-selector'; // Language Switcher const langDiv = document.createElement('div'); langDiv.id = 'cc-language'; langDiv.innerHTML = `<span>${t.switchLabel}</span>`; Object.keys(TRANSLATIONS).forEach(lang => { const a = document.createElement('a'); a.href = langUrl(lang); a.textContent = lang.toUpperCase(); if (lang === currentLang) a.classList.add('active'); langDiv.append(a); }); container.append(langDiv); // Title const titleEl = document.createElement('h3'); titleEl.textContent = t.title; container.append(titleEl); // Buttons CODES.forEach(({ id, code }) => { const btn = document.createElement('button'); btn.className = 'cc-btn'; btn.textContent = `${id}. ${code}`; btn.addEventListener('click', () => insertCode(code)); container.append(btn); }); document.body.append(container); } // --- Insert & Trigger --- function insertCode(code) { const input = document.querySelector('#cdkey'); if (input) { input.value = code; input.dispatchEvent(new Event('input', { bubbles: true })); } } // --- Init --- window.addEventListener('load', buildUI); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址