Greasy Fork is available in English.
Gives you one second per round, but instead of ending instantly, the screen goes black and you have unlimited time to make your guess.
Versión del día
// ==UserScript==
// @name Geoguessr Blink Mode
// @description Gives you one second per round, but instead of ending instantly, the screen goes black and you have unlimited time to make your guess.
// @version 0.1.0
// @author macca#8949
// @license MIT
// @include https://www.geoguessr.com/*
// @run-at document-start
// @grant none
// @namespace https://greatest.deepsurf.us/users/865125
// ==/UserScript==
const timeLimit = 1.0; // MODIFY THIS IF YOU WANT TO CHANGE THE TIME
if (sessionStorage.getItem('1SPREnabled') == null) {
sessionStorage.setItem('1SPREnabled', 'disabled');
}
window.toggleScript = function(e) {
if (e.checked) {
sessionStorage.setItem('1SPREnabled', 'enabled');
} else {
sessionStorage.setItem('1SPREnabled', 'disabled');
}
}
function check(changes, observer) {
if (document.querySelector('.checkboxes--vertical') && document.querySelector('#enableScript') === null) {
document.querySelector('.checkboxes--vertical').insertAdjacentHTML('beforeend', '<div class="checkboxes checkboxes--vertical"><label class="checkbox"><input type="checkbox" id="enableScript" onclick="toggleScript(this)" class="checkbox__input" name="show-game-settings"><span class="checkbox__mark checkbox__mark--dark"></span> <span class="game-settings__checkbox-main-label">Enable Blink Mode</span><br></label></div>');
if (sessionStorage.getItem('1SPREnabled') === 'enabled') {
document.querySelector('#enableScript').checked = true;
}
}
}
(new MutationObserver(check)).observe(document, {childList: true, subtree: true});
const checkElement = async selector => {
while (document.querySelector(selector) === null) {
await new Promise(resolve => requestAnimationFrame(resolve));
}
return document.querySelector(selector);
};
const respondToVisibility = function(element, callback) {
var options = {
root: document.documentElement
}
var observer = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
callback(entry.intersectionRatio > 0);
});
}, options);
observer.observe(element);
}
checkElement('.widget-scene-canvas').then((canvas) => {
respondToVisibility(canvas, visible => {
if (sessionStorage.getItem('1SPREnabled') === 'enabled') {
setTimeout(() => {
canvas.style.display = 'none';
}, (timeLimit + 0.5) * 1000);
}
});
});