Open RedDeadDepresso opened 1 year ago
I've been able to successfully run your program within my GUI, and I was wondering if I were to fully adapt my GUI to yours, would you be able to implement Mission/Commissions/Event?
Modifying the GUI should be relatively straightforward. Mainly, I need to adjust to which keys in config_data
the widgets are bound. As I mentioned before, the GUI is just an interface to modify config.json
, run your program as a separate process, and display the output in the logger. It won't interact much other than starting it and stopping it.
Now, let me outline the algorithm for handling Mission/Commissions/Event:
Assume that you have a function like this:
def should_reset():
if CurrentDate != LastRunDate and CurrentTime >= ResetTime:
LastRunDate = CurrentDate
return True
else:
return False
Here's the process:
should_reset()
is True). If it is, clear the queue and import the list of stages into the queue from the preferred template in the templates dictionary.Let me know if you're willing to collaborate on this implementation. Thanks!
Hi RedDeadDepresso,
Thanks for your message, I found some pretty good ideas in BAAuto and I'll reuse them in MBA, but I'm busy at the moment, so the development of MBA is slowing down.
Does config have all the configurable fields in it? Or a template of config with all the configurable fields would be appreciated.
The core of MBA is a development language-independent task resource driven by the MaaFramework.
Because of this, there are plans to use MaaY as a GUI in the near future, and the MBA will retain only Cli until MaaY is archived or until such time as a feature emerges that requires strong coupling with Blue Archive.
The original goal was to develop a modernized UI using C#, but then I realized that my personal skills and time were not enough to accomplish that goal in the short term. If, in the future, there are no features that are strongly coupled with Blue Archive, the Cli will be refactored using Python.
For some reason, I won't be adding "blue-archive" and "bluearchive" topics to the about section for a while until the initial completion of the v1.0 program.
In addition, there's a auto script project named baas, which written in Python with a GUI for Blue Archive.
Hi, I would like to express my gratitude for considering my ideas. Regarding the configuration file, it indeed contains all the necessary fields. If you're wondering why it doesn't have a 'club' section, it's because that functionality is included within the 'mailbox' section. I thought it would be redundant since, in the end, you claim the 10 AP from the mailbox.
As for the GUI, I forgot to mention that it was supposed to be temporary. My intention was to adapt it for MBA, making it feasible and worthwhile for you to implement Missions/Commissions/Events and update it as you introduce new features, until you decide to create your own GUI. I didn't intend for it to be used in the long-term, as the GUI can be a bit buggy at times, and customtkinter has its limitations. However, thinking back, I mistakenly excluded the possibility that you may not want to implement all the features of BAAuto and since you mentioned that you already have some plans in mind, you should proceed as you see fit.
Also, thanks for informing me about baas. I attempted to use it, but the GUI is currently available only in Chinese, making it challenging for me to navigate. Additionally, it seems to support only the CN server from the templates I checked. Therefore, I've decided to stick with BAAuto until MBA is at a decent point in development.
Finally, I want to remind you again that if you have other inquiries about BAAuto, please don't hesitate to reach out.
Hi,
I apologise for reaching out once more. I've made some modifications to my config file to implement some of my favorite features from MAA. I thought it would be beneficial to inform you about this, since you were interested in my config file. Here's a brief summary of the new additions:
Also, you can import stages from pre-existing templates when creating a new one. I've attached an image.
I want to emphasise that I completely understand that you are busy, and I'm not trying to impose any pressure. However, it would be great if you could consider implementing some of these features in MBA as well.
Hi there,
I've developed a Python script with a GUI for Blue Archive called BAAuto, but I must admit that I'm an inexperienced programmer and currently quite busy, so I won't work on it for long. However, I believe there are some valuable ideas within the script, in particularly Missions/Commissions/Event. These ideas could be challenging to manage without a GUI, but I hope you can consider them for future development.
You are welcome to reuse any part of the code. The code related to Missions/Commissions/Event is in BAAuto/modules/mission.py.
Mission/Commissions/Event
Description
This feature allows users to create templates, which are essentially lists of stages for the script to execute. Each stage is defined by a mode (Mission Normal, Hard, Event Quest, Base Defense, or Item Retrieval), a stage name (e.g., 1-1, 01), and the number of sweeps. Users can create multiple templates, but only the preferred template will be loaded into the queue and executed by the script.
Modifiers
GUI
I believe you could make good use of the GUI I've implemented. It's a simple interface for modifying
config.json
and the output ofscript.py
. It was made using a python library called customtkinter, an enhanced and modern version of the standard tkinter library. While it may not have advanced features, I've included the essentials for a Blue Archive script. The code related to the GUI is in BAAuto/BAAuto.py.Here's a brief overview of how it works:
config.json
file into a variable calledconfig_data
and creates a copy of it with all values set toNone
, storing them in a variable calledwidgets
.save_to_json
function, and as they are created, they are added to thewidgets
variable.config_data
intowidgets
by accessing the same key in both dictionaries and setting the customtkinter widget to the respective value inconfig_data
.config_data
, and then savingconfig.json
.As for displaying script output, it uses a specific widget called
CTkTextbox
stored in a variable calledself.log_textbox
. You can define tags to set the color of the text. When you click the start button in the sidebar, it runsscript.py
as a separate process and starts another thread to analyze its standard output. If it finds specific words using a dictionary calledself.log_level_colors
(associating words with tags), it will display the line with the specified color; otherwise, it will ignore it.To help you better understand, I've attached an image that illustrates the GUI with the Mission/Commissions/Event section.
I hope you find this script and GUI useful. While I lack knowledge in C# and Chinese, I'm open to answering any questions you may have regarding the script. If you have any inquiries, please feel free to reach out through this issue. Otherwise, you can close it.
P.S. Could you consider adding the "blue-archive" and "bluearchive" topics to the about section of your repository? I had some difficulty finding it initially, and adding these topics could improve visibility for others on GitHub.
Best regards, RedDeadDepresso