Ultimate Geoguessr Cheat 6.0

Features: Automatically score 5000 Points | Score randomly between 4500 to 5000 points

当前为 2022-10-26 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Ultimate Geoguessr Cheat 6.0
  3. // @namespace http://tampermonkey.net/
  4. // @version 6.0
  5. // @description Features: Automatically score 5000 Points | Score randomly 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(` Thanks for using geoGuessr Resolver by 0x978.
  14. ============================================
  15. => Please use the safer guess Option to avoid bans in competitive. <=
  16. ============================================
  17. Controls (UPDATED!):
  18. '1': Place marker on a "safe" guess (4500 - 5000)
  19. '2': Place marker on a "perfect" guess (5000)
  20. '3': Auto Guess A "safe" Answer (4500 - 5000).
  21. '4': Auto Guess "perfect" Answer (5000)
  22. ----------------------------------------------------------
  23. If auto guess fails, press the key again.
  24. ----------------------------------------------------------`)
  25.  
  26.  
  27. let vb=async(vl, o)=>{
  28. let vce = await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${vl}&lon=${o}&format=json`)
  29. let eer = await vce.json()
  30. return eer;
  31. }
  32.  
  33. let lo=(e, bea)=>{
  34.  
  35. if(document.getElementsByClassName("guess-map__canvas-container")[0] === undefined){
  36. mkj(bea)
  37. return;
  38. }
  39.  
  40. let b = emk()
  41. if(e){
  42. b[0] += (Math.random() / 2);
  43. b[1] += (Math.random() / 2);
  44. }
  45.  
  46. let ecec = document.getElementsByClassName("guess-map__canvas-container")[0]
  47. let cxz = Object.keys(ecec)
  48. let ertu = cxz.find(key => key.startsWith("__reactFiber$"))
  49. let sfo = ecec[ertu].return.memoizedProps.onMarkerLocationChanged
  50.  
  51. sfo({lat:b[0],lng:b[1]})
  52.  
  53. if(bea){
  54. setTimeout(function() {
  55. vcx()
  56. }, 1000);
  57. }
  58. }
  59.  
  60. let mkj=(qw)=>{
  61. let vcw = emk()
  62. let yhg = ""
  63.  
  64. let po = document.getElementsByClassName("region-map_map__7jxcD")[0]
  65. let lk = Object.keys(po)
  66. let mkf = lk.find(key => key.startsWith("__reactFiber$"))
  67. let vc = po[mkf].return.memoizedProps.onRegionSelected
  68.  
  69. vb(vcw[0],vcw[1]).then(data => {
  70. yhg = data.address.country_code
  71. vc(yhg)
  72. })
  73.  
  74. if(qw){
  75. setTimeout(function() {
  76. vcx()
  77. }, 2000);
  78. }
  79. }
  80.  
  81. let emk=()=>{
  82. let ft;
  83. let fe;
  84. let ef;
  85. let fr;
  86.  
  87. if(document.getElementsByClassName("game-panorama_panorama__rdhFg").length > 0){
  88. ft = document.getElementsByClassName("game-panorama_panorama__rdhFg")[0]
  89. fe = Object.keys(ft)
  90. ef = fe.find(key => key.startsWith("__reactFiber$"))
  91. fr = ft[ef].return.memoizedProps.panorama
  92. }
  93. else{
  94. ft = document.querySelectorAll('[data-qa="panorama"]')[0]
  95. fe = Object.keys(ft)
  96. ef = fe.find(key => key.startsWith("__reactFiber$"))
  97. fr = ft[ef].return.memoizedProps
  98. }
  99. return([fr.lat,fr.lng])
  100.  
  101. }
  102.  
  103. let vcx=()=>{
  104. let vk = document.getElementsByClassName("button_button__CnARx button_variantPrimary__xc8Hp")[0]
  105. let vl = Object.keys(vk).find(key => key.startsWith("__reactFiber$"))
  106. let vj = vk[vl]
  107. let jv = vj.child.return.memoizedProps.onClick
  108. jv();
  109. }
  110.  
  111.  
  112. let xc = (e) => {
  113. if(e.keyCode === 49){lo(true,false)} // 1
  114. if(e.keyCode === 50){lo(false,false)} // 2
  115. if(e.keyCode === 51){lo(true,true)} // 3
  116. if(e.keyCode === 52){lo(false,true)} // 4
  117. }
  118.  
  119.  
  120. document.addEventListener("keydown", xc);