Skip to content

Commit 7d59eae

Browse files
authored
两个打牌脚本更新 (#1378)
1 parent 17d1222 commit 7d59eae

File tree

7 files changed

+105
-108
lines changed

7 files changed

+105
-108
lines changed
1.3 KB
Loading

repo/js/七圣召唤七日历练全自动/main.js

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -200,37 +200,31 @@ async function checkChallengeResults() {
200200
}
201201
}
202202

203-
//通过f和空格自动对话,对话区域为空,选项区域为真时停止 await autoConversation();
203+
//通过f和空格自动对话,对话标志消失时停止await autoConversation();
204204
async function autoConversation() {
205-
await sleep(2500); //点击后等待一段时间避免误判
206-
const region1 = RecognitionObject.ocr(785, 890, 340, 82); // 对话区域
207-
const region2 = RecognitionObject.ocr(1250, 400, 660, 440); // 选项区域
205+
await sleep(500); //点击后等待一段时间避免误判
206+
const talkRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/talkSymbol.png"));
208207
let talkTime = 0;
208+
let talkTimes = 0;
209+
log.info("准备开始对话");
209210
//最多10次对话
210-
while (talkTime < 20) {
211-
let capture = captureGameRegion();
212-
let res1 = capture.find(region1);
213-
let res2 = capture.find(region2);
214-
if (!res1.isEmpty() && res2.isEmpty()) {
215-
talkTime++;
216-
keyPress("VK_SPACE");
217-
await sleep(500);
211+
while (talkTime < 30) {
212+
let talk = captureGameRegion().find(talkRo);
213+
if (talk.isExist()) {
214+
await sleep(300);
218215
keyPress("VK_SPACE");
219-
await sleep(500);
220-
} else if (!res1.isEmpty() && !res2.isEmpty()) {
221-
await sleep(500);
222-
keyPress("F");
223-
await sleep(400);
216+
await sleep(300);
224217
keyPress("F");
225-
log.info("已选择第一个对话选项");
226-
} else if (res1.isEmpty() && !res2.isEmpty()) {
227-
log.info("谈话完成");
228-
await sleep(1000);
229-
return;
230-
}
231-
talkTime++;
232-
await sleep(1200);
218+
talkTimes++;
219+
await sleep(1500);
233220
}
221+
else if(talkTimes){
222+
log.info("对话结束");
223+
return ;
224+
}
225+
talkTime++;
226+
await sleep(1200);
227+
}
234228
throw new Error("对话时间超时");
235229
}
236230

repo/js/七圣召唤七日历练全自动/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"manifest_version": 1,
33
"name": "打牌一条龙",
4-
"version": "1.9.7",
4+
"version": "1.9.8",
55
"description": "已添加 CD 管理,执行完后会检测是否全部挑战成功,之后会记录本次时间进入CD,如果想要重置请前往assets/weekly.txt中删除内容",
66
"authors": [
77
{
1.3 KB
Loading
2.15 KB
Loading

repo/js/七圣召唤角色邀约全自动/main.js

Lines changed: 82 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,26 @@
44
let letterNumber = settings.letterNumber != undefined && ~~settings.letterNumber >= 0 ? ~~settings.letterNumber : 0;
55
let challengeNumber = settings.challengeNumber != undefined && ~~settings.challengeNumber > 0 ? ~~settings.challengeNumber : 1;
66

7+
//检测传送结束
8+
async function tpEndDetection() {
9+
const region = RecognitionObject.ocr(1690, 230, 75, 350); // 队伍名称区域
10+
let tpTime = 0;
11+
await sleep(500); //点击传送后等待一段时间避免误判
12+
//最多30秒传送时间
13+
while (tpTime < 300) {
14+
let capture = captureGameRegion();
15+
let res = capture.find(region);
16+
if (!res.isEmpty()) {
17+
log.info("传送完成");
18+
await sleep(1200); //传送结束后有僵直
19+
return;
20+
}
21+
tpTime++;
22+
await sleep(100);
23+
}
24+
throw new Error("传送时间超时");
25+
}
26+
727
//函数:找小王子买邀请函
828
async function BuyLetter(){
929
await sleep(700);
@@ -25,6 +45,8 @@ click(160, 245);//选择邀请函
2545
await sleep(1000);
2646
click(610, 360);//点击邀请函
2747
await sleep(1000);
48+
click(747,628 );//只买一个
49+
await sleep(1000);
2850
click(1185,755 );//点击购买
2951
await sleep(1000);
3052
click(1185,755 );//点击空白处
@@ -52,72 +74,71 @@ await sleep(1000);
5274

5375
//函数:对话和打牌
5476
async function Playcards() {
55-
click(900, 1000);//对话
56-
await sleep(500);
57-
click(900, 1000);//对话
58-
await sleep(1000);
59-
click(900, 1000);//对话
60-
await sleep(500);
61-
click(900, 1000);//对话
62-
await sleep(1000);
63-
click(900, 1000);//对话
64-
await sleep(500);
65-
click(900, 1000);//对话
66-
await sleep(1000);
67-
click(900, 1000);//对话
68-
await sleep(500);
69-
click(900, 1000);//对话
77+
await autoConversation();
7078
await sleep(1000);
71-
click(900, 1000);//对话
72-
await sleep(500);
73-
click(900, 1000);//对话
74-
await sleep(1000);
75-
click(900, 1000);//对话
76-
await sleep(500);
77-
click(900, 1000);//对话
78-
await sleep(1000);
79-
keyPress("F");
80-
await sleep(8000);
8179
await dispatcher.runTask(new SoloTask("AutoGeniusInvokation"));
8280
await sleep(3000);
8381
click(754,915 );//退出挑战
84-
await sleep(10000);
85-
click(900, 1000);//对话
86-
await sleep(1500);
87-
click(900, 1000);//对话
88-
await sleep(1500);
89-
click(900, 1000);//对话
90-
await sleep(1500);
91-
click(900, 1000);//对话
92-
await sleep(1500);
82+
await sleep(1000);
83+
await autoConversation();
9384
}
9485

86+
//通过f和空格自动对话,对话标志消失时停止await autoConversation();
87+
async function autoConversation() {
88+
await sleep(2500); //点击后等待一段时间避免误判
89+
const talkRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/talkSymbol.png"));
90+
let talkTime = 0;
91+
let talkTimes = 0;
92+
log.info("开始对话");
93+
//最多10次对话
94+
while (talkTime < 30) {
95+
let talk = captureGameRegion().find(talkRo);
96+
if (talk.isExist()) {
97+
await sleep(300);
98+
keyPress("VK_SPACE");
99+
await sleep(300);
100+
keyPress("F");
101+
talkTimes++;
102+
await sleep(1500);
103+
}
104+
else if(talkTimes){
105+
log.info("对话结束");
106+
return ;
107+
}
108+
talkTime++;
109+
await sleep(1500);
110+
}
111+
throw new Error("对话时间超时");
112+
}
113+
95114
//函数:打开地图前往猫尾酒馆
96-
async function gotoTavern() {
97-
await sleep(1000);
98-
keyPress("M");
99-
await sleep(1500);
100-
click(1841, 1015);//地图选择
101-
await sleep(1000);
102-
click(1460, 140);//蒙德
103-
await sleep(1000);
104-
click(48, 441);//放大地图
105-
await sleep(500);
106-
click(48, 441);//放大地图
107-
await sleep(500);
108-
click(48, 441);//放大地图
109-
await sleep(500);
110-
click(48, 441);//放大地图
111-
await sleep(500);
112-
click(48, 441);//放大地图
113-
await sleep(500);
114-
click(1000, 645);//猫尾酒馆
115-
await sleep(500);
116-
click(1345, 690);//猫尾酒馆
117-
await sleep(500);
118-
click(1707, 1010);//猫尾酒馆
119-
await sleep(8000);
115+
async function gotoTavern() {
116+
const tavernRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/tavern.png"));
117+
await genshin.returnMainUi();
118+
await sleep(1000);
119+
keyPress("m");
120+
await sleep(1500);
121+
click(1841, 1015); //地图选择
122+
await sleep(1000);
123+
click(1460, 140); //蒙德
124+
await sleep(1200);
125+
//放大地图
126+
await genshin.setBigMapZoomLevel(1.0);
127+
await sleep(400);
128+
129+
click(1000, 645); //猫尾酒馆
130+
await sleep(600);
131+
let tavern = captureGameRegion().find(tavernRo);
132+
if (tavern.isExist()) {
133+
tavern.click();
134+
await sleep(500);
135+
} else {
136+
throw new Error("未能找到猫尾酒馆");
120137
}
138+
click(1707, 1010); //确认传送
139+
await sleep(1000);
140+
await tpEndDetection();
141+
}
121142

122143
//函数:前往邀请版(酒馆内)
123144
async function gotoBoard1() {
@@ -147,31 +168,13 @@ keyUp("s");
147168
await sleep(1000);
148169
}
149170

150-
//函数:打开自动剧情
151-
async function autoPlot() {
152-
await sleep(1000);
153-
keyPress("ESCAPE");
154-
await sleep(1500);
155-
click(45, 820);
156-
await sleep(1500);
157-
click(175, 710);
158-
await sleep(1500);
159-
click(1628, 275);
160-
await sleep(1500);
161-
click(1628, 330);
162-
await sleep(1500);
163-
keyPress("ESCAPE");
164-
await sleep(1000);
165-
keyPress("ESCAPE");
166-
await sleep(1000);
167-
}
171+
168172

169173
//主流程
170-
//await pathingScript.runFile(`assets/1.json`);用不来从其他界面强制回到大世界,只能用这个
171-
log.info(`开始执行。`);
174+
await genshin.returnMainUi();
175+
log.info(`开始执行角色邀约挑战`);
172176
for (let i = 0; i < challengeNumber; i++) {
173177
await gotoTavern();
174-
await sleep(2000);
175178
if (challengeNumber-letterNumber > 0) {
176179
log.info(`购买第${i+1}次`);
177180
await BuyLetter();
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"manifest_version": 1,
33
"name": "七圣召唤角色邀请全自动",
4-
"version": "1.0",
5-
"description": "挑战前请选好卡组并设好js脚本参数,最少持有一张邀请函或1000牌币!!!",
4+
"version": "1.1",
5+
"description": "挑战前请选好卡组并设好js脚本参数,最少持有一张邀请函或1000牌币!!!建议先手动买,避免一些Bug",
66
"authors": [
77
{
88
"name": "柒叶子",
@@ -11,4 +11,4 @@
1111
],
1212
"settings_ui": "settings.json",
1313
"main": "main.js"
14-
}
14+
}

0 commit comments

Comments
 (0)