GC Questing Keyboard Controls

Adds keyboard controls for questing on GC.

Instalirajte ovu skriptu?
Autorov prijedlog skripta

Možda ti se također svidi GC Keyboard Controls Bundle.

Instalirajte ovu skriptu
    // ==UserScript==
    // @name         GC Questing Keyboard Controls
    // @namespace    http://tampermonkey.net/
    // @version      3.3
    // @description  Adds keyboard controls for questing on GC.
    // @author       Z & Dij
    // @match        https://www.grundos.cafe/halloween/esophagor/*
    // @match        https://www.grundos.cafe/island/kitchen/*
    // @match        https://www.grundos.cafe/winter/snowfaerie/*
    // @match        https://www.grundos.cafe/halloween/witchtower/*
    // @match        https://www.grundos.cafe/halloween/braintree/*
    // @match        https://www.grundos.cafe/safetydeposit/*
    // @match        https://www.grundos.cafe/market/wizard/*
    // @match        https://www.grundos.cafe/market/browseshop/?owner=*
    // @license      MIT
    // @icon https://www.google.com/s2/favicons?sz=64&domain=grundos.cafe
    // ==/UserScript==

    // shoutout to Dij for the massive optimization & to Berna and Kait for further JS help <3

    var rmOne = document.querySelector("a.sdb-remove-one-text");
    var search = document.querySelector("div.sw_search_submit input.form-control");
    var shop = document.querySelector(".market_grid.sw_results .data a:nth-child(1)");
    var buy = document.querySelector("#searchedItem.shop-item input[type='image']");
    var brain = document.querySelector("img[title='Brain Tree Quest']");
    var eso = document.querySelector("img[title='Esophagor Quest']");
    var chef = document.querySelector("img[title='Kitchen Quest']");
    var taelia = document.querySelector("img[title='Taelia Quest']");
    var edna = document.querySelector("img[title='Edna Quest']");

    document.addEventListener("keydown", (event) => {
        if ( !$('input:focus').length > 0 ) {
            if (event.keyCode == 13) { // keycode for enter
                if (rmOne != null) {
                    rmOne.click();
                } else if (buy != null) {
                    buy.click();
                } else if (search != null) {
                    search.click();
                } else if (shop != null) {
                    shop.click();
                } else if (location.pathname.match(/halloween|island|winter/)) {
                    let formbuttons = document.getElementById("page_content")
                      .querySelectorAll("form .form-control:not([type=text]), .form-control[type=button]");
                    if (formbuttons.length > 1) {
                        formbuttons[0].click();
                    } else {
                        window.location.reload();
                    }
                }
            }
        }
    });

document.addEventListener("keydown", (event) => {
    let codes = [37, 38, 39, 40] // keycodes for left, up, right, down arrows
    let index = codes.indexOf(event.keyCode);
    let itemlist = document.querySelectorAll(".shop-item");
    if (itemlist.length == 0 ) {
        itemlist = document.querySelectorAll(".quest-item");
    }
    if ( !$('input:focus').length > 0 ) {
        if (index >= 0 ) {
            let item =
itemlist[index].querySelector(`img.search-helper-sdb-exists`);
            if (item != null) {
                item.click();
            } else {
                itemlist[index].querySelector(`img.search-helper-sw`).click();
            }
        }
    }
});

const actions = { // numbers 49-53 represent keycodes 1-5, change those to change the hot keys!
    49: () => edna.click(),   // 1
    50: () => eso.click(),    // 2
    51: () => taelia.click(), // 3
    52: () => chef.click(),   // 4
    53: () => brain.click()   // 5
};
document.addEventListener("keydown", (event) => {
    if ( !$('input:focus').length > 0 ) {
        if (actions[event.keyCode]) {
        actions[event.keyCode]();
        }
    }
});