/BAAuto

Blue Archive Auto Script. Inspired by MAA for Arknights and Alas for Azur Lane.

Primary LanguagePythonMIT LicenseMIT

BAAuto: Blue Archive Automation Script

example

BAAuto is a Python-based automation script designed to streamline various tasks in Blue Archive. It's a modified version of Egoistically's ALAuto and with a user-friendly GUI, BAAuto simplifies tasks such as login, cafe, bounty, scrimmage, tactical challenge, mission, and reward claiming. It's only for the Global server with support for English and Chinese languages but you can find other Blue Archive scripts for different servers here.

UPDATE: I'm currently adapting ArisuAutoSweeper, a script for Blue Archive built on the Alas framework, to EN. This decision stems from the fact that BAAuto is sluggish, lacks optimisation, and has a buggy GUI. Also, some of BAAuto's features will be implemented into ArisuAutoSweeper. I will try to fix any bugs I encounter in BAAuto during this process but no new features will be added. You can therefore reuse the config.json from previous versions of BAAuto by simply copying and pasting it.

UPDATE: BAAuto will be no longer maintained.

Table of Contents

Requirements on Windows

To use BAAuto effectively, you'll need the following:

  • Python 3.11 or latest, installed and added to your system's PATH.
  • The latest ADB added to your system's PATH.
  • An ADB-debugging enabled emulator with a resolution of 1280x720 and running Android 5 or newer.

Here are some detailed instructions to set up the environment

Supported Emulators

BAAuto has been tested and confirmed to work with the following emulators:

  • Bluestacks
  • LDPlayer9
  • MuMu Player

While other emulators may work, these have been tested extensively and are recommended for optimal performance.

Graphics Settings in Blue Archive

For the best experience, configure your Blue Archive settings as follows:

  • Minimum: Medium graphics settings at 30fps.
  • Recommended: Medium, High, or Very High graphics settings at 60fps.

Please note that BAAuto may require adjustments to the source code if you choose lower graphics settings than the ones listed above.

Installation and Usage

Follow these steps to get BAAuto up and running:

  1. Clone or download this repository.
  2. Install the required packages using pip3 with the command pip3 install -r requirements.txt.
  3. Ensure that ADB debugging is enabled on your emulator.
  4. Run BAAuto.py and modify the connection address to match your emulator's ADB port and configure other settings to your preference.
  5. Changes are automatically saved except for the Mission/Commissions/Event section.
  6. For Event, you need to upload a cropped image of the event banner (without a background) in the assets/EN/goto or assets/CN/goto directory and save it as event_banner.png.
  7. Avoid setting the number of sweeps higher than 30, as this may cause BAAuto to assume the game is stuck.
  8. If you've enabled "Tap Students" in the Cafe, make sure to zoom out and swipe to the bottom-left corner before starting the script. You can make a pull request if you have a solution for zooming out using ADB.
  9. If you've selected "Exit Emulator" or "Exit BAAuto and Emulator", provide the emulator path. For BlueStacks instances, create a shortcut for Blue Archive from the instance and choose it as the emulator path to ensure BAAuto only closes that specific instance. Also, launch Blue Archive from the shortcut everytime you plan to close it with BAAuto.
  10. If you'd like to create new assets, you can refer to this guide.

Please feel free to use and modify BAAuto as you see fit. Your feedback and contributions are always welcome.

Known Bugs

Here are some known issues with BAAuto:

  • Ascreencap does not work; use uiautomator2 instead.
  • The script relies heavily on "time.sleep()," which can make it slower at times.
  • There's no implementation of data validation for the "config.json" file. The GUI and script may crash if the file is corrupted or contains incorrect data.
  • Sometimes BAAuto thinks the script is still running when it isn't. This is due to some threading issues.

Acknowledgment

I'd like to express my gratitude to the following individuals, listed in no particular order:

  • Akascape: Provided customtkinter widgets that are both complex and user-friendly.
  • Egoistically: For making ALAuto open-source and providing the foundation for BAAuto.
  • hgjhgj: Created the OCR library BAAuto is using and the first to star the repository, which greatly motivated me.
  • LmeSzinc and MistEO: Creators of Alas and MAA, respectively, who inspired me to develop BAAuto.
  • TomSchimansky: Created customtkinter, making it possible for an inexperienced programmer like me to create a modern GUI.

Other Blue Archive Scripts

Many people have created Blue Archive scripts for different servers.

  • ArisuAutoSweeper: Blue Archive Automation Script for JP and Global EN
  • baas: Blue Archive Auto Script for CN
  • BlueArchiveAutoScript: BAAS, used to implement Blue Archive automation for CN
  • MBA: BA assistant based on the new architecture of MAA, support planned for all servers but in hiatus