[GC | BETA] - Dailies Global Preferences Wizard

Global script that only runs relevant code on individual dailies pages.

目前为 2024-02-18 提交的版本。查看 最新版本

// ==UserScript==
// @name        [GC | BETA] - Dailies Global Preferences Wizard
// @namespace		https://gf.qytechs.cn/en/users/1225524-kaitlin
// @match       https://grundos.cafe/*
// @match       https://www.grundos.cafe/*
// @version     .6
// @author      Cupkait
// @icon        https://i.imgur.com/4Hm2e6z.png
// @require 		https://code.jquery.com/jquery-3.6.3.min.js
// @require https://update.gf.qytechs.cn/scripts/487476/1328526/%5BGC%20%7C%20Library%5D%20-%20Highlight%20and%20sort%2015%20NP%20stocks.js
// @license     MIT
// @grant        GM_setValue
// @grant        GM_getValue
// @grant        GM_registerMenuCommand
// @grant        GM_addStyle

// @credits			Elements of this script are possible in no small part due to anyone helping me collect html examples, find bugs, etc.
// @credits 		I may eventually include a list of credits, but for now - you know who you are. Thank you <3


// @description Global script that only runs relevant code on individual dailies pages.
// Run the "Set Variable" command in the menu to set up active pet redirects.
// Currently a known issue with having blank entries default to your identified main pet.
// If you leave a question blank, it just won't redirect your active pet for that daily.

// Upcoming feature(s):
// On-screen menu for setting/resetting variables.
// Setting your Wishing Well preferences.
//
//
// 		     	If I've missed a daily, I either don't have it or forgot about it - PLEASE tell me so I can add it in :D
//
//
// ==/UserScript==
$(document).ready(function () {
  function setVariableValue(variableName, promptMessage) {
    var currentValue = GM_getValue(variableName, "");

    if (!currentValue) {
      var userInput = prompt(
        promptMessage +
          "\n\nPet name is CASE SENSITIVE. Use proper capitalization.\nIf you have no preference, set it to match your main pet."
      );
      if (userInput !== "") {
        GM_setValue(variableName, userInput || mainPet);
      }
    }
  }

  function checkAndSetVariables() {
    setVariableValue(
      "mainPet",
      "What pet do you want to be active by default?\n\nNOTE: Do not leave this one blank, it is the only required value."
    );
    setVariableValue(
      "turmyPetpet",
      "Turmaculus can eat petpets. Which pet has a petpet he can safely eat?\n\nNote: If you can beat him in the BD you can get your petpet back, you will just lose any petpet levels and other progress when reattaching."
    );
    setVariableValue(
      "questPet",
      "Faerie and Kitchen quests give random stat increases. What pet do you want to receive these?"
    );
    setVariableValue(
      "labPet",
      "The lab ray can randomly change species, color, and stats. What pet do you want to use as a lab rat?"
    );
    setVariableValue(
      "scratchcardPet",
      "Scratchcards have the possibility of increasing levels. What pet do you want to receive these?"
    );
    setVariableValue(
      "labPetpet",
      "What pet has the petpet that you want to zap?"
    );
    setVariableValue(
      "jellyPet",
      "When visiting the Green Jelly your pet may turn Jelly. Which pet would you prefer this happen to?"
    );
    setVariableValue(
      "spookyPetpet",
      "Which pet has a Spooky petpet (so they can visit the toilet)?"
    );
    setVariableValue(
      "wheelPet",
      "Wheels can give random stat increases, decreases, and illnesses. What pet do you want these to affect?"
    );
    setVariableValue(
      "employedPet",
      "Some people want all job stats to stay on the same pet. If you care, which pet should they go to?"
    );
    setVariableValue(
      "firstCoord",
      "Set your first Buried Treasure coordinate. Pick a number 1-473."
    );
    setVariableValue(
      "secondCoord",
      "Set your second Buried Treasure coordinate. Pick a number 1-473."
    );
  }
  checkAndSetVariables();
  GM_registerMenuCommand("Set Variables", function () {
    checkAndSetVariables();
  });

  function updateLink(originalPath, updatedPath) {
    const linkElement = $(`#aio_sidebar a[href="${originalPath}"]`);
    if (linkElement.length > 0) {
      linkElement.attr("href", updatedPath);
    }
  }

  var mainPet = GM_getValue("mainPet", "");
  var turmyPetpet = GM_getValue("turmyPetpet", "");
  var questPet = GM_getValue("questPet", "");
  var labPet = GM_getValue("labPet", "");
  var scratchcardPet = GM_getValue("scratchcardPet", "");
  var labPetpet = GM_getValue("labPetpet", "");
  var jellyPet = GM_getValue("jellyPet", "");
  var spookyPetpet = GM_getValue("spookyPetpet", "");
  var wheelPet = GM_getValue("wheelPet", "");
  var employedPet = GM_getValue("employedPet", "");
  var firstCoord = GM_getValue("firstCoord", "");
  var secondCoord = GM_getValue("secondCoord", "");

  updateLink(
    "/games/stockmarket/stocks/",
    "/games/stockmarket/stocks/?view_all=True"
  );
  updateLink(
    "/pirates/buriedtreasure/",
    `/pirates/buriedtreasure/play/?${firstCoord},${secondCoord}`
  );
  updateLink(
    "/medieval/symolhole/",
    `/setactivepet/?pet_name=${mainPet}&redirect=/medieval/symolhole/`
  );
  updateLink(
    "/medieval/turmaculus/",
    `/setactivepet/?pet_name=${turmyPetpet}&redirect=/medieval/turmaculus/`
  );
  updateLink(
    "/faerieland/springs/",
    `/setactivepet/?pet_name=${questPet}&redirect=/faerieland/springs/`
  );
  updateLink(
    "/island/kitchen/",
    `/setactivepet/?pet_name=${questPet}&redirect=/island/kitchen/`
  );
  updateLink(
    "/faerieland/quests/",
    `/setactivepet/?pet_name=${questPet}&redirect=/faerieland/quests/`
  );
  updateLink(
    "/desert/shrine/",
    `/setactivepet/?pet_name=${questPet}&redirect=/desert/shrine/`
  );
  updateLink(
    "/halloween/toilet/",
    `/setactivepet/?pet_name=${spookyPetpet}&redirect=/halloween/toilet/`
  );
  updateLink(
    "/winter/kiosk/",
    `/setactivepet/?pet_name=${scratchcardPet}&redirect=/winter/kiosk/`
  );
  updateLink(
    "/halloween/kiosk/",
    `/setactivepet/?pet_name=${scratchcardPet}&redirect=/halloween/kiosk/`
  );
  updateLink(
    "/desert/kiosk/",
    `/setactivepet/?pet_name=${scratchcardPet}&redirect=/desert/kiosk/`
  );
  updateLink(
    "/medieval/brightvale/wheel/",
    `/setactivepet/?pet_name=${wheelPet}&redirect=/medieval/brightvale/wheel/`
  );
  updateLink(
    "/faerieland/wheel/",
    `/setactivepet/?pet_name=${wheelPet}&redirect=/faerieland/wheel/`
  );
  updateLink(
    "/prehistoric/wheel/",
    `/setactivepet/?pet_name=${wheelPet}&redirect=/prehistoric/wheel/`
  );
  updateLink(
    "/halloween/wheel/",
    `/setactivepet/?pet_name=${wheelPet}&redirect=/halloween/wheel/`
  );
  updateLink(
    "/jelly/greenjelly/",
    `/setactivepet/?pet_name=${jellyPet}&redirect=/jelly/greenjelly/`
  );
  updateLink(
    "/winter/snowager/",
    `/setactivepet/?pet_name=${mainPet}&redirect=/winter/snowager/approach/`
  );
  updateLink("/jelly/jelly/", "/jelly/take_jelly/");
  updateLink(
    "/prehistoric/plateau/omelette/",
    `/prehistoric/plateau/omelette/approach/`
  );
  updateLink("/desert/fruitmachine/", `/desert/fruitmachine2/`);
  updateLink("/faerieland/tdmbgpop/", `/faerieland/tdmbgpop/visit/`);
  updateLink("/island/tombola/", `/island/tombola/play`);
  updateLink("/neoschool/courses/", `/neoschool/course/`);
  //updateLink('', '');
  //updateLink('', '');
  // Placeholder template to add other link updates...
  //


	if (window.location.href.endsWith("/stocks/?view_all=True")) {
window.addEventListener('load', highlightRows);
	}


	  // SPOOKY TOILET - Press enter to take a swirl. 🤢
  if (window.location.href.endsWith("/halloween/toilet/")) {
    const submitButton = $('input[name="jump"].form-control.half-width');
console.log(submitButton.val())
    if (submitButton.length > 0) {
      submitButton.val("Press Enter or click here to dive in!");
      $(document).on("keydown", function (event) {
        if (event.key === "Enter") {
          submitButton.click();
        }
      });
    }
  }

  // DEADLY DICE - Press enter to roll the dice.
  if (window.location.href.endsWith("worlds/roo/deadlydice/")) {
    const submitButton = $('button[type="submit"].form-control.half-width');
    if (submitButton.length > 0) {
      submitButton.text("Press Enter or click here to play!");
      $(document).on("keydown", function (event) {
        if (event.key === "Enter") {
          submitButton.click();
        }
      })
    }
  }

  // WHEELS -- Enter to spin, prize displayed automatically.
  if (
    window.location.href.endsWith("/halloween/wheel/") ||
    window.location.href.endsWith("/prehistoric/wheel/") ||
    window.location.href.endsWith("/faerieland/wheel/")
  ) {
    const submitButton = $('input[type="submit"][name="spin"]');

    if (submitButton.length > 0) {
      submitButton.val("Press Enter or click here to spin!");
      $(document).on("keydown", function (event) {
        if (event.key === "Enter") {
          submitButton.click();
        }
      });
    } else {
      $("#spinning").hide();
      $("#prize-container").show();
    }
  }

  // KNOWLEDGE WHEEL - Enter to spin, prize displayed automatically.
  if (window.location.href.endsWith("/medieval/brightvale/wheel/")) {
    const submitButton = $('input[type="submit"].form-control.half-width');

    if (submitButton.length > 0) {
      submitButton.val("Press Enter or click here to spin!");
      $(document).on("keydown", function (event) {
        if (event.key === "Enter") {
          submitButton.click();
        }
      });
    } else {
      $("#spinning").hide();
      $("#prize-container").show();
    }
  }

  // SYMOL HOLE - Method is randomized. Press enter to enter the hole, slow-mode for results is disabled.
  if (window.location.href.endsWith("/medieval/symolhole/")) {
    const hole = $("#waiting");

    if (!hole.length) {
      const options = $("#enter_action option:not([disabled])");
      const randomIndex = Math.floor(Math.random() * options.length);
      options.eq(randomIndex).prop("selected", true);
      const submitButton = $('input[type="submit"][name="enter"]');
      if (submitButton.length) {
        submitButton.val("Press Enter or click here to enter!");
        $(document).on("keydown", function (event) {
          if (event.key === "Enter") {
            submitButton.click();
          }
        });
      }
    } else if (hole !== undefined) {
      hole.hide();
      $("#wait-for-me").show();
    }
  }

  // HEALING SPRINGS -- Press enter to heal.
  if (window.location.href.endsWith("/faerieland/springs/")) {
    const submitButton = $('input[type="submit"].form-control.half-width');

    if (submitButton.length > 0) {
      submitButton.val("Press Enter or click here to heal!");
      $(document).on("keydown", function (event) {
        if (event.key === "Enter") {
          submitButton.click();
        }
      });
    }
  }

  // FISHING - Press enter to fish. If you unlocked free bulk fishing, this will be prioritized.
  if (window.location.href.endsWith("/water/fishing/")) {
    let getCost = $("main p:eq(2)").text();
    if (
      getCost ===
      "You can also choose to send all of your eligible pets fishing at the same time for FREE!!"
    ) {
      const submitButton = $(
        'input[type="submit"][value="Fish with Everyone!"]'
      );
      if (submitButton.length) {
        $(document).on("keydown", function (event) {
          if (event.key === "Enter") {
            submitButton.click();
          }
        });
      }
    } else {
      const submitButton = $('input[type="submit"][value="Reel in Your Line"]');
      if (submitButton.length) {
        $(document).on("keydown", function (event) {
          if (event.key === "Enter") {
            submitButton.click();
          }
        });
      }
    }
  }

  // GREEN JELLY - Enter to approach.
  if (window.location.href.endsWith("/jelly/greenjelly/")) {
    const submitButton = $('input[type="submit"].form-control.half-width');

    if (submitButton.length > 0) {
      submitButton.val("Press Enter or click here to visit!");
      $(document).on("keydown", function (event) {
        if (event.key === "Enter") {
          submitButton.click();
        }
      });
    }
  }

  // GRUMPY OLD KING - Enter to submit, known avatar elements applied
  if (window.location.href.endsWith("/medieval/grumpyoldking/")) {
    const submitButton = $('input[type="submit"][name="joke"]');
    const againButton = $('input[type="button"][value="Try Again?"]');

    if (againButton.length > 0) {
      againButton.val("Press Enter or click to tell another!");
      $(document).keydown(function (event) {
        if (event.key === "Enter") {
          againButton.click();
        }
      });
    } else if (submitButton.length > 0) {
      generateJoke();
      $("#question1").val("What");
      $("#question2").val("do");
      $("#question3").val("you do if");
      $("#question4").val("*Leave blank*");
      $("#question5").val("fierce");
      $("#question6").val("Grundos");
      $("#question7").val("*Leave blank*");
      $("#question8").val("has eaten too much");
      $("#question9").val("*Leave blank*");
      $("#question10").val("tin of olives");
      submitButton.val("Press Enter or click here to joke!");
      $(document).keydown(function (event) {
        if (event.key === "Enter") {
          submitButton.click();
        }
      });
    } else {
      console.log("You already told two jokes.");
    }
  }

  // WISE OLD KING - Enter to submit, inserts known required avatar variables & randomly generates the remaining values.
  if (window.location.href.endsWith("/medieval/wiseking/")) {
    generateJoke();
    $("#wisdom2").val("pride");

    const submitButton = $('input[type="submit"][name="impress"]');
    if (submitButton.length > 0) {
      submitButton.val("Press Enter or click here to impress!");
      $(document).on("keydown", function (event) {
        if (event.key === "Enter") {
          submitButton.click();
        }
      });
    }
  }

  // COLTZANS SHRINE - Enter to visit.
  if (window.location.href.endsWith("/desert/shrine/")) {
    const submitButton = $(".center").find('input[type="submit"].form-control');
    if (submitButton.length === 2) {
      submitButton.first().val("Press Enter or click here to visit!");
      $(document).on("keydown", function (event) {
        if (event.key === "Enter") {
          submitButton.first().click();
        }
      });
    }
  }

  // LOTTERY - Enter to use Quick Pick.
  if (window.location.href.endsWith("/games/lottery/")) {
    const submitButton = $('input[type="submit"].form-control.half-width');

    if (submitButton.length > 0) {
      submitButton.val("Press Enter or click here to buy 20!");
      $(document).on("keydown", function (event) {
        if (event.key === "Enter") {
          submitButton.click();
        }
      });
    }
  }

  // BANK INTEREST - Enter to collect bank interest.
  if (window.location.href.endsWith("/bank/")) {
    const submitButton = $('input[type="submit"].form-control.half-width');
    const submitButtonValue = submitButton.val();
    console.log(submitButtonValue);
    if (submitButtonValue.length > 0) {
      const newValue = "Click/Enter to " + submitButtonValue;
      submitButton.val(newValue);

      $(document).on("keydown", function (event) {
        if (event.key === "Enter") {
          submitButton.first().click();
        }
      });
    }
  }

  // TURMACULUS - Enter to try and wake.
  if (window.location.href.endsWith("/medieval/turmaculus/")) {
    const options = $("#wakeup option:not([disabled])");
    const randomIndex = Math.floor(Math.random() * options.length);
    options.eq(randomIndex).prop("selected", true);

    const submitButton = $('input[type="submit"][name="wake"]');
    if (submitButton.length > 0) {
      submitButton.val("Press Enter or click here to enter!");
      $(document).on("keydown", function (event) {
        if (event.key === "Enter") {
          submitButton.click();
        }
      });
    }
  }

  // NEOSCHOOL - If you're on a course, go straight to it. If you aren't, go to the course menu.
  if (window.location.href.endsWith("/neoschool/course/")) {
    const error = $(".errorpage");
    if (error.length > 0) {
      window.location.replace("/neoschool/courses/");
    }
  }
});

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址