Ultimate Geoguessr Cheat

Simply press a button on the keyboard to See your current location, automatically score max points or score between 4500 to 5000 points

当前为 2022-09-05 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Ultimate Geoguessr Cheat
  3. // @namespace http://tampermonkey.net/
  4. // @version 5.0
  5. // @description Simply press a button on the keyboard to See your current location, automatically score max points or score between 4500 to 5000 points
  6. // @author 0X69ED75
  7. // @match https://www.geoguessr.com/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=geoguessr.com
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12.  
  13. alert(` This script is free to use. Please give good feedback on Greasyfork
  14. ============================================
  15. => Please use the safer guess Option to avoid bans in competitive. <=
  16. ============================================
  17. Controls:
  18. 'C': Instantly Place A "Safer" Guess (4500-5000).
  19. 'B': Instantly Guess Correct Answer
  20. 'V': Show best calculation of current location
  21. ----------------------------------------------------------
  22. Please Note: Sometimes, the guess correct answer fails,
  23. if this happens just press B or C again
  24. ----------------------------------------------------------`)
  25.  
  26.  
  27. let q = () => {
  28. let x = c()
  29.  
  30. z(x[0],x[1]).then(xz => {
  31. console.log(xz)
  32. alert(`
  33. Country: ${xz.address.country}
  34. County: ${xz.address.county}
  35. Road: ${xz.address.road}
  36. State: ${xz.address.state}
  37. Latitude: ${x[0]}
  38. Longitude: ${x[1]}
  39. `) } );
  40.  
  41. }
  42.  
  43. let z = async(w, eds) =>{
  44. let response = await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${w}&lon=${eds}&format=json`)
  45. let data = await response.json()
  46. return data;
  47. }
  48.  
  49. let c = () => {
  50. let x = document.querySelectorAll('[data-qa="panorama"]')[0]
  51. let wd = Object.keys(x)
  52. let f = wd.find(xz => xz.startsWith("__reactFiber$"))
  53. let g = x[f].return.memoizedProps
  54.  
  55. let e = g.lat
  56. let b = g.lng
  57.  
  58. return([e,b])
  59. }
  60.  
  61. let mn = (sf) => {
  62. if(document.getElementsByClassName("guess-map__canvas-container")[0] === undefined){cce();return;}
  63. let e = c()
  64. if(sf){e[0] += (Math.random()/2);e[1] += (Math.random()/2);}
  65. let kj = document.getElementsByClassName("guess-map__canvas-container")[0]
  66. let w = Object.keys(kj)
  67. let s = w.find(key => key.startsWith("__reactFiber$"))
  68. let oc = kj[s].return.memoizedProps.onMarkerLocationChanged
  69. oc({lat:e[0],lng:e[1]})
  70. setTimeout(function() {
  71. ec()
  72. }, 1000);
  73. }
  74.  
  75. function cce() {
  76. let xep = c()
  77. let cc = ""
  78. let qw = document.getElementsByClassName("region-map_map__7jxcD")[0]
  79. let lk = Object.keys(qw)
  80. let nb = lk.find(key => key.startsWith("__reactFiber$"))
  81. let p = qw[nb].return.memoizedProps.onRegionSelected
  82. z(xep[0], xep[1]).then(data => {
  83. cc = data.address.country_code
  84. p(cc)
  85. })
  86. setTimeout(function() {
  87. ec()
  88. }, 1000);
  89. }
  90.  
  91.  
  92. let ec = () => {
  93. let g = document.getElementsByClassName("button_button__CnARx button_variantPrimary__xc8Hp")[0]
  94. let l = Object.keys(g).find(key => key.startsWith("__reactFiber$"))
  95. let er = g[l]
  96. let ggf = er.child.return.memoizedProps.onClick
  97. ggf();
  98. }
  99.  
  100. let ex = (e) => {
  101. if(e.keyCode === 86){q()} // key = v
  102. if(e.keyCode === 66){mn(false)} // key = b
  103. if(e.keyCode === 67){mn(true)} // key = c
  104. }
  105.  
  106.  
  107. document.addEventListener("keydown", ex);