favll / pogom

The fastest PokΓ©mon Go Map available.
MIT License
551 stars 199 forks source link

Feature Request: Post Moveset and IVs on map #391

Open PhDeez opened 8 years ago

PhDeez commented 8 years ago

Checklist

Saw this feature over on PokemonGo-Map and was hoping we could get it integrated in to pogom! :)

https://github.com/PokemonGoMap/PokemonGo-Map/issues/1135

This will help me decide if I want to get that Squirtle or Bulbasaur with 0/0/3 IVs

djv2 commented 8 years ago

i have this feature working on PokemonGo-Map but can't port it over. for some reason every time i call api.encounter with this map (which you need to in order to get IV) it errors out with "position"

2016-09-06 20:21:00,572 [ scan] [ ERROR] 'position' 2016-09-06 20:21:00,572 [ scan] [ ERROR] Unexpected error while parsing response.

tried calling it from another file and still get same thing [WARNING] Exception while downloading pokemon ivs: 'position'

@favll @nborrmann or anyone else thoughts? my guess is something with the protos?

//EDIT: seems like 'position' is coming from scan.py

            self.api.get_map_objects(
                latitude=f2i(next_pos[0]),
                longitude=f2i(next_pos[1]),
                cell_id=cell_ids,
                since_timestamp_ms=timestamps,
                position=next_pos,
                callback=Scanner.callback)

suggestions on workaround? if i return null/None it doesn't work

CuRleGit commented 8 years ago

Does this slow down scanning?

PhDeez commented 8 years ago

No, I believe it is taken from the encounter_id

djv2 indicated another api call is necessary.... my bad.

Jordan-TE commented 8 years ago

to lower server impact, iv should be requested only for a list ok pokemons, and/or should be done when we click on the pokemon, so we have notification and if we want to know the iv we just have to click on the pokemon (maybe this could slow the scan because when we click on of the worker have to get back to the spot and check the encouter i guess (sorry for my english )

djv2 commented 8 years ago

@CuRleGit @PhDeez it does slow down a little because you need to make an extra API call @Jordan-TE yes a whitelist/blacklist is implemented to be selective on where the extra API calls are made

either way, i can't get it to work on this map, but again have it working on other maps. the API code is tricky here, i need support from admins but getting 0 help

Jordan-TE commented 8 years ago

the 2 maintainers, seems to have slowed down on this project,i never really made python but maybe i'll give it a try with others map not including this, i really think its a good feature and should be implemented but not on default, it has to be started by the user because i guess the ban risk is bigger

darkeagl commented 8 years ago

Can you give me your changes so I can check what you did? I triy to implement it myself but got stuck with the variable "ENCOUNTER" if I remember right

weizh888 commented 8 years ago

I was to post a request to allow to show the IVs in the defined list before I see this. Hopefully this feature can be implemented and added soon.

djv2 commented 8 years ago

@darkeagl there are many versions of it but basics are you make an encounter call which is where i error out with this map. below is the call i have on my other map

api.encounter(encounter_id=p['encounter_id'],
                                               spawn_point_id=p['spawn_point_id'],
                                               player_latitude=step_location[0],
                                               player_longitude=step_location[1])
darkeagl commented 8 years ago

Can you may be make me a pull private if you don't want to share?

On Sep 9, 2016 23:46, "General Zod" notifications@github.com wrote:

@darkeagl https://github.com/darkeagl there are many versions of it but basics are you make an encounter call which is where i error out with this map. below is the call i have on my other map

api.encounter(encounter_id=p['encounter_id'], spawn_point_id=p['spawn_point_id'], player_latitude=step_location[0], player_longitude=step_location[1])

β€” You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/favll/pogom/issues/391#issuecomment-246049715, or mute the thread https://github.com/notifications/unsubscribe-auth/ARYwll4XWSn6mhVZn-Us4jUppl4aKkyHks5qodPEgaJpZM4J2KnO .

djv2 commented 8 years ago

@darkeagl i did share, there's nothing really else. it's a 1 line API encounter call to get IV. and that 1 line is what fails with this map

PseudoLL commented 8 years ago

Kinda new to all this (learning)

someone able to help me with this if you guys get it working please? its been the one thing ive thought about since the start. Would be so helpful.

Let me know if this kinda msg shouldnt be posted here. Thanks in advance.

Made123 commented 8 years ago

would be great

M3G4THEKING commented 7 years ago

Would be so cool if someone do this.tks guys.

falau commented 7 years ago

Hi, I've implemented this feature in my fork screen shot 2016-09-25 at 02 59 33

But I'm not gonna send a pr as I'm too lazy to clean up my code and I haven't done a comprehensive test πŸ˜›

I can only say it works well in my side as a small area scanner so far, check this branch if u r interested in it.

M3G4THEKING commented 7 years ago

@falau i gonna try your branch and i give the return thanks.

Edit: work 100% thanks

PseudoLL commented 7 years ago

It was working, has it stopped?

M3G4THEKING commented 7 years ago

@PseudoLL work fine.

PseudoLL commented 7 years ago

idk then, ill try again later but i just get some mass msg about errors n this line wrong n all this stuff above my pay grade

falau commented 7 years ago

maybe you just got softbanned, switch some accounts, switch ip, or stop pogom for a while works for me

M3G4THEKING commented 7 years ago

@PseudoLL if you use a bd erase all in, then restart map,for me work fine and i need to thanks alot to @falau :) .

zenoncrow commented 7 years ago

@falau hello, I just installed your version of Pogom that shows IVs and it works wonderfully! Thank you very much for your hard work! There's one thing I'm very interested in though. Is it planned, or is there any possibility that you can make your map support the features of this bot? https://github.com/eugenio412/pogomBOT It currently supports standart pogom and PokemonGo-Map, and for the latter is also supports sending IVs to telegram and even choosing to only send a notification if the Pokemon has more then XX% of IVs. I tried this bot with your version of Pogom, but it clearly only sends Pokemon and its location as usual. Can something be made, so it worked with IVs and moves as well?

falau commented 7 years ago

Hi @zenoncrow,

Unfortunately, I don't have any plan on supporting pogomBOT since I have already implemented my own notification on facebook messenger long before haha.

But I've taken a look at pogomBOT, though I never use it, I found that you can set the data source to the one for PokemonGo-Map directly as the schema is basically the same. You can try it first anyway. πŸ‘

btw, fb messenger's floating head is incredibly useful to a small-RAM android device when you wanna look up map and keep PMGo opening at the same time πŸ˜ƒ zzzz

zenoncrow commented 7 years ago

@falau yeah, I tried changing "show pokemon without ivs" to "false" in json, but it didn't work. It only sends the location and pokemon name. I've looked through the data source and nothing seems to be out of the norm. Thanks, I might try facebook, but it's very uncommon in my country so I'm not too much into installing it on my phone.

falau commented 7 years ago

Hi @zenoncrow , actually what you need to do is to set SCANNER_NAME to "pokemongo-map-iv" at pogomBOT's config file.

zenoncrow commented 7 years ago

@falau oh, thanks, I guess I was overthinking it too much. Ha-ha. I believe that this bot doesn't even connect to the map at all, the only thing it does is connect to the database and search for things to report about? I'll try this when I get home from work, thanks again :)

zenoncrow commented 7 years ago

@falau yes, it workes wonderfully, thanks!

PseudoLL commented 7 years ago

whats this about? sounds like i want it but i understand 1.5% of the last few comments

PseudoLL commented 7 years ago

getting a huge wall of text i dont understand.

is someone able to help a scrub? ill send you the wall of text i get.

its prob laughable to you guys but its over my head

PseudoLL commented 7 years ago

nvm i fixed this on my own by not being retarded for a full 32 seconds.

PseudoLL commented 7 years ago

Anyone know why im always getting IP Soft bans on this map but not on the original one (without IVS)

zenoncrow commented 7 years ago

@PseudoLL how many accounts do you use? When you set the IVs to show, if you have like 50 accs and a huge area to scan and you've set almost all the pokemon to show IVs - it's an extra server call for each and every pokemon and each account in a second, so it almost doubles the server calls at the very least and results in IP soft-bans.

PseudoLL commented 7 years ago

Im running 150 Accounts over 2.5km-3km with 34 Pokemon being checked for IVs

Happening to a few mates too who are using roughly the same numbers for each.

Its doing 1-2 Scans then Soft Ban for all of us, Reset Modem n PC n all that easy to do fixes n works again for 1-2 Scans n Soft Ban etc etc

falau commented 7 years ago

Current implementation is very rough. I didn't consider things like account affinity, query frequency , etc. It's expected to be buggy. Maybe you can adjust throttle time at pogom/scan.py and pogom/pgoapi/pgoapi.py to see if it gets better. good luck πŸ‘

PseudoLL commented 7 years ago

yeah over my head. all good. ill deal

M3G4THEKING commented 7 years ago

@falau can you update your fork with the IVS% ? thanks

falau commented 7 years ago

right now I don't have time for porting new 0.45 API back to pogom. you can check the API updates here https://github.com/pogodevorg/pgoapi

good luck!

M3G4THEKING commented 7 years ago

@falau thank you my friend

todd-lm commented 7 years ago

Just so you know, IV's were changed to be different for each level so it's basically useless.