Improve history and achievement export guidance

This commit is contained in:
Golumpa 2026-08-19 11:37:46 +01:00
parent 569299dbdd
commit 35918f24f1
2 changed files with 40 additions and 32 deletions

View file

@ -62,7 +62,7 @@ def print_banner() -> None:
print()
print(rule("="))
print(style(f" NTE History Exporter v{EXPORTER_VERSION}", BOLD, CYAN))
print(style(f" {GAME_NAME} pull history -> tracker JSON", DIM))
print(style(f" {GAME_NAME} history and achievements -> JSON", DIM))
print(style(f" {REPOSITORY_URL}", DIM))
heart = "❤️" if (getattr(sys.stdout, "encoding", None) or "").lower().replace("-", "") == "utf8" else "<3"
print(style(" Created with ", DIM) + style(heart, RED) + style(" by Golumpa", DIM))
@ -75,27 +75,29 @@ def print_live_instructions(local_ip: str, backend: str = "windows_raw", detail:
backend_detail = f" ({detail})" if detail and detail != local_ip else ""
print(style(f" Capture backend: {backend}{backend_detail}", DIM))
print()
print(style(" How to export your pull history", BOLD))
print(" 1. For automatic user UID detection, start this tool")
print(" before pressing Start on the game's main menu.")
print(" Already in game? You can still capture history;")
print(" the tool will ask for your UID if it cannot detect it.")
print(" 2. Open a supported history screen:")
print(style(" Monopoly > Standard Board history", CYAN))
print(style(" Monopoly > Limited Character Board history", CYAN))
print(style(" Gashapon > Arc Miracle Box history", CYAN))
print(style(" Gashapon > Mystery Box history", CYAN))
print(" 3. Start at page 1 and scroll down through every page")
print(" you want exported.")
print(" 4. Scroll one page past where you plan to stop so the")
print(" last pull group can be confirmed as complete.")
print(" 5. You can open several boards in the same session.")
print(style(" Before you begin", BOLD))
print(" Start this exporter before pressing Start on the game's")
print(" main menu. This lets it capture your achievements and")
print(" detect your account UID and server automatically.")
print()
print(style(" Achievement export", BOLD))
print(" Start the exporter before launching the game. Achievements")
print(" loaded at login are captured automatically.")
print(" Already in game? Pull history still works, but achievement")
print(" capture requires restarting the game. Missing account details")
print(" will be requested when your exports are saved.")
print()
print(style(" Waiting for history pages... press any key here when done.", BOLD, GREEN))
print(style(" Pull history", BOLD))
print(" Open a supported history screen, start at page 1, then")
print(" scroll through every page you want to export. Go one page")
print(" further so the exporter can confirm the final pull group.")
print()
print(style(" Monopoly:", DIM) + " Standard Board or Limited Character Board")
print(style(" Gashapon:", DIM) + " Arc Miracle Box or Mystery Box")
print(style(" You can capture more than one board in the same session.", DIM))
print()
print(style(" Achievements", BOLD))
print(" Your completed achievements are captured automatically when")
print(" you log in after following the step above.")
print()
print(style(" Ready - use the game, then press any key here when finished.", BOLD, GREEN))
print(rule())

View file

@ -154,13 +154,6 @@ def run_live_capture(
stats = capture.stats()
capture.close()
if stats:
console.print_capture_stats(
stats.received,
stats.dropped,
stats.interface_dropped,
)
exports = []
achievement_path = None
if achievement_ids:
@ -168,7 +161,6 @@ def run_live_capture(
achievement_path.write_text(
json.dumps(achievement_ids, ensure_ascii=False) + "\n", encoding="utf-8"
)
console.print_note(f"Achievement list written: {achievement_path}")
diagnostics_path = None
if write_debug_csv:
diagnostics_path = new_diagnostics_path()
@ -214,14 +206,25 @@ def run_live_capture(
)
console.print_results_header()
if stats:
console.print_capture_stats(
stats.received,
stats.dropped,
stats.interface_dropped,
)
if stats:
print()
if not exports:
if achievement_path is not None:
console.print_note("No pull-history pages were captured.")
console.print_success("Achievement export complete.")
console.print_note("No pull history was captured (this is fine if you only wanted achievements).")
print()
console.print_note(f"Export written: {achievement_path}")
else:
console.print_problem("No history pages were captured.")
console.print_note("Make sure the capture backend is running, then reopen the")
console.print_note("history screen and scroll from page 1. If no page messages")
console.print_note("appear, return to the main menu and re-enter the game.")
console.print_note("Reopen a supported history screen and scroll from page 1.")
console.print_note("If no page messages appear, return to the main menu and re-enter the game.")
if diagnostics_path is not None:
console.print_note(f"Diagnostics written: {diagnostics_path}")
return {
@ -246,6 +249,9 @@ def run_live_capture(
if item["csv_path"] is not None:
console.print_note(f"CSV written: {item['csv_path']}")
console.print_note(f"Export written: {item['json_path']}")
if achievement_path is not None:
print()
console.print_note(f"Export written: {achievement_path}")
if diagnostics_path is not None:
console.print_note(f"Diagnostics written: {diagnostics_path}")