Greasy Fork is available in English.

GC Questing Keyboard Controls

Adds keyboard controls for questing on GC.

질문, 리뷰하거나, 이 스크립트를 신고하세요.
    // ==UserScript==
    // @name         GC Questing Keyboard Controls
    // @namespace    http://tampermonkey.net/
    // @version      3.2
    // @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 queststart = document.getElementById("page_content").querySelector("form .form-control");
                    if (queststart != null) {
                        queststart.click();
                    } else {
                        document.getElementById("page_content").querySelector(".form-control:first-child[type=button]").click();
                    }
                }
            }
        }
    });

document.addEventListener("keydown", (event) => {
    let codes = [37, 38, 39, 40] // keycodes for left, up, right, down arrows
    let index = codes.indexOf(event.keyCode) + 1;
    console.log(index);
    if ( !$('input:focus').length > 0 ) {
        if (index > 0 ) {
            let item = document.querySelector(`.itemList .shop-item:nth-child(${index}) img.search-helper-sdb-exists`);
            console.log(item);
            if (item != null) {
                item.click();
            } else {
                document.querySelector(`.itemList .shop-item:nth-child(${index}) 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]();
        }
    }
});