From 9678a4d385ccd434570e13903a9fe9466287f7a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B7=E4=B8=AA=E5=90=8D=E5=AD=97=E5=A5=BD=E9=9A=BE?= =?UTF-8?q?=E7=9A=84=E5=96=B5?= <25520958+MisakaAldrich@users.noreply.github.com> Date: Mon, 31 Mar 2025 02:30:53 +0800 Subject: [PATCH] =?UTF-8?q?JS=E8=84=9A=E6=9C=AC=EF=BC=9A=E5=8E=86=E7=BB=83?= =?UTF-8?q?=E7=82=B9=E5=8F=8C=E5=80=8D=E5=A5=BD=E6=84=9F=EF=BC=88=E5=9B=BE?= =?UTF-8?q?=E5=83=8F=E8=AF=86=E5=88=AB=E7=89=88=EF=BC=89=E9=9C=87=E6=92=BC?= =?UTF-8?q?=E5=8F=91=E5=B8=83=EF=BC=81=EF=BC=81=EF=BC=81=20(#497)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 妈妈再也不用担心我在原神版本更新前几天领不到双倍好感度了 --- .../assets/Adventurer Handbook.png | Bin 0 -> 2120 bytes .../assets/Co-Op Mode.png | Bin 0 -> 5688 bytes .../assets/Encounter Points Stage Rewards.png | Bin 0 -> 4171 bytes .../assets/Friends.png | Bin 0 -> 3382 bytes .../assets/Leave the Serenitea Pot.png | Bin 0 -> 2090 bytes .../assets/paimon_menu.png | Bin 0 -> 2372 bytes .../main.js | 266 ++++++++++++++++++ .../manifest.json | 14 + .../settings.json | 17 ++ 9 files changed, 297 insertions(+) create mode 100644 repo/js/DoubleFriendshipEncounterPointsRecognition/assets/Adventurer Handbook.png create mode 100644 repo/js/DoubleFriendshipEncounterPointsRecognition/assets/Co-Op Mode.png create mode 100644 repo/js/DoubleFriendshipEncounterPointsRecognition/assets/Encounter Points Stage Rewards.png create mode 100644 repo/js/DoubleFriendshipEncounterPointsRecognition/assets/Friends.png create mode 100644 repo/js/DoubleFriendshipEncounterPointsRecognition/assets/Leave the Serenitea Pot.png create mode 100644 repo/js/DoubleFriendshipEncounterPointsRecognition/assets/paimon_menu.png create mode 100644 repo/js/DoubleFriendshipEncounterPointsRecognition/main.js create mode 100644 repo/js/DoubleFriendshipEncounterPointsRecognition/manifest.json create mode 100644 repo/js/DoubleFriendshipEncounterPointsRecognition/settings.json diff --git a/repo/js/DoubleFriendshipEncounterPointsRecognition/assets/Adventurer Handbook.png b/repo/js/DoubleFriendshipEncounterPointsRecognition/assets/Adventurer Handbook.png new file mode 100644 index 0000000000000000000000000000000000000000..0269c714db3fe019af5a80d8d928ae8828fd1c35 GIT binary patch literal 2120 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

=WS zia2sTx-TGvG7E{VEs4*Xs!CHYevjDqjXd2A;?9E!6M|Cz zWoh_2Vhk}RGZ}EQB>dn+3&(K?A)KCWXsEBvF`E*Zik)9Eznl3S(!IaP6P+N53G4*% z{y)T?uOZ@R?m21jN+O5FMFq`G^-2o?xnE4VJ>G9FU%PR;<1N2wQW3`Z%Rl_)Tzf0e z^Pn6xO<9>O&5fnSg?rsfK?qg9U(wQhP+>#tpj}yEJ$>r9A;l8(rZQ(|{p!5!6*JrjVtNqLejSY2s5rJNxcB=K*u_K3c zI_=i+ZQGr-tmML{=Kx?}a5NMSzbkfny5Z!p!ylhJW6sXnaf$r-Pk)3h=c=r%42va) zG1=jCzt&M8t}w=VxjF4;PM<%eUmlC^3Wh-3^!9)BT|DZb$dr^MyCgMxN&@%dMx| zjyD~wGaB{ryBp4h$9PMHiortR@Z{8NPwznAz{rZz{aRo`NKv8X@S%q0#sg)gMI6UL zqTbH@^oUl=;{-L*?eRXhzZe`I8yOpaHfP@v;x&c@5j-yE;0D!f%b*IbyV#zUYU!0q_udKM-9&a!d5=DvQR9dYj*PLz6Hd(EuMFkd1 zUT(H2Gc8S*92~{ZP7KMi%yCqs;gt?pTrtKZNeYF+!BAKb1VPx8BuQqBU`z<+IF92~ zTCG;2<}t>pS5LIO_$;u#8tbd7DEWW(bkXLfu)gNHq)$ literal 0 HcmV?d00001 diff --git a/repo/js/DoubleFriendshipEncounterPointsRecognition/assets/paimon_menu.png b/repo/js/DoubleFriendshipEncounterPointsRecognition/assets/paimon_menu.png new file mode 100644 index 0000000000000000000000000000000000000000..c424325b17a4956f7802352e7609bfcff2721afa GIT binary patch literal 2372 zcmV-K3A^@*P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D2-!(QK~z{rt(SRF zR96@7{OrIrs3OB6ST- zP@DTTKA&cd-_x`4ifbQ;v^!UEWYd=r=ft5o>jaWdZ$#*F1Dp=`Lw#i>UdiRG$$NWQ zlS!qJbxWbLunJ)v#?D#+4Ko*L&U1#Kww~+hpIblw8}X6L@I3V>qTOd=&jwpmmE@tP zN6PlU71k%NS0-b{sVwYPN+w3?*E%@$g9jWc1ShNWOUqVas)}Z=D&g zor^(ddmGo&$7^Bli&I(H`jA5yHPeBFc|eOy)65lLn65z7v3Rt#cd}#T%%3oS_UaWY zP8XsoYg`}%_!_r5rlgw?!gfco5(B+3n1mL!af6==BzpXu8{&uT3qW6mS~El zkk8E=nsSFID@2ckOt;?zeTP8kFWU_L<(r{v?++`_P}J1FJ zrGzD=Wn-M71IC)Hz~luUn6cEC1O>prF&HzQw!v`aH!xiFElga#ftK|K6j!LeQ~fcd zu+pkpT)duyod@HvcufdKo4P~8+8;*FJ6JPb9Y(ejI`+W`*mDLlI_jSS1!4JxCG0UD zjGX)uI0x;=R2zR7yM)5TEgZ8vA~DL$8>v}OxltdFg0S1arJ|~;ihCNEj?QkRP&zVj z41%F+IE+Xf^I2P(TeuM)kAkquN&(Ks|A_jR&0Ndi6qZ$E%2INE=P)evj^tWD4GO}l zs|660<>Kz0L`bDQTlvJ_ zd*fhAC$o!g1)mB9VKP}S5-webP*{r6(tI2{eg@gOg$bAczCL=vv$<53XC zkeQu}q9VFy$(tdpeg^M=ojCvFHMF#d*ud8xObT(KlbXT*a1qj;9&~keb5F|ifiUJp zNhv9icK(5G$#b-d>yYrnMFa##prLW#L-Bw@#s88sxTm*NR@Wfn@W}xeH4txvNhA_- zcq#jW+`Iw^Y1d>OFVNK}fV`&#XU@hWEkpUF{2C@MnmesS7C)bBQI0pl_)qhZ`REaH zbDpBOT!@R8ZXho^3q6ur^t9F?BQ1rEbE?8D^!SPMuy^t0T9ku#bS|6c^{Bu}MgWpb_a$GGT7-OE0cORWTp;=~E8}W|#CW zR${z~Eqp`wL7jee<~rcixt~x{E}+8X!^F>HL`^VR!V1gg=di+jLJq*rB>)Q@{g7Lj zN99xl$_gIiNnRc|O*L9+cNVVl#e~`R*dBe9y@5R87vNS>8Xjb1<5}5<`I$FqjvfA{ zJ{#fD2dJ13WAB0QFoW(@F(=Q`N}ACvu7 z94CBkV1wTuWpOIxN6it998EI_F8V*b>3*K`Kbcg3(3`{ZXAAT4bR7q)3 zi8tS63pzXdYS4k;sTtc~=+|VZ=M}SYR<;_3-Qba3-?kI z@t^~J`z(Eg++aT0lFm2#AOF&x$eXiTPDp7 z;rzyS?wDrzH8d>N!Q5>Jw(UO$fv{#+$=c8<2qR6M$*06z3(!p0ZLKAKm_<8f>KcaW zD?;EHxOd1!^DJDqu(_;R)XLV2!$I8I4&R6q7;oW)^}CL8txPKF!PbNS!W0rV$88s8 zyGKB6kw0#xq;n$%hBwJN2#F7dP7#9<6del#`#`8ISPy>D+c2;{HUVl@8(`$M2PW>3 z7-Q~*9Wn7r`7O`VI~H~U2hk!@J|r+OaV_~#E-csV!lVV>RK9J;^`s2e1q2j4nK*SX zGZ)dZKfxvV0K9gdz}34C(5Yl$!kg!F3Wgp>VC)%%!qQ5vd2ljv^5GwL7@MQMN9={` zxc~SmS}1mjByBi&DgoNon-Ca%l1BE@0_1GH$rL%t!bs} + */ +(async function () { + // 切换队伍 + for (let n = 0 ; n < 10 ; n++) { + log.warn("提示:队伍中小于等于两人时,才会触发双倍奖励"); + } + await sleep(2000); + + if (!!settings.partyName) { + try { + log.info("正在传送回七天神像切换队伍"); + await genshin.tp(2297.60, -824.45); + await sleep(3000); + log.info("正在尝试切换至" + settings.partyName); + await genshin.switchParty(settings.partyName); + } catch { + log.warn("队伍切换失败,可能处于联机模式或其他不可切换状态"); + await genshin.returnMainUi(); + } + } else { + log.warn("没有设置切换队伍,使用当前队伍进入尘歌壶"); + await genshin.returnMainUi(); + } + + // 进尘歌壶领历练点奖励后返回大世界 + let request_times = settings.request_times * 2; + let total_clicks = request_times ? request_times : 14; + if(!!settings.appointFriendName) { + let enterState = await AppointFriendRequestToVisitSereniteaPot(); + if (enterState) { + await claimEncounterPointsRewards(); + await ReturnToBigWorld(); + } else { + log.warn("好友列表未能识别出设置的好友名称"); + log.info("尝试依次进入"); + let enterState = await RequestToVisitSereniteaPot(total_clicks); + if (enterState) { + await claimEncounterPointsRewards(); + await ReturnToBigWorld(); + } + } + } else if (!settings.appointFriendName) { + log.warn("未设置指定好友,执行依次进入"); + let enterState = await RequestToVisitSereniteaPot(total_clicks); + if (enterState) { + await claimEncounterPointsRewards(); + await ReturnToBigWorld(); + } + } else { + log.warn("出现异常,请检查自定义参数和日志,也可能是没有好友开放尘歌壶"); + } + + // 模板匹配&OCR进指定好友尘歌壶 + async function AppointFriendRequestToVisitSereniteaPot() { + let enterState = false; + keyPress("VK_ESCAPE"); + await sleep(2000); + + let FriendsBotton = captureGameRegion().find(FriendsRo); + if (FriendsBotton.isExist()) { + log.info("识别到好友按钮,尝试点击"); + FriendsBotton.click(); + await sleep(2000); + } else { + log.info("未识别到按钮,使用坐标点击"); + click(680, 550); + await sleep(2000); + } + + // 点击好友头像 + let captureRegion = captureGameRegion(); + let resList = captureRegion.findMulti(RecognitionObject.ocr(250, 120, 500, 840)); + for (let i = 0; i < resList.count; i++) { + let res = resList[i]; + if (res.text.includes(settings.appointFriendName)) { + log.info("指定好友名字位置:({x},{y},{h},{w}), 文本{text}", res.x, res.y, res.width, res.Height, res.text); + click(res.x - 100, res.y + 50); + await sleep(2000); + + // 申请造访尘歌壶 + let captureRegion = captureGameRegion(); + let resList = captureRegion.findMulti(RecognitionObject.ocr(250, 220, 425, 380)); + for (let i = 0; i < resList.count; i++) { + let res = resList[i]; + if (res.text.includes("申请造访") || res.text.includes("visit Serenitea Pot") || res.text.includes("申請造訪")) { + log.info("申请造访尘歌壶位置:({x},{y},{h},{w}), 文本{text}", res.x, res.y, res.width, res.Height, res.text); + res.click(); + + // 模板匹配的方式等待加载 + log.info("等待界面响应"); + for (let i = 0; i < 10; i++) { + let captureRegion = captureGameRegion(); + let res = captureRegion.Find(paimonMenuRo); + if (res.isEmpty()) { + await click(960, 540); + } else if (res.isExist()) { + log.info("已进入好友尘歌壶"); + enterState = true; + break; + } else { + log.warn("出现异常情况,请检查"); + enterState = false; + } + await sleep(2000); + } + break; + } + } + break; + } + } + return enterState; + } + + // 好友列表递增坐标进尘歌壶 + async function RequestToVisitSereniteaPot(total_clicks) { + let enterState = false; + keyPress("VK_ESCAPE"); + await sleep(2000); + let FriendsBotton = captureGameRegion().find(FriendsRo); + if (FriendsBotton.isExist()) { + log.info("识别到好友按钮,尝试点击"); + FriendsBotton.click(); + await sleep(2000); + } else { + log.info("未识别到按钮,使用坐标点击"); + // click(1020,840); + click(680, 550); + await sleep(2000); + } + + let y_avatar = 178; //好友头像按钮起始Y坐标 + let y_request = 245; //申请造访按钮起始Y坐标 + const x_avatar = 208; + const x_request = 460; + const avatar_increment = 125; //两按钮相隔坐标 + const request_increment = 124; //两按钮相隔坐标 + const request_fixed_value = 560; //第四~七位好友申请造访按钮Y坐标 + let request_count = 0; + + // 先申请造访首位好友的尘歌壶 + log.info("正在申请造访第 1 位好友尘歌壶"); + click(x_avatar, y_avatar); + await sleep(1000); + click(x_request, y_request); + await sleep(1000); + + // 依次申请造访第 2 ~ 7 位好友的尘歌壶 + for (let i = 2; i < total_clicks; i++) { + if (i % 2 === 0) { + // 偶数索引,递增 y_avatar + y_avatar += avatar_increment; + log.info(`正在申请造访第 ${i/2+1} 位好友尘歌壶`); + click(x_avatar, y_avatar); + await sleep(1000); + } else { + // 奇数索引,递增 y_request + if (request_count < 3) { + // 前 3 次递增 249 + y_request += request_increment; + } else { + // 第四次及以后设为 1118 + y_request = request_fixed_value; + } + request_count++; + click(x_request, y_request); + await sleep(1000); + } + } + // 模板匹配的方式等待加载 + log.info("等待界面响应"); + for (let i = 0; i < 10; i++) { + let captureRegion = captureGameRegion(); + let res = captureRegion.Find(paimonMenuRo); + if (res.isEmpty()) { + await click(1920, 1080); + } else if (res.isExist()) { + log.info("已进入好友尘歌壶"); + enterState = true; + break; + } else { + log.warn("出现异常情况,请检查"); + enterState = false; + } + await sleep(2000); + } + return enterState; + } + + async function pageDown() { + //暂无计划,还是联系一下好友开放尘歌壶吧 + } + + // 模板匹配领取历练点奖励 + async function claimEncounterPointsRewards() { + log.info("正在打开冒险之证领取历练点奖励"); + await sleep(2000); + keyPress("VK_ESCAPE"); + await sleep(2000); + + let AdventurerHandbookButton = captureGameRegion().find(AdventurerHandbookRo); + if (AdventurerHandbookButton.isExist()) { + log.info("识别到冒险之证按钮,尝试点击"); + AdventurerHandbookButton.click(); + + // 委托按钮 + await sleep(2000); + click(300, 350); + + let EncounterPointsStageRewardsButton = captureGameRegion().find(EncounterPointsStageRewardsRo); + if (EncounterPointsStageRewardsButton.isExist()) { + log.info("识别到历练点领取按钮,尝试点击"); + EncounterPointsStageRewardsButton.click(); + await sleep(2000); + log.info("已领取历练点奖励"); + keyPress("Escape"); + } + await genshin.returnMainUi(); + await sleep(2000); + } + } + + // 模板匹配退出尘歌壶回到大世界 + async function ReturnToBigWorld() { + log.info("正在返回大世界"); + keyPress("VK_ESCAPE"); + await sleep(2000); + + let CoOpModeButton = captureGameRegion().find(CoOpModeRo); + if (CoOpModeButton.isExist()) { + log.info("识别到多人游戏按钮,尝试点击"); + CoOpModeButton.click(); + await sleep(2000); + let LeavetheSereniteaPotButton = captureGameRegion().find(LeavetheSereniteaPotRo); + if (LeavetheSereniteaPotButton.isExist()) { + log.info("识别到离开尘歌壶按钮,尝试点击"); + LeavetheSereniteaPotButton.click(); + await sleep(2000); + } + // 模板匹配的方式等待加载 + log.info("等待界面响应"); + for (let i = 0; i < 10; i++) { + let captureRegion = captureGameRegion(); + let res = captureRegion.Find(paimonMenuRo); + if (res.isEmpty()) { + await click(960, 540); + } else if (res.isExist()) { + log.info("已离开尘歌壶"); + break; + } else { + log.warn("出现异常情况或超时,请检查"); + } + await sleep(2000); + } + } + } +})(); \ No newline at end of file diff --git a/repo/js/DoubleFriendshipEncounterPointsRecognition/manifest.json b/repo/js/DoubleFriendshipEncounterPointsRecognition/manifest.json new file mode 100644 index 00000000..5ae73016 --- /dev/null +++ b/repo/js/DoubleFriendshipEncounterPointsRecognition/manifest.json @@ -0,0 +1,14 @@ +{ + "manifest_version": 1, + "name": "历练点双倍好感(Recognition Version)", + "version": "2.0", + "BgiVersion": "0.43.6", + "description": "进入好友尘歌壶,用历练点领取双倍好感\n!!!此版本基于图像识别&OCR,CI日期早于2025年3月31日的BetterGI无法使用", + "authors": [ + { + "name": "起个名字好难的喵" + } + ], + "settings_ui": "settings.json", + "main": "main.js" +} \ No newline at end of file diff --git a/repo/js/DoubleFriendshipEncounterPointsRecognition/settings.json b/repo/js/DoubleFriendshipEncounterPointsRecognition/settings.json new file mode 100644 index 00000000..29364b7f --- /dev/null +++ b/repo/js/DoubleFriendshipEncounterPointsRecognition/settings.json @@ -0,0 +1,17 @@ +[ + { + "name": "partyName", + "type": "input-text", + "label": "(选填)需要切换的队伍名称" + }, + { + "name": "appointFriendName", + "type": "input-text", + "label": "指定好友名称" + }, + { + "name": "request_times", + "type": "input-text", + "label": "(选填)申请好友数,需小于等于7,不支持翻页" + } +] \ No newline at end of file