Geoguessr/Seterra cheat

N/A

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Geoguessr/Seterra cheat
// @namespace    geoguessr.com
// @version      0.0.0
// @description  N/A
// @author       Mooldool
// @match        http://*.geoguessr.com/*
// @match        https://*.geoguessr.com/*
// @match        http://geoguessr.com/*
// @match        https://geoguessr.com/*
// @icon         https://www.geoguessr.com/favicon.ico
// @grant        none
// ==/UserScript==

// Naming variables is the second hardest thing in computer programming.

(function() {
    'use strict';
    // The delay in ms to wait inbetween every loop.
    const delay = 10;
    // This element stores the ID (and name) of the current element they have to click.
    let game_map_header = document.querySelectorAll("[data-qa=game-map-header]");

    setInterval(() => {
        let current_question_id = game_map_header[0].getAttribute("data-current-question-id");
        let current_area = document.querySelectorAll("[data-qa=" + current_question_id + "]");

        // For the "click on the flag" games
        current_area[0].children[0].children[0].click();
        // For the "click on the country" games
        // SVG elements don't have the click function.
        current_area[0].dispatchEvent(new MouseEvent('click'));
        console.log("Clicked on " + current_question_id);
    }, delay)
})();