OutdatedPokeMMO Bot [Beta]

Posts 6175 of 137 · Page 5 of 10
Something funny just happened, working on fixing the bugs where it doesn't switch properly (I think I have it working now, I just think my data is not getting saved properly from my Party Info GUI).

Anyway, got the bot moving back and fourth doing a crap ton of battling (been at it for a few hours) and I think a mod actually moved me mid-battle. (I was going left/right in grass, in the middle of the battle my character was moved about 7 blocks up into a spot where there was no grass).

I've been thinking about doing a path check to make sure there is grass or water on the spot it should be walking to next (And at the beginning checking every tile to make sure it has grass or water first). Getting bot checked just now gives me all the more reason to do so lol.
This is in Beta! Meaning it is not 100% completed.
Another PokeMMO bot. Re-written, still in AutoIt, and greatly improved.

What it can do:

  • Level a Pokemon using a second Pokemon to fight the battle
  • EV Train a Pokemon to a specific # of EV's
  • Will continue to bot if the Pokemon dies. Switches to a EV Train, Fighter, or Leveling class and continues the battle based on their desired stats.
  • If PokeMMO is not the active window the bot will wait for 5 seconds for it to become active. Stops if it does not become active in that 5 seconds.
  • Walk, Run, Swim, or use Bike.
  • Bot stops when trying to learn a new move.
  • Bot (should) stop when Pokemon is evolving.
  • Determines the best move to use against the enemy based off move types. (Uses water attacks against fire before using flying. Does not use ground attacks against flying.)
  • Moves within the designated area with incredible accuracy!
  • Determine the enemy name.
  • Determine the EXP gained from killing the enemy.
  • Determine if the enemy is a Pokemon you want to battle.
  • Determines every party Pokemons name
  • Determines every party Pokemons Lv
  • Determines every party Pokemons Min/Max HP
  • Determines every party Pokemons Min/Max PP for each move
  • Determines every party Pokemons Move types
  • Stop button works!


What it currently does not support:

  • It will not heal
  • Class: Hunter
  • Anti-Botting


Not 100%
  • If you tell the bot to use Bike you have to be on the bike before it starts
  • If you tell the bot to use Run you have to toggle Run on before it starts
  • If you tell the bot to use Swim you have to be in the water swimming before it starts
  • If you tell the bot to use Walk you have to toggle Run off before it starts
  • Stopping when Pokemon is evolving (This should make the bot stop but I have not encountered it enough for me to test it)
  • Determining if the damage for the move is correct. If the move is useless it will still use it. (Useless meaning Leer, Sand Attack, Splash)
  • Determining Move types. (It should retrieve the correct move type. If it can't find the correct one it will give an error and say "Color found = 0x******", a hex color)


Setting Up

All settings can be set using the program itself. There is no need to modify files.
Only modify walk delay and turn delay if the bot is straying off the designated path. If you have a bad connection use higher values.
  • Before starting the bot make sure you have PokeAI Theme in the PokeMMO Theme folder.
  • Go in game and select the PokeAI Theme and restart the game. (It HAS to be restarted in order for the bot to determine the proper move types)



The Bot:

  • Menu "Bot":
    • Start: Starts botting
    • Stop: Stops botting
    • Exit: Closes program
  • Menu "File":
    • Party Info: Opens Party Info.ini (Does not need to be edited manually)
    • Bot Settings: Opens Bot Settings.ini (Does not need to be edited manually)
    • Game Client Settings: Opens Game Client Settings.ini (Does not need to be edited manually)
    • Pokemon to Battle: Opens Pokemon to Battle.txt (Does not need to be edited manually)
    • Reload From Files: If any of the files were edited manually you can use this to reload all of the settings from those files.
  • Menu "Logs":
    • Info: Opens the main log file used for everything the bot is doing
    • Errors: Opens the log file with all of the errors encountered
    • Battle Info: Opens a log file containing all of the battles fought so far (Not yet implemented)
    • Encountered: Opens a log file with all of the Pokemon encountered
  • Menu "PokeMMO":
    • Start PokeMMO: Opens PokeMMO
    • Close PokeMMO: Closes PokeMMO
    • Select PokeMMO Path: User selects the folder containing PokeMMO.exe (This has to be set before it can Start PokeMMO)
  • Menu "Help":
    • Setup: Not yet implemented. Will be used as a guide for users to help setup the bot correctly
    • Build: Current Bot Build
    • Version: Current Bot Version
    • Check for Updates: Checks for an updated version
  • PokéAI Controls:
    • Start Botting: Starts the bot
    • Stop Botting: Stops the bot
    • Party Info: Opens a window to edit your Party info
    • Pkmn to Battle: Opens a window letting you select what Pokemon to battle
    • Bot Settings: Opens a window letting you set some of the necessary bot settings
  • Pathing
    • Direction: Set the direction the bot will go Next (while botting displays the direction it will go next)
    • Path: Bot will go Vertical (up/down), horizontal (left/right), or square (goes clockwise)
    • Transportation: Bike, Run, Swim, or Walk (If you're using bike you have to be mounted on the Bike first, if you're using run you need to toggle run and make sure you're already running)
    • Walk Delay: Delay between each step (Use a higher value if you have a bad connection)
    • Turn Delay: Delay used before the bot turns (Use a higher value if you have a bad connection)
    • Steps: Number of steps to take on each direction (Remaining: displays steps left to take)


Current Classes

Classes control what each Pokemon does. There are 5 to choose from: EV Train, Leveling, Leveler, Fighter, and Hunter.
  • EV Train
    • EV Train a Pokemon to get a specific # of EV. Ignores Pokemon to Battle and will fight any Pokemon that gives the desired EV.
  • Leveling
    • Pokemon that does not fighting, it will be in the first slot and once the battle begins, and the enemy is a desired Pokemon the user wants to battle, will switch to a Leveler
  • Leveler
    • Pokemon that does all the fighting for the Leveling Pokemon.
  • Fighter
    • A Pokemon that doesn't need help battling, can gain a specific # of Levels or keep it -1 to level infinitely
  • Hunter
    • Not yet Implemented. Will be a Pokemon that hunts for Shiny Pokemon


Future Development

  • Implement Hunter class
  • Add some Anti-botting detection
  • Will be removing the user selected Pathing and make the bot check the area around it/in front of it and walk in Grass, water, or cave
  • Determine if move is a usable move (I.e., not sand attack)
  • Pathing to the nearest Pokemon Center to heal


Any Problems:

If you encounter any problems with the bot please post a screenshot of where the bot is at and a description of what it's doing.
There are log files in the Data\Logs folder. Please include the Info.log, Errors.log and any Screenshots and files in the Error folder.


Any Questions?

If you have any questions, comments or ideas feel free to post. I will continue to work on this. I have a lot of ideas on what I want this bot to do, getting it to work is just a matter of time.

Virus Scans
09W022811 Version 1.0.0.4: Virus Total Jotti
09W022811 Version 1.0.0.2: Virus Total Jotti
09w022811 Version 1.0.0.1: Virus Total Jotti
08W211159 Version 0.0.0.0: Virus Total



 
Change Log
[Beta 09W022811]
[Version 1.0.0.4]
03/27/15 Fixed a bug where the bot would not switch to the next Pokemon with the Leveling, Fighter, or EV Train Class properly.
03/27/15 Fixed a bug where it would not save the stats correctly after closing the Party Info window.
03/27/15 Fixed a bug where it would get "No usable moves" even if there were moves.

[Version 1.0.0.2]
03/091/15 Changed Bot name to PokéAI, changed Icon to reflect new name.
03/09/15 Included Greatball, Ultraball, and Safariball to be used to start reading Pokemon name in Party Info window. (Would previously only read name if Pokemon was caught using a Pokeball).
03/09/15 Added a "Null" type. Used for empty moves.
03/09/15 Bot stops if the Hunter class is selected. Hunter not het implemented.
03/08/15 Image for Lv. 9 included. (Was missing) (Pokemon level)
03/08/15 Image for / 5 included. (Was missing) (Max PP)
03/08/15 Leveling and Leveler classes now supported. First and Second Pokemon only.
03/07/15 Bot now supports First and Second Pokemon.
03/06/15 Added a GUI for in game bot settings.
03/06/15 Added smart checking to make sure a proper direction is set for a path.
03/06/15 Added a menu for opening Log files.
03/06/15 Removed buttons to open bot files.
03/06/15 Changed the Control GUI. Added a Bot Settings button to control the Bot settings.
03/01/15 Fixed a bug where the bot would run away even if Battle All was checked and the list for Pokemon to Battle was empty.
03/01/15 Fixed a bug where the bot would start even if classes weren't set.
03/10/15 Made the bot smart check classes before starting. (If Pokemon 5 has a class then 1, 2, 3, and 4 need a class).

[Version 1.0.0.1]
03/02/15 Added a lot of error checking and debug info.
03/01/15 Made the bot smart check classes before starting. (If Pokemon 5 has a class then 1, 2, 3, and 4 need a class).
03/01/15 Fixed a bug where the bot would run away even if Battle All was checked and the list for Pokemon to Battle was empty.
03/01/15 Fixed a bug where the bot would start even if classes weren't set.

[Version 1.0.0.0]
02/28/15 Added slight artificial intelligence. Bot will determine the best move to use against an enemy Pokemon. Will not use moves that don't affect enemy and will use Super effective moves first.
02/27/15 Fixed the pathing. Now paths properly; stays in designated walk area and paths a lot less bot looking.
02/27/15 Added the letter Z to the Battle Name folder since it was not there prior.
02/27/15 Made it so that checking the Battle All box will save and load properly.
02/25/15 Added a GUI to edit Party info. No longer have to use ini files to save and edit party.
02/24/15 Fixed a bug with the update function not checking the version properly.
02/24/15 Changed the exe to include the proper Build version and File version. Used to determine if the bot needs to update.
02/24/15 Included the move types and changed the refresh button so the GUI doesn't flash every time Refresh is pressed.
02/23/15 Added an updater script.
02/23/15 Edited the main GUI to include move types.
02/23/15 Edited the Battle Pokemon GUI. Added a move all Right and move all Left button. Fixed a bug with only having one Pokemon in the battle list not saving properly.
02/23/15 Renamed the custom theme folder to a more identifiable name.
02/22/15 Changed the Pathing to be slightly more accurate. Lost movement speed.

[Beta 08W211159]
[Version 0.0.0.0]
02/21/15 Released Beta Bot


Latest Version:
Build 09W022811 Version 1.0.0.4

PokéAI Beta 09W022811 Version 1.0.0.4_mpgh.net.rar5.5 MB · 208 downloads 2/57 malicious
Quote Originally Posted by maddoggy00 View Post
Approved .
Awesome. Could you do me a favor though and replace the first post with the new one? So it stays updated. I would greatly appreciate it


Just want to add on this 1.0.0.4 version I did do a full test.

First Pokemon was a fighter, leveled once and switched to my next Leveling class
Leveling class leveled once and switched to my EV Train class

In the test it was switching correctly and keeping all the data for each Pokemon in the correct order but there is still a the possibility for something to go wrong so please report any bugs.
Quote Originally Posted by InunoTaishou View Post
Awesome. Could you do me a favor though and replace the first post with the new one? So it stays updated. I would greatly appreciate it


Just want to add on this 1.0.0.4 version I did do a full test.

First Pokemon was a fighter, leveled once and switched to my next Leveling class
Leveling class leveled once and switched to my EV Train class

In the test it was switching correctly and keeping all the data for each Pokemon in the correct order but there is still a the possibility for something to go wrong so please report any bugs.

Any ideas why i keep crashing with new version? It was working fine yesterday with old version. As soon as i go into battle it just crashes.

Quote Originally Posted by nevalopo View Post
Any ideas why i keep crashing with new version? It was working fine yesterday with old version. As soon as i go into battle it just crashes.

Interesting, before it crashes did it read the enemy name?

And if it does read the enemy name is Zubat an enemy you set it to battle?

I didn't forsee the bot ever crashing (Because I do a shit ton of checks on my variables, arrays, and made sure to declare everything before using it) so I always had it writing the data to Info.log when the bot closes. Currently changing it to write to the Info.log every time instead of when the bot closes. Will give better debugging information
Quote Originally Posted by InunoTaishou View Post
Interesting, before it crashes did it read the enemy name?

And if it does read the enemy name is Zubat an enemy you set it to battle?

I didn't forsee the bot ever crashing (Because I do a shit ton of checks on my variables, arrays, and made sure to declare everything before using it) so I always had it writing the data to Info.log when the bot closes. Currently changing it to write to the Info.log every time instead of when the bot closes. Will give better debugging information
The last error i can find before it crashes is [18:25:34] Unable to read enemy name

and i selected "battle all pokemons"
Quote Originally Posted by nevalopo View Post
The last error i can find before it crashes is [18:25:34] Unable to read enemy name

and i selected "battle all pokemons"
How ironic, the variable that isn't declared is under an error debug section lol....

I found the variable, working on getting it fixed now. Has it been able to read enemy names before? Or was this something that hasn't happened often?

Going to lunch with my family. When I get back I will release 1.0.0.5 with the updated debugging and fix the crashing issue. It should not crash if it successfully reads enemy name.

Expect an update in a few hours~
Quote Originally Posted by InunoTaishou View Post
How ironic, the variable that isn't declared is under an error debug section lol....

I found the variable, working on getting it fixed now. Has it been able to read enemy names before? Or was this something that hasn't happened often?

Going to lunch with my family. When I get back I will release 1.0.0.5 with the updated debugging and fix the crashing issue. It should not crash if it successfully reads enemy name.

Expect an update in a few hours~
The crash only seems connected to Zubat. I just tried it in another area and its working fine there without crashes.
yeah guys, you`re programmer?
POKEMMO is Online Pokemon games?
Quote Originally Posted by nevalopo View Post
The crash only seems connected to Zubat. I just tried it in another area and its working fine there without crashes.
The reason it's crashing on Zubat is because it couldn't read the name, so then it goes to a piece of error logging I have where it takes a screenshot of the current screen (For debugging purposes, so we know what it was actually trying to read and see what screen it's on), generates a random key, and then writes to a txt file with some important information. (Where the script is at, if it was able to find the starting position, if it found the first letter, how many letters it was able to read).

I know I had an issue in the past where it wasn't able to read Zubat, because I had left out the letter Z from the images. I have not been able to get an error on reading Zubat. For now, I'm going to fix this logging and fix that crash and push out another update. Working on it now so it will be done soon.

- - - Updated - - -

Version 1.0.0.5 has been added. Don't think I'm going to update the Post since it was some small bug fixing. Anyone can grab the new version by going to Help -> Check for updates on the bot and downloading

Give that a try and let me know if it's still crashing. Let me know if it's still unable to read Zubat too. If it is please post your Info.log, Errors.log, and anything in the Error folder.

 
Change Log 1.0.0.05
[Version 1.0.0.5]
04/05/15 Fixed a bug where it would not keep track of the Original Pokemon for slot 4, 5, and 6 after switching.
04/05/15 Changed the way the bot writes to the Info.log file. Now writes all the time instead of just after closing the bot.
04/05/15 Fixed a bug where the bot would crash when failed to read name.
Quote Originally Posted by InunoTaishou View Post
Awesome. Could you do me a favor though and replace the first post with the new one? So it stays updated.
I will add the new attachment to your first post... but next time just make a new thread.
Quote Originally Posted by maddoggy00 View Post

I will add the new attachment to your first post... but next time just make a new thread.
Thank you, I just don't want to spam the forum with the same thing, just slightly different.
Quote Originally Posted by InunoTaishou View Post
I just don't want to spam the forum with the same thing
If it is a bug fix, that's fine. If it it has different features or requires new instructions, make a new thread and mention the mods in the old version to close the outdated thread.
Great work! will it catch any pokemon in the future?
Posts 6175 of 137 · Page 5 of 10
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?