// ==UserScript== // @name Ultimate Geoguessr Cheat // @namespace http://tampermonkey.net/ // @version 5.0 // @description Features: See which Country and City the correct location is | Automatically score 5000 Points | Score randomly between 4500 to 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(` This script is free to use. Please give good feedback on Greasyfork ============================================ => Please use the safer guess Option to avoid bans in competitive. <= ============================================ Controls: 'C': Instantly Place A "Safer" Guess (4500-5000). 'B': Instantly Guess Correct Answer 'V': Show best calculation of current location ---------------------------------------------------------- Please Note: Sometimes, the guess correct answer fails, if this happens just press B or C again ----------------------------------------------------------`) let q = () => { let x = c() z(x[0],x[1]).then(xz => { console.log(xz) alert(` Country: ${xz.address.country} County: ${xz.address.county} Road: ${xz.address.road} State: ${xz.address.state} Latitude: ${x[0]} Longitude: ${x[1]} `) } ); } let z = async(w, eds) =>{ let response = await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${w}&lon=${eds}&format=json`) let data = await response.json() return data; } let c = () => { let x = document.querySelectorAll('[data-qa="panorama"]')[0] let wd = Object.keys(x) let f = wd.find(xz => xz.startsWith("__reactFiber$")) let g = x[f].return.memoizedProps let e = g.lat let b = g.lng return([e,b]) } let mn = (sf) => { if(document.getElementsByClassName("guess-map__canvas-container")[0] === undefined){cce();return;} let e = c() if(sf){e[0] += (Math.random()/2);e[1] += (Math.random()/2);} let kj = document.getElementsByClassName("guess-map__canvas-container")[0] let w = Object.keys(kj) let s = w.find(key => key.startsWith("__reactFiber$")) let oc = kj[s].return.memoizedProps.onMarkerLocationChanged oc({lat:e[0],lng:e[1]}) setTimeout(function() { ec() }, 1000); } function cce() { let xep = c() let cc = "" let qw = document.getElementsByClassName("region-map_map__7jxcD")[0] let lk = Object.keys(qw) let nb = lk.find(key => key.startsWith("__reactFiber$")) let p = qw[nb].return.memoizedProps.onRegionSelected z(xep[0], xep[1]).then(data => { cc = data.address.country_code p(cc) }) setTimeout(function() { ec() }, 1000); } let ec = () => { let g = document.getElementsByClassName("button_button__CnARx button_variantPrimary__xc8Hp")[0] let l = Object.keys(g).find(key => key.startsWith("__reactFiber$")) let er = g[l] let ggf = er.child.return.memoizedProps.onClick ggf(); } let ex = (e) => { if(e.keyCode === 86){q()} // key = v if(e.keyCode === 66){mn(false)} // key = b if(e.keyCode === 67){mn(true)} // key = c } document.addEventListener("keydown", ex);