No description
- Python 100%
| debug | ||
| runs | ||
| scripts | ||
| templates | ||
| .gitignore | ||
| api_reference.md | ||
| autoplay.py | ||
| capture.py | ||
| config.yaml | ||
| current_screen.py | ||
| debug_regions.py | ||
| dp_priority.txt | ||
| dp_state.json | ||
| labels.txt | ||
| logic.txt | ||
| main.py | ||
| overlay.py | ||
| readme.md | ||
| region_crop_finder.py | ||
| region_finder.py | ||
| requirements.txt | ||
| stat_bar_live.png | ||
| stat_bar_training.png | ||
| stat_bar_training.py | ||
| state.json | ||
| support_ card_events.json | ||
| team_level.py | ||
| test_model.py | ||
| test_overlay.py | ||
| training_check.py | ||
| umamusume_events.json | ||
shionfucker9000
whatever poor attempt i come up with making a bot play the game for me
not happening until the planning doc is finished fuck it we ball
progress
currently working on stat reading and current screen detection
scripts
| script | purpose |
|---|---|
capture.py |
window capture, region definitions, click/move helpers |
config.py |
global config (USE_GPU) |
names.py |
uma and race name lists |
current_screen.py |
detects which game screen is currently active via OCR keyword matching |
stat_bar_training.py |
reads stat values and gains from the training screen stat bar using template matching |
training_check.py |
main training checker — reads energy, cycles through all 5 training options and reports best |
debug_regions.py |
debug overlay tool — run and enter a screen name to save a region overlay image |
region_finder.py |
interactive live region helper — hover + S to snap, R to define a Region() |
region_crop_finder.py |
same as above but for static saved images |
train.py / yolo_convert.py / fix_dataset.py / split_dataset.py |
YOLO training pipeline |
portrait_training_data_capture.py |
captures portrait training data |
training check flow
python training_check.py
- Read energy — captures the energy bar on the home/training screen. If the back button is visible (wrong screen), clicks back and waits 3s first. Waits 3s for the screen to settle before reading. Values > 130 are assumed to have a spurious trailing digit and are divided by 10.
- Click training button — enters the training selection screen, waits 3s.
- Detect first selected stat — reads the highlighted training label. Retries up to 5 times (1s apart) if unrecognised, using a fuzzy keyword list covering common OCR misreads of both English and Japanese labels.
- Read all 5 stats — starting from whichever stat is already selected (no redundant click), then clicking through the remaining 4 in order: speed → stamina → power → guts → wit. After each click, waits for the screen to stabilise before reading.
- Per-stat output — for each training option prints: current/cap and gain+bonus for all 5 stats and skill pts, plus total stat gain and total skill pt gain.
- Wit energy gain — when wit is selected, also captures the energy bar and calculates
wit_energy - initial_energyto show the energy recovery from wit training. - Summary — prints which training option gives the most total stats and which gives the most skill points.
- Low energy warning — if initial energy was ≤ 50, prints a failure risk warning.
roadmap
create detection model- basic navigation
- decision making
- support card/uma event database