// ==UserScript== // @name QSJZL Upgraded // @namespace http://mywebsite.com // @version 3.0 // @description 自动领取任务和奖励 // @author 七七 // @match https://tps.qq.com/cp/a20231128qsjzl/index.html* // @grant none // ==/UserScript== (function() { 'use strict'; const delayBetweenActions = 2000; // 操作之间的延迟(毫秒) function createButtons() { const buttonsContainer = document.createElement('div'); buttonsContainer.style.cssText = ` position: fixed; top: 13%; left: 0; transform: translateY(-50%); z-index: 9999; padding: 10px; font-family: '微软雅黑', sans-serif; display: flex; flex-direction: column; align-items: flex-start; `; const taskButton = document.createElement('button'); taskButton.textContent = '任务领取'; taskButton.style.cssText = ` margin-bottom: 10px; background-color:#5673D400; color: white; border: none; padding: 8px 16px; font-family: '微软雅黑', sans-serif; cursor: pointer; `; taskButton.addEventListener('click', () => { clickButtons(); }); const levelButton = document.createElement('button'); levelButton.textContent = '等级领取'; levelButton.style.cssText = ` background-color:#5673D400; /* 深蓝色 */ color: white; border: none; padding: 8px 16px; font-family: '微软雅黑', sans-serif; cursor: pointer; `; levelButton.addEventListener('click', () => { const levelRange = prompt('请输入要领取的等级区间(例如2-10):'); if (levelRange) { const levels = levelRange.split('-'); if (levels.length === 2 && !isNaN(levels[0]) && !isNaN(levels[1])) { clickLevelButtons(levels[0], levels[1]); } else { alert('请输入有效的等级区间(例如2-10)!'); } } else { alert('请输入等级区间!'); } }); buttonsContainer.appendChild(taskButton); buttonsContainer.appendChild(levelButton); document.body.appendChild(buttonsContainer); } function clickButton(buttonIndex) { const button = document.querySelector('.get-btn'); if (button) { button.click(); setTimeout(function() { button.classList.remove('get-btn'); button.classList.add('out-btn'); clickButton(buttonIndex + 1); }, delayBetweenActions); } } function clickButtons() { clickButton(0); } function clickLevelButton(level) { const levelButton = document.querySelector(`a[href="javascript:lingqu(${level});"]`); if (levelButton) { levelButton.click(); } } function clickLevelButtons(startLevel, endLevel) { let currentLevel = startLevel; const interval = setInterval(function() { clickLevelButton(currentLevel); if (currentLevel >= endLevel) { clearInterval(interval); } currentLevel++; }, delayBetweenActions); } createButtons(); })();