Skip to content

Commit e1e97c4

Browse files
authored
Merge pull request #123 from zzliux/hm_dev
修复:每日一抽功能,添加寮活动自动翻页功能
2 parents 6139ba9 + 7629d08 commit e1e97c4

File tree

3 files changed

+310
-0
lines changed

3 files changed

+310
-0
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
import { IFuncOrigin, IFuncOperatorOrigin, IFuncOperator } from '@/interface/IFunc';
2+
import { Script } from '@/system/script';
3+
// const normal = -1; //定义常量
4+
const left = 0;
5+
const center = 1;
6+
// const right = 2;
7+
8+
export class Func516 implements IFuncOrigin {
9+
id = 516;
10+
name = '寮活动翻页';
11+
desc = '寮活动列表翻页操作,翻页后返回上一层,应排在[506]后';
12+
config = [{
13+
desc: '',
14+
config: [{
15+
name: 'count',
16+
desc: '连续执行x次后执行完成',
17+
type: 'list',
18+
data: ['2', '5', '10', '20', '40', '60', '80', '100'],
19+
default: '10',
20+
}, {
21+
name: 'afterCountOper',
22+
desc: '执行完成的操作',
23+
type: 'list',
24+
data: ['停止脚本', '切换方案', '不做任何操作'],
25+
default: '停止脚本',
26+
}, {
27+
name: 'next_scheme',
28+
desc: '下一个方案',
29+
type: 'scheme',
30+
default: '通用准备退出',
31+
}]
32+
}];
33+
operator: IFuncOperatorOrigin[] = [{
34+
desc: '寮神社界面',
35+
oper: [
36+
[center, 1280, 720, 552, 162, 836, 212, -1], // 寮活动 滑动上位置
37+
[center, 1280, 720, 526, 500, 863, 505, -1], // 寮活动 滑动下位置
38+
[left, 1280, 720, 25, 10, 75, 54, 1000], // 寮活动 返回区域
39+
]
40+
}];
41+
operatorFunc(thisScript: Script, thisOperator: IFuncOperator[]): boolean {
42+
const thisConf = thisScript.scheme.config['516'];
43+
const defaultCount = +thisConf.count;
44+
if (thisScript.oper({
45+
id: 516,
46+
name: '检测_寮活动神社',
47+
operator: [{ desc: thisOperator[0].desc }]
48+
})) {
49+
const leftTimes = Math.max(Math.floor(defaultCount - ((thisScript.global.liao_activity_page_flag - 2) / 2)), 0);
50+
if (thisScript.global.liao_activity_page_flag % 2 === 1) {
51+
thisScript.myToast(`滑动${leftTimes}次数后:${thisConf.afterCountOper}`);
52+
}
53+
if (leftTimes == 0) {
54+
thisScript.global.liao_activity_page_flag = 0;
55+
56+
if ('停止脚本' === thisConf.afterCountOper) {
57+
thisScript.doPush(thisScript, { text: `寮活动翻页次数已达到限制次数${defaultCount},脚本已停止,请查看。`, before() { thisScript.myToast('脚本即将停止,正在上传数据'); } });
58+
thisScript.stop();
59+
} else if ('切换方案' === thisConf.afterCountOper) {
60+
thisScript.rerun(thisConf.next_scheme);
61+
} else if ('不做任何操作' === thisConf.afterCountOper) {
62+
thisScript.global.liao_activity_page_flag = defaultCount;
63+
return false;
64+
}
65+
}
66+
67+
if (thisScript.global.liao_activity_page_flag % 2 === 1) {
68+
// 滑动寮活动神社
69+
thisScript.regionBezierSwipe(thisOperator[0].oper[1], thisOperator[0].oper[0], [1200, 1500], 1000);
70+
sleep(500);
71+
return true;
72+
} else {
73+
// thisScript.regionBezierSwipe(thisOperator[0].oper[0], thisOperator[0].oper[1], [1200, 1500], 1000);
74+
// 由原来的上下滑动修改为返回上一级
75+
const r = random(2000, 10000);
76+
thisScript.myToast(`未找到已开启寮活动,等待${Math.round(r / 1000)}秒后再次检测`);
77+
thisScript.regionClick([thisOperator[0].oper[2]], 2000);
78+
sleep(r);
79+
return true;
80+
}
81+
}
82+
return false;
83+
}
84+
}
Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
import { IFuncOrigin, IFuncOperatorOrigin, IFuncOperator } from '@/interface/IFunc';
2+
import { Script } from '@/system/script';
3+
// const normal = -1; //定义常量
4+
const left = 0;
5+
const center = 1;
6+
const right = 2;
7+
8+
export class Func521 implements IFuncOrigin {
9+
id = 521;
10+
name = '每日抽卡';
11+
desc = '抽取免费一抽';
12+
operator: IFuncOperatorOrigin[] = [{ // 0 召唤
13+
desc: [
14+
1280, 720,
15+
[
16+
[left, 58, 21, 0xefd590],
17+
[left, 48, 30, 0xf6e6a8],
18+
[left, 60, 41, 0xedcf8b],
19+
[left, 177, 36, 0xb18956],
20+
[left, 200, 17, 0x2a2534],
21+
[left, 265, 31, 0x593716],
22+
[left, 179, 17, 0xb28956],
23+
[left, 177, 36, 0xb18956],
24+
]
25+
],
26+
oper: [
27+
[center, 1280, 720, 33, 12, 71, 44, 1000],
28+
]
29+
}, { // 1 星期二集结蓝票
30+
desc: [
31+
1280, 720,
32+
[
33+
[left, 286, 451, 0x89b9d2],
34+
[left, 290, 452, 0x89b9d0],
35+
[left, 279, 471, 0x56add1],
36+
[left, 288, 471, 0x57acc2],
37+
[left, 308, 448, 0xeee4d7],
38+
]
39+
],
40+
oper: [
41+
[center, 1280, 720, 209, 502, 266, 556, 1000],
42+
]
43+
}, { // 2 跳对话
44+
desc: [
45+
1280, 720,
46+
[
47+
[center, 629, 556, 0xd9bf89],
48+
[center, 631, 556, 0xd9bf89],
49+
[center, 637, 551, 0xd7c18b],
50+
[center, 637, 548, 0xe1cba3],
51+
[center, 643, 556, 0xdbbe8a],
52+
[center, 645, 556, 0xdabc87],
53+
[center, 637, 563, 0xdbc18e],
54+
]
55+
],
56+
oper: [
57+
[center, 1280, 720, 947, 433, 978, 461, 1000],
58+
]
59+
}, { // 3 试炼挑战
60+
desc: [
61+
1280, 720,
62+
[
63+
[right, 1172, 662, 0x271c1b],
64+
[right, 1177, 661, 0x2d2023],
65+
[right, 1174, 657, 0x231b1b],
66+
[right, 1170, 652, 0x4c2c24],
67+
[right, 1095, 581, 0xb83821],
68+
[right, 1156, 581, 0xba3e1b],
69+
]
70+
],
71+
oper: [
72+
[center, 1280, 720, 1073, 537, 1172, 614, 1000],
73+
]
74+
}, { // 4 小白提示框
75+
desc: [
76+
1280, 720,
77+
[
78+
[center, 385, 272, 0x565352],
79+
[center, 483, 200, 0x464342],
80+
[center, 748, 185, 0x3e3c3b],
81+
[center, 903, 366, 0x705946],
82+
[left, 298, 382, 0xcf3448],
83+
[center, 418, 355, 0xf6f3e6],
84+
]
85+
],
86+
oper: [
87+
[center, 1280, 720, 603, 582, 688, 638, 1000],
88+
]
89+
}, { // 5 试炼挑战完毕
90+
desc: [
91+
1280, 720,
92+
[
93+
[right, 1167, 667, 0xd73022],
94+
[right, 1175, 660, 0xe7b889],
95+
[right, 1181, 656, 0xd83728],
96+
[right, 1178, 650, 0xce2e1b],
97+
[right, 1179, 667, 0xd83528],
98+
]
99+
],
100+
oper: [
101+
[center, 1280, 720, 28, 17, 68, 56, 1000],
102+
]
103+
}, { // 6 免费1/1
104+
desc: [
105+
1280, 720,
106+
[
107+
[center, 588, 696, 0xe3decd],
108+
[center, 592, 698, 0xf4efdc],
109+
[center, 612, 696, 0xefead8],
110+
[center, 616, 693, 0xe7e2d0],
111+
[center, 643, 696, 0xf6f1de],
112+
[center, 654, 695, 0xdcd7c6],
113+
[center, 664, 696, 0xf5f0dd],
114+
]
115+
],
116+
oper: [
117+
[center, 1280, 720, 604, 616, 654, 655, 1000],
118+
]
119+
}, { // 7 抽卡滑动
120+
desc: [
121+
1280, 720,
122+
[
123+
[center, 435, 608, 0x87ccee],
124+
[center, 603, 662, 0xcfcdcb],
125+
[center, 633, 659, 0xecebeb],
126+
[center, 679, 663, 0xdad9d7],
127+
[center, 691, 663, 0xc6c3c1],
128+
[center, 704, 663, 0xe1e0df],
129+
[center, 852, 625, 0x80c3e7],
130+
]
131+
],
132+
oper: [
133+
[center, 1280, 720, 458, 431, 505, 474, 1000],
134+
[center, 1280, 720, 781, 148, 825, 189, 1000],
135+
]
136+
}, { // 8 抽卡确认
137+
desc: [
138+
1280, 720,
139+
[
140+
[center, 430, 628, 0xf3b25e],
141+
[center, 570, 628, 0xf3b25e],
142+
[center, 572, 660, 0xf3b25e],
143+
[center, 435, 658, 0xf3b25e],
144+
]
145+
],
146+
oper: [
147+
[center, 1280, 720, 426, 625, 584, 672, 1000],
148+
]
149+
}, { // 9 抽卡头像框弹窗关闭
150+
desc: [
151+
1280, 720,
152+
[
153+
[left, 60, 19, 0x625539],
154+
[left, 48, 31, 0x665f44],
155+
[left, 138, 17, 0x493823],
156+
[left, 177, 37, 0x493823],
157+
[left, 223, 32, 0x251709],
158+
]
159+
],
160+
oper: [
161+
[center, 1280, 720, 311, 12, 397, 57, 1000],
162+
]
163+
}, { // 10 页面是否为庭院(菜单未展开) 只支持默认庭院皮肤与默认装饰
164+
desc: '页面是否为庭院_菜单未展开_只支持默认庭院皮肤与默认装饰',
165+
oper: [
166+
[right, 1280, 720, 1168, 592, 1230, 690, 1200]
167+
]
168+
169+
}, { // 11 页面是否为庭院(菜单已展开) 只支持默认庭院皮肤与默认装饰
170+
desc: '页面是否为庭院_菜单已展开_只支持默认庭院皮肤与默认装饰',
171+
oper: [
172+
[center, 1280, 720, 1080, 184, 1133, 234, 1000], // 庭院点击召唤
173+
],
174+
},];
175+
operatorFunc(thisScript: Script, thisOperator: IFuncOperator[]): boolean {
176+
if (thisScript.global.day_chouKa) {
177+
if (thisScript.oper({
178+
id: 518,
179+
name: '检测_抽卡',
180+
operator: [thisOperator[2], thisOperator[3], thisOperator[4], thisOperator[5]
181+
, thisOperator[6], thisOperator[8], thisOperator[9], thisOperator[10]
182+
, thisOperator[11]],
183+
})) {
184+
return true;
185+
}
186+
let curCnt = 0;
187+
const maxCount = 3;
188+
while (thisScript.oper({
189+
id: 518,
190+
name: '检测_抽卡界面',
191+
operator: [{ desc: thisOperator[0].desc }]
192+
})) {
193+
if (thisScript.oper({
194+
id: 518,
195+
name: '检测_是否有集结',
196+
operator: [thisOperator[1]],
197+
})) {
198+
return true;
199+
}
200+
curCnt++;
201+
thisScript.keepScreen(false);
202+
if (curCnt >= maxCount) {
203+
thisScript.global.day_chouKa = false;
204+
return thisScript.oper({
205+
id: 518,
206+
name: '返回庭院',
207+
operator: [{ oper: thisOperator[0].oper }]
208+
});
209+
}
210+
sleep(2000);
211+
}
212+
if (thisScript.oper({
213+
id: 518,
214+
name: '检测_抽卡滑动',
215+
operator: [{ desc: thisOperator[7].desc }],
216+
})) {
217+
thisScript.regionSwipe(thisOperator[7].oper[0], thisOperator[7].oper[1], [1000, 1300], 200);
218+
return true;
219+
}
220+
}
221+
return false;
222+
}
223+
}

src/common/version.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1512,5 +1512,8 @@ export const versionList = [{
15121512
version: '20260217_01',
15131513
desc: `新年好!
15141514
修复: 401对弈竞猜庭院右侧活动不翻页问题,误识别体服问题`
1515+
}, {
1516+
version: '20260217_02',
1517+
desc: '修复:每日一抽功能,添加寮活动自动翻页功能',
15151518
}];
15161519
export default versionList[versionList.length - 1].version;

0 commit comments

Comments
 (0)