PokemonGoF / PokemonGo-Bot

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

Optimizer is not transferring , when bag is full. Sometimes. #6023

Open pogarek opened 7 years ago

pogarek commented 7 years ago

This is what happens:

[2017-04-20 17:39:41] [PokemonOptimizer] [INFO] Buddy Snorlax walking: 1.85 / 5.00 km
[2017-04-20 17:39:41] [PokemonOptimizer] [INFO] Pokemon Bag: 498 / 500
[2017-04-20 17:39:41] [PokemonOptimizer] [INFO] Skipping evolution step. Not enough Pokemon to evolve with lucky egg: 69/80
[2017-04-20 17:39:41] [PokemonOptimizer] [INFO] Upgrading 3 Pokemon [223070 stardust]
[2017-04-20 17:39:43] [PokemonOptimizer] [INFO] Skipping evolution step. Not enough Pokemon to evolve with lucky egg: 69/80
[2017-04-20 17:39:43] [PokemonOptimizer] [INFO] Upgrading 3 Pokemon [223070 stardust]

Optimizer config:

 {
            "type": "PokemonOptimizer",
            "config": {
                "enabled": true,
                "debug": true,
                "min_slots_left": 5,
                "bulktransfer_enabled": true,
                "max_bulktransfer": 10,
                "action_wait_min": 3,
                "action_wait_max": 5,
                "transfer": true,
                "evolve": true,
                "evolve_to_final": false,
                "evolve_time": 25,
                "evolve_for_xp": ["Caterpie", "Weedle", "Pidgey", "Rattata", "Nidoran F", "Nidoran M",
                                         "Zubat", "Oddish", "Paras", "Venonat", "Psyduck", "Tentacool",
                                         "Magnemite", "Krabby", "Voltorb", "Goldeen", "Staryu", "Eevee","Spearow",
                                         "Poliwag","Slowpoke","Shellder","Rhyhorn","Wooper","Magikarp","Poliwhirl","Pidgeotto","Psyduck"],
                "evolve_only_with_lucky_egg": true,
                "evolve_count_for_lucky_egg": 80,
                "may_use_lucky_egg": true,
                "upgrade": true,
                "upgrade_level": 40,
                "groups": {
                    "gym": ["Dragonite", "Snorlax", "Lapras", "Vaporeon","Exeggutor", "Gyarados"],
                    "candyblocker": ["Oddish", "Gloom", "Bellossom","Vileplume"],
                    "bubble2": ["Diglett","Gastly"],
                    "bubble": ["Gastly"]
                },
                "rules": [
                    {
                        "// do not evolve buublestrat": {},
                        "mode": "overall",
                        "names": ["bubble2"],
                        "evolve": false,
                        "upgrade": false
                    },                
                    {
                        "// Keep Gyms": {},
                        "mode": "overall",
                        "names": ["gym"],
                        "keep": {"iv": 0.9}
                    },                    
                    {
                        "// Buddy the Pokemon having the less candies. In case no Pokemon match first rule": {},
                        "mode": "overall",
                        "names": ["gym"],
                        "top": 1,
                        "sort": ["-candy", "max_cp", "cp"],
                        "evolve": false,
                        "buddy": true
                    },
                    {
                        "mode": "overall",
                        "top": 30,
                        "sort": ["iv", "cp"],
                        "upgrade": {"iv": 0.9}
                    },
                    {
                        "// Keep best iv of each family and evolve it if its iv is greater than 0.9": {},
                        "mode": "by_family",
                        "top": 1,
                        "sort": ["iv","cp"],
                        "evolve": {"iv": 0.9 }
                    },
                    {
                        "// Keep best ncp of each family and evolve it if its ncp is greater than 0.9": {},
                        "mode": "by_family",
                        "top": 1,
                        "sort": ["ncp"],
                        "evolve": {"ncp": 0.9 }
                    },
                    {
                        "// For Pokemon of final evolution and with iv greater than 0.9, keep the best dps_attack": {},
                        "mode": "by_pokemon",
                        "names": ["!with_next_evolution"],
                        "top": 1,
                        "sort": ["dps_attack", "iv"],
                        "keep": {"iv": 0.9, "cp":"1500"}
                    }
                ]
            }
        },  
davidakachaos commented 7 years ago

Erhmm....

"evolve_only_with_lucky_egg": true,
"evolve_count_for_lucky_egg": 80,

So; only evolve when we have a lucky egg AND 80 Pokemon to evolve. No problem there.... BUT! When the optimizer won't transfer Pokemon, he needs those Pokemon to evolve later. So it can happen the optimizer can't transfer any Pokemon because he is waiting for enough Pokemon to evolve with a lucky egg. To combat this I have configured it differently;

"evolve_only_with_lucky_egg": false,
"evolve_count_for_lucky_egg": 60,

With this config, the Optimizer will still try to get to the number of Pokemon to evolve with a lucky egg (yes I know my number is low) BUT when there isn't enough room in the bag left, the Optimizer will start evolving anyway (without lucky egg!!) and then clear out the bag of evolved trash so the bags are clean again and the bot continues to work. I hope this info helps.

pogarek commented 7 years ago

yeah. but I have 500 slots in bag.... so 80 pokemons to evolve shouldn't be a problem, right ?

davidakachaos commented 7 years ago

I know, but it appears to be a problem according to the line

Skipping evolution step. Not enough Pokemon to evolve with lucky egg: 69/80

I see you have the debug log enabled, there should be a file under data of the optimizer with logging of the rules and such; maybe that will tell you why some pokemon aren't evolving?

But I agree, having 500 space should be enough.....

pogarek commented 7 years ago

so let's add another run. the same account, the same bag, just some time later (and I've transfered some pokemons manually in game) :

[2017-04-21 10:29:53] [PokemonOptimizer] [INFO] Pokemon Bag: 495 / 500
[2017-04-21 10:29:54] [PokemonOptimizer] [INFO] Transferring 74 Pokemon
[...]
[2017-04-21 10:30:34] [PokemonOptimizer] [INFO] Skipping evolution step. Not enough Pokemon to evolve with lucky egg: 14/80
[2017-04-21 10:30:34] [PokemonOptimizer] [INFO] Upgrading 3 Pokemon [261534 stardust]
[2017-04-21 10:30:36] [PokemonOptimizer] [INFO] Skipping evolution step. Not enough Pokemon to evolve with lucky egg: 14/80
[2017-04-21 10:30:36] [PokemonOptimizer] [INFO] Upgrading 3 Pokemon [261534 stardust]
[2017-04-21 10:30:38] [IncubateEggs] [INFO] Eggs incubating: 1.55/2.0 km, 8.40/10.0 km, 2.59/5.0 km (Eggs left: (2.0, 4), (5.0, 2), Incubating: 3)

So this time optimizer transfered some guys. Also upgrade doesn't happen, but I've create another issue for it.

davidakachaos commented 7 years ago

Very strange indeed, I have 3 accounts running each transfering and upgrading Pokemon without much of a problem.... I'll see if I can dig into this a bit in the weekend...

MerlionRock commented 7 years ago

That's why I'm slowly upgrading my bag to 1000....

Surely I'll have enough to transfer...