// ==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 // @downloadURL 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);