diff --git a/resource/tasks/MiniGame/PV-Reproduction.json b/resource/tasks/MiniGame/PV-Reproduction.json new file mode 100644 index 0000000000..f6c55d913e --- /dev/null +++ b/resource/tasks/MiniGame/PV-Reproduction.json @@ -0,0 +1,420 @@ +{ + "MiniGame@PV@Begin": { + "algorithm": "JustReturn", + "next": ["MiniGame@PV@01"] + }, + "MiniGame@PV@01": { + "action": "ClickSelf", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Confirm" + ], + "maskRange": [0, 70], + "roi": [0, 350, 1280, 50], + "next": ["MiniGame@PV@02"] + }, + "MiniGame@PV@02": { + "baseTask": "MiniGame@PV@01", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Confirm" + ], + "roi": [0, 620, 1280, 50], + "next": ["MiniGame@PV@03"] + }, + "MiniGame@PV@03": { + "baseTask": "MiniGame@PV@01", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter3-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Confirm" + ], + "roi": [0, 330, 1280, 50], + "next": ["MiniGame@PV@04"] + }, + "MiniGame@PV@04": { + "baseTask": "MiniGame@PV@01", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter3-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter3-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Confirm" + ], + "roi": [0, 580, 1280, 50], + "next": ["MiniGame@PV@05"] + }, + "MiniGame@PV@05": { + "baseTask": "MiniGame@PV@01", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Confirm" + ], + "roi": [0, 460, 1280, 50], + "next": ["MiniGame@PV@06"] + }, + "MiniGame@PV@06": { + "action": "ClickSelf", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Confirm" + ], + "maskRange": [90, 140], + "rectMove": [0, -50, 10, 10], + "roi": [0, 450, 1280, 50], + "next": ["MiniGame@PV@07"] + }, + "MiniGame@PV@07": { + "baseTask": "MiniGame@PV@06", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-1", + "MiniGame@PV@Confirm" + ], + "roi": [0, 230, 1280, 50], + "next": ["MiniGame@PV@08"] + }, + "MiniGame@PV@08": { + "baseTask": "MiniGame@PV@06", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter3-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Confirm" + ], + "roi": [0, 380, 1280, 50], + "next": ["MiniGame@PV@09"] + }, + "MiniGame@PV@09": { + "baseTask": "MiniGame@PV@06", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Filter3-1", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-3", + "MiniGame@PV@Confirm" + ], + "roi": [0, 520, 1280, 50], + "next": ["MiniGame@PV@10"] + }, + "MiniGame@PV@10": { + "baseTask": "MiniGame@PV@06", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Confirm" + ], + "roi": [0, 670, 1280, 50], + "next": ["MiniGame@PV@11"] + }, + "MiniGame@PV@11": { + "baseTask": "MiniGame@PV@06", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter3-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-1", + "MiniGame@PV@Confirm" + ], + "roi": [0, 590, 1280, 50], + "next": ["MiniGame@PV@12"] + }, + "MiniGame@PV@12": { + "baseTask": "MiniGame@PV@06", + "sub": [ + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-3", + "MiniGame@PV@Confirm" + ], + "roi": [0, 670, 1280, 50], + "next": ["MiniGame@PV@13"] + }, + "MiniGame@PV@13": { + "baseTask": "MiniGame@PV@06", + "sub": [ + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Confirm" + ], + "roi": [0, 520, 1280, 50], + "next": ["MiniGame@PV@14"] + }, + "MiniGame@PV@14": { + "baseTask": "MiniGame@PV@06", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Confirm" + ], + "roi": [0, 380, 1280, 50], + "next": ["MiniGame@PV@15"] + }, + "MiniGame@PV@15": { + "action": "ClickSelf", + "template": "MiniGame@PV@11.png", + "rectMove": [0, -350, 10, 10], + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-1", + "MiniGame@PV@Confirm" + ], + "roi": [0, 590, 1280, 50], + "next": ["MiniGame@PV@16"] + }, + "MiniGame@PV@16": { + "baseTask": "MiniGame@PV@06", + "sub": [ + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Filter3-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-1", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Confirm" + ], + "roi": [0, 230, 1280, 50], + "next": ["MiniGame@PV@17"] + }, + "MiniGame@PV@17": { + "baseTask": "MiniGame@PV@06", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter3-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Confirm", + "SwipeToTheRight" + ], + "roi": [0, 450, 1280, 50], + "postDelay": 500, + "next": ["MiniGame@PV@18"] + }, + "MiniGame@PV@18": { + "baseTask": "MiniGame@PV@20", + "template": "MiniGame@PV@20.png", + "rectMove": [-250, -350, 10, 10], + "sub": [ + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter3-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-2", + "MiniGame@PV@Confirm" + ], + "next": ["MiniGame@PV@19"] + }, + "MiniGame@PV@19": { + "action": "ClickSelf", + "template": "MiniGame@PV@20.png", + "rectMove": [-250, -100, 10, 10], + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter3-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Options-4", + "MiniGame@PV@Filter2-2", + "MiniGame@PV@Options-1", + "MiniGame@PV@Confirm" + ], + "next": ["MiniGame@PV@20"] + }, + "MiniGame@PV@20": { + "baseTask": "MiniGame@PV@01", + "sub": [ + "MiniGame@PV@Filter1-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter2-1", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter3-1", + "MiniGame@PV@Options-1", + "MiniGame@PV@Filter1-2", + "MiniGame@PV@Options-3", + "MiniGame@PV@Filter3-2", + "MiniGame@PV@Options-1", + "MiniGame@PV@Options-2", + "MiniGame@PV@Confirm" + ], + "roi": [0, 630, 1280, 50], + "next": [] + }, + "MiniGame@PV@Filter1-1": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [1025, 93, 16, 16], + "preDelay": 500, + "postDelay": 500 + }, + "MiniGame@PV@Filter1-2": { + "baseTask": "MiniGame@PV@Filter1-1", + "specificRect": [1177, 98, 16, 16] + }, + "MiniGame@PV@Filter2-1": { + "baseTask": "MiniGame@PV@Filter1-1", + "specificRect": [1020, 225, 16, 16] + }, + "MiniGame@PV@Filter2-2": { + "baseTask": "MiniGame@PV@Filter1-1", + "specificRect": [1179, 230, 16, 16] + }, + "MiniGame@PV@Filter3-1": { + "baseTask": "MiniGame@PV@Filter1-1", + "specificRect": [1011, 359, 16, 16] + }, + "MiniGame@PV@Filter3-2": { + "baseTask": "MiniGame@PV@Filter1-1", + "specificRect": [1160, 363, 16, 16] + }, + "MiniGame@PV@Filter4-1": { + "baseTask": "MiniGame@PV@Filter1-1", + "specificRect": [1010, 476, 16, 16] + }, + "MiniGame@PV@Filter4-2": { + "baseTask": "MiniGame@PV@Filter1-1", + "specificRect": [1143, 478, 16, 16] + }, + "MiniGame@PV@Options-1": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [866, 143, 16, 16] + }, + "MiniGame@PV@Options-2": { + "baseTask": "MiniGame@PV@Options-1", + "specificRect": [860, 269, 16, 16] + }, + "MiniGame@PV@Options-3": { + "baseTask": "MiniGame@PV@Options-1", + "specificRect": [854, 392, 16, 16] + }, + "MiniGame@PV@Options-4": { + "baseTask": "MiniGame@PV@Options-1", + "specificRect": [846, 517, 16, 16] + }, + "MiniGame@PV@Confirm": { + "action": "ClickSelf", + "roi": [1053, 588, 205, 132], + "preDelay": 500, + "postDelay": 1000, + "reduceOtherTimes": ["MiniGame@PV@ClickToMainInterface*20"], + "next": ["MiniGame@PV@ClickToMainInterface"] + }, + "MiniGame@PV@ClickToMainInterface": { + "algorithm": "JustReturn", + "action": "ClickRect", + "specificRect": [640, 10, 1, 1], + "maxTimes": 20, + "next": ["MiniGame@PV@MainInterface", "MiniGame@PV@ClickToMainInterface"] + }, + "MiniGame@PV@MainInterface": { + "roi": [0, 270, 339, 159], + "next": ["Stop"] + } +} diff --git a/resource/tasks/MiniGame/PV-Reproduction.py b/resource/tasks/MiniGame/PV-Reproduction.py new file mode 100644 index 0000000000..4308a37957 --- /dev/null +++ b/resource/tasks/MiniGame/PV-Reproduction.py @@ -0,0 +1,77 @@ +import re + +# 攻略:https://www.bilibili.com/video/BV16NSZYbE85/ +# 视频格式:左1-1 2-3 3-1 右1-3 3-1 3-2 +# MAA 内部格式: +# MiniGame@PV@Filter1-1 (左1-) +# MiniGame@PV@Options-1 (-1) +# 映射:左/右 → Filter 的第二位 +side_map = {"左": "1", "右": "2"} + + +def convert_steps(text): + parts = text.split() + result = [] + + current_filter = None + current_side = None + + for part in parts: + # 判断是否带 左/右 + m = re.match(r"(左|右)?(\d+)-(\d+)", part) + if not m: + continue + + side, group, option = m.groups() + + # 如果没有写左/右,则沿用前一次 + if side is None: + side = current_side + + filter_id = f"Filter{group}-{side_map[side]}" + option_id = f"Options-{option}" + + # 如果 Filter 改变了,先写 Filter + if filter_id != current_filter: + result.append(f"MiniGame@PV@{filter_id}") + current_filter = filter_id + current_side = side + + # 再写 Options + result.append(f"MiniGame@PV@{option_id}") + + result.append("MiniGame@PV@Confirm") + return result + + +texts = [ + "左1-4 2-2 右1-2 1-4 2-1 2-2", + "左1-1 2-3 右2-2 2-4", + "左1-2 1-4 2-1 3-2 右2-2", + "左1-4 3-2 右1-3 3-4", + "左1-1 1-3 2-1 2-3 右2-1 2-2", + "左1-2 1-4 2-2 2-3 右1-3 2-2", + "左1-1 1-3 2-3 右1-3 2-1", + "左1-2 1-4 2-1 3-1 右1-2", + "左1-4 2-2 3-3 右1-3 2-3", + "左1-1 1-4 2-3 右1-1 1-2 2-2", + "左1-2 2-3 3-2 右1-1", + "左2-2 2-4 右1-1 2-3", + "右1-1 2-2 2-4", + "左1-1 2-4 右1-2 2-4", + "左1-2 1-4 右1-2 1-4 2-1", + "左2-2 3-2 3-4 右1-1 1-3 2-2", + "左1-4 2-1 3-1 3-3 右1-2", + "左2-1 3-1 右1-2 1-4 2-2", + "左1-2 1-4 3-2 3-4 右2-1", + "左1-1 2-3 3-1 右1-3 3-1 3-2", +] + +for idx, text in enumerate(texts): + print(f"\n// 第 {idx + 1} 行: {text}") + converted = convert_steps(text) + print('"sub": [') + for i, line in enumerate(converted): + comma = "," if i < len(converted) - 1 else "" + print(f' "{line}"{comma}') + print(" ],") diff --git a/resource/template/MiniGame/PV/MiniGame@PV@01.png b/resource/template/MiniGame/PV/MiniGame@PV@01.png new file mode 100644 index 0000000000..bf301033fe Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@01.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@02.png b/resource/template/MiniGame/PV/MiniGame@PV@02.png new file mode 100644 index 0000000000..fba78008eb Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@02.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@03.png b/resource/template/MiniGame/PV/MiniGame@PV@03.png new file mode 100644 index 0000000000..7d39202166 Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@03.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@04.png b/resource/template/MiniGame/PV/MiniGame@PV@04.png new file mode 100644 index 0000000000..1e2795e8b2 Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@04.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@05.png b/resource/template/MiniGame/PV/MiniGame@PV@05.png new file mode 100644 index 0000000000..d6a9ae020d Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@05.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@06.png b/resource/template/MiniGame/PV/MiniGame@PV@06.png new file mode 100644 index 0000000000..18f748548c Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@06.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@07.png b/resource/template/MiniGame/PV/MiniGame@PV@07.png new file mode 100644 index 0000000000..55dd5a4f0c Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@07.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@08.png b/resource/template/MiniGame/PV/MiniGame@PV@08.png new file mode 100644 index 0000000000..1d3bb48e43 Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@08.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@09.png b/resource/template/MiniGame/PV/MiniGame@PV@09.png new file mode 100644 index 0000000000..a1f69ce378 Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@09.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@10.png b/resource/template/MiniGame/PV/MiniGame@PV@10.png new file mode 100644 index 0000000000..b8e87c1183 Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@10.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@11.png b/resource/template/MiniGame/PV/MiniGame@PV@11.png new file mode 100644 index 0000000000..d45a3e47be Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@11.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@12.png b/resource/template/MiniGame/PV/MiniGame@PV@12.png new file mode 100644 index 0000000000..b6ed01d6b4 Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@12.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@13.png b/resource/template/MiniGame/PV/MiniGame@PV@13.png new file mode 100644 index 0000000000..37d52e9772 Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@13.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@14.png b/resource/template/MiniGame/PV/MiniGame@PV@14.png new file mode 100644 index 0000000000..a22faee4db Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@14.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@16.png b/resource/template/MiniGame/PV/MiniGame@PV@16.png new file mode 100644 index 0000000000..405fabc067 Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@16.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@17.png b/resource/template/MiniGame/PV/MiniGame@PV@17.png new file mode 100644 index 0000000000..49f8a33cff Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@17.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@20.png b/resource/template/MiniGame/PV/MiniGame@PV@20.png new file mode 100644 index 0000000000..383a0c5329 Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@20.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@Confirm.png b/resource/template/MiniGame/PV/MiniGame@PV@Confirm.png new file mode 100644 index 0000000000..e5679caec8 Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@Confirm.png differ diff --git a/resource/template/MiniGame/PV/MiniGame@PV@MainInterface.png b/resource/template/MiniGame/PV/MiniGame@PV@MainInterface.png new file mode 100644 index 0000000000..faa76907d5 Binary files /dev/null and b/resource/template/MiniGame/PV/MiniGame@PV@MainInterface.png differ diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index 7284f73570..ffb6d2c405 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -795,6 +795,8 @@ The video aspect ratio needs to be 16:9 without interference factors such as bla Mini Game Name + PV - Fireworks Organizing Committee + Start from the leftmost side of the event page Stronghold Protocol: Alliance Start the task from the main event screen (where 「Independent Simulation」 is located) Completing 「Standard Simulation」 manually allows faster score farming diff --git a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml index 22820e1550..e5d51287cb 100644 --- a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml +++ b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml @@ -795,6 +795,8 @@ C:\\leidian\\LDPlayer9 ミニゲーム名 + PV-花火実行委員会 + イベントページの最左側から開始 ガードプロトコル:盟約 イベントメイン画面(「独立シミュレーション」の場所)からタスクを開始 「スタンダードシミュレーション」を手動でクリアすると、より早くスコアを稼げます diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index 6222d8dadb..167ca729b0 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -796,6 +796,8 @@ C:\\leidian\\LDPlayer9 미니 게임 이름 + PV-불꽃놀이 집행위원회 + 이벤트 페이지 가장 왼쪽에서 시작 위수 협의: 맹약 이벤트 메인 화면(「독립 시뮬레이션」 위치)에서 임무 시작 「스탠다드 시뮬레이션」 을 수동으로 클리어하면 점수를 더 빠르게 획득할 수 있습니다 diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index dfbff39d8c..09ce934f45 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -795,6 +795,8 @@ C:\\leidian\\LDPlayer9。\n 小游戏名称 + PV-烟花筹委会 + 在活动页面最左侧开始 卫戍协议:盟约 在活动主界面(有 「独立模拟」 处开始任务) 手动通关 「标准模拟」 可以更快的刷分 diff --git a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml index 3a15322285..de8696df95 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml @@ -796,6 +796,8 @@ C:\\leidian\\LDPlayer9。\n 小遊戲名稱 + PV-煙花籌委會 + 在活動頁面最左側開始 衛戍協議:盟約 在活動主界面(有「獨立模擬」處開始任務) 手動通關「標準模擬」可以更快刷分 diff --git a/src/MaaWpfGui/ViewModels/UI/ToolboxViewModel.cs b/src/MaaWpfGui/ViewModels/UI/ToolboxViewModel.cs index aab37cbb20..e3f2d80983 100644 --- a/src/MaaWpfGui/ViewModels/UI/ToolboxViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/ToolboxViewModel.cs @@ -1241,6 +1241,7 @@ public class ToolboxViewModel : Screen new() { Display = LocalizationHelper.GetString("MiniGameNameRAStore"), Value = "RA@Store@Begin" }, // 活动 + new() { Display = LocalizationHelper.GetString("MiniGame@PV"), Value = "MiniGame@PV@Begin" }, new() { Display = LocalizationHelper.GetString("MiniGame@SPA"), Value = "MiniGame@SPA@Begin" }, new() { Display = LocalizationHelper.GetString("MiniGame@OS"), Value = "MiniGame@OS@Begin" }, new() { Display = LocalizationHelper.GetString("MiniGame@RM-TR-1"), Value = "MiniGame@RM-TR-1@Begin" }, @@ -1286,6 +1287,7 @@ public class ToolboxViewModel : Screen "RA@Store@Begin" => LocalizationHelper.GetString("MiniGameNameRAStoreTip"), // 活动 + "MiniGame@PV@Begin" => LocalizationHelper.GetString("MiniGame@PVTip"), "MiniGame@SPA@Begin" => LocalizationHelper.GetString("MiniGame@SPATip"), "MiniGame@OS@Begin" => LocalizationHelper.GetString("MiniGame@OSTip"), "MiniGame@RM-TR-1@Begin" => LocalizationHelper.GetString("MiniGame@RM-TR-1Tip"), diff --git a/tools/GetImageFromROI/cutter.py b/tools/GetImageFromROI/cutter.py index 0b1af25313..96b2426161 100644 --- a/tools/GetImageFromROI/cutter.py +++ b/tools/GetImageFromROI/cutter.py @@ -2,6 +2,7 @@ import json from pathlib import Path import cv2 + from tools.ImageCropper.main import crop """