Git游戏

您现在的位置是:首页 > 攻略大全 > 辅助脚本

辅助脚本

​仙女与独角兽自动点击脚本

2025-11-07 辅助脚本2487
// @match https://g1tyx.github.io/fairies-and-unicorns/// ===================== 配置参数(可根据需求调整)=====================const config = { // 基础资源点击间隔(毫秒):避免点击过快被拦截 baseC...

// @match        https://g1tyx.github.io/fairies-and-unicorns/

// ===================== 配置参数(可根据需求调整)=====================

const config = {

  // 基础资源点击间隔(毫秒):避免点击过快被拦截

  baseClickInterval: 200,

  // 加速器购买检测间隔(毫秒):比点击间隔长,减少性能消耗

  upgradeCheckInterval: 1000,

  // 优先购买顺序(按速度加成性价比排序,可调整)

  upgradePriority: ["Rocket", "String Theory", "Shooting Star", "Comet"],

  // 最低资源储备阈值(防止资源耗尽无法生产,可根据网页数值调整)

  minFairyReserve: 10,    // 最低仙女数量

  minUnicornReserve: 10   // 最低独角兽数量

};


// ===================== 状态管理(无需手动修改)=====================

let isRunning = false;

let baseClickTimer = null;

let upgradeCheckTimer = null;


// ===================== 核心功能函数 =====================

/**

 * 1. 基础资源点击函数:自动点击仙女、独角兽生成按钮

 */

function autoClickBaseResources() {

  // (关键:需替换为网页真实元素选择器!)

  // 示例选择器:假设按钮ID为"fairy-btn"和"unicorn-btn",可通过浏览器F12查看

  const fairyBtn = document.querySelector(".fairy-icon") || document.querySelector(".fairy-generator");

  const unicornBtn = document.querySelector(".unicorn-icon") || document.querySelector(".unicorn-generator");


  // 点击仙女按钮(确保资源储备充足)

  if (fairyBtn && getCurrentFairyCount() >= config.minFairyReserve) {

    fairyBtn.click();

  }

  // 点击独角兽按钮(确保资源储备充足)

  if (unicornBtn && getCurrentUnicornCount() >= config.minUnicornReserve) {

    unicornBtn.click();

  }

}


/**

 * 2. 读取当前资源数量(需根据网页DOM结构调整)

 * @returns {number} 当前仙女数量

 */

function getCurrentFairyCount() {

  // 示例:假设仙女数量显示在ID为"fairy-count"的元素中

  const countElem = document.querySelector("#fairy-count") || document.querySelector(".fairy-count");

  return countElem ? parseInt(countElem.textContent.trim()) || 0 : 0;

}


/**

 * @returns {number} 当前独角兽数量

 */

function getCurrentUnicornCount() {

  // 示例:假设独角兽数量显示在ID为"unicorn-count"的元素中

  const countElem = document.querySelector("#unicorn-count") || document.querySelector(".unicorn-count");

  return countElem ? parseInt(countElem.textContent.trim()) || 0 : 0;

}


/**

 * 3. 自动购买加速器函数:按优先级购买可负担的升级项

 */

function autoBuyUpgrades() {

  config.upgradePriority.forEach(upgradeName => {

    // (关键:需替换为网页真实升级项选择器!)

    // 示例:假设升级项按钮类名为"upgrade-btn",且包含名称标识

    const upgradeBtn = document.querySelector(`.upgrade-btn[data-name="${upgradeName}"]`) 

      || document.querySelector(`.upgrade-item:contains("${upgradeName}")`);


    if (upgradeBtn) {

      // 检查按钮是否可点击(未禁用、有足够资源)

      const isDisabled = upgradeBtn.disabled || upgradeBtn.classList.contains("disabled");

      if (!isDisabled) {

        upgradeBtn.click();

        console.log(`已购买加速器:${upgradeName}`);

      }

    }

  });

}


/**

 * 4. 启动自动脚本

 */

function startAutoScript() {

  if (isRunning) {

    console.log("脚本已在运行中!");

    return;

  }


  isRunning = true;

  // 启动基础资源自动点击

  baseClickTimer = setInterval(autoClickBaseResources, config.baseClickInterval);

  // 启动加速器自动购买检测

  upgradeCheckTimer = setInterval(autoBuyUpgrades, config.upgradeCheckInterval);


  console.log("自动脚本已启动!");

  console.log(`基础点击间隔:${config.baseClickInterval}ms | 升级检测间隔:${config.upgradeCheckInterval}ms`);

}


/**

 * 5. 暂停自动脚本

 */

function stopAutoScript() {

  if (!isRunning) {

    console.log("脚本已暂停!");

    return;

  }


  isRunning = false;

  // 清除定时器

  clearInterval(baseClickTimer);

  clearInterval(upgradeCheckTimer);

  baseClickTimer = null;

  upgradeCheckTimer = null;


  console.log("自动脚本已暂停!");

}


// ===================== 脚本启动/暂停入口(手动调用)=====================

// 方式1:在浏览器控制台直接运行(按F12打开Console,复制以下代码)

// 启动:startAutoScript();

// 暂停:stopAutoScript();


// 方式2:在网页添加临时按钮(方便非技术用户)

function addControlButtons() {

  const btnContainer = document.createElement("div");

  btnContainer.style.position = "fixed";

  btnContainer.style.top = "20px";

  btnContainer.style.right = "20px";

  btnContainer.style.zIndex = "9999"; // 确保按钮在最上层


  // 启动按钮

  const startBtn = document.createElement("button");

  startBtn.textContent = "启动自动脚本";

  startBtn.style.padding = "8px 16px";

  startBtn.style.marginRight = "8px";

  startBtn.style.backgroundColor = "#4CAF50";

  startBtn.style.color = "white";

  startBtn.style.border = "none";

  startBtn.style.borderRadius = "4px";

  startBtn.onclick = startAutoScript;


  // 暂停按钮

  const stopBtn = document.createElement("button");

  stopBtn.textContent = "暂停自动脚本";

  stopBtn.style.padding = "8px 16px";

  stopBtn.style.backgroundColor = "#f44336";

  stopBtn.style.color = "white";

  stopBtn.style.border = "none";

  stopBtn.style.borderRadius = "4px";

  stopBtn.onclick = stopAutoScript;


  btnContainer.appendChild(startBtn);

  btnContainer.appendChild(stopBtn);

  document.body.appendChild(btnContainer);


  console.log("已添加脚本控制按钮(右上角)!");

}


// 页面加载完成后添加控制按钮

window.addEventListener("load", addControlButtons);


文章评论

共有0条评论来说两句吧...