PokemonGoF / PokemonGo-Bot

The Pokemon Go Bot, baking with community.
MIT License
3.86k stars 1.54k forks source link

error when using map config #4992

Closed Asafffff closed 8 years ago

Asafffff commented 8 years ago

Expected Behavior

work without issues when teleporting

Actual Behavior

Getting an error when using a CLEAN config.json (config.json.map.example config)

Your FULL config.json (remove your username, password, gmapkey and any other private info)

{
    "websocket_server": false,
    "heartbeat_threshold": 10,
    "enable_social": true,
    "live_config_update": {
      "enabled": false,
      "tasks_only": false
    },
    "tasks": [
      {
        "//NOTE: This task MUST be placed on the top of task list": {},
        "type": "RandomAlivePause",
        "config": {
          "enabled": false,
          "min_duration": "00:00:10",
          "max_duration": "00:10:00",
          "min_interval": "00:05:00",
          "max_interval": "01:30:00"
        }
      },
      {
        "type": "HandleSoftBan"
      },
      {
        "type": "CompleteTutorial",
        "config": {
          "enabled": false,
          "// set a name": "",
          "nickname": ""
        }
      },
      {
        "type": "CollectLevelUpReward",
        "config": {
          "collect_reward": true,
          "level_limit": -1
        }
      },
      {
        "type": "IncubateEggs",
        "config": {
          "enabled": true,
          "infinite_longer_eggs_first": false,
          "breakable_longer_eggs_first": true,
          "min_interval": 120
        }
      },
      {
        "type": "UpdateLiveStats",
        "config": {
          "enabled": false,
          "min_interval": 10,
          "stats": ["uptime", "stardust_earned", "xp_earned", "xp_per_hour", "stops_visited"],
          "terminal_log": true,
          "terminal_title": true
        }
      },
      {
        "type": "UpdateLiveInventory",
        "config": {
          "enabled": false,
          "min_interval": 120,
          "show_all_multiple_lines": false,
          "items": ["pokemon_bag", "space_info", "pokeballs", "greatballs", "ultraballs", "razzberries", "luckyegg"]
        }
      },
      {
        "type": "ShowBestPokemon",
        "config": {
          "enabled": true,
          "min_interval": 60,
          "amount": 5,
          "order_by": "cp",
          "info_to_show": ["cp", "ivcp", "dps", "hp"]
        }
      },
      {
        "type": "TransferPokemon",
        "config": {
          "enabled": true,
          "min_free_slot": 5,
          "transfer_wait_min": 1,
          "transfer_wait_max": 4
        }
      },
      {
        "type": "NicknamePokemon",
        "config": {
          "enabled": false,
          "nickname_above_iv": 0.9,
          "nickname_template": "{iv_pct}_{iv_ads}"
        }
      },
      {
        "type": "EvolvePokemon",
        "config": {
            "enabled": false,

            "// evolve only pidgey and drowzee": "",
            "// evolve_list": "pidgey, drowzee",
            "// donot_evolve_list": "none",

            "// evolve all but pidgey and drowzee": "",
            "// evolve_list": "all",
            "// donot_evolve_list": "pidgey, drowzee",

            "evolve_list": "all",
            "donot_evolve_list": "none",

            "first_evolve_by": "cp",
            "evolve_above_cp": 500,
            "evolve_above_iv": 0.8,
            "logic": "or",
            "min_evolve_speed": 25,
            "max_evolve_speed": 30,
            "use_lucky_egg": false
        }
      },
      {
        "type": "RecycleItems",
        "config": {
          "enabled": true,
          "min_empty_space": 15,
          "max_balls_keep": 150,
          "max_potions_keep": 50,
          "max_berries_keep": 70,
          "max_revives_keep": 70,
          "item_filter": {
            "Pokeball":       { "keep" : 100 },
            "Potion":         { "keep" : 10 },
            "Super Potion":   { "keep" : 20 },
            "Hyper Potion":   { "keep" : 30 },
            "Revive":         { "keep" : 30 },
            "Razz Berry":     { "keep" : 100 }
          },
          "recycle_wait_min": 1,
          "recycle_wait_max": 4,
          "recycle_force": true,
          "recycle_force_min": "00:01:00",
          "recycle_force_max": "00:05:00"
        }
      },
      {
        "type": "CatchPokemon",
        "config": {
          "enabled": true,
          "catch_visible_pokemon": true,
          "catch_lured_pokemon": true,
          "min_ultraball_to_keep": 5,
          "berry_threshold": 0.35,
          "vip_berry_threshold": 0.9,
          "daily_catch_limit": 800,
          "catch_throw_parameters": {
            "excellent_rate": 0.1,
            "great_rate": 0.5,
            "nice_rate": 0.3,
            "normal_rate": 0.1,
            "spin_success_rate" : 0.6
          },
          "catch_simulation": {
            "flee_count": 3,
            "flee_duration": 2,
            "catch_wait_min": 2,
            "catch_wait_max": 6,
            "berry_wait_min": 2,
            "berry_wait_max": 3,
            "changeball_wait_min": 2,
            "changeball_wait_max": 3,
            "newtodex_wait_min": 20, 
            "newtodex_wait_max": 30
          }
        }
      },
      {
        "type": "SpinFort",
        "config": {
          "enabled": true,
          "spin_wait_min": 3,
          "spin_wait_max": 5
        }
      },
      { "type": "UpdateWebInventory",
        "config": {
          "enabled": true
        }
      },
      {
        "type": "MoveToMapPokemon",
        "config": {
          "enabled": true,
          "address": "http://localhost:5000",
          "//NOTE: Change the max_sniping_distance to adjust the max sniping range (m)": {},
          "max_sniping distance": 10000,
          "//NOTE: Change the max_walking_distance to adjust the max walking range when snipe is off (m)": {},
          "max__walking_distance": 500,
          "min_ball": 50,
          "prioritize_vips": true,
          "snipe": true,
          "snipe_high_prio_only": true,
          "snipe_high_prio_threshold": 400,
          "update_map": true,
          "mode": "priority",
          "map_path": "raw_data",
          "walker": "StepWalker",
          "max_extra_dist_fort": 10,
          "skip_rounds": 5,
      "update_map_min_distance_meters": 500,
      "update_map_min_time_sec": 120,
      "snipe_sleep_sec": 2,
      "snipe_max_in_chain": 2,
      "debug": false,
          "catch": {
            "==========Legendaries==========": 0,
            "Aerodactyl": 1000,
            "Snorlax": 1000,
            "Articuno": 1000,
            "Zapdos": 1000,
            "Moltres": 1000,
            "Dratini": 1000,
            "Dragonair": 1000,
            "Dragonite": 1000,
            "Mewtwo": 1000,
            "Mew": 1000,

            "==========Region Locked==========": 0,
            "Farfetch'd": 1000,
            "Kangaskhan": 1000,
            "Mr. Mime": 1000,
            "Tauros": 1000,

            "==========Very Rare==========": 0,
            "Lapras": 900,
            "Electabuzz": 900,
            "Magmar": 900,
            "Ditto": 900,

            "==========Starters==========": 0,
            "Bulbasaur": 400,
            "Ivysaur": 600,
            "Venusaur": 1000,

            "Charmander": 400,
            "Charmeleon": 600,
            "Charizard": 1000,

            "Squirtle": 400,
            "Wartortle": 600,
            "Blastoise": 1000,

            "Pikachu": 600,
            "Raichu": 1000,

            "==========Semi Rare==========": 0,
            "Porygon": 200,
            "Scyther": 200,
            "Jynx": 200,

            "==========Uncommon==========": 0,

            "Omanyte": 150,
            "Omastar": 500,

            "Seel": 300,
            "Dewgong": 500,

            "Grimer": 200,
            "Muk": 500,

            "Shellder": 200,
            "Cloyster": 500,

            "Gastly": 200,
            "Haunter": 500,
            "Gengar": 1000,

            "Onix": 600,

            "Drowzee": 600,

            "Hypno": 600,

            "Vulpix": 200,
            "Ninetales": 600,

            "Paras": 100,
            "Parasect": 500,

            "Growlithe": 200,
            "Arcanine": 700,

            "Tentacool": 200,
            "Tentacruel": 500,

            "Mankey": 150,
            "Primeape": 500,

            "Clefairy": 150,
            "Clefable": 500,

            "Jigglypuff": 150,
            "Wigglytuff": 500,

            "Venonat": 100,
            "Venomoth": 500,

            "Diglett": 200,
            "Dugtrio": 500,

            "Meowth": 250,
            "Persian": 500,

            "Psyduck": 150,
            "Golduck": 500,

            "Geodude": 100,
            "Graveler": 500,
            "Golem": 800,

            "Eevee": 200,
            "Vaporeon": 800,
            "Jolteon": 800,
            "Flareon": 800,

            "Kabuto": 150,
            "Kabutops": 500,

            "Magikarp": 150,
            "Gyarados": 800,

            "Pinsir": 150,

            "Ponyta": 200,
            "Rapidash": 500,

            "Slowpoke": 200,
            "Slowbro": 500,

            "Magnemite": 250,
            "Magneton": 500,

            "Krabby": 100,
            "Kingler": 500,

            "Voltorb": 200,
            "Electrode": 500,

            "Exeggcute": 250,
            "Exeggcutor": 500,

            "Cubone": 300,
            "Marowak": 800,

            "Hitmonlee": 400,

            "Hitmonchan": 400,

            "Lickitung": 500,

            "Koffing": 200,
            "Weezing": 500,

            "Rhyhorn": 200,
            "Rhydon": 500,

            "Chansey": 800,

            "Tangela": 300,

            "Horsea": 200,
            "Seadra": 600,

            "Goldeen": 150,
            "Seaking": 500,

            "Staryu": 200,
            "Starmie": 800,

            "==========T1 Evolvers==========": 0,
            "Caterpie": 10,
            "Metapod": 10,
            "Butterfree": 500,

            "Weedle": 10,
            "Kakuna": 10,
            "Beedrill": 500,

            "Pidgey": 10,
            "Pidgeotto": 10,
            "Pidgeot": 300,

            "==========T2 Evolvers==========": 0,
            "Nidoran F": 10,
            "Nidorina": 10,
            "Nidoqueen": 10,

            "Nidoran M": 10,
            "Nidorino": 10,
            "Nidoking": 10,

            "Oddish": 100,
            "Gloom": 200,
            "Vileplume": 600,

            "Poliwag": 200,
            "Poliwhirl": 400,
            "Poliwrath": 800,

            "Abra": 300,
            "Kadabra": 600,
            "Alakazam": 800,

            "Machop": 150,
            "Machoke": 400,
            "Machamp": 800,

            "Bellsprout": 100,
            "Weepinbell": 400,
            "Victreebel": 800,

            "==========Trash==========": 0,

            "Rattata": 10,
            "Raticate": 10,

            "Spearow": 10,
            "Fearow": 10,

            "Ekans": 10,
            "Arbok": 10,

            "Sandshrew": 10,
            "Sandslash": 10,

            "Zubat": 10,
            "Golbat": 10,

            "Doduo": 10,
            "Dodrio": 10
          }
        }
      },
      {
        "type": "MoveToFort",
        "config": {
            "enabled": true,
            "lure_attraction": true,
            "lure_max_distance": 2000,
            "log_interval": 5
        }
      },
      {
        "type": "FollowSpiral",
        "config": {
          "enabled": true,
          "diameter": 4,
          "step_size": 70
        }
      }
    ],
    "map_object_cache_time": 5,
    "forts": {
      "avoid_circles": true,
      "max_circle_size": 50,
      "cache_recent_forts": true
    },
    "pokemon_bag": {
      "// if 'show_at_start' is true, it will log all the pokemons in the bag (not eggs) at bot start": {},
      "show_at_start": true,
      "// if 'show_count' is true, it will show the amount of each pokemon (minimum 1)": {},
      "show_count": false,
      "// if 'show_candies' is true, it will show the amount of candies for each pokemon": {},
      "show_candies": false,
      "// 'pokemon_info' parameter define which info to show for each pokemon": {},
      "// the available options are": {},
      "// ['cp', 'iv_ads', 'iv_pct', 'ivcp', 'ncp', 'level', 'hp', 'moveset', 'dps']": {},
      "pokemon_info": ["cp", "iv_pct"]
    },
    "walk_max": 4.16,
    "walk_min": 2.16,
    "alt_min": 500,
    "alt_max": 1000,
    "sleep_schedule": [
      {
        "time": "12:00",
        "duration": "5:30",
        "time_random_offset": "00:30",
        "duration_random_offset": "00:30",
        "wake_up_at_location": ""
      },
      {
        "time": "17:45",
        "duration": "3:00",
        "time_random_offset": "01:00",
        "duration_random_offset": "00:30",
        "wake_up_at_location": ""
      }
    ],
    "debug": false,
    "test": false,
    "walker_limit_output": false,
    "health_record": true,
    "location_cache": true,
    "distance_unit": "km",
    "reconnecting_timeout": 15,
    "logging": {
      "color": true,
      "show_datetime": true,
      "show_process_name": true,
      "show_log_level": true
    },
    "catch": {
      "any": {"catch_above_cp": 0, "catch_above_iv": 0, "logic": "or"},
      "// Example of always catching Rattata:": {},
      "// Rattata": { "always_catch" : true }
    },
    "release": {
      "any": {"release_below_cp": 0, "release_below_iv": 0, "logic": "or"},
      "// Example of always releasing Rattata:": {},
      "// Rattata": {"always_release": true},
      "// Example of keeping 3 stronger (based on CP) Pidgey:": {},
      "// Pidgey": {"keep_best_cp": 3},
      "// Example of keeping 2 stronger (based on IV) Zubat:": {},
      "// Zubat": {"keep_best_iv": 2},
      "// Keep no more than 3 best IV pokemon for every pokemon type": {},
      "// any": {"keep_best_iv": 3},
      "// Discard all pokemon in bag except 100 pokemon with best CP": {},
      "// all": {"keep_best_cp": 100},
      "// Example of keeping the 2 strongest (based on CP) and 3 best (based on IV) Zubat:": {},
      "// Zubat": {"keep_best_cp": 2, "keep_best_iv": 3}
    },
    "vips" : {
         "Any pokemon put here directly force to use Berry & Best Ball to capture, to secure the capture rate": {},
        "any": {"catch_above_cp": 1200, "catch_above_iv": 0.9, "logic": "or" },
        "Lapras": {},
        "Moltres": {},
        "Zapdos": {},
        "Articuno": {},

        "// S-Tier pokemons (if pokemon can be evolved into tier, list the representative)": {},
        "Mewtwo": {},
        "Dragonite": {},
        "Snorlax": {},
        "// Mew evolves to Mewtwo": {},
        "Mew": {},
        "Arcanine": {},
        "Vaporeon": {},
        "Gyarados": {},
        "Exeggutor": {},
        "Muk": {},
        "Weezing": {},
        "Flareon": {}

    },
    "websocket": {
        "start_embedded_server": true,
        "server_url": "127.0.0.1:4000"
    }
}

Output when issue occurred

Traceback (most recent call last):
  File "pokecli.py", line 781, in <module>
    main()
  File "pokecli.py", line 139, in main
    bot.tick()
  File "D:\PGBPokemonGo-Bot\PokemonGo-Bot\pokemongo_bot\__init__.py", line 658, in tick
    if worker.work() == WorkerResult.RUNNING:
  File "D:\PGBPokemonGo-Bot\PokemonGo-Bot\pokemongo_bot\cell_workers\move_to_map_pokemon.py", line 315, in work
    pokemon_list = self.get_pokemon_from_social()
  File "D:\PGBPokemonGo-Bot\PokemonGo-Bot\pokemongo_bot\cell_workers\move_to_map_pokemon.py", line 141, in get_pokemon_from_social
    if pokemon['dist'] > self.config['max_sniping_distance'] and self.config['snipe']:
KeyError: 'max_sniping_distance'
[2016-08-31 13:55:05] [sentry.errors] [ERROR] Sentry responded with an error: 'utf8' codec can't decode byte 0x9c in position 1: invalid start byte (url: https://app.getsentry.com/api/90254/store/)
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\raven\transport\threaded.py", line 174, in send_sync
    super(ThreadedHTTPTransport, self).send(data, headers)
  File "C:\Python27\lib\site-packages\raven\transport\http.py", line 47, in send
    ca_certs=self.ca_certs,
  File "C:\Python27\lib\site-packages\raven\utils\http.py", line 66, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Python27\lib\site-packages\future\backports\urllib\request.py", line 494, in open
    response = self._open(req, data)
  File "C:\Python27\lib\site-packages\future\backports\urllib\request.py", line 512, in _open
    '_open', req)
  File "C:\Python27\lib\site-packages\future\backports\urllib\request.py", line 466, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\site-packages\raven\utils\http.py", line 46, in https_open
    return self.do_open(ValidHTTPSConnection, req)
  File "C:\Python27\lib\site-packages\future\backports\urllib\request.py", line 1284, in do_open
    h.request(req.get_method(), req.selector, req.data, headers)
  File "C:\Python27\lib\httplib.py", line 1057, in request
    self._send_request(method, url, body, headers)
  File "C:\Python27\lib\httplib.py", line 1097, in _send_request
    self.endheaders(body)
  File "C:\Python27\lib\httplib.py", line 1053, in endheaders
    self._send_output(message_body)
  File "C:\Python27\lib\httplib.py", line 895, in _send_output
    msg += message_body
  File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x9c in position 1: invalid start byte
[2016-08-31 13:55:05] [sentry.errors.uncaught] [ERROR] [u"KeyError: 'max_sniping_distance'", u'  File "pokecli.py", line 781, in <module>', u'  File "pokecli.py", line 139, in main', u'  File "D:\\PGBPokemonGo-Bot\\PokemonGo-Bot\\pokemongo_bot\\__init__.py", line 658, in tick', u'  File "D:\\PGBPokemonGo-Bot\\PokemonGo-Bot\\pokemongo_bot\\cell_workers\\move_to_map_pokemon.py", line 315, in work', u'  File "D:\\PGBPokemonGo-Bot\\PokemonGo-Bot\\pokemongo_bot\\cell_workers\\move_to_map_pokemon.py", line 141, in get_pokemon_from_social']

 Something went wrong and the bot needed to be restarted. Please investigate the cause.

Steps to Reproduce

when using a clean config.json.example file it does work.

Other Information

OS: Windows 10 pro 64bit Branch: dev Git Commit: 4cce54823e4209ad0000b5166be7443e5c775194 Python Version: 2.7.12 Any other relevant files/configs (eg: path files)

sohje commented 8 years ago

Add this to MoveToMapPokemon task with your values

"address": "http://localhost:5000",
"max_sniping_distance": 1000,
"max_walking_distance": 1500,
Asafffff commented 8 years ago

@sohje I have those. tried to modify to different values now, without any success.

Asafffff commented 8 years ago

Found the problem! the clean config.map.json had 2 typos:

    "type": "MoveToMapPokemon",
    "config": {
      "enabled": true,
      "address": "http://localhost:5000",
      "//NOTE: Change the max_sniping_distance to adjust the max sniping range (m)": {},
      "max_sniping distance": 10000,
      "//NOTE: Change the max_walking_distance to adjust the max walking range when snipe is off (m)": {},
      "max__walking_distance": 500,

max_walking_distance had 2 underscores, while max_sniping_distance had a space between sniping and distance.