Features: Automatically score 5000 Points | Score randomly between 4500 and 5000 points
Від
// ==UserScript==
// @name geoGuessr Resolver 7.0 (duels update)
// @namespace http://tampermonkey.net/
// @version 7.0
// @description Features: Automatically score 5000 Points | Score randomly between 4500 and 5000 points
// @author 0X69ED75
// @match https://www.geoguessr.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=geoguessr.com
// @grant none
// ==/UserScript==
alert(` Thanks for using geoGuessr Resolver by 0x978.
============================================
Please use the safer guess Option to avoid bans in competitive
============================================
Controls (UPDATED!):
'1': Place marker on a "safe" guess (4500 - 5000)
'2': Place marker on a "perfect" guess (5000)
'3': Get a description of the correct location.
----------------------------------------------------------`)
async function v(e, r){
let q = await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${e}&lon=${r}&format=json`)
return await q.json();
}
function qq() {
let [p,m] = oi()
v(p,m).then(x => {
console.log(x)
alert(`
Country: ${x.address.country}
County: ${x.address.county}
City: ${x.address.city}
Road: ${x.address.road}
State: ${x.address.state}
Postcode: ${x.address.postcode}
Village/Suburb: ${(x.address.village||x.address.suburb)}
Postal Address: ${x.display_name}
`) } );
}
function km(h){
let [qqw,th] = oi()
if(document.getElementsByClassName("guess-map__canvas-container")[0] === undefined){mn([qqw,th]);return;}
if(h){qqw += (Math.random() / 2);th += (Math.random() / 2);}
let wc = document.getElementsByClassName("guess-map__canvas-container")[0]
let vvr = Object.keys(wc)
let er = vvr.find(b => b.startsWith("__reactFiber$"))
let fp = wc[er].return.memoizedProps.onMarkerLocationChanged
fp({lat:qqw,lng:th})}
function mn([e,g]){
let f = document.getElementsByClassName("region-map_map__7jxcD")[0]
let lllk = Object.keys(f)
let u = lllk.find(key => key.startsWith("__reactFiber$"))
let fg = f[u].return.memoizedProps.onRegionSelected
v(e,g).then(cx => {let countryCode = cx.address.country_code
fg(countryCode)})
}
function oi(){
let ww = document.getElementsByClassName("styles_root__3xbKq")[0]
let e = Object.keys(ww)
let u = e.find(key => key.startsWith("__reactFiber$"))
let w = ww[u]
let qwqa = w.return.memoizedProps.panorama.position
return([qwqa.lat(),qwqa.lng()])
}
let h = (e) => {
if(e.keyCode === 49){km(true)}
if(e.keyCode === 50){km(false)}
if(e.keyCode === 51){qq()}
}
document.addEventListener("keydown", h);