diff --git a/DoroHelper.ahk b/DoroHelper.ahk index 924e710..2f04fed 100644 --- a/DoroHelper.ahk +++ b/DoroHelper.ahk @@ -6,7 +6,7 @@ CoordMode "Pixel", "Client" CoordMode "Mouse", "Client" ;region 设置常量 try TraySetIcon "doro.ico" -currentVersion := "v1.0.0-beta.16" +currentVersion := "v1.0.1" usr := "1204244136" repo := "DoroHelper" ;endregion 设置常量 @@ -63,7 +63,8 @@ global g_settings := Map( "RoadToVillain", 1, ;德雷克·反派之路 "Cooperate", 1, ;协同作战 "SoloRaid", 1, ;个人突击 - "Activity", 1, ;小活动 + "Session", 0, ;小活动 + "Festival", 1, ;大活动 ;妙妙工具 "StoryModeAutoStar", 1, ;剧情模式自动收藏 "StoryModeAutoChoose", 1, ;剧情模式自动选择 @@ -86,10 +87,8 @@ global g_numeric_settings := Map( ) ;tag 其他全局变量 Victory := 0 +BattleActive := 1 PicTolerance := g_numeric_settings["Tolerance"] -;region 识图素材 -Text百货 := "|<百货>*200$36.zzzyRz003wwV003ks3zbzUUTzbzoswk0Dww1k07wy3nz7zzznzbs03nz7s03k07tznk07tnnnzbtnrnzbtnzk07z6Dk07sD1nzDkztU" -;endregion 识图素材 ;endregion 设置变量 ;region 读取设置 SetWorkingDir A_ScriptDir @@ -97,14 +96,158 @@ try { LoadSettings() if CompareVersionsSemVer(currentVersion, g_numeric_settings["Version"]) { MsgBox("版本已更新,所有设置将重置") - g_numeric_settings["Version"] := currentVersion + FileDelete "settings.ini" WriteSettings() + g_numeric_settings["Version"] := currentVersion } } catch { WriteSettings() } ;endregion 读取设置 +;region 识图素材 +; FindText().PicLib("对应的内容") +;tag 通用 +FindText().PicLib("|<红点>FA3F1F-0.70$12.3sDwTyTzzzzzzzzzTyTyDw1kU", 1) +FindText().PicLib("|<圈中的感叹号>*150$22.zU7zs07y7wDszwTDzsszDlbwzYzzy3zzwDzzkznz3zDwDwzkznz3zDsbwzaDnwQTzXszwTkz3zU0TzU7y", 1) +FindText().PicLib("|<白色的圆圈加勾>*200$34.zz03zzzU07zzs00zzz0Tzzzs7zzvz1zzz7sDzzsD1zzz1wDzzsDVzzz1y7zzsDszzz1z3zzsDwTzz1zlyTsDz7kz1zwT1sDzly31zk7w0Dz0Ts1zw0zkDzl3zVzz6DzDzsMTzzzXlzzzwD3zzzVy7zzw7wDzzUzsDzw7zkDz0zzU007zz001zzzU0TzzzkTzy", 1) +FindText().PicLib("|<确认的白色勾>*225$28.zzzzjzzzsTzzz0zzzs3zzz0Tzzs3zzz0Tzzs3tzz0T3zs3w7z0TkDs3zUT0Tz0s3zy10Tzw03zzs0Tzzk3zzzUTzzz3zzs", 1) +FindText().PicLib("|<灰色空心方框>*220$28.DzzzVzzzzbzzzyzzzzzk003z000Dw000zk003z000Dw000zk003z000Dw000zk003z000Dw000zk003z000Dw000zk003z000Dw000zk003z000DzzzzxzzzzbzzzwU", 1) +FindText().PicLib("|<白色的叉叉>*220$28.zzzzszzzz1zzzsXzzz77zzsyDzz7wTzszszz7zlzszzXz7zz7szzyD7zzwMzzzs7zzzkzzzz3zzzs7zzz6DzzswTzz7szzszlzz7znzszz7z7zyDszzwT7zzsszzzlDzzzVzzzzc", 1) +FindText().PicLib("|<方舟的眼睛>*90$54.0007w0000003zzs00000Tzzy00001zzzzs0003zzzzw000Dzyzzy000TzsATzU00zzUA7zs00zy0A3zw03zw0A0zy07zw0A0Tz0Dzs0Q0DzUTzs3z0DzkTzk7zk7zszzkDzk7zszzkDzs3zwzzkTzw3zyzzzzzw3zyzzzzzzzzzTzkDzzzzzTzkDzw3zzDzkDzs3zzDzs7zs3zy7zs3zk7zw3zs0z07zw1zw0Q0Dzs0zy0A0Dzk0Tz0A0Tzk0DzUA0zzU07zsA3zz003zyADzy000zzzzzs000Dzzzzk0003zzzz00000Tzzs00000Dzz000U", 1) +FindText().PicLib("|<勾>*225$28.zzzzjzzzsTzzz0zzzs3zzz0Tzzs3zzz0Tzzs3tzz0T3zs3w7z0TkDs3zUT0Tz0s3zy10Tzw03zzs0Tzzk3zzzUTzzz3zzs", 1) +FindText().PicLib("|*150$37.zzzzzzzzzzzzw0Q0w0y0A0A0D0C6677bz7X7XnzXzXls3kDlzw1w0szy0z0ATz7zz6DzbzjX7XlzXlXls0k0k0w0Q0Q0S0D0T0TzzzzzzzzzzzzU", 1) +FindText().PicLib("|<白底蓝色右箭头>*200$33.zzUDzzzU0Dzzk00Tzs000zy0003zU000Ds0000y00007k0000Q0k601UD1s081wTU107ly000T7s001wTU007ly000TXs003wT000z7k00Dlw003wT000z7k00Dnw041sT01U71k0C00403k0000T00007w0001zk000Tz0007zw001zzs00zzzs0zzU", 1) +FindText().PicLib("|*120$27.zzzzzzzzzvvnzyCAAnllVaSAAA7kVVky4AC7kVVky48DDk19ty096Dk10ky0867k10kyF1YXm8AaSF1UnzTSjTzzzzzzzzw", 1) +;tag 商店 +FindText().PicLib("|<礼物的图标>*120$34.z0zw3zs1zU7z33w8TwS7VszlwADXz7s1wTw0001zs000Dzk001zzzzzzzzzzzzk03s01007U0000S00001s00007U0000S00001s00007U0000S00001s00007U03zzzzzzzzzzzs07U0zU0S01y01s07s07U0TU0S01y01s07s07U0TU0S01y01s07s07U0TU0S01y01s0DU", 1) +FindText().PicLib("|<简介>*190$37.C3U0707zzU7U7zzk7s7zzsDz3zRkTzszzwzVzDzyTUTbzzDU7bzzUQD3jxkC7Vryw73kvzS3VsRzj3kwCzrVsS7TvlwD3jzlw7Vk3sw3ks1sA1kU", 1) +FindText().PicLib("|*200$35.0MDUQ00U70s0z7CTntySQzbnwws70UM1kC1Dk7bwyTXDDtwzDC0k1zSQ3U8", 1) +FindText().PicLib("|<芯尘盒>*200$62.3Us01k00C00wC00Q007k3zzy3bi07z0zzzVxzk7zwDzzsSSy7zzvzzyDbjnzzz3rw7lswzzzUvy1sSD7zzk0w0A71UTzk0DU01k07zw6xsk0Q01zz1zSw0Dw0TzkTnbVzzsDzyDw1szzy3zznz3S7zzUzzwzkzk1s0DzzCzzw0S03ivlbzgTzzvzzy1zs7zzyzzzkDw1zzzDzzu", 1) +FindText().PicLib("|<信用点的图标>*200$29.000s0003s000Ds001vs007bs00Tzs01zrk0Dzbk0zzzk3zzzUTzzzVzzzv7zzzyTzzzlzzzz7jzzw7Dzzk6jzy09zzs0/zzU0Dzy00Dzk00Dj000Tw000TU000S00008004", 1) +FindText().PicLib("|<竞技场商店的图标>*120$42.zzs0DzzzzU03zzzz001zzzy1y1zzzw7z0zzzsTTUzzzswDUzzzkwDUlzylwDUwTsVsDVz7lXsD1zXXXsS3zl7Xk07zs7300Tzs7301zzs73U0Tzs73kETzs33ksDzlVXks7zVlXkw7wrxVUw3szzVUy1kzzk0z01zzk1X03zzs1zU7zzy3zsDzU", 1) +FindText().PicLib("|<水冷代码的图标>15DEF6-0.75$17.0840kM3VkD7kzDVyT7yQTw0zs3zk7zUTz0zy0zs1zk1y00k0E", 1) +FindText().PicLib("|<铁甲代码的图标>FA902D-0.85$20.3kA3yDlzzzTzzzyTzzjzzvzzyzxzzyDzz0Dz0Dy03zU0zs0Tw07z01zk0Ds01s08", 1) +FindText().PicLib("|<风压代码的图标>58F42B-0.85$21.07U01y00DnU7zz7zzsztbS08zzzy7zzVwDkTzs0DzU00A00lU06A00vU03s00A0U", 1) +FindText().PicLib("|<燃烧代码的图标>FD238B-0.79$15.0D03s0z0Ds7zUzwDznzyTzvzzzDzkzy7zkTS3vsSD3VwM7a0Q030080U", 1) +FindText().PicLib("|<电击代码的图标>FB31F5-0.82$12.040A0Q0w1s1s3s7k7kDkDzTzzyzyDw3s3k7U7U70C0A080M0E0U", 1) +FindText().PicLib("|<熔炉>*100$40.60k0k20M3U30A1XzsA0k6Q3Uk7UTkC3PzzlUUzi7r776wkTMsCP31tUC1gC761w0kzwsCs33VnXlsAA3DTjVsk0wTw7n03NVUPQ0Na63Zk3UQMA6041zUkM00760002", 1) +FindText().PicLib("|<代码手册宝箱的图标>*150$71.00000Ts000000000Dky000000000k07000000003k0S00000000SPDzU000000DUQC3s000003s1sy0z00001y0xUHUDk000T0C000M1y03rk3W00060DzCw0k01E11U7XU0Q003k0CA000r00000003A05m00000000t0QU0000000007s01M000S00SCA00000000E6s3U0000003U7U0s000000M0DE0QU0000r03zw07s000Dk0zzy01y0Y1y0DzvzU0S007U3zzbjs0D00s0TznU", 1) +FindText().PicLib("|<废铁商店的图标>*200$40.zw000zzzk001zzy0007zzk000Dzz3zzkzzsTzzVzzVzzy3zwDzzwDzUz7zsTy7w7zVzkzkDz3z3zUDwDsTz0TsTVzz1zUwDzz7z3UzwTzy67zkTzsEzz0Tzk3zy0zz27zw1zsMDzw7zVkzzwTwDVzlzzky7z1zy7wDw1zsTkzs3z3zVzk7sDy7zkTVzwDzlwDzsTzzkzzVzzy7zz3zzkzzw0003zzs000TzzU001zzz000DzU", 1) +FindText().PicLib("|<黄色的礼物图标>*200$22.3sT0Dny1XwM67VUQSCDzDzzwzzznzzzDzzwzzznzzzDzTwzw0000000Dwzkznz3zDwDwzkznz3zDw7wzm", 1) +;tag 方舟 +FindText().PicLib("|<左上角的方舟文本>*100$37.zlzzkzzszzsTs00T00M007U0C003k27sDzsVXyDzwMlz01yAEzU0s007k0S003kyD003sz7sXXsTXsElwDlwQ8wDkwDsQC0wDsCDUT7wDjkzzyDU", 1) +;tag 招募 +FindText().PicLib("|*220$19.DtzXwTkS7s70w1UC001000000000830Q3US7kz7szjxzs", 1) +FindText().PicLib("|<确认>*220$52.zzzzzzzbzzyDzyzyTs0sTzlztzU307zXzbzXwMTz7yTyDXlzyTtztyD7zzzbzbk03zzyTyS00DzztzlsQQw3z7z0NvnkDwTw1b7DwzlzVa00znz7yCM03zDwDktbDDwzkzXaQwzny3zCMlnzDs7ytU0DwzaTva00znQMza1nnz1nny0DjDwCD7s0ywzVlyDj3vnyCDwSyTUDvszszvzlzzbzq", 1) +;tag 战斗 +FindText().PicLib("|<进入战斗的进>*200$31.nzkwDkzsS7wDwD3z3y7Vzkz1UTss001zw000zy000TzwD3zzy7Vzzz3ky0zVsT0TkwDUC000S7000DXU007ls003sz3sTwTVwDyDVy7z7kz3zXkTVzlsTkzkSTsTk7zzzU0Dzzks0000z0006Ts003", 1) +FindText().PicLib("|<进行战斗的进>*200$25.zzzzzzzzyTnnz7tlzVwszsw8DyM01zw01zzVXzztlz1wszUwADsM01yA00z7XXzXnlzllszskwTwQyDw6zjw0TySQ00DDk07zzzzzzzzk", 1) +FindText().PicLib("|7D8484-0.81$24.07k00zy41zzg7wDwDU3wD01yS03yQ03yw00Cs000s00As00Cs00DM00C000Cs00Cz00Szk0QTU0wTU3sTsDkTzzU8zz00Ds0U", 1) +FindText().PicLib("|<射击的图标>*100$34.zzsTzzzzVzzzzy7zzzzsTzzzzVzzzza6TzzsMMTzz1VUzzsC71zz1sS3zwDVyDzVy7sTyDzzlzzzzzzzzzzzzzzzzzw03zk000Dz0000zw03zzzzzzzzzzzyDzzkzszVz7zVy7sTz3sT3zy7VsTzw663zzsMMTzzlVXzzzq6zzzzsTzzzzVzzzzy7zzzzsTzy", 1) +FindText().PicLib("|<快速战斗的图标>*200$33.zzzzzzzzzzzk7UDzz0S0zzw1s3zzk7UDzz0S0zzw1s3zzk7UDzz0S0zzw1s3zzk7UDzz0S0zzw1s3zz0S0zzk7UDzw1s3zz0S0zzk7UDzw1s3zz0S0zzk7UDzw1s3zz0S0zzk7UDzzzzzzzzzzzzw", 1) +;无限塔胜利或失败会出现该图标 +FindText().PicLib("|*200$34.zzzzzzzzzzzw1zzzzk7zzzz0Tzzzw1zzzzk7zzzz0Tzzzw1zzzzk7k7zz0T0Tzw1w1zzk7k7zz0T0Tzw1w1s3k7k7UD0T0S0w1w1s3k7k7UD0T0S0w1w1s3k7k7UD0T0S0w1w1s3k7k7UD0T0S0w1w1s3zzzzzzzzzzzzzzzzzzzzzzz00000w00003k0000DzzzzzzzzzzzU", 1) +;特殊竞技场快速战斗会出现该图标 +FindText().PicLib("|<重播的图标>*200$41.zzs0Dzzzz003zzzk001zzz0001zzw1zw0xzUDzy0ny1zzz07w7zzz0DkTzzzUD1zzzz0S7zzzw0sTzzzk1UzyzzU33zwTzza7zsTzzwTzkTzzkzzUTzzVzz0Dzz3zy0Dzy7zw0DzwDzs0DzsTzk0TzkzzU1zzVzz0Dzz3zy0zzV7zw3zz67zsDzwADzlzzsQDzbzzVsTzTzz3sTzzzwDkTzzzkTkTzzz1zkTzzw7zkTzzkTzkDzy1zzk7zk7zzk000Tzzs003zzzw00Tzzzz07zzk", 1) +;拦截扫荡会出现该图标 +FindText().PicLib("|<点击>*100$39.zlzzwTzyDzzXzzk0zwTzy07U03zlzw00TyDzzXzk01zwTy00D001lzlk006DyD001kzVzwTy00DXXXs03wQQTzzzXXXlAFwQQSMX7U03X6Mw00MslXU03zzzzzyQ", 1) +;判断胜利状态 +FindText().PicLib("|<下一关卡的图标>*220$36.zzzxzzzzzwzzzzzwTzzzzwDzzzzw7zzzzw3zzzzw1zzzzw0zzzzk0Tzzw00Dzzk007zz0003zw0001zs0000zk0001zU0003z00007y0000Dy0000Tw0000zs0Dw1zs1zw3zkDzw7zkTzwDzlzzwTzXzzwzzbzzxzzjzzzzzTzzzzzU", 1) +FindText().PicLib("|<编队的图标>*200$32.z3zwDzUDw0zk3zUDw1kQ1y0k30TUA0M7w6061z1U1UzsM0MDz706DzUk3VzkC1k7s1kw0w1s3UC0M0Q1UA030M300M61U060UM01U0600A01U0300k00k0A00A3z003zzk00zzw00Dy", 1) +;红圈 +FindText().PicLib("|<红圈的上边缘黄边>FEFD71-0.90$53.000Trw00000Tzjzk000DzzTzy003vzyzzjU0zrzxzzTk7zjU00yzszzU0003zxzs00000zzy000000Dzk0000007y00000003k", 1) +FindText().PicLib("|<红圈的下边缘黄边>FEFEA7-0.90$52.U0000000DU0000003zk000001zzk00000Tzzs0000Dzzzz000Tzy7yzzjzvz07vzyzzjk03zzvzzs001zzjzw0000Dyzs008", 1) +;tag 模拟室 +FindText().PicLib("|<模拟室>*100$62.zzzzzzzzzzzzzzzzzzzzzvxnyzzzzjzwQ0D6DXzUzz601lUsk00DlU0sM6A003k40Q01X000w007000k00D000k00D007w80D683s03z203lW0y00zU00s0wTU0Ds00A0D7k01w00303ly0Az000kM0DU3DkM06603k01w401lU0Q00TVU0wE07U0DwM0C481U00z4311a4E00DlVskzX4003yTzzzzzzzzzzzzzzzzzzzzzzzzzzzzzU", 1) +FindText().PicLib("|<开始模拟的开始>*150$46.zzzzzzzzzzzzzzzzzzzwTlzk007lz7z000D7szw000wTXDzXkz0AATyD3w0llzswDk2DXzXkzW00DyD3y800Q000tU1lk003aTzz000AFk1zkwDk603z7kzUM0DwT3zVXszVwDy2DXwDkzk8yDUz3y0U0w7wDky03kzkz7s0DbzXyzXszzzzzzzzzzzzzzzy", 1) +FindText().PicLib("|<快速模拟的图标>*200$42.zzk07zzzz000zzzw000Dzzk0007zzU0001zz00000zy00000Tw00000Ds00000Ds000007k0U1003k1k3U03U3s7k01U3y7s0103z7w0100zXy0000Tlz0000DsTU0007wDs0003y7w0001z3y0001z3w0003wDs0007wTk000TkzU000zVz0001z3y0003y7w01U3w7s01U3s7k03k0k3U03k000007s000007w00000Dw00000Ty00000zz00000zzU0003zzs0007zzw000Dzzz001zzzzs07zzU", 1) +FindText().PicLib("|<跳过增益效果选择的图标>*170$26.E0U0C0C03s3k0z0z0DwDs3zXzUzyzwDzzznzzzyzzzzzzzzvzzzwzzzyDzTy3z3z0zUz0DUDU3k3U0E0k08", 1) +FindText().PicLib("|<模拟结束的图标>*170$38.03zzzz01zzzzs0zzzzy0Dk00Dk3s001w0w000D0D0003k00000w00000D000003k0U000w0s000D0S0003kDU000w7zzU0D3zzw03nzzz00xzzzk0Dzzzw03zzzz00zzzzk0DDzzw03lzzz00wDzzU0D0y0003k7U000w0s000D020003k00000w00000D000003k3k000w0w000T0DU00Dk3zzzzw0Tzzzy03zzzz00Tzzz2", 1) +;tag 竞技场 +FindText().PicLib("|*120$40.zzzzzzzzzzzzzyCCARnjkEEUaAz99CGMnwYYt9VDnmHba4zD9CSMHy449tVDwEFba4ztDCSMHzYwtdVDmHnYYoz1DC2H3y4w49A3zzzzzzzzzzzzzs", 1) +FindText().PicLib("|<竞技场>*200$61.zzzzzzzzzzzzzzzzzzzzzzTznyTzzzz007tzDys0zU03wzbzS0TyTDyQ0DjsTzDbw007XwTs00C3wzUsTw007nyTkE0Tzzzty7yw0Dk07ws0TT07s03wA8TjaHwztw7DDrrNyDky7bDvnAzU0zntbw3iTwlztw7s3bDyRzwz3wDrjwSSyS0yznbkT0QQ67zn3sTUSDDXzvXzzzzzzzzzzzzzzzzzzzzy", 1) +FindText().PicLib("|<左上角的竞技场>*150$59.zzzzzzzzzzzzzzzzzzzzzXztyDwzzz007nwTtU3y00Db07n07zbXw0077sTy73s00Q7XzU00kT7s47z003tyDk00TU0TnU3tk0z00z107nk1yDtw2CDbY3wTXsCQTCN7s07swFw0WDs0Ttw7k3ATslrnsDUwNzVXbbUD7lns70AA07z67kz0sMwTyQTzzzzzzzzvzzzzzzzzzzzzzzzzzzzzs", 1) +FindText().PicLib("|<新人>*100$38.zzzzzzzzzzzzzwznzlzy7UTwTy0E7z7zU0Tzlzwl7zwTzAFzz7zU00zUzk00DsDzlk3y3zU4Fz0Ts04Tk7y0F7sMzU4FyC7s0AT3kyE371y3UMlUzkyCAQTyDbz7zzzzzzzzzzzzzzzs", 1) +FindText().PicLib("|<免费>*200$40.zzzzzzzzzzzzzzlzzwFzy0Dw00Ts0zz4Fz7bz007kQTw00z003k00y6CD003wssz7aTnXXUQHz00D00Dw00y00zz0zszXzsXzX6Dz6Cy8szkstw67w7k60w7tz0sTyTzzzzzzzzzzzzzU", 1) +FindText().PicLib("|*200$36.zzzzzzzzzzzzz0Tjzby07bzXwD7VzXszXUzXszlUTXtzlU7Xlzlb3XtzlbVXtzlbk3sznbw3wTXby3w07bz3y0DbznzUzbzzzzzzzzzzzzzzU", 1) +FindText().PicLib("|*120$54.zzzzzzzzzzzzzzzzzzzkTw01s03z07k01U03y03k01U03w01U03007sDUVzz3zzsTkU0D00TsTkU0D00TkTk00D00DkTkU0D00TsTkVzz3zzsTUVzz3zzw71Vzz3zzw01Vzz3zzy03Vzz3zzz07Vzz3zzzkTnzzbzzzzzzzzzzzzzzzzzzzzU", 1) +FindText().PicLib("|<特殊>*100$38.zzzzzzzzzzzzztyTzzDyQ0k4Xw70400z0k1Vk1k7Xw80Q0060070U0U2DmM0MVVzbyAM03sU0000k00E70w307VUD1lXss3yQMyA0TbaD483ty3368yTVtzXzbszzszzzzzzzzzzzzzs", 1) +;tag 无限之塔 +FindText().PicLib("|<无限之塔的无限>*150$41.zzzzzzzzzzzzzzU03k00z003U01y00DAXnzwzyN07ztzwW0DzVzsAAT000kMsy001aE1zs3zAU3zsDyM4rzUTwk87z0zs4MDwNxkMkzlnlblVy3X3DU1sT0CT1Xlz0Qy7bzzzxzzzzzzzzzzzzzzzzs", 1) +FindText().PicLib("|<每日通关>*100$62.zzzzzzzzzzzzzzzzzzzzzwzzzzzzzjby07U0tU3ltzU0s0CC1yQTk0CDXlUy01s07XwzU3U0S01szDs0zVzs4S0300Dszs03U0s0300Q00MzD00k03k0CDnk0DsDw07Xww23w3z00s0D0Uw4Ds0C03U043UzwDU0tU13wTzbzzzzzzzzzzzzzzzzzzzzzzzzzzzzs", 1) +FindText().PicLib("|*100$43.zzzzzzzzzzzzzzw30sw3Uy1UQS1kD7syD7szbwS3bwznyD1nyDtz7Utz7wTXkQzXy1ltCMkTUswXAMDyQQFaATzCC8n6Tzb70Nn7zXXUAFXy1ll60kD0sll0MDzzzzzzzzzzzzzzk", 1) +FindText().PicLib("|<无限之塔·向右的箭头>*100$12.3z1zVzVzkzkzkTsTsTsDwDwDw7y7y7z3z3z1zVzVzUzkzkzkzkzVzVzVz3z3y3y7y7w7wDwDsDsTsTkzkzUzVzVz1z3zU", 1) +FindText().PicLib("|<塔内的无限之塔>*200$67.0000000000000000000000000000000140zzbzy0M0lr0Tznzz0C0Pzs0w1jXXzwAzs0A0yzlzzDjs060TTs0D7ns3zzjiQ071ny1zzqzy070zzk1w3Dy070Tzk0y1bjU70C000z0znk707zw0vXTNkD07zy0tngDsT03X71szq7zTzw1zUsDn3nATw0zk0000000000000000000000E", 1) +;tag 拦截战 +FindText().PicLib("|<拦截战>*140$63.zzzzzzzzzzznzzzDDzzxzySSTUsbwz5znlXs14TbsbyDAz0MnwL4z0U1s24TUMzs006001w30zVU1k00DXU3yTzz0szww0znzzs36TXkby7zz00XU74z0k3k1Uw0Q7kA0C0A7X3Uz3k3s1UwQQDyTzz0ADXXVznzzs1VQQQTyTzz0M9U30TX00s00A003sM07003X0MT7zztzwyyzbzzzzzzzzzzzzzzzzzzzzzU", 1) +FindText().PicLib("|<红字的异常>BF0200-0.81$44.0000000000000000000Fl03zzUSQw0zzs7bD0Dzy7zzw3k7Vzzz0zzsS03kDzy7Tzw3U0trzz0zzy1kQ0DzzUTz00zzU7zk0C3U07U03Us1zzkDzzsTzy3zzy7zzUzzzVlts3kC0QSS1w3U77zUS0s1lrk60C00QU000000000000000U", 1) +FindText().PicLib("|<克拉肯的克>*200$43.zzz0zzzzzzUTzzzzzkDzzzzzs7zzy00000070000003U000001k000000s000000Tzzs7zzzzzw3zzzzzy1zzzzzz0zzzzU0000Dzk00007zs00003zw00001zy00000zz0zzzUTzUzzzkDzkTzzs7zsDzzw3zw00001zy00000zz00000TzU0000Dzk00007zs00003zzs3s3zzzw1y3zzzy0z1zzzz0zUzzzz0TkTzzzUDsDwDzUDw7y1zU7y3z0z07z0zUw03zUTUE03zk00803zs00607zw007U7zz003kDzzk03wzzzzzzs", 1) +FindText().PicLib("|<镜像容器的镜>*200$44.zTzzy7zzUzzy1zzsDz0003w1zk000z00Q000DU070003k01y1s1w00TUz1y007sDkT0Tzy3s7kDzzUS1w3zw0001Vzz0000M00k000700A0001s03zzzzy00zzzzzk0DU007z0zk001zkDw000Tw3z0zs7z0zkTz1zUDw7zkS0070007U01k001s00Q3zUS0071zw7k01kTz1zkDw000Tw3z0007z0zk001zkDzUM7zw37s71zz01y3kTzk0TUw7zs07kD1zy01s3kQz01w1w73k1y0T0Uw0y0Dk0DUzU7w07szw7zU1zTzXzy3s", 1) +FindText().PicLib("|<茵迪维利亚的茵>*200$47.zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzkDz0zzzzUTy1zzzz0zw1zzk000000zU000001z0000003y0000007w000000Dzz0zw3zzzy1zs7zzzzzzzzzzzzzzzzzzU00000Tz000000zy000001zw000003zs000007zkTzzzsDzUzw7zkTz1zsDzUzy3zkTz1zw7000C3zsC000Q7zkQ000sDzUs001kTz1k003Uzy3zU7z1zw7z07y3zsDw03w7zkTs03sDzUz003kTz1s0k3Uzy303k31zw70DkC3zsD0zkQ7zkT7zlsDzUyzzrkTz000000zy000001zw000003zs000007zk00000DzU00000Tz1zzzzUzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz", 1) +FindText().PicLib("|<过激派的过>*200$43.zzzzzkDzzzzzs7z7zzzw3z1zzzy1z0Tzzz0zU7zzzUTs3zzzUDy0zzzk7zUC00007kD00003wTU0001zTk0000zzs0000Tzzzzk7zzzzzw3zzzzzy1zzzwTz0z03s7zUTU1w1zkDk0z0Ts7s0TUDw3w0Ds3y1zs7y0z0zw3zUTUTz1zkTkDzUzwzs7zkTzzw3zsDzzw1zw7zzy0zy3zy00zz1zz00Tz0zzU0DzUTzs0DzU7zw0Tz01zzzzz007zzzz000Dzz00000000070000047s000077z00003bzw0001vzzzzzzk", 1) +FindText().PicLib("|<死神的死>*200$42.U00000100000000000000000000000000000000001zUDz0zzzUTz0zzzUTz0zzz0Tz0zzz0Tz0zzz00D0zzy0030zDy0030y7w0030w3s0030s3s3s3001k7s7003UDs700D0Ts700T0TsD01z0nkD07zVVkD0DznU0T0zzz00T0zzzU0T0zzzk0z0zzzs0z0zzzs1z0zzzs3z0zzzk3z0zXzU7z0zUz0Dz0zUy0Tz0z0s0Tz0C0k0zzU0101zzU01U7zzU01kDzzk03szzzy0TU", 1) +FindText().PicLib("|<异常拦截·向右的箭头>*20$33.s00zzz003zzw00Dzzk00zzz003zzw00Dzzk00zs3003z0400Dw0E00zk1U03z0600Dw0E00zk1U03z0600Dw0M00zk3007w0M00z0600Dk1U03w0M00z0400Dk1003w0E00z0400Dw1003zzk00zzw00DzzU03zzk00zzy00DzzU03zzs00zzw", 1) +FindText().PicLib("|<01>*100$18.zzzzzzwC7k43k03k23lX3lX3lX3lX3lX3lX3lX3lX3lX3lX3lX3lX3lX3lX3lX3lX3k33k33s77zzzzzzU", 1) +FindText().PicLib("|<02>*100$22.zzzzzzzz3wTs30T001w003kU4D60EwMH3lVwD67kwMT3lVUD641wM0DlU7z60TwM1zlU7z60TwM1zkU7z001w0U7w60TzzzzzzzU", 1) +FindText().PicLib("|<03>*100$22.zzzzzzzzVwDs30T040w003kk6D30MwA1XklyD37swATXklkD371wAQ7klyD37swATXkl6D30MwA1XkU6D040y0E3w3UTzzzzzzzU", 1) +FindText().PicLib("|<04>*100$22.zzzzzzzz3yDs3kT0D1w0M7lVUT661wMM7lV0T64FwMF7lUAT60lwM37lU8T600wM03lU0D67lwMT7kVwT07lw0z7s7wTzzzzzzzU", 1) +FindText().PicLib("|<05>*100$22.zzzzzzzz3k7s20T001w007lU7z60TwM1zlU7z603wM07lU0D66EwMT3lVwD67kwMT3lVAD60EwM13kU4D000w0k7w7UzzzzzzzzU", 1) +FindText().PicLib("|<拦截战·进入战斗的进>*200$30.zzzzzzzzzztzlszkzlszsTlszwDlszy4007zQ007zw007zzkkzzzlszzzlszkDlszUDUETkA003yA003yC007yDVszyDXszyD3szyC7szyC7szwDDszs3zxzk0TzXVk003nw003zzU07zzzzzzzzzzU", 1) +FindText().PicLib("|<拦截战·快速战斗的图标>*200$34.zzzzzzzzzzzy0w1zzw1s3zzs3k7zzk7UDzzUD0Tzz0S0zzy0w1zzw1s3zzs3k7zzk7UDzzUD0Tzz0S0zzs3s3zz0T0Tzs3s3zz0T0Tzs3s3zz0T0Tzs3s3zz0T0Tzs3s3zz0T0Tzs3s3zz0T0Tzzzzzzzzzzzzy", 1) +;tag 前哨基地 +FindText().PicLib("|<前哨基地的图标>*100$23.S032C0A8C0kUD3287A887kVA7X6A3gQ63kk63nA61wQ21wQ30wQ30xy30zS1UQC1UES1U3D1kAD0kkr0n37Uw63UEM3U1UDV", 1) +FindText().PicLib("|<溢出资源的图标>*100$21.zsTzwtzyTnyDzbbzz8zzs1zw03yA077U03w01zU0Dw01zU0Dw01zY0Dls1szkATzUDzz7zU", 1) +FindText().PicLib("|<歼灭>*150$47.zzyDU006020C0004000A0000000M000M0U7w001s3sTzw7zk3kzwsTT03VzskwC0D3zVUsQ800D31UkE00Q633U000sQ470001Uk0S0DVzXU1y0T3zy0DzUy7zw0Tz3wDzkETw7sTz0kDkTkzs3k61zVy0DU07z3w0zk4Ty7s7zkRzwDszzwk", 1) +FindText().PicLib("|<获得奖励的图标>*200$38.zzzzzzzzzzzzzzzsTzzzzy7zzzzzVzzzzzsTzzzzy7zzzzzVzzzzzsTzzzzy7zzzzzVzzzzzsTzzzzy7zzzzzVzzzzs00Tzzy007zzzk03zzzw01zzzzU0Tzzzw0Dzzzz07zzlzs1zkwTz0zwD7zkTz3lzy7zkwTznzwD7zxzz3lzzzzkwTzzzwD7zzzz3lzzzzkwTzzzwD3zzzz3k00000w00000TU0000Dy00007zzzzzzzzzzzzzU", 1) +FindText().PicLib("|<派遣公告栏的图标>*200$58.zzzzszzzzzzzzy0zzzzzzzzk0zzzzzzzw00zzzzzzz001zzzzzzk1k1zzzzzy0Tk1zzzzzU3zk1zzzzs0zDk3zzzy0DkDU3zzzk3wQTU3zzw0T7wTU3zz07kzwT07zk1yDzwT07y0TXzzsz07U3sTzzsz040z7zzzsz00Dlzzzzky03wTzzzzly0D7zznzzls0szzy7zzlU3jzzkDzza0Czzy0TzyM0vzzs3zztU3jzzkTzza0CzzzXzzyM0vyzzTzztU3jvzzzyza0CzbzzzvyM0vyDzzzDtU3jszzzsza0CzVzzzXyM0vy7zDwDtU3jsDkTkza0CzUy0y3yM0vy1k1sDtU3js6010za0CzU0003yM0vy0000DtU3js0000za0CzU0003yM0vy0000DtU3jy0001za0Czy000TyM0tzw007ztU3Xzw01zyC0DXzw0TzVs0T3zw3zwT00T7zszz7s00z7zzzly080z7zzwDU3s0z7zzXw0zs0yDzsz07zs1yDyDk1zzk1yDVw0Tzzk1yAT07zzzk1w7s0zzzzk3xy0DzzzzU3zU3zzzzzU3w0zzzzzzU307zzzzzzU01zzzzzzz00Tzzzzzzz07zzzzzzzz0zzzzzzzzzDzzzzU", 1) +FindText().PicLib("|<派遣公告栏的派遣>*100$68.000000001w01U00DU000T00S00zw1kDzzsDkTzzUy3zzy3zTzzkDkyT7UDbzz01yDzzs1tzs00Dnzzy04T0001sTzzU07k3s0A07k001wTz00DzzzW0TDzs03zzzts7nzw000000T1wzs000000DwTDS0TsTzz1z7nrU7y7zzk7Vwws1zVs0w0ESDDMTsTzz007Xnz0S7zzk01swzs7Vzzw08SDDw1sS00077Xlw0S7zzs1tswS07Vzzy0ySD7U1sTzzUD7Xlw0S7U1s7nswD07Vzzy1swD3s1wTzzUyD3yz1zU000D7lzbszz000LlwTxyTzzzzxwS7wD3lzzzyCDVw1UsDzzzVVkA0M60Tzzs04000000Dy0U", 1) +FindText().PicLib("|<全部派遣的图标>*200$35.00Ty0007zz000zzzU03zzzU0DzzzU0zzzzU3zzzzUDzzzzUTzzzzVzbwzz3y7kzz7w7UzyTw3Uzwzw3Uztzw3Uzzzy3Uzzzy3Uzzzs71zzzUQ7yzy1kTxzsD1znzUw7zXy3kTz7wDVzwDwzbzsDzzzzkTzzzz0Tzzzw0Tzzzk0Tzzz00Tzzw00Dzzk007zy0003zU08", 1) +;tag 咨询 +FindText().PicLib("|<妮姬的图标>*150$32.zztzzzzk3zzzk0Dzzs01zzw00Dzy001zzU00Tzk003zw000zz000DzU003zs000zz000Dzk003zw000zzU00Tzs00Dzz003zzs01zzz00zzzw0zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzw00001000000000000000000000M0000600003k0000w0000TU0007s0003z0000zk000Dy0007zU003zs000zz000Dzs007zy001zzU00zzw00Dzz003zzs01zzy00Tzzk0Dzzw03zzzU1zzzs0Tzzz0Dzzzk3zzzw1zzzzUTzzzwDzzzz3zzU", 1) +FindText().PicLib("|<咨询的图标>*150$31.z7zwTzXzyDzlzz7zszzXyAM0lU6A0Mk360AM1X06A0zU3y0Tk1z0000000000000000000003zzzzVzzzzkzzjzsTzXzwDzUzy7z07z3zU7zVzs3zkzw3zsTy1zwDzizy7zzzz3zzzzVzzzzkzzzzs00000U0000E", 1) +FindText().PicLib("|<》》》>*200$36.D0S0w0TUz1y0zlz3y0zlzXz0TsznzUTszlzUDwTtzkDyTwzs7zDyTs3z7yDw3zbzDw1zXz7y1znzbz1zXz7y3zbzDy3z7yDw7zDyTsDyTwzsDwTtzkTszlzUTsznzUzlzXz0zlzXy0TUz1y0D0S0w0U", 1) +FindText().PicLib("|<20/>*200$25.000000003s00Fy7kMr7sA1nC61vb70tnX0wtnUwQtkwCQkzbCMTtyQ7syA0006000600030000U0000E", 1) +FindText().PicLib("|<咨询·MAX>*190$49.0000000000000000301001s7Vk1k60S7Uw1s7U7bkT1w3k3nkDvy3w0zk7zz1y0Dk3bnVzU3k1llktk1s0s0sww1y0Q0QQC1zUC0CS7Vts707C1kwS3U3j0wwD1k1r0Cw3k0000000000000000U", 1) +FindText().PicLib("|<收藏的图标>FE4431-0.90$32.zzzzzzzzzzzzzbzzzzkzzzzwDzzzy1zzzzUTzzzk3zzzw0Tzzw03zzk003z00003k0000w0000TU0007w0003zU001zw000zzU00Tzw007zz003zzk00zzs007zy001zzU00Tzs007zy1y1zzVzsTztzzbzzzzzzzzzzzs", 1) +FindText().PicLib("|<快速咨询的图标>*200$32.zzzzzzzzzzz0S0zzs3k7zz0S0zzs3k7zz0S0zzs3k7zz0S0zzs3k7zz0S0zzs3k7zz0S0zzk7UDzs3k7zw1s3zy0w1zz0S0zzUD0Tzk7UDzs3k7zw1s3zy0w1zz0S0zzzzzzzzzzzzy", 1) +FindText().PicLib("|<咨询的咨>*200$30.zzXzznz3zzkz3zzkD001wC000zC001zwC3VzsS7VzsS7Xzsy3Xznw3zy3w1zU3s0z0DUMT1y0s7bs3y0zs7z1zwzztzwzzzw0007w0007w0007wDzw7wDzy7wDzy7wDzy7wDzw7w0007w0007w0007wDzw7U", 1) +FindText().PicLib("|<咨询·向右的图标>*200$28.03zzy0Dzzw0Tzzk0zzzU3zzz07zzw0Dzzs0zzzk1zzz03zzy0Dzzw0Tzzk0zzzU3zzz07zzw0Dzzs0zzzk1zzz03zzy0Dzzw0Tzzk0zzzU3zzz07zzw0Dzzs0zzzk1zzz03zzy0Dzzs0zzz07zzs0TzzU3zzw0DzzU1zzy0Dzzk0zzy07zzs0zzz03zzw0TzzU3zzw0DzzU1zzy0Dzzk0zzz07zzs0zzz03zzw0TzzU3zzw0Dzzk1zzy0Dzzk0zzz07zzs0zzz03zzy", 1) +FindText().PicLib("|<0/>*220$21.Dz1vzwDTzXnkQSQ3nrUSww3rbUSwQ3bXzxsTzj1zts1sC4", 1) +;tag 奖励 +FindText().PicLib("|<任务>*150$44.00000000000000010207000wTk3s00Dzs1zzU7Ds0zzs3kC0TVw0s3U7ww0S0s07z0DUC0Dzw1w7sDwzkTzzVk0M1rzs0Q00Q3U0DV060s1zzs1UC03xy0M3U0Q3U60s0C0k1XzsD0Q0MzyDVz063g1UT0000000000000002", 1) +FindText().PicLib("|<奖励>*150$43.000000000000000A4000006707zA0n7z3za0TzzVzn04z1kk1U0ttkTzz1wDsDzzVy7sDyTkrzk7Q6M1rk3jXA0n01rta01U0vwn3zzwRyNVzzyCqQkzzz7PAM0TU3xyA0zw1wzC7yDszzj3w3wzzj0U04003000000000000000U", 1) +FindText().PicLib("|<灰色的全部>#529-0.90$40.08000001k01UT07U0D3z1z07zjwDz0TyvVsy0tniT0y3bCvw3yCQzDzzlzzwDzyDzzk1s0TzvU30003a0z03zCMTzUTytVzy1zvi0S073js1s0QCz7zzVzvUzzz7zi1zzsQSk8", 1) +FindText().PicLib("|<浅红点>*150$19.zzzzzzzsDzk3zlwTlzDtzntztwzySTzDDzbbzbtznwTlz7Vzk1zy3zzzzzzzk", 1) +;tag 活动 +FindText().PicLib("|<作战出击的击>*200$37.zzw7zzzzy3zzzzz1zzy3zUzzz000DzzU000Dzk00001s00000zz0000Tzz000DzzkDw7zzsDzz0Tw7zzU001zzk0001zs000004000001zk0000zzs000Tzy1z0C3z1zzz0zUzzzUTkTkTkDsDs7s7w7w3w3y3y1y1z1z0z0zUzUTU1UDkDk003s7s00003w00001zk0000zzzU00Tzzzy0Dzzzzs7zzzzzrk", 1) +FindText().PicLib("|<活动地区>*150$74.zzzzzzzzjzzztz0zzXzDlz00640S0MznYTU01n0TkCDwt7sTlzz7zz0SCECDyzzlzzU20U1XD7i01U00k80MlVkU0M1WC81CA0yDlz3tXm0HXkTzwTtyMwl4sw7zy7wPaDCFCC0zg0D6NXUY3X27l03l0Ms95sVkslws06A6Py9ySATC03b7btXzz703bklzswM00Fk0zyETy06003wSDzyDzk7k01U", 1) +FindText().PicLib("|<签到>*150$40.zzzzzzzzzzzzzzbtzzznwD2w0S7U01U00S007001k0Ey0k7Y1bk10Ts1z001y01w007U01s70Q007sQ1xU4w007tXbk00TWATUA1yAFzXm7wm7w0sS007071s00Q0sDU01nzlzzzzzzzzzzzzzy", 1) +FindText().PicLib("|<全部领取的全部>*140$40.0S00s7k3s03kzkTk1zvz3zk7zywTDUTyvbkTUtniz0zXbDnzzyTzzDzznzzw7zsDzys1s000vUDk0znb7zs7ziQTzUTyvk7U1lvy0S077jtzzwTyuDzzlzvUzzz7zi2", 1) +FindText().PicLib("|*200$71.kC03s7w0syTt0C0D03s0tszkTzXyD7nllnzUzz7sz77nnbz0zyDlyDDbaTyETwTXwSSDUzwkDsz7sw0T1ztsDlyDlk1y7znwTXwTXV7yDzbwz7syDb7wTz/lyDswTD7szy03wTs1ySDlzwUDszs7wyDXzt", 1) +FindText().PicLib("|<剧情活动>*150$75.zzswzDyzszzlw0D7Y03VU3U6DU10w00w81w0lwS8700DvUTzyDU10k00zzXzz040861Uzy01zs0X70UU0Mk0A0l4084407201U68U00Uk0yzXzDn4087a07zwTtiMX70wlszM0S8n4087a07l03l4MU18wk0y8yQ0307D7a07X7nU0t0lswk0sswQC6A0A7aS7703zk1s1lwnkxs0TzATzyTiSTzjrzzzU", 1) +FindText().PicLib("|<时间>*150$40.zztzzzzzzblU003yTW000DtzA00M01zzy1U07Dzs680Qk1U8zbn0603STASM08twltUMlbn061X6TA0M6C9wltU8zbn7a03yTA0M0Dtwk1UTzbnzy9zUTDzkzy1wzz7zzznzws", 1) +FindText().PicLib("|<活动关卡>*150$74.rz7zyDyTXzszss0w1XzXszyDy40y0MzwwTzU3vUTzyDy63zs0zz7zy0C00DyDzw07zU3U03zXz601U68zszs00Ek0M1WDyDy003TlzbtX003U00zwTtiMk00Tszyk0wFaA007y7z40DAFXz1zzUDl7nk0MzUDzs0slws0CTk1zyA4QSC7X7kQ3zXv703zk1kDUTszvk0zyMwDyDzDzyzzzzzzzzzrzU", 1) +FindText().PicLib("|*150$57.zzzzzzzzzzzzzzzzzzzk70k70yS0S0k60M7Xs3naDnXDwTnyQlyQNzVyTnaDnXDwDnyQlyQNzdyTnaDnXDtDnyEkCQMDByTmC7k3DtbnyHly0tzAyTmCDnzDtbnyNlyTty0yTnCDnzDk7nyMlyTtySSTna0nz0nnnyQs6Ts6SSTzzzzzzzzzzzzzzzzzzzU", 1) +FindText().PicLib("|<挑战>*200$41.zzzzzzzzzzzzzzntDyT7zbmTwy9z647synw08DkQzk0ETXkDskVzD0Tll7yS0zXmDsyBy34D0C3sAMC0Q7skkQwsTtVattsznXDnnXzb6PX74zAQn081wNsCA37tzsTzzDzzzzzzzzzzzzzw", 1) +FindText().PicLib("|<挑战关卡>*150$75.lt7yTbzDlzwTyD8znwbsyDzXzlt5yTYzbXzw0Q087kArsMDzU3U11y1bw00TwTwA8Dnk3U03zXzll3yS0TwTw00CD8znkzzXzU00kt3k3UM00Q00048C0Q7001zXzV10lXUs00DyDy88aSQDz1zzkDlV7nnlzk7zy0SCMiCQ/w0Tzn1lX4k10S3UTyTQ8s60030y1znzXDUlkMMTwTyTyzzzzzzzzzzrzU", 1) +FindText().PicLib("|<红色的关卡的循环图标>B40000-0.70$61.00000000000000000000000000000000000000000000000000000000000000000000000000001U000000000w000000000TU0000003zzsDzs0001zzz7zw0000zzzvzy0000Tzztzz0000DzzkzzU0007kTU07k0003sD003s0001w7001w0000y2000y0000T0000T0000DU000DU0007k0007k0003s0063s0001w00D1w0000y00TUy0000T00TkT0000DzkzzzU0007ztzzzk0003zwzzzs0001zy7zzw0000000zU000000007k000000001s000000000A00000000000000000000000000000000000000000000000000004", 1) +FindText().PicLib("|<黄色的关卡的循环图标>F5A317-0.60$49.0000000000000000000000000000000000000000000000000000A00000007U0000003w00000Dzz1zy00DzzszzU07zzyTzk03zzyDzs01zzw7zw00y3w00y00T1s00T00DUk00DU07k0007k03s0003s01w0001w00y0000y00T000kT00DU01sDU07k03w7k03s03y3s01zy7zzw00zzDzzy00TzXzzz00DzkTzz000007w0000000y0000000700000000U000000000000000001", 1) +FindText().PicLib("|<协同作战的协同>*200$39.zzzzzzzzzzzzztyzzzzzDrz003twTs00TC0TDznkU3tU6S30TA0nkwntzyTAa7DzntYktU6TBa7AMnsAkNbaTDC3AwnttntU6TCCTA1ntXntryTAkTDz3tj7tzszzzzzzzzzzzzzw", 1) +FindText().PicLib("|<捍卫者>*200$72.szzzzzzzzwTzsw03zzzzzwTlsw03s003y00VswTXs003y0030Q03s003y0070A03zsTXzwQD0ATXzsTXzwMDkwT3zsTXk000sw03zsTXk000sw03zsTXk000szzzzsTXzs7zsA03zsT3zkDz0403zsM3y0030A03zsQ7s0030zlzzsQzk1y3szkzzsTzs3z3sk01zsTzzU03sk01zsTzzU03sk01zsTzzVz3szlzU000zXz30zkzU000zU03UzkzU000zU03VzkzU000zU03U", 1) +FindText().PicLib("|<任务的图标>*142$28.zzbzzzw7zzz27zzkyDzwDQDz3twDsTbwC7yDwNzkzw7y1zkTs3z1z07w7k0DkS00D1U00A4000EQ0071w01w7s0TkTk3z1zUTwbz1zmDwDyADszVwTbsTsTS7zsTVzzsQTzzs3zzzszzU", 1) +;tag 协同作战 +FindText().PicLib("|<开始匹配的开始>*200$54.zzzzzXzXzzzk0zXzVzU000TXzXzU000TXz3zk000T3z7DzXyDw0S77zXyDw0CD3zXyDw0ADXzXyDy08T1zXyDz6000zXyDy4000U000CAM000000CAPzt0000CATzzU000S4Q03z3yDy0M01z3yDz0s01z3yDzUsTVy7yDzkMTVy7yDzU8TVwDyDzU8TVsDyDz28TVkTyDy7M01UzyDw7s01lzyDyDs01vzyDzzwznU", 1) +FindText().PicLib("|<普通>*200$67.0C0600000000T07s001zzy0Dk3s0D0zzzU3s3w0DkTzzlzzzzw7w7zzkzzzzy1z0SDkTzzzz0TkTzk7zzzzU7sDzk1sySD01k1zs0yTD7U0ETzzsTDbbk00Dzzw7bnnk007zzy3nvts003tyTTzzzzs01wzDjzzzzwzszzzrzzzzyTwTzzvzzzzzDyDzzw000007z7nsy3zzzw0DXzzz1zzzy07lzzzUzzzz03szzzkTzzzU1wTzzsDU07k0yDXlw7zzzs0T7lzy3zzzw0DXsxz1zzzy07lwSz0zzzz07wwDD0T00DU7zk000DzzzkDzzzzy7zzzs7tzzzz3zzzw1sDzzz1zzzy0M1zzzUy00z0000Q04", 1) +FindText().PicLib("|<准备>*200$52.zzzzzyTzzzlXzzkzzlyC7zy00z7swTzk00yDXlzy007sQ00DUDkzlU00w0S7z67VzlU0zwkT7zz07zy1wTzw0Dzk007s000T000A07U0yE01s3zk7z7lzUTznyQT7zk00DslsTz000z3003wS7XwQ00TlsSDVlwTz000y77lzw003swT7zlsSD3k00z7VswT001w003tw00Dk00Dzlzzz000y", 1) +;tag 剧情模式 +FindText().PicLib("|*200$20.7szky7w7Uz0M3k20Q00100000040030M3kC1wDVz7sznyTy", 1) +FindText().PicLib("|<1>*200$10.zzzz3kD0zXyDszXyDszXyDszXyDzzzU", 1) +FindText().PicLib("|<2>*150$14.zzzzzU7k0w0D7XzszkDk3s3w7z7zlzw0D03k0zzzzzU", 1) +FindText().PicLib("|*200$66.z3zXyD00S03y1zXyD00Q01y1zXyD00Q01y1zXyDyDwDkwEzXyDyDwTkwMzXyDyDwTkwMzXyDyDwTksMTXyDyDwTkswTXyDyDwTkswTXyDyDwTkkwTXyDyDwTkk0DXyDyDwTkk0DXyDyDwTkU0DXyDyDwTkVy7XyDyDwTkXz7VwDyDwDkXz7U0DyDw013z3k0DyDy017z3s0zyDz03U", 1) +FindText().PicLib("|<灰色的星星>5B5D5F-0.90$26.00E000C0007U001w000z000Ds007y001zk0DzzszzzzzzzzxzzzyDzzz0zzzU7zzk0zzs0Dzw03zzU0zzs0Dzy07zzU1zjs0TUy07U7k1U0Q8", 1) +FindText().PicLib("|<记录播放的播放>*200$53.sTzlztz3zks01zVy7zVk03z3wDz3U0Dz7sTy7W4D00kzk328y0100U601w02010000w7w03VU01wDkMD3U03sTUky7k0Tk01VwC00TU037s08ED000DU0sky480Q0003w8S0w3U07sEw3s700DlVs7wC4ATX3sDsQ00y67kTks01wAD0TVk03sMM0T3V37VkU08700C001UES00SA67Vkw00ysQzb", 1) +;endregion 识图素材 ;region 运行前提示 if g_numeric_settings["Username"] != A_Username ClickOnHelp @@ -177,11 +320,11 @@ MirrorEditControl.OnEvent("Change", (Ctrl, Info) => g_numeric_settings["MirrorCD cbAdjustSize := AddCheckboxSetting(doroGui, "AdjustSize", "启用窗口调整", "xs R1.2") doroGui.Tips.SetTip(cbAdjustSize, "勾选后,DoroHelper运行前会尝试将窗口调整至合适的尺寸,并在运行结束后还原") cbOpenBlablalink := AddCheckboxSetting(doroGui, "OpenBlablalink", "任务完成后自动打开Blablalink", "R1.2") -doroGui.Tips.SetTip(cbOpenBlablalink, "勾选后,当 DoroHelper 完成所有已选任务后,会自动在您的默认浏览器中打开 Blablalink 网站") +doroGui.Tips.SetTip(cbOpenBlablalink, "勾选后,当 DoroHelper 完成所有已选任务后,会自动在你的默认浏览器中打开 Blablalink 网站") cbSelfClosing := AddCheckboxSetting(doroGui, "SelfClosing", "任务完成后自动关闭程序", "R1.2") doroGui.Tips.SetTip(cbSelfClosing, "勾选后,当 DoroHelper 完成所有已选任务后,程序将自动退出`r`n注意:测试版本中此功能可能会被禁用") TextToleranceLabel := doroGui.Add("Text", "Section +0x0100", "识图宽容度") -doroGui.Tips.SetTip(TextToleranceLabel, "调整图像识别的相似度阈值`r`n数值越高,匹配越宽松,更容易识别到目标但也可能发生误判`r`n数值越低,匹配越严格,准确性更高但可能错过一些稍有差异的目标`r`n请根据您的游戏分辨率和缩放情况适当调整") +doroGui.Tips.SetTip(TextToleranceLabel, "调整图像识别的相似度阈值`r`n数值越高,匹配越宽松,更容易识别到目标但也可能发生误判`r`n数值越低,匹配越严格,准确性更高但可能错过一些稍有差异的目标`r`n请根据你的游戏分辨率和缩放情况适当调整") SliderTolerance := doroGui.Add("Slider", "w200 Range100-200 TickInterval1 ToolTip vToleranceSlider", g_numeric_settings["Tolerance"] * 100) doroGui.Tips.SetTip(SliderTolerance, "拖动滑块来调整识图的宽容度`r`n范围从 1.00 (最严格) 到 2.00 (最宽松)`r`n具体数值会显示在右侧的文本框中") SliderTolerance.OnEvent("Change", (CtrlObj, Info) => ChangeSlider("Tolerance", CtrlObj)) @@ -215,12 +358,12 @@ doroGui.Tips.SetTip(cbTower, "总开关:控制是否执行无限之塔相关 cbInterception := AddCheckboxSetting(doroGui, "Interception", "异常拦截", "R1.2 xs") doroGui.Tips.SetTip(cbInterception, "总开关:控制是否执行异常拦截战任务`r`nBOSS选择、是否截图等详细设置请前往「战斗」标签页") cbAward := AddCheckboxSetting(doroGui, "Award", "奖励收取", "R1.2 xs") -doroGui.Tips.SetTip(cbAward, "总开关:控制是否执行各类日常奖励的自动收取任务`r`n具体的奖励项目请在「奖励」标签页中选择") +doroGui.Tips.SetTip(cbAward, "总开关:控制是否执行各类日常奖励的收取任务`r`n具体的奖励项目请在「奖励」标签页中选择") Tab.UseTab("商店") TextCashShopTitle := doroGui.Add("Text", "R1.2 Section +0x0100", "===付费商店===") doroGui.Tips.SetTip(TextCashShopTitle, "设置与游戏内付费商店相关购买选项") cbCashShop := AddCheckboxSetting(doroGui, "CashShop", "领取免费珠宝", "R1.2 xs") -doroGui.Tips.SetTip(cbCashShop, "自动领取付费商店中每日、每周、每月可获得的免费珠宝`r`n重要:如果您的游戏账号因网络原因无法正常进入付费商店,请不要勾选此项,否则可能导致程序卡住") +doroGui.Tips.SetTip(cbCashShop, "自动领取付费商店中每日、每周、每月可获得的免费珠宝`r`n重要:如果你的游戏账号因网络原因无法正常进入付费商店,请不要勾选此项,否则可能导致程序卡住") TextNormalShopTitle := doroGui.Add("Text", "R1.2 xs Section +0x0100", "===普通商店===") doroGui.Tips.SetTip(TextNormalShopTitle, "设置与游戏内普通商店(使用信用点购买)相关选项") cbNormalShop := AddCheckboxSetting(doroGui, "NormalShop", "每日白嫖2次", "R1.2 ") @@ -267,16 +410,16 @@ doroGui.Tips.SetTip(cbChampionArena, "在活动期间进行跟风竞猜") TextInterceptionTeamTitle := doroGui.Add("Text", "R1.2 xs Section +0x0100", "===异常拦截编队===") doroGui.Tips.SetTip(TextInterceptionTeamTitle, "设置在执行异常拦截任务时,针对不同BOSS使用的队伍") DropDownListBoss := doroGui.Add("DropDownList", "Choose" String(g_numeric_settings["InterceptionBoss"]), ["克拉肯(石),编队1", "镜像容器(手),编队2", "茵迪维利亚(衣),编队3", "过激派(头),编队4", "死神(脚),编队5"]) -doroGui.Tips.SetTip(DropDownListBoss, "在此选择异常拦截任务中优先挑战的BOSS`r`n请确保游戏内对应编号的队伍已经配置好针对该BOSS的阵容`r`n例如,选择克拉肯(石),编队1,则程序会使用您的编队1去挑战克拉肯`r`n会使用3号位的狙击或发射器角色打红圈") +doroGui.Tips.SetTip(DropDownListBoss, "在此选择异常拦截任务中优先挑战的BOSS`r`n请确保游戏内对应编号的队伍已经配置好针对该BOSS的阵容`r`n例如,选择克拉肯(石),编队1,则程序会使用你的编队1去挑战克拉肯`r`n会使用3号位的狙击或发射器角色打红圈") DropDownListBoss.OnEvent("Change", (CtrlObj, Info) => ChangeNum("InterceptionBoss", CtrlObj)) cbInterceptionShot := AddCheckboxSetting(doroGui, "InterceptionShot", "结果截图", "x+5 yp+3 R1.2") doroGui.Tips.SetTip(cbInterceptionShot, "勾选后,在每次异常拦截战斗结束后,自动截取结算画面的图片,并保存在程序目录下的「截图」文件夹中") TextSimRoomTitleBattle := doroGui.Add("Text", "R1.2 xs Section +0x0100", "===模拟室===") doroGui.Tips.SetTip(TextSimRoomTitleBattle, "设置与模拟室挑战相关的选项") TextNormalSimRoomLabel := doroGui.Add("Text", "R1.2 xs Section +0x0100", "普通模拟室") -doroGui.Tips.SetTip(TextNormalSimRoomLabel, "普通模拟室的日常扫荡。此功能需要您在游戏内已经解锁了快速模拟功能才能正常使用`r`n此选项的勾选在「任务」标签里") +doroGui.Tips.SetTip(TextNormalSimRoomLabel, "普通模拟室的日常扫荡。此功能需要你在游戏内已经解锁了快速模拟功能才能正常使用,需要预勾选5C`r`n此选项的勾选在「任务」标签里") cbSimulationOverClock := AddCheckboxSetting(doroGui, "SimulationOverClock", "模拟室超频", "R1.2") -doroGui.Tips.SetTip(cbSimulationOverClock, "勾选后,自动进行模拟室超频挑战`r`n程序会默认尝试使用您上次进行超频挑战时选择的增益标签组合`r`n挑战难度必须是25") +doroGui.Tips.SetTip(cbSimulationOverClock, "勾选后,自动进行模拟室超频挑战`r`n程序会默认尝试使用你上次进行超频挑战时选择的增益标签组合`r`n挑战难度必须是25") TextTowerTitleBattle := doroGui.Add("Text", "R1.2 xs Section +0x0100", "===无限之塔===") doroGui.Tips.SetTip(TextTowerTitleBattle, "设置与无限之塔挑战相关的选项") cbCompanyTower := AddCheckboxSetting(doroGui, "CompanyTower", "爬企业塔", "R1.2") @@ -291,29 +434,31 @@ doroGui.Tips.SetTip(cbOutpostDefence, "自动领取前哨基地的离线挂机 cbExpedition := AddCheckboxSetting(doroGui, "Expedition", "领取并重新派遣委托", "R1.2 xs+15") doroGui.Tips.SetTip(cbExpedition, "自动领取已完成的派遣委托奖励,并根据当前可用妮姬重新派遣新的委托任务") cbLoveTalking := AddCheckboxSetting(doroGui, "LoveTalking", "咨询妮姬", "R1.2 xs Section") -doroGui.Tips.SetTip(cbLoveTalking, "自动进行每日的妮姬咨询,以提升好感度`r`n您可以通过在游戏内将妮姬设置为收藏状态来调整咨询的优先顺序`r`n会循环直到次数耗尽") +doroGui.Tips.SetTip(cbLoveTalking, "自动进行每日的妮姬咨询,以提升好感度`r`n你可以通过在游戏内将妮姬设置为收藏状态来调整咨询的优先顺序`r`n会循环直到次数耗尽") cbAppreciation := AddCheckboxSetting(doroGui, "Appreciation", "花絮鉴赏", "R1.2 xs+15") doroGui.Tips.SetTip(cbAppreciation, "自动观看并领取花絮鉴赏中当前可领取的奖励") cbFriendPoint := AddCheckboxSetting(doroGui, "FriendPoint", "好友点数收取", "R1.2 xs") -doroGui.Tips.SetTip(cbFriendPoint, "自动收取并回赠好友点数") +doroGui.Tips.SetTip(cbFriendPoint, "收取并回赠好友点数") cbMail := AddCheckboxSetting(doroGui, "Mail", "邮箱收取", "R1.2") -doroGui.Tips.SetTip(cbMail, "自动收取邮箱中所有奖励") -;cbRankingReward := AddCheckboxSetting(doroGui, "RankingReward", "方舟排名奖励", "R1.2") -;doroGui.Tips.SetTip(cbRankingReward, "自动领取方舟内各类排名活动(如无限之塔排名、竞技场排名等)的结算奖励") +doroGui.Tips.SetTip(cbMail, "收取邮箱中所有奖励") +cbRankingReward := AddCheckboxSetting(doroGui, "RankingReward", "方舟排名奖励", "R1.2") +doroGui.Tips.SetTip(cbRankingReward, "自动领取方舟内各类排名活动(如无限之塔排名、竞技场排名等)的结算奖励") cbMission := AddCheckboxSetting(doroGui, "Mission", "任务收取", "R1.2") -doroGui.Tips.SetTip(cbMission, "自动收取每日任务、每周任务、主线任务以及成就等已完成任务的奖励") +doroGui.Tips.SetTip(cbMission, "收取每日任务、每周任务、主线任务以及成就等已完成任务的奖励") +cbSession := AddCheckboxSetting(doroGui, "Session", "小活动", "R1.2") +doroGui.Tips.SetTip(cbSession, "对最新的挑战关卡进行战斗或快速战斗`r`n然后对主要活动的第11关消耗所有次数进行快速战斗") +cbFestival := AddCheckboxSetting(doroGui, "Festival", "大活动", "R1.2") +doroGui.Tips.SetTip(cbFestival, "进行签到`r`n对最新的挑战关卡进行战斗或快速战斗`r`n然后对主要活动的第11关消耗所有次数进行快速战斗") cbPass := AddCheckboxSetting(doroGui, "Pass", "通行证收取", "R1.2") -doroGui.Tips.SetTip(cbPass, "自动收取当前通行证中所有可领取的等级奖励") -cbActivity := AddCheckboxSetting(doroGui, "Activity", "小活动(需刷到11关)", "R1.2") -doroGui.Tips.SetTip(cbActivity, "针对当前正在进行的小型剧情活动`r`n自动对最新的挑战关卡进行战斗或快速战斗`r`n然后对主要活动的第11关消耗所有次数进行快速战斗") +doroGui.Tips.SetTip(cbPass, "收取当前通行证中所有可领取的等级奖励") TextLimitedAwardTitle := doroGui.Add("Text", "R1.2 Section +0x0100", "===限时奖励===") doroGui.Tips.SetTip(TextLimitedAwardTitle, "设置在特定活动期间可领取的限时奖励或可参与的限时活动") cbFreeRecruit := AddCheckboxSetting(doroGui, "FreeRecruit", "活动期间每日免费招募", "R1.2") doroGui.Tips.SetTip(cbFreeRecruit, "勾选后,如果在特定活动期间有每日免费招募机会,则自动进行募") cbCooperate := AddCheckboxSetting(doroGui, "Cooperate", "协同作战", "R1.2") -doroGui.Tips.SetTip(cbCooperate, "自动参与每日三次的协同作战,战斗期间摆烂什么都不会干") +doroGui.Tips.SetTip(cbCooperate, "参与每日三次的普通难度协同作战`r`n也可参与大活动的协同作战") cbSoloRaid := AddCheckboxSetting(doroGui, "SoloRaid", "单人突击日常", "R1.2") -doroGui.Tips.SetTip(cbSoloRaid, "自动参与单人突击,自动对最新的关卡进行战斗或快速战斗") +doroGui.Tips.SetTip(cbSoloRaid, "参与单人突击,自动对最新的关卡进行战斗或快速战斗") cbRoadToVillain := AddCheckboxSetting(doroGui, "RoadToVillain", "德雷克·反派之路", "R1.2") doroGui.Tips.SetTip(cbRoadToVillain, "针对德雷克·反派之路的特殊限时活动,自动领取相关的任务奖励和进度奖励") Tab.UseTab("日志") @@ -321,7 +466,7 @@ LogBox := doroGui.Add("Edit", "r20 w270 ReadOnly") LogBox.Value := "日志开始...`r`n" ;初始内容 Tab.UseTab() BtnDoro := doroGui.Add("Button", "Default w80 xm+100", "DORO!") -doroGui.Tips.SetTip(BtnDoro, "点击启动 DoroHelper 主程序!`r`nDoro 将会按照您在各个标签页中的设置,开始自动执行所有已勾选的任务`r`n在点击前,请确保游戏客户端已在前台运行并处于大厅界面") +doroGui.Tips.SetTip(BtnDoro, "点击启动 DoroHelper 主程序!`r`nDoro 将会按照你在各个标签页中的设置,开始自动执行所有已勾选的任务`r`n在点击前,请确保游戏客户端已在前台运行并处于大厅界面") BtnDoro.OnEvent("Click", ClickOnDoro) if g_settings["AutoCheckUpdate"] CheckForUpdate(false) @@ -376,14 +521,16 @@ ClickOnDoro(*) { FriendPoint() if g_settings["Mail"] Mail() - ;if g_settings["RankingReward"] ;方舟排名奖励 - ; RankingReward() + if g_settings["RankingReward"] ;方舟排名奖励 + RankingReward() if g_settings["Mission"] Mission() + if g_settings["Session"] + Session() + if g_settings["Festival"] + Festival() if g_settings["Pass"] Pass() - if g_settings["Activity"] - Activity() if g_settings["FreeRecruit"] FreeRecruit() if g_settings["Cooperate"] @@ -421,7 +568,6 @@ Initialization() { } global stdScreenW := 3840 global stdScreenH := 2160 - global BattleActive := 1 global nikkeID := "" global NikkeX := 0 global NikkeY := 0 @@ -543,7 +689,7 @@ CheckForUpdate(isManualCheck) { if (isManualCheck) { MsgBox("Mirror酱 CDK 为空,无法检查更新。", sourceName . "检查更新错误", "IconX") } - AddLog(sourceName . " 更新检查:CDK为空。") + AddLog(sourceName . " 更新检查:CDK为空") return } local apiUrl := "https://mirrorchyan.com/api/resources/DoroHelper/latest?" @@ -586,16 +732,16 @@ CheckForUpdate(isManualCheck) { DllCall("OleAut32\SafeArrayUnaccessData", "Ptr", ComObjValue(ResponseBody)) AddLog(sourceName . " DEBUG: ResponseBody (SafeArray) converted to UTF-8 string using StrGet.") } else { - AddLog(sourceName . " 警告: SafeArray 大小为0或无效。") + AddLog(sourceName . " 警告: SafeArray 大小为0或无效") ResponseTextForJson := "" ; 确保 ResponseTextForJson 有定义 } } catch as e_sa { AddLog(sourceName . " 错误: 处理 ResponseBody (SafeArray) 失败: " . e_sa.Message ". 类型: " . ComObjType(ResponseBody, "Name")) ResponseTextForJson := HttpRequest.ResponseText ; 回退 - AddLog(sourceName . " 警告: SafeArray 处理失败,回退到 HttpRequest.ResponseText,可能存在编码问题。") + AddLog(sourceName . " 警告: SafeArray 处理失败,回退到 HttpRequest.ResponseText,可能存在编码问题") } } else if (IsObject(ResponseBody)) { - AddLog(sourceName . " 警告: ResponseBody 是对象但不是 SafeArray (类型: " . ComObjType(ResponseBody, "Name") . "),尝试 ADODB.Stream。") + AddLog(sourceName . " 警告: ResponseBody 是对象但不是 SafeArray (类型: " . ComObjType(ResponseBody, "Name") . "),尝试 ADODB.Stream") try { local Stream := ComObject("ADODB.Stream") Stream.Type := 1 ; adTypeBinary @@ -610,10 +756,10 @@ CheckForUpdate(isManualCheck) { } catch as e_adodb { AddLog(sourceName . " 错误: ADODB.Stream 处理 ResponseBody (non-SafeArray COM Object) 失败: " . e_adodb.Message) ResponseTextForJson := HttpRequest.ResponseText ; 最终回退 - AddLog(sourceName . " 警告: ADODB.Stream 失败,回退到 HttpRequest.ResponseText,可能存在编码问题。") + AddLog(sourceName . " 警告: ADODB.Stream 失败,回退到 HttpRequest.ResponseText,可能存在编码问题") } } else { - AddLog(sourceName . " 警告: ResponseBody 不是 COM 对象,或请求未成功。将直接使用 HttpRequest.ResponseText。") + AddLog(sourceName . " 警告: ResponseBody 不是 COM 对象,或请求未成功。将直接使用 HttpRequest.ResponseText") ResponseTextForJson := HttpRequest.ResponseText } AddLog(sourceName . " API Response Status 200. Decoded ResponseTextForJson (first 500 chars): " . SubStr(ResponseTextForJson, 1, 500)) @@ -652,21 +798,21 @@ CheckForUpdate(isManualCheck) { } local mirrorData := potentialData latestObj.version := mirrorData.Get("version_name", "") - latestObj.change_notes := mirrorData.Get("release_note", "无更新说明。") + latestObj.change_notes := mirrorData.Get("release_note", "无更新说明") latestObj.download_url := mirrorData.Get("url", "") if latestObj.version = "" { if (isManualCheck) { MsgBox(sourceName . " API 响应中版本信息为空。", sourceName . "检查更新错误", "IconX") } - AddLog(sourceName . " 更新检查:API响应中版本信息为空。") + AddLog(sourceName . " 更新检查:API响应中版本信息为空") return } AddLog(sourceName . " 更新检查:获取到版本 " . latestObj.version) if (CompareVersionsSemVer(latestObj.version, currentVersion) > 0) { foundNewVersion := true - AddLog(sourceName . " 版本比较:发现新版本。") + AddLog(sourceName . " 版本比较:发现新版本") } else { - AddLog(sourceName . " 版本比较:当前已是最新或更新。") + AddLog(sourceName . " 版本比较:当前已是最新或更新") } } catch as e { local errorDetails := "错误类型: " . Type(e) . ", 消息: " . e.Message @@ -699,7 +845,7 @@ CheckForUpdate(isManualCheck) { if (isManualCheck) { MsgBox("无法获取 Github 版本列表,请检查网络或仓库信息。", sourceName . "检查更新错误", "IconX") } - AddLog(sourceName . " 更新检查:无法获取版本列表。") + AddLog(sourceName . " 更新检查:无法获取版本列表") return } local targetRelease := "" @@ -711,12 +857,12 @@ CheckForUpdate(isManualCheck) { AddLog(errMsg) return } - AddLog(sourceName . " 更新检查:预发布版优先,已选定 Release。") + AddLog(sourceName . " 更新检查:预发布版优先,已选定 Release") } else { AddLog(sourceName . " 更新检查:稳定版优先,正在查找...") for release_item in allReleases { if !(IsObject(release_item) && (release_item.HasProp("version") || release_item.HasProp("tag_name"))) { - AddLog(sourceName . " DEBUG: 跳过一个无效的或缺少版本信息的 Release 对象。") + AddLog(sourceName . " DEBUG: 跳过一个无效的或缺少版本信息的 Release 对象") continue } local current_release_version := release_item.HasProp("version") ? release_item.version : release_item.tag_name @@ -727,7 +873,7 @@ CheckForUpdate(isManualCheck) { } } if !IsObject(targetRelease) { - AddLog(sourceName . " 更新检查:未找到稳定版,将使用最新版本进行比较。") + AddLog(sourceName . " 更新检查:未找到稳定版,将使用最新版本进行比较") targetRelease := allReleases[1] if !(IsObject(targetRelease) && (targetRelease.HasProp("version") || targetRelease.HasProp("tag_name"))) { local errMsg := sourceName . " 更新检查:回退到的最新 Release 对象也无效或缺少版本信息。" @@ -750,7 +896,7 @@ CheckForUpdate(isManualCheck) { latestObj.version := targetRelease.tag_name } else { latestObj.version := "" - AddLog(sourceName . " 警告: Release 对象缺少 'version' 或 'tag_name' 属性。") + AddLog(sourceName . " 警告: Release 对象缺少 'version' 或 'tag_name' 属性") } ; 更新内容 if (targetRelease.HasProp("change_notes")) { @@ -782,7 +928,7 @@ CheckForUpdate(isManualCheck) { } } if (latestObj.download_url = "") - AddLog(sourceName . " 警告: 在 'assets' 中未精确匹配到 'DoroHelper*.exe' 或 'assets' 结构不符。") + AddLog(sourceName . " 警告: 在 'assets' 中未精确匹配到 'DoroHelper*.exe' 或 'assets' 结构不符") } else if (targetRelease.HasProp("downloadURLs") && targetRelease.downloadURLs is Array && targetRelease.downloadURLs.Length > 0 && Trim(targetRelease.downloadURLs[1]) != "") { ; AHK v2: is Array latestObj.download_url := targetRelease.downloadURLs[1] @@ -793,7 +939,7 @@ CheckForUpdate(isManualCheck) { AddLog(sourceName . " 使用顶层 download_url 属性作为下载链接 (Fallback): " . latestObj.download_url) } else { - AddLog(sourceName . " 警告: Release 对象未找到任何有效的下载链接属性 (已尝试: downloadURL, assets, downloadURLs, download_url)。") + AddLog(sourceName . " 警告: Release 对象未找到任何有效的下载链接属性 (已尝试: downloadURL, assets, downloadURLs, download_url)") } if latestObj.version = "" { local errMsg := sourceName . " 更新检查:未能从选定的 Release 对象获取版本号。" @@ -802,14 +948,14 @@ CheckForUpdate(isManualCheck) { return } if latestObj.download_url = "" { - AddLog(sourceName . " 警告: 未能为版本 " . latestObj.version . " 找到有效的下载链接。") + AddLog(sourceName . " 警告: 未能为版本 " . latestObj.version . " 找到有效的下载链接") } AddLog(sourceName . " 更新检查:获取到版本 " . latestObj.version . (latestObj.download_url ? "" : " (下载链接未找到)")) if (CompareVersionsSemVer(latestObj.version, currentVersion) > 0) { foundNewVersion := true - AddLog(sourceName . " 版本比较:发现新版本。") + AddLog(sourceName . " 版本比较:发现新版本") } else { - AddLog(sourceName . " 版本比较:当前已是最新或更新。") + AddLog(sourceName . " 版本比较:当前已是最新或更新") } } catch as githubError { if (isManualCheck) { @@ -821,7 +967,7 @@ CheckForUpdate(isManualCheck) { } ; ==================== 处理检查结果 ==================== if foundNewVersion { - AddLog(sourceName . " 更新检查:发现新版本 " . latestObj.version . ",准备提示用户。") + AddLog(sourceName . " 更新检查:发现新版本 " . latestObj.version . ",准备提示用户") if (latestObj.download_url = "" && isManualCheck) { MsgBox("已检测到新版本 " . latestObj.version . ",但未能获取到下载链接。请检查 Github 库或手动下载。", "更新提示", "IconW") } @@ -845,7 +991,7 @@ CheckForUpdate(isManualCheck) { MsgBox("当前通道为:" . channelInfo . "通道 - " . latestObj.display_name . "`n最新版本为:" . latestObj.version "`n当前版本为:" . currentVersion "`n当前已是最新版本", "检查更新", "IconI") } } else { - AddLog((sourceName ? sourceName : "更新") . " 更新检查:未能获取到有效的版本信息或检查被中止。") + AddLog((sourceName ? sourceName : "更新") . " 更新检查:未能获取到有效的版本信息或检查被中止") if (isManualCheck) { MsgBox("未能完成更新检查。请查看日志了解详情。", "检查更新", "IconX") } @@ -864,7 +1010,7 @@ DownloadUpdate(*) { downloadUrlToUse := latestObj.download_url if downloadUrlToUse = "" { MsgBox("错误:找不到有效的 " . latestObj.display_name . " 下载链接。", "下载错误", "IconX") - AddLog(latestObj.display_name . " 下载错误:下载链接为空。") + AddLog(latestObj.display_name . " 下载错误:下载链接为空") return } AddLog(latestObj.display_name . " 下载:开始下载 " . downloadUrlToUse . " 到 " . A_ScriptDir "\" finalName) @@ -875,7 +1021,7 @@ DownloadUpdate(*) { Github.Download(downloadUrlToUse, A_ScriptDir "\" downloadTempName) downloadStatusCode := ErrorLevel if downloadStatusCode != 0 { - throw Error("Github 下载失败 (ErrorLevel: " . downloadStatusCode . "). 检查 Github.Download 库的内部提示或网络。") + throw Error("Github 下载失败 (ErrorLevel: " . downloadStatusCode . "). 检查 Github.Download 库的内部提示或网络") } } else if latestObj.source == "mirror" { ErrorLevel := 0 @@ -1012,7 +1158,7 @@ ClickOnHelp(*) { 3. 请不要开启会改变画面颜色相关的功能或设置,例如 - 软件层面:各种驱动的色彩滤镜,部分笔记本的真彩模式 - 设备层面:显示器的护眼模式、色彩模式、色温调节、HDR 等。 -4. 游戏语言设置为**简体中文**,设定-画质-开启光晕效果,设定-画质-开启颜色分级 +4. 游戏语言设置为**简体中文**,设定-画质-开启光晕效果,设定-画质-开启颜色分级,不要使用太亮的大厅背景 5. 以**管理员身份**运行 DoroHelper )" } @@ -1263,14 +1409,12 @@ GoBack() { ;tag 结算招募 Recruit() { AddLog("结算招募") - Text := "|*119$57.k1z7wT7k0w07kz1kw0100S7kS7U0003ky7kw003sS7Vy7Vy0T3ksTkwDk3zy63y7Vy0TzkkzkwDk07y47y7Vy00Dk0zkw00k0S03y7U07U3k0Tkw01zsS11y7U0Tz3kQDkwDz3sS7Uy7VzsT3ky7kwDz00S7kS7Vzs03kz3kwDz00S7wC7Vzy07kzVkwDzU" - while !(ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { ;如果没找到SKIP就一直点左下角(加速动画) + while !(ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.944 * NikkeW . " ", NikkeY + 0.011 * NikkeH . " ", NikkeX + 0.944 * NikkeW + 0.015 * NikkeW . " ", NikkeY + 0.011 * NikkeH + 0.029 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("SKIP的箭头"), , 0, , , , , TrueRatio, TrueRatio)) { ;如果没找到SKIP就一直点左下角(加速动画) Confirm } FindText().Click(X, Y, "L") ;找到了就点 Sleep 1000 - Text := "|<确认>*143$52.zzXzzzzby0C7zwTwDk0E1zkzkz0303z1z7z0M0Dy3wTyDVVzwDlzsw01zzz7zXU01zzwTwA0060zlzk000M1z3y00llU7wDs0U07kTkz0200Tlz3w6801z7s7kMU27wTUT1WAMTly1y6801z7s3wM007wL0DlU00TkA8T00UVy01Vw0777s073k0QQTUUw723k1w47sAQD07tkzkzly0zz7zW" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.421 * NikkeW . " ", NikkeY + 0.889 * NikkeH . " ", NikkeX + 0.421 * NikkeW + 0.028 * NikkeW . " ", NikkeY + 0.889 * NikkeH + 0.027 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("确认"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") Sleep 1000 } @@ -1280,24 +1424,39 @@ RefuseSale() { sleep 3000 AddLog("尝试关闭可能的推销页面") Confirm - Text := "|<确认的图标>*184$34.zy03zzzU07zzs00zzz0Tzzzs7zzvz1zzz7sDzzsD1zzz1wDzzsDVzzz1y7zzsDkzzz1z3zzsDwDzz1zlyTsDz7kz1zwT1sDzly31zk7w0Dz0Ts1zw0zkDzl3zVzz6DzDzsMTzzzXkzzzwD3zzzVy7zzw7wDzzUzkDzw7zkDz0zzU007zz001zzz00TzzzkDzy" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.518 * NikkeW . " ", NikkeY + 0.609 * NikkeH . " ", NikkeX + 0.518 * NikkeW + 0.022 * NikkeW . " ", NikkeY + 0.609 * NikkeH + 0.033 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") } sleep 1000 } +;tag 判断是否开启自动 +CheckAuto() { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.005 * NikkeW . " ", NikkeY + 0.012 * NikkeH . " ", NikkeX + 0.005 * NikkeW + 0.073 * NikkeW . " ", NikkeY + 0.012 * NikkeH + 0.043 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("AUTO的图标"), , , , , , , TrueRatio, TrueRatio)) { + Send "{Tab}" + } + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.005 * NikkeW . " ", NikkeY + 0.012 * NikkeH . " ", NikkeX + 0.005 * NikkeW + 0.073 * NikkeW . " ", NikkeY + 0.012 * NikkeH + 0.043 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("射击的图标"), , , , , , , TrueRatio, TrueRatio)) { + Send "{LShift}" + } +} ;tag 进入战斗 EnterToBattle() { - global BattleActive := 1 + global BattleActive AddLog("尝试进入战斗") - Text := "|<进入战斗的进>*175$32.tzsS7wDy7Vz1zVsTkDsQ7y1w71zkE003yQ000zz000Dzs003zzsQ7zzy7Vy0zVsT0DsQ7k3U00A0k001wA000T30007ky3kTwDUw7z3sTVzkw7kTwD1w7z3UzVzkwTkTk3byDs0Dzzw000001k000Mz0006Tw001U" - if (ok := FindText(&X := "wait", &Y := 5, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.506 * NikkeW . " ", NikkeY + 0.826 * NikkeH . " ", NikkeX + 0.506 * NikkeW + 0.145 * NikkeW . " ", NikkeY + 0.826 * NikkeH + 0.065 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("快速战斗的图标"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("点击快速战斗") + FindText().Click(X + 50 * TrueRatio, Y, "L") + Sleep 500 + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.553 * NikkeW . " ", NikkeY + 0.683 * NikkeH . " ", NikkeX + 0.553 * NikkeW + 0.036 * NikkeW . " ", NikkeY + 0.683 * NikkeH + 0.040 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("MAX"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + } + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("进行战斗的进"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + } + } + else if (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("进入战斗的进"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击进入战斗") - FindText().Click(X + 100 * TrueRatio, Y, "L") - Sleep 500 - FindText().Click(X + 100 * TrueRatio, Y, "L") - Sleep 500 - FindText().Click(X + 100 * TrueRatio, Y, "L") + BattleActive := 1 + FindText().Click(X + 50 * TrueRatio, Y, "L") } else { BattleActive := 0 @@ -1305,124 +1464,86 @@ EnterToBattle() { GoBack } } -;tag 判断自动按钮颜色 -isAutoOff(sX, sY, k) { - uX := Round(sX * k) - uY := Round(sY * k) - uC := PixelGetColor(uX, uY) - r := Format("{:d}", "0x" . substr(uC, 3, 2)) - g := Format("{:d}", "0x" . substr(uC, 5, 2)) - b := Format("{:d}", "0x" . substr(uC, 7, 2)) - if Abs(r - g) < 10 && Abs(r - b) < 10 && Abs(g - b) < 10 - return true - return false -} -;tag 检查自动瞄准和自动爆裂按钮颜色 -CheckAutoBattle() { - static autoBurstOn := false - static autoAimOn := false - ;检查并开启自动瞄准 - if !autoAimOn && UserCheckColor([216], [160], ["0xFFFFFF"], scrRatio) { - ;如果自动瞄准按钮是灰色/关闭状态 - if isAutoOff(60, 57, scrRatio) { - UserClick(60, 71, scrRatio) ;点击开启自动瞄准 - Sleep 1000 - } - autoAimOn := true ;设置标志位,表示已尝试开启或已开启 - } - ;检查并开启自动爆裂 - if !autoBurstOn && UserCheckColor([216], [160], ["0xFFFFFF"], scrRatio) { ;假设检查点与 Auto Aim 相同 - ;如果自动爆裂按钮是灰色/关闭状态 - if isAutoOff(202, 66, scrRatio) { - Send "{Tab}" ;发送 Tab 键尝试开启自动爆裂 - Sleep 1000 - } - autoBurstOn := true ;设置标志位,表示已尝试开启或已开启 - } -} ;tag 战斗结算 BattleSettlement(Screenshot := false) { global Victory - ;如果没战斗次数就跳过 if (BattleActive = 0) { + AddLog("由于无法战斗,跳过战斗结算") return } - check := 0 + checkend := 0 + checkred := 0 AddLog("等待战斗结算") - ;无限塔胜利或失败会出现该图标 - TextTAB := "|*200$30.0Tzzz0Tzzz0Tzzz0Tzzz0Tzzz0Tzzz0Tzzz0T0Tz0T0Tz0T0Tz0T0Tz0T0Tz0T0Tz0T0S00T0S00T0S00T0S00T0S00T0S00T0S00T0S00T0S00T0S00T0S00T0S0zzzy0zzzzzzzzzzzzzzzzzzzz0000000000U0000U" - ;竞技场快速战斗会出现该图标 - TextR := "|*147$41.zzk07zzzy003zzzk001zzy0000zzs1zw0xzUDzy0ny1zzz03s7zzz07UTzzz0D1zzzz0Q7zzzw0sTzzzk1UzyTz033zwTzy27zsTzzsDzkTzzkzzUDzzVzz0Dzz3zy0Dzy7zw07zwDzs07zsTzk0TzkzzU1zzVzz07zz3zy0TzU3zw3zy27zsDzw4DzkzzsMDzbzzUsDzTzz3kTzzzw7kTzzzkTkTzzz1zUTzzw3zUDzzUDzUDzy0zzU3zU3zzk000Tzzk001zzzs00Dzzzy01zzk" - ;拦截扫荡会出现该图标 - Text点击 := "|<点击>*100$37.zlzzwTzszzyDzw0Dz7zy07U03z7zk01zXzzszk01zwTs00w00ATwQ006DyD0033y7zlzU03ssss03wQQTzzyCCAH4T776MX7U02ANXk00CAMs00U" while true { ; 检测自动战斗和爆裂 if (A_Index = 20) { - CheckAutoBattle + CheckAuto } - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, TextTAB, , 0, , , , , TrueRatio, TrueRatio)) { - check := check + 1 - ;AddLog("TAB已命中,共" check "次") + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("TAB的图标"), , 0, , , , , TrueRatio, TrueRatio)) { + checkend := checkend + 1 + ;AddLog("TAB已命中,共" checkend "次") } - else if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, TextR, 0, 0, , , , , TrueRatio, TrueRatio)) { - check := check + 1 - ;AddLog("R已命中,共" check "次") + else if (ok := FindText(&X, &Y, NikkeX + 0.012 * NikkeW . " ", NikkeY + 0.921 * NikkeH . " ", NikkeX + 0.012 * NikkeW + 0.036 * NikkeW . " ", NikkeY + 0.921 * NikkeH + 0.072 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("重播的图标"), , , , , , , TrueRatio, TrueRatio)) { + checkend := checkend + 1 + ;AddLog("重播的图标已命中,共" checkend "次") } - else if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text点击, 0, 0, , , , , TrueRatio, TrueRatio)) { - check := check + 1 - ;AddLog("点击已命中,共" check "次") + else if (ok := FindText(&X, &Y, NikkeX + 0.453 * NikkeW . " ", NikkeY + 0.866 * NikkeH . " ", NikkeX + 0.453 * NikkeW + 0.094 * NikkeW . " ", NikkeY + 0.866 * NikkeH + 0.056 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("点击"), , , , , , , TrueRatio, TrueRatio)) { + checkend := checkend + 1 + ;AddLog("点击已命中,共" checkend "次") } else { ;AddLog("均未命中,重新计数") - check := 0 + checkend := 0 } ;需要连续三次命中代表战斗结束 - if (check = 3) { + if (checkend = 3) { break } - Text上 := "|<红圈的上边缘>FEFE7B-323232$27.0Djk1zxzyzzjzzzxzzzzjzzw00z0000A" - Text下 := "|<红圈的下边缘>*220$27.7zzz0020000E00020000E07020DU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text上, , 0, , , , , TrueRatio, TrueRatio)) or (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text下, 0, 0, , , , , TrueRatio, TrueRatio)) { - AddLog("检测到红圈,尝试打红圈") - loop 20 { - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text上, , 0, , , , 1, TrueRatio, TrueRatio)) { - FindText().Click(X, Y + 30 * TrueRatio, 0) - Click "Down" - Sleep 700 - Click "Up" - } - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text下, 0, 0, , , , 1, TrueRatio, TrueRatio)) { - FindText().Click(X, Y - 30 * TrueRatio, 0) - Click "Down" - Sleep 700 - Click "Up" + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("红圈的上边缘黄边"), , 0, , , , , TrueRatio, TrueRatio)) or (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("红圈的下边缘黄边"), , 0, , , , , TrueRatio, TrueRatio)) { + checkred := checkred + 1 + if checkred = 3 { + AddLog("检测到红圈,尝试打红圈") + loop 20 { + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("红圈的上边缘黄边"), , 0, , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y + 30 * TrueRatio, 0) + Click "Down" + Sleep 700 + Click "Up" + } + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("红圈的下边缘黄边"), , 0, , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y - 30 * TrueRatio, 0) + Click "Down" + Sleep 700 + Click "Up" + } } } } + else { + checkred := 0 + } } ;是否需要截图 if Screenshot { TimeString := FormatTime(, "yyyyMMdd_HHmmss") FindText().SavePic(A_ScriptDir "\截图\" TimeString ".jpg", NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, ScreenShot := 1) } - Text编队 := "|<编队>*103$46.tznzzznzXy7y0SDyC01s0szls07U7Xz7U0SASDsaTlslszW807WDXw1U0S8yDk601sXsz0szzWDVz3U0SAS7wQ00slsTUE03XX1w118CCQ3k44UsVkD7k03W60Tt00C8slw0Y0sz3302G3XsS4C98CD3s3lYUswTkzaG7Xnza" - Text下一关 := "|<下一关>*192$69.zzzzzzzzwzls001zzzzz3yD0007zzzzwTVs000zzzzzlwTzlzzzzzzk00TyDzzzzzw003zlzzzzzzU00TyDzzzzzzy7zzkDzzzzzzszzy0zk000zz7zzk1y0007zkzzyA3k000s000zlkTzzzz0007yDXzzzzzw3zzlyzzzzzzUTzyDzzzzzzs1zzlzzzzzzy23zyDzzzzzzUsDzlzzzzzzkDUTyDzzzzzk3y0zlzzzzzz1zwDyDzzzzzxzzxU" ;有编队代表输了,点Esc - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text编队, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("编队的图标"), , 0, , , , , TrueRatio, TrueRatio)) { AddLog("战斗失败!尝试返回") GoBack Sleep 1000 return False } ;如果有下一关,就点下一关(爬塔的情况) - else if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text下一关, , 0, , , , , TrueRatio, TrueRatio)) { + else if (ok := FindText(&X, &Y, NikkeX + 0.887 * NikkeW . " ", NikkeY + 0.909 * NikkeH . " ", NikkeX + 0.887 * NikkeW + 0.105 * NikkeW . " ", NikkeY + 0.909 * NikkeH + 0.081 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("下一关卡的图标"), , 0, , , , , TrueRatio, TrueRatio)) { AddLog("战斗成功!尝试进入下一关") Victory := Victory + 1 if Victory > 1 { AddLog("共胜利" Victory "次") } - FindText().Click(X, Y + 10 * TrueRatio, "L") - Sleep 1000 + FindText().Click(X, Y + 20 * TrueRatio, "L") + Sleep 5000 BattleSettlement } ;没有编队也没有下一关就点Esc(普通情况或者爬塔次数用完了) @@ -1438,18 +1559,17 @@ BattleSettlement(Screenshot := false) { ;tag 返回大厅 BackToHall() { AddLog("返回大厅") - Text方舟 := "|<方舟的图标>*200$57.0000w00000003zzU000003zzzk00003zzzzU0000zzzzz0000Tzzzzz0007zzzzzw003zzxzzzk00zzw7bzz00Dzz0wDzw03zzk7UTzk0Tzs0w1zz07zz0Tk7zw1zzkDzUzzkDzy3zy3zz3zzUzzkTzsTzw7zz3zzbzzzzzsDzyTzzzzzzzznzzzzzzzzzDzxzzzzzztzzUzzzzzz7zy7zz1zzsTzkTzsTzy3zz1zy3zzUDzs7zUTzw0zzUDk7zz03zy0w1zzk0Dzs7UTzy00zzkw7zzU03zz7Vzzs00Dzzzzzy000zzzzzz0001zzzzzk0003zzzzs00007zzzw000007zzy0000007zw000U" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text方舟, , 0, , , , , TrueRatio, TrueRatio)) { ;如果没有找到大厅的文本,就一直点击左下角的小房子 + while !(ok := FindText(&X, &Y, NikkeX + 0.658 * NikkeW . " ", NikkeY + 0.639 * NikkeH . " ", NikkeX + 0.658 * NikkeW + 0.040 * NikkeW . " ", NikkeY + 0.639 * NikkeH + 0.066 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("方舟的眼睛"), , 0, , , , , TrueRatio, TrueRatio)) { + ; 点左下角的小房子的位置 UserClick(333, 2041, scrRatio) Sleep 500 - Text := "|<确认的图标>*184$34.zy03zzzU07zzs00zzz0Tzzzs7zzvz1zzz7sDzzsD1zzz1wDzzsDVzzz1y7zzsDkzzz1z3zzsDwDzz1zlyTsDz7kz1zwT1sDzly31zk7w0Dz0Ts1zw0zkDzl3zVzz6DzDzsMTzzzXkzzzwD3zzzVy7zzw7wDzzUzkDzw7zkDz0zzU007zz001zzz00TzzzkDzy" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , 0, , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") Sleep 500 } } if !WinActive(nikkeID) { - MsgBox "窗口未聚焦,程序已终止" + MsgBox "窗口未聚焦,程序已中止" Pause } Sleep 1000 @@ -1457,60 +1577,48 @@ BackToHall() { ;tag 进入方舟 EnterToArk() { AddLog("尝试进入方舟") - Text方舟 := "|<方舟内部左上角的文本>*111$36.zXzzVzzXzzVzz1zs03001s03001s33sDzsVXwTzslXw07st3w07U00w07U00sT7kX3sz7sXXkz7kVXkz7llXVy7VzX3UDXy37kDXy7zszzzDU" ;判断方舟内部左上角的文本是否存在 - Text大厅 := "|<大厅方舟的图标>*161$56.000zzk000001zzzs00001zzzzU0001zzzzy0001zzzzzs000zzzzzz000TzyDzzw00Dzy3VzzU07zy0s7zw03zz0C0zzU1zzU3U7zw0zzs3w0zzUDzw3zkDzw7zz1zy1zz1zzUTzkDzszzsDzy3zzDzzzzzUzznzzzzzzzzyTzzzzzzzzrzy7zzzzzxzzUzzzzzzDzw7zy3zzlzz0zz0zzsTzsDzkTzw3zy0zs7zz0Tzk7k3zzU3zy0s0zzk0TzkC0Tzw03zy3UDzw00TzssDzz003zzzzzz000DzzzzzU001zzzzzk0007zzzzk0000Dzzzk00000zzzU000000zy0008" while True { Sleep 1000 - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.3 * PicTolerance, 0.3 * PicTolerance, Text大厅, , , , , , , TrueRatio, TrueRatio)) { ;查找并点击大厅的方舟按钮 - FindText().Click(X, Y, "L") ;找得到就尝试进入 - if (ok := FindText(&X := "wait", &Y := 5, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.3 * PicTolerance, 0.3 * PicTolerance, Text方舟, , , , , , , TrueRatio, TrueRatio)) { - AddLog("已进入方舟") - Sleep 1000 - break - } + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.658 * NikkeW . " ", NikkeY + 0.639 * NikkeH . " ", NikkeX + 0.658 * NikkeW + 0.040 * NikkeW . " ", NikkeY + 0.639 * NikkeH + 0.066 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("方舟的眼睛"), , 0, , , , , TrueRatio, TrueRatio)) { + FindText().Click(X + 50 * TrueRatio, Y, "L") ;找得到就尝试进入 + } + if (ok := FindText(&X := "wait", &Y := 5, NikkeX + 0.005 * NikkeW . " ", NikkeY + 0.010 * NikkeH . " ", NikkeX + 0.005 * NikkeW + 0.052 * NikkeW . " ", NikkeY + 0.010 * NikkeH + 0.058 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("左上角的方舟文本"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("已进入方舟") + break } else BackToHall() ;找不到就先返回大厅 } - Sleep 1000 + Sleep 2000 } -;tag 登录 +;endregion 流程辅助函数 +;region 登录 Login() { AddLog("正在登录") check := 0 while True { - Text := "|<方舟的图标>*200$57.0000w00000003zzU000003zzzk00003zzzzU0000zzzzz0000Tzzzzz0007zzzzzw003zzxzzzk00zzw7bzz00Dzz0wDzw03zzk7UTzk0Tzs0w1zz07zz0Tk7zw1zzkDzUzzkDzy3zy3zz3zzUzzkTzsTzw7zz3zzbzzzzzsDzyTzzzzzzzznzzzzzzzzzDzxzzzzzztzzUzzzzzz7zy7zz1zzsTzkTzsTzy3zz1zy3zzUDzs7zUTzw0zzUDk7zz03zy0w1zzk0Dzs7UTzy00zzkw7zzU03zz7Vzzs00Dzzzzzy000zzzzzz0001zzzzzk0003zzzzs00007zzzw000007zzy0000007zw000U" if (check = 3) { break } - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.658 * NikkeW . " ", NikkeY + 0.639 * NikkeH . " ", NikkeX + 0.658 * NikkeW + 0.040 * NikkeW . " ", NikkeY + 0.639 * NikkeH + 0.066 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("方舟的眼睛"), , 0, , , , , TrueRatio, TrueRatio)) { check := check + 1 continue } else check := 0 ;点击蓝色的确认按钮(如果出现更新提示等消息) - Text := "|<确认>*192$51.zz1zyDy7s0s0TUzkz0601y3y7s0U0TkTkzksT3z3y7yC3kTwzkzlk00zzy7wC0073zkzU800kDy7s1X761zkz0AMMsDw7s1U07lzUT2A00yDw3sFU07lzUT2AMMyDs1sFX77kb2DWAEEy0kkwF007k663W800y0VsA1737k8D0U0wsy23w407W7UUTUXkw0wC7y6SDU7nlzsU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, FindText().PicLib("确认的白色勾"), , 0, , , , , TrueRatio, TrueRatio)) { AddLog("发现更新,尝试点击") + FindText().Click(X + 50 * TrueRatio, Y, "L") + Sleep 1000 + } + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, FindText().PicLib("灰色空心方框"), , 0, , , , , TrueRatio, TrueRatio)) { + AddLog("发现公告,尝试勾选一周内不再提示") + FindText().Click(X, Y, "L") + } + if (ok := FindText(&X, &Y, NikkeX + 0.534 * NikkeW . " ", NikkeY + 0.906 * NikkeH . " ", NikkeX + 0.534 * NikkeW + 0.114 * NikkeW . " ", NikkeY + 0.906 * NikkeH + 0.062 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("勾"), , 0, , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") Sleep 1000 } - Text := "|<一周内不再提示的空框>*200$28.7zzzVzzzz7zzzyzzzzzk003z000Dw000zk003z000Dw000zk003z000Dw000zk003z000Dw000zk003z000Dw000zk003z000Dw000zk003z000DzzzzxzzzzXzzzwU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { - AddLog("发现公告,尝试勾选一周内不再提示后关闭") - FindText().Click(X, Y, "L") - Sleep 1000 - Text := "|<叉叉>*174$29.bzzzxDzzzmDzzz6DzzwSDzzlyDzz7yDzwTyDzlzyDz7zyDwTzyDlzzy77zzy8Tzzy1zzzy7zzzs7zzzU7zzy67zzsS7zzVy7zy7y7zsTy7zVzy7y7zy7sTzy7Vzzy67zzy0Tzzy1zzzyE" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 1000 - } - } - Text := "|<全部>*200$39.zrzzbzzwTzsy0z1zw0k7k7z028wQDs0na7kzb6N1z0wNn8Dw7nCF001s0ED00z02NzXzzznbwTzzyQw0Ds0nb00z06QzVzssl7yTzDa0zXzssnM00706TU01s0nzzzzjrzU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 1000 - } - UserClick(331, 2040, scrRatio) + Confirm Sleep 500 if !WinActive(nikkeID) { MsgBox "窗口未聚焦,程序已中止" @@ -1519,60 +1627,49 @@ Login() { } AddLog("已处于大厅页面,登录成功") } -;endregion 流程辅助函数 +;endregion 登录 ;region 商店 -;tag 付费商店每日每周免费钻 +;tag 付费商店 CashShop() { BackToHall AddLog("===付费商店任务开始===") AddLog("寻找付费商店") - Text := "|<付费>*190$44.003U3zz0M0sDzzsD0C3zzy7k3UTzz1s1y7zzkyzznzzzTzzwzzzrzzyDyxzw0S0yDSz23VzXqDlksDzzVwSC1zzsD7XUDyS3kws3XXUQCC0tss703UDzy3k0s3yzwQ3y7z1z71zVz01VkTkA000Q000000U" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.329 * NikkeW . " ", NikkeY + 0.583 * NikkeH . " ", NikkeX + 0.329 * NikkeW + 0.012 * NikkeW . " ", NikkeY + 0.583 * NikkeH + 0.022 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击付费商店") FindText().Click(X, Y, "L") Sleep 1000 - Text一级红点 := "|<带红点的礼物>*100$62.zzzzzzzzk3zzzzzzzzk0Tzzzzzzzs03zzzzzzzy00Tzzzzzzz007zzzzzzzk00zzzzzzzs00Dzzzzzzy003zzzzzzzU00znzyDzzs00DkDy0zzz003s1z07zzk01w0Dk1zzy00T7VsQDzzU0DlwADXzzw07wTU7kzzzk7z0000Tzzzzzs0007zzzzzz0007zzzzzzzzzzzzzzzzzzzzzzzzzz007U07zzzzk01s00zzzzw00S00Dzzzz007U03zzzzk01s00zzzzw00S00Dzzzz007U03zzzzk01s00zzzzw00S00Dzzzz007U03zzzzk01s00zzzzy" - Text二级红点 := "|<二级页面小红点>*200$69.000000000zk000000000TzU000000003kD000000000k0M00000000CTlbzzzzzzzXbzCzzzzzzzztzwrzzzzzzzzDzbzzzzzzzztzyTzzzzzzzzDznzzzzzzzztzyTzzzzzzzzDznzzzzzzzztzwzzzzzzzzz7zazzzzzzzzwTtrzzzzzzzzkwAzzzzzzzzz07bzzzzzzzzz3szzzzzzzzzzw7zzzzzzzzzzUzzzzzzzzzzw7zzzzzzzzzzUU" - Text三级红点 := "|<三级页面带礼包的红点>*157$80.zzzzzzzzzzzwDzzzzzzzzzzzs0zzzzzzzzzzzwC7zzzzzzzzzzyDszzzzzzzzzzz7z7zzzzzzzzzznztzzzzzzzzzzwzyDzzzzzzzzzzDznzzzzzzzzzzXzwzzzzzzzzzzwzzDzzzzzzzzzzDzbzzzzzzzzzzlzlzzzzzzzzzzyDsTzzzzzzzzzzUwDzzzzzzzzzzw07zzzzzzzzzzzk7zzzzzzzzzzzzzzzzzzzzzzzzzzzxzzzzzzzzzzzzyD7zsTzzzzzzzzXlzy7zzzzzzzzswTz007zzzzzzk37zk01zzzzzzw0lzs00TzzzzzzgATwDz7zzzzzzz77y01lzzzzzzzllzk0QTzzzzzzsQTz077zzzzzzs37zlllzzzzzzw0FzwQQzzzzzzz04Tz06Dzzzzzzm/7zk03zzzzzzzXltwTkzzzzzzzswST7zzzzzzzzyD7blzszzzzzzzXk1w00Dzzzzzzsy0TU03zzzzzzyDsTy03zzzzzzy" - Text日服的框 := "|<框框>*178$22.7zzks07a006M00D000w001k007000Q001k007000Q001k007000Q001k007000q003M00Ms07VzzwU" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text日服的框, , , , , , 3, TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, FindText().PicLib("灰色空心方框"), , , , , , 3, TrueRatio, TrueRatio)) { AddLog("发现日服特供的框") FindText().Click(X, Y, "L") Sleep 1000 - Text确认 := "|<确认的图标>*200$34.zzU7zzzk07zzw00zzzU7rzzw3zzzzUzzzbwDzzwDVzzzUy7zzw7kzzzUz7zzw7sTzzUzXzzw7yDzzUzszTw7z3szUzwD1w7zky3Uzs3w47zWDs0zy8zk7zsXzUzz27z7zwQTyzzVkzzzy7Vzzzky7zzy7w7zzkTsDzy3zkDzUTzU7k3zz000zzz00DzzzU7zy" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text确认, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , 0, , , , , TrueRatio, TrueRatio)) { AddLog("点击确认") FindText().Click(X, Y, "L") } } - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text一级红点, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.001 * NikkeW . " ", NikkeY + 0.182 * NikkeH . " ", NikkeX + 0.001 * NikkeW + 0.330 * NikkeW . " ", NikkeY + 0.182 * NikkeH + 0.075 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("礼物的图标"), , , , , , , TrueRatio, TrueRatio)) { Sleep 1000 AddLog("点击一级页面") - FindText().Click(X, Y, "L") + FindText().Click(X + 20 * TrueRatio, Y + 20 * TrueRatio, "L") Sleep 1000 } - else { - AddLog("付费商店已领取!") - AddLog("===付费商店任务结束===") - return - } - while (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text二级红点, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.010 * NikkeW . " ", NikkeY + 0.259 * NikkeH . " ", NikkeX + 0.010 * NikkeW + 0.351 * NikkeW . " ", NikkeY + 0.259 * NikkeH + 0.051 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击二级页面") - FindText().Click(X, Y, "L") - Sleep 500 - if (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text三级红点, , 0, , , , , TrueRatio, TrueRatio)) { + FindText().Click(X - 20 * TrueRatio, Y + 20 * TrueRatio, "L") + Sleep 1000 + if (ok := FindText(&X := "wait", &Y := 2, NikkeX + 0.089 * NikkeW . " ", NikkeY + 0.334 * NikkeH . " ", NikkeX + 0.089 * NikkeW + 0.019 * NikkeW . " ", NikkeY + 0.334 * NikkeH + 0.034 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击三级页面") - FindText().Click(X, Y, "L") + FindText().Click(X - 20 * TrueRatio, Y + 20 * TrueRatio, "L") Sleep 1000 - } - Text := "|<付费商店>*154$74.szby0TzszzwTyDtw00Q00Dz3z7yTU07001k00lz3k01k00w008E0Q00Tllz7Xw407003wMTlsz103k00s00wS0ETty34C00D7U06SS1l7a8nls0lXbk03s60wSDwMty00y1kD00776TW4DU03U01lnbslXt6AsU0QTty8syFXC8z77wTU0TY0nW01ls7U40t78lU0QS1sDsCTsCM07DVzzzzbzDzTvU" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { Confirm } } - else AddLog("付费商店已领取!") } - else AddLog("付费商店未找到!") + else { + AddLog("付费商店已领取!") + AddLog("===付费商店任务结束===") + return + } AddLog("===付费商店任务结束===") BackToHall } @@ -1580,49 +1677,45 @@ CashShop() { NormalShop() { AddLog("===普通商店任务开始===") BackToHall - Text := "|<商店的商>*200$29.zzlzzzy1zzzw004000000000U000z00z1zz1y7zy3sDzy700w0001k0003U0AC71ssAC3Vk0Q47s0s0Tk1k0013UU0771U0CC33sQQ67UssA01lkM033kkzy7VXzUD3zz1y7zzzwTzzzk" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.341 * NikkeW . " ", NikkeY + 0.625 * NikkeH . " ", NikkeX + 0.341 * NikkeW + 0.010 * NikkeW . " ", NikkeY + 0.625 * NikkeH + 0.017 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击商店图标") - FindText().Click(X, Y, "L") + FindText().Click(X - 20 * TrueRatio, Y + 20 * TrueRatio, "L") } else { - AddLog("未找到商店图标,任务结束。") + AddLog("普通商店已领取") + AddLog("===普通商店任务结束===") BackToHall return } - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text百货, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("已进入百货商店。") + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.001 * NikkeW . " ", NikkeY + 0.005 * NikkeH . " ", NikkeX + 0.001 * NikkeW + 0.065 * NikkeW . " ", NikkeY + 0.005 * NikkeH + 0.055 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("圈中的感叹号"), , 0, , , , , TrueRatio, TrueRatio)) { + AddLog("已进入百货商店") } + Sleep 1000 ; 定义所有可购买物品的信息 (使用 Map) PurchaseItems := Map( "免费商品", { - Text: "|<100%>*205$34.XUC0loA0k3KQnnDBPnDAwlDAwnnmAnnDDbnDAwyTAwnnmAnnDD+n0A0tfC0s3a8", + Text: FindText().PicLib("红点"), Setting: true, - Tolerance: 0.1 * PicTolerance - }, + Tolerance: 0.4 * PicTolerance }, "芯尘盒", { - Text: "|<芯尘盒>*174$62.1UM00k00600wD00S003k0Tzw1ba03z0Tzzkxvk3zwDzzwSSy3zztzzyDbbnzzz3mw7lsyzzzUNq1sS77zzk0w0A7UUTzs07U00k07zy0RsE0S01zzVzDS07U0DzkTn7Vzzs7zy7w1sTzy3zzlz0D7zzUzzwxkTk1s0DzzDSDw0S03zzkbzkTzzvzzz1zs7zzyzzzk7w1zzzjzzy", + Text: FindText().PicLib("芯尘盒"), Setting: g_settings["NormalShopDust"], - Tolerance: 0.2 * PicTolerance - }, + Tolerance: 0.3 * PicTolerance }, "简介个性化礼包", { - Text: "|<礼包>*179$37.6301k03Xk0s01ls0zzbyw0zzvzS0zzwzj0zyS3bUTzD3nk7zrXts1zvryw0Qxvzy0Dytzz07zwLrb3zy3XnVkDVltks1sszsTzwQDsDzwC3s1zwU", + Text: FindText().PicLib("简介"), Setting: g_settings["NormalShopPackage"], - Tolerance: 0.1 * PicTolerance - } + Tolerance: 0.3 * PicTolerance } ) loop 2 { for Name, item in PurchaseItems { if (!item.Setting) { continue ; 如果设置未开启,则跳过此物品 } - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, item.Tolerance, item.Tolerance, item.Text, , , , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.057 * NikkeW . " ", NikkeY + 0.483 * NikkeH . " ", NikkeX + 0.057 * NikkeW + 0.938 * NikkeW . " ", NikkeY + 0.483 * NikkeH + 0.050 * NikkeH . " ", item.Tolerance, item.Tolerance, item.Text, , , , , , , TrueRatio, TrueRatio)) { loop ok.Length { FindText().Click(ok[A_Index].x, ok[A_Index].y, "L") Sleep 1000 - Text确认 := "|<确认的图标>*200$34.zzU7zzzk07zzw00zzzU7rzzw3zzzzUzzzbwDzzwDVzzzUy7zzw7kzzzUz7zzw7sTzzUzXzzw7yDzzUzszTw7z3szUzwD1w7zky3Uzs3w47zWDs0zy8zk7zsXzUzz27z7zwQTyzzVkzzzy7Vzzzky7zzy7w7zzkTsDzy3zkDzUTzU7k3zz000zzz00DzzzU7zy" - Text信用点 := "|<信用点的图标>*172$29.000M0003s000Ds000ts007Vs00Tjk01zlk07zbk0zyTk3zzzUDzzzVzzzv7zzzyTzzzkjzzr6Dzzw4DzzU4jzy01zys0/zzU0Dzw00DQk00Dd000Dk000TU000S002" if name = "芯尘盒" { - if (ok0 := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text信用点, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok0 := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, FindText().PicLib("信用点的图标"), , 0, , , , , TrueRatio, TrueRatio)) { AddLog("检测到信用点支付选项") } else { @@ -1632,50 +1725,37 @@ NormalShop() { continue } } - if (ok1 := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text确认, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok1 := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , 0, , , , , TrueRatio, TrueRatio)) { AddLog("购买" . Name) FindText().Click(X, Y, "L") - Sleep 1000 + Sleep 500 } - while !(ok2 := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text百货, , 0, , , , , TrueRatio, TrueRatio)) { + while !(ok2 := FindText(&X := "wait", &Y := 3, NikkeX + 0.001 * NikkeW . " ", NikkeY + 0.005 * NikkeH . " ", NikkeX + 0.001 * NikkeW + 0.065 * NikkeW . " ", NikkeY + 0.005 * NikkeH + 0.055 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("圈中的感叹号"), , 0, , , , , TrueRatio, TrueRatio)) { Confirm } } } else { - AddLog(Name . "未找到,跳过购买。") + AddLog(Name . "未找到,跳过购买") } } - Text := "|*184$36.UA7kC0081U607slXyT7ssXyT7ssUC10MlUC10M1XyT7s3XyT7slU60bstU60U" - if (ok := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - TextRefreshIcon := "|<刷新的图标>*154$19.zlzz07y00C7w77z37z1bzs3zzVzz8zzUTzlzzs7zwUDwMDwA7wC0sD80Dz0Tk" - if (okRefreshIcon := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, TextRefreshIcon, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("点击免费刷新按钮。") - FindText().Click(X - 50 * TrueRatio, Y, "L") - Sleep 1000 - Text确认 := "|<确认的图标>*200$34.zzU7zzzk07zzw00zzzU7rzzw3zzzzUzzzbwDzzwDVzzzUy7zzw7kzzzUz7zzw7sTzzUzXzzw7yDzzUzszTw7z3szUzwD1w7zky3Uzs3w47zWDs0zy8zk7zsXzUzz27z7zwQTyzzVkzzzy7Vzzzky7zzy7w7zzkTsDzy3zkDzUTzU7k3zz000zzz00DzzzU7zy" - if (ok1 := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text确认, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 1000 - AddLog("刷新成功。") - } + while (ok := FindText(&X, &Y, NikkeX + 0.173 * NikkeW . " ", NikkeY + 0.423 * NikkeH . " ", NikkeX + 0.173 * NikkeW + 0.034 * NikkeW . " ", NikkeY + 0.423 * NikkeH + 0.050 * NikkeH . " ", 0.25 * PicTolerance, 0.25 * PicTolerance, FindText().PicLib("FREE"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X - 50 * TrueRatio, Y + 30 * TrueRatio, "L") + if (ok1 := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + AddLog("刷新成功") } } else { - AddLog("没有免费刷新次数了,跳过刷新。") + AddLog("没有免费刷新次数了,跳过刷新") break ; 退出外层 loop 2 循环,因为没有免费刷新了 } - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text百货, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("等待返回百货商店页面。") - Confirm - } - Sleep 1000 + Sleep 3000 } AddLog("===普通商店任务结束===") } ;tag 竞技场商店 ArenaShop() { AddLog("===竞技场商店任务开始===") - Text := "|<竞技场商店的图标>*127$42.zzs0DzzzzU03zzzz001zzzy1y1zzzw7z0zzzsTTUzzzswDUzzzkwDUlzylwDUwTsVsDVz7lXsD1zXXXsS3zl7XsE7zt7XU0TzsD301zzsD3U0Tzs73kkTzsb3ksDzlXXks7zntXkw7wrxVUw3szzVUy1kzzk1z01zzk1z03zzw1zU7zzy3zsTzU" - if (ok := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.001 * NikkeW . " ", NikkeY + 0.355 * NikkeH . " ", NikkeX + 0.001 * NikkeW + 0.041 * NikkeW . " ", NikkeY + 0.355 * NikkeH + 0.555 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("竞技场商店的图标"), , , , , , , TrueRatio, TrueRatio)) { AddLog("进入竞技场商店") FindText().Click(X, Y, "L") Sleep 1000 @@ -1683,66 +1763,67 @@ ArenaShop() { ; 定义所有可购买物品的信息 (使用 Map) PurchaseItems := Map( "燃烧代码手册", { - Text: "|<燃烧代码的图标>*100$15.ztzyDz1zkDw0z07k0S23UsAD01s0DUVw4DldyD7nwww", + Text: FindText().PicLib("燃烧代码的图标"), Setting: g_settings["BookFire"], - Tolerance: 0.23 * PicTolerance }, + Tolerance: 0.2 * PicTolerance }, "水冷代码手册", { - Text: "|<水冷代码的图标>*122$17.zrvzDbwSDkQDUkS1Vs1bU3z07w0Ds0TU0z01z07y0Ty1zs", + Text: FindText().PicLib("水冷代码的图标"), Setting: g_settings["BookWater"], - Tolerance: 0.1 * PicTolerance }, + Tolerance: 0.2 * PicTolerance }, "风压代码手册", { - Text: "|<风压代码的图标>*150$21.zwTzz1zzkCDy00s017U6QbzrU000z00Czzzk07zs0TzznzzDTztnzz4Tzw7w", + Text: FindText().PicLib("风压代码的图标"), Setting: g_settings["BookWind"], - Tolerance: 0.1 * PicTolerance }, + Tolerance: 0.2 * PicTolerance }, "电击代码手册", { - Text: "|<电击代码的图标>*110$12.zxztznznzXz7y7y7w7s7k1k0U001w3y7w7wDwTwztztzvzrzU", + Text: FindText().PicLib("电击代码的图标"), Setting: g_settings["BookElec"], - Tolerance: 0.1 * PicTolerance }, + Tolerance: 0.2 * PicTolerance }, "铁甲代码手册", { - Text: "|<铁甲代码的图标>*150$20.sDVs1kC00000000000000000006001k00z00zk1zw0zy0DzU3zs0zy0Tzk7zy7zs", + Text: FindText().PicLib("铁甲代码的图标"), Setting: g_settings["BookIron"], - Tolerance: 0.1 * PicTolerance }, + Tolerance: 0.2 * PicTolerance }, "代码手册宝箱", { - Text: "|<代码手册宝箱>*159$82.000000zs00000000000TXw0000000000300Q0000000000T03k000000000Drnzs000000007kCD1w00000003s1sy0z0000003w1v0r0Tk00001w0t001U7s000Sy0QE000s1zs0Dj0C40I0EM1ss3U4CI01s07600MM0r00000003A0l0/Y00000003m1g1n00000080E06yz00/0003k13lzzX000000004Vjzw1k0000001k3zU", + Text: FindText().PicLib("代码手册宝箱的图标"), Setting: g_settings["BookBox"], - Tolerance: 0.1 * PicTolerance }, + Tolerance: 0.3 * PicTolerance }, "简介个性化礼包", { - Text: "|<礼包>*179$37.6301k03Xk0s01ls0zzbyw0zzvzS0zzwzj0zyS3bUTzD3nk7zrXts1zvryw0Qxvzy0Dytzz07zwLrb3zy3XnVkDVltks1sszsTzwQDsDzwC3s1zwU", + Text: FindText().PicLib("简介"), Setting: g_settings["ArenaShopPackage"], - Tolerance: 0.1 * PicTolerance }, + Tolerance: 0.3 * PicTolerance }, "公司武器熔炉", { - Text: "|<熔炉>*171$40.60k0k20s3U30Q3XzsS1kCTzVs7Uzzy7zzzzltzzzzzjbzzzyySTzVzrztzC7yDzbszzsTwT3znXzsQTzDTzltsQzzy7rU7zzsTS0Trj3zk3qQQCz0CFzltw0s7z73U10TwA608", + Text: FindText().PicLib("熔炉"), Setting: g_settings["ArenaShopFurnace"], - Tolerance: 0.1 * PicTolerance } + Tolerance: 0.3 * PicTolerance } ) ; 遍历并购买所有物品 for Name, item in PurchaseItems { if (!item.Setting) { continue ; 如果设置未开启,则跳过此物品 } - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, item.Tolerance, item.Tolerance, item.Text, , , , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.055 * NikkeW . " ", NikkeY + 0.475 * NikkeH . " ", NikkeX + 0.055 * NikkeW + 0.509 * NikkeW . " ", NikkeY + 0.475 * NikkeH + 0.253 * NikkeH . " ", item.Tolerance, item.Tolerance, item.Text, , , , , , , TrueRatio, TrueRatio)) { ; 手册要根据找到个数多次执行 loop ok.Length { FindText().Click(ok[A_Index].x, ok[A_Index].y, "L") - Text确认 := "|<确认的图标>*200$34.zzU7zzzk07zzw00zzzU7rzzw3zzzzUzzzbwDzzwDVzzzUy7zzw7kzzzUz7zzw7sTzzUzXzzw7yDzzUzszTw7z3szUzwD1w7zky3Uzs3w47zWDs0zy8zk7zsXzUzz27z7zwQTyzzVkzzzy7Vzzzky7zzy7w7zzkTsDzy3zkDzUTzU7k3zz000zzz00DzzzU7zy" - if (ok1 := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text确认, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok1 := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , 0, , , , , TrueRatio, TrueRatio)) { AddLog("购买" . Name) FindText().Click(X, Y, "L") Sleep 1000 - while !(ok2 := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text百货, , 0, , , , , TrueRatio, TrueRatio)) { + while !(ok2 := FindText(&X := "wait", &Y := 3, NikkeX + 0.001 * NikkeW . " ", NikkeY + 0.005 * NikkeH . " ", NikkeX + 0.001 * NikkeW + 0.065 * NikkeW . " ", NikkeY + 0.005 * NikkeH + 0.055 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("圈中的感叹号"), , 0, , , , , TrueRatio, TrueRatio)) { Confirm } } } } + else { + AddLog(Name . "未找到,跳过购买") + } } AddLog("===竞技场商店任务结束===") } ;tag 废铁商店 ScrapShop() { AddLog("===废铁商店任务开始===") - Text := "|<废铁商店的图标>*160$40.zw000zzzU001zzy0003zzk000Dzz3zzkTzsDzzVzz1zzy3zw7zzwDzUy7zkTy7s7zVzkTU7y3z3z07w7sDz0TsT1zz1zUwDzy7z3UzsTzw67zUTzsETy0TzU1zw0Tz27zw1zs8Dzw7z1kzzsTw71zVzzUy7y1zy7sDs1zkTkTk1z3zVzk7sDy3zkT1zwDzVwDzkTzzUzzVzzy7zy3zzkTzw0003zzs000DzzU001zzz000DzU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.001 * NikkeW . " ", NikkeY + 0.355 * NikkeH . " ", NikkeX + 0.001 * NikkeW + 0.041 * NikkeW . " ", NikkeY + 0.355 * NikkeH + 0.555 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("废铁商店的图标"), , 0, , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") Sleep 1000 } @@ -1751,44 +1832,38 @@ ScrapShop() { "珠宝", { Text: "|<珠宝>*150$39.00k01k7wb00C0zis3zzrxz0zzzCDz7zztnzww07CTs7U0zzb0Tzzzcs1zzrzzw7zwCTzU1k1nzw3zsC3w0zzVkTk7zwDbz03r7xzw0Cwzyvk3rb7bQTzz0Mt3zzs070TzzU", Setting: g_settings["ScrapShopGem"], - Tolerance: 0.1 * PicTolerance - }, + Tolerance: 0.1 * PicTolerance }, "好感券", { - Text: "|<礼物的图标>*195$22.3sS0Tnw1XwM67VUMQCDzDzzwzzznzzzDzzwzzznzzzDzzwzs0000000Dwzkznz3zDwDwzkznz3zDwDwzW", + Text: FindText().PicLib("黄色的礼物图标"), Setting: g_settings["ScrapShopVoucher"], - Tolerance: 0.15 * PicTolerance - }, + Tolerance: 0.2 * PicTolerance }, "养成资源", { Text: "|<资源的图标>*170$17.1zU7zUS7VnnWTtgTnMCqk7hUTP0yq1xb3i7ZtDzl7y73k1U01zzU", Setting: g_settings["ScrapShopResources"], - Tolerance: 0.2 * PicTolerance - }, + Tolerance: 0.2 * PicTolerance }, "信用点", { Text: "|<信用点的图标>*125$31.zXzs0TUzw0DUDz0703zk3U1zw1k3zy0w3zzUT3zzsDnzzy7ztzzXzw0Tlzk07wzw07zTy0zzzz2Djzz0bbzzWNlzzlaMzzsl4TzwQkTzz7ADzzVm7zzsM3zzyA1wzzi7xzzzzxzzzzszzzzsPzzzsB", Setting: g_settings["ScrapShopResources"], - Tolerance: 0.1 * PicTolerance - } + Tolerance: 0.1 * PicTolerance } ) ; 遍历并购买所有物品 for Name, item in PurchaseItems { if (!item.Setting) { continue ; 如果设置未开启,则跳过此物品 } - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, item.Tolerance, item.Tolerance, item.Text, , , , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.054 * NikkeW . " ", NikkeY + 0.485 * NikkeH . " ", NikkeX + 0.054 * NikkeW + 0.939 * NikkeW . " ", NikkeY + 0.485 * NikkeH + 0.419 * NikkeH . " ", item.Tolerance, item.Tolerance, item.Text, , , , , , , TrueRatio, TrueRatio)) { ; 根据找到的同类图标数量进行循环购买 loop ok.Length { FindText().Click(ok[A_Index].x, ok[A_Index].y, "L") - TextMAX := "|*124$23.76CMCAAkQMN0kksEVVkV33V267649DA0GCM0UME10kU21V8Ym2F1YUW31Vgi78" - if (okMax := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, TextMAX, , 0, , , , , TrueRatio, TrueRatio)) { + if (okMax := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("MAX"), , 0, , , , , TrueRatio, TrueRatio)) { AddLog("点击max") FindText().Click(X, Y, "L") } - Text确认 := "|<确认的图标>*200$34.zzU7zzzk07zzw00zzzU7rzzw3zzzzUzzzbwDzzwDVzzzUy7zzw7kzzzUz7zzw7sTzzUzXzzw7yDzzUzszTw7z3szUzwD1w7zky3Uzs3w47zWDs0zy8zk7zsXzUzz27z7zwQTyzzVkzzzy7Vzzzky7zzy7w7zzkTsDzy3zkDzUTzU7k3zz000zzz00DzzzU7zy" - if (ok1 := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text确认, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok1 := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , 0, , , , , TrueRatio, TrueRatio)) { AddLog("购买" . Name) FindText().Click(X, Y, "L") Sleep 1000 - while !(ok2 := FindText(&X_found, &Y_found, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text百货, , 0, , , , , TrueRatio, TrueRatio)) { + while !(ok2 := FindText(&X := "wait", &Y := 3, NikkeX + 0.001 * NikkeW . " ", NikkeY + 0.005 * NikkeH . " ", NikkeX + 0.001 * NikkeW + 0.065 * NikkeW . " ", NikkeY + 0.005 * NikkeH + 0.055 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("圈中的感叹号"), , 0, , , , , TrueRatio, TrueRatio)) { Confirm } } @@ -1806,69 +1881,36 @@ SimulationRoom() { EnterToArk AddLog("===模拟室任务开始===") AddLog("查找模拟室入口") - Text := "|<方舟中的模拟室>*125$59.ssEyCz7zXzlU0wMyC003X01skAM006327UUMk00820C10llzwM80A283k03sk0SAEDk07kU0wMkTkMT101sFsz00S00303ly00Q00C17Xw0tkA0Q607tVrUk0SA07U031U0wM0D007XU1skUDw7z703V24M00CA627QMU00QMyCDwvU00xzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzs00000000000000000000000000000U" - while (ok := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X, &Y, NikkeX + 0.370 * NikkeW . " ", NikkeY + 0.596 * NikkeH . " ", NikkeX + 0.370 * NikkeW + 0.069 * NikkeW . " ", NikkeY + 0.596 * NikkeH + 0.031 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("模拟室"), , , , , , , TrueRatio, TrueRatio)) { AddLog("进入模拟室") FindText().Click(X, Y - 50 * TrueRatio, "L") } - AddLog("成功进入模拟室") while true { - Text := "|<开始模拟>*174$88.zzzz7wzyTbDtzzy001wTlzts0DXbwk007lyDzb00SSPnU00T7szyQ03ssDDsyDs77DUSQy1YMzXtz0AQQ1U1s6NXyDbw0Xss403UNWDsyTsU03slyDXa8zXszW007X00yCQX000CNUwQ403styQ000tbzzk1yDVbtk0036Tzy000s6TbwTby1U0sK07UtwTlyTwC031z7yXYEz7tzssyA600SC03szbzVXsuQ01ssM7XyTw2DXty0zX34QTtzV8yDbkVyAQM1zbwDU0yQ71VnXUDyTly03tUy67ySPztzztyTbTywzzzU" - if (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.442 * NikkeW . " ", NikkeY + 0.535 * NikkeH . " ", NikkeX + 0.442 * NikkeW + 0.118 * NikkeW . " ", NikkeY + 0.535 * NikkeH + 0.101 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("开始模拟的开始"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击开始模拟") - FindText().Click(X, Y, "L") + FindText().Click(X + 30 * TrueRatio, Y, "L") Sleep 1000 break } - Text := "|<模拟室重置的确认>*200$37.0tzxzbUM3yTnss1zbtwsszzwyQ8TzyTC03zzDXU1kz7UNAsTXkA0TDlta0DbsQn9bnwCNU3tw7gU1wCNkH4y6As1aT0DAlnDW7Www7rbt" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - } + else Confirm } - ;打过了就直接退 - Text := "|<已通关>*197$62.00000001047zz0kzy0s7XzzsSDzUD1kTzy3kzk1kw007UQDs1zzk00s3DzUzzyQ0C03zwDzzb03U0zz03k1zzsTDzk0Q0Tzy7nzw0DU7zzVwzz7zzxs0s7DzlzzzQ001nzwTzzb000Qzz07w1k0C7ATk1zUS03Vz7w1xw7U0szli0yDkzzyTzztz1zDzz7DzyT07kzzUUTz7U0u" - if (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("今日模拟室已通关") - GoBack - AddLog("===模拟室任务结束===") - Sleep 1000 - return - } - AddLog("选中5C") - Text := "|<5>*163$22.7zzUTzz3zzwDzzkzzz3zzsDk00z003w00Dk00zz03zz0Dzz1zzy7zzwTzztz0zU01y007w00Dk00z003xw0Tzs1yTkDtzzzXzzw7zzUDzw0TzU0Ts2" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 500 - } - Text := "|*164$26.01zU03zz03zzw1zzzUzzzwTzzy7zUz3z03lzU08Tk007s003y000z000Dk003w000z000Dk003w000z000Dk001y000Tk007w000zk0MDy0T1zzzsDzzz1zzzUDzzk1zzs07zs007U2" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 500 - } - Text := "|<快速模拟的图标>*200$42.zzk07zzzz000zzzw000Dzzk0007zzU0001zz00000zy00000Tw00000Ds00000Ds000007k0U1003k1k3U03U3s7k01U3yDs0103z7w0100zXy0000Tlz0000DsTk0007wDs0003y7w0001z3y0001z3w0003wDs0007wTk000TkzU000zVz0001z3y00U3y7w01U3w7s01U3s7k03k0k3U03k000007s000007w00000Dw00000Ty00000Tz00000zzU0003zzs0007zzw000Tzzz001zzzzs07zzU" - while (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.502 * NikkeW . " ", NikkeY + 0.814 * NikkeH . " ", NikkeX + 0.502 * NikkeW + 0.147 * NikkeW . " ", NikkeY + 0.814 * NikkeH + 0.063 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("快速模拟的图标"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击快速模拟") FindText().Click(X + 100 * TrueRatio, Y, "L") + Sleep 1000 } - Text := "|<跳过增益选择的图标>*141$26.s0k0D0D03w3s0zUzUDyDw3znzkzzzyDzzzvzzzzzzzzjzzznzvzszwzsDwDw3y3w0y0y0D0C010300U" - while (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, FindText().PicLib("跳过增益效果选择的图标"), , 0, , , , , TrueRatio, TrueRatio)) { AddLog("跳过增益选择") - FindText().Click(X, Y, "L") + FindText().Click(X + 100 * TrueRatio, Y, "L") } EnterToBattle BattleSettlement - Text := "|<模拟结束的图标>*159$38.03zzzy01zzzzs0zzzzy0Dk00Dk3k001w0w000D0D0003k00000w00000D000003k0U000w0M000D0S0003kDU000w7zzU0D3zzs03nzzy00xzzzU0Dzzzs03zzzy00xzzzU0DDzzs03lzzy00wDzzU0D0y0003k7U000w0s000D020003k00000w00000D000003k3k000w0w000T0DU00Dk3zzzzw0Tzzzy03zzzz0000302" - while (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + sleep 5000 + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.433 * NikkeW . " ", NikkeY + 0.561 * NikkeH . " ", NikkeX + 0.433 * NikkeW + 0.135 * NikkeW . " ", NikkeY + 0.561 * NikkeH + 0.070 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("模拟结束的图标"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击模拟结束") FindText().Click(X + 50 * TrueRatio, Y, "L") } - Text := "|<确认的图标>*184$34.zy03zzzU07zzs00zzz0Tzzzs7zzvz1zzz7sDzzsD1zzz1wDzzsDVzzz1y7zzsDkzzz1z3zzsDwDzz1zlyTsDz7kz1zwT1sDzly31zk7w0Dz0Ts1zw0zkDzl3zVzz6DzDzsMTzzzXkzzzwD3zzzVy7zzw7wDzzUzkDzw7zkDz0zzU007zz001zzz00TzzzkDzy" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 1000 - } - Text := "|<左上角的模拟室>*200$54.rn7vzvztzr03vbvk00nn7nUvlzs1zjVavnzw1U7VaPzzznbbnaPy03nXbvbvz7bXbbtbny77Vbblbnw031U7Vbnztz7wznbnztz7wTvUVzkTL03vVVw03rk7vb1ztzrnbnjAzszr7nXyRk00U" - while !(ok := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while !(ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.001 * NikkeW . " ", NikkeY + 0.005 * NikkeH . " ", NikkeX + 0.001 * NikkeW + 0.065 * NikkeW . " ", NikkeY + 0.005 * NikkeH + 0.055 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("圈中的感叹号"), , 0, , , , , TrueRatio, TrueRatio)) { Confirm } AddLog("===模拟室任务结束===") @@ -1912,7 +1954,7 @@ SimulationOverClock() { Sleep 1000 } Text := "|<模拟通关>*103$63.rqzTzzzzzzyM1tbbQ0TDXm07AAkk3sswAHl1b71z2700A04yk3U0AM1l47w0C03V0DAUtUFz7w01s7640DszU0A0ssUF00001V67Y0A0130CA0wUFy3sE0t03YkDUDnUT8UM63sMSMEl8E0087UmD4TaHU1Xy4" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { final := True AddLog("挑战最后一关") FindText().Click(X, Y, "L") @@ -1974,52 +2016,39 @@ Arena() { EnterToArk() AddLog("===竞技场收菜任务开始===") AddLog("查找奖励") - Text := "|*103$36.V132Qn1162Mn99CGMHB9COMHD9CSMH312SMHV12SMHt3CSMHtDCSEH9DCGE31DC2H31D22H0XjX7H0U" foundReward := false - while (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 2, NikkeX + 0.552 * NikkeW . " ", NikkeY + 0.493 * NikkeH . " ", NikkeX + 0.552 * NikkeW + 0.075 * NikkeW . " ", NikkeY + 0.493 * NikkeH + 0.053 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("SPECIAL"), , 0, , , , , TrueRatio, TrueRatio)) { foundReward := true AddLog("点击奖励") FindText().Click(X + 30 * TrueRatio, Y, "L") - Sleep 1000 } if foundReward { - Text := "|<领取>*179$44.sw0C07zwC0300zz3k0s000UTXzCA01XszlX74Q00w0tt1U0D0CQKDBXlXb7nn8wsslswmD6CAk3AXk3mA0m8w0w3yAWD4D1zb8XnXsTlmMwsS7UwaS03VkDkT01kC7w3k0s1kyATyAACC7XzW7XnXwzsnxU" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , 0, , , , , TrueRatio, TrueRatio)) { AddLog("点击领取") - FindText().Click(X, Y, "L") - Sleep 1000 - AddLog("尝试确认并返回方舟大厅") - Text := "|<方舟页面左上角的方舟>*111$36.zXzzVzzXzzVzz1zs03001s03001s33wDzsVXwTzslXw07st3w07U00w07U00sT7k33sz7sXXkz7kVXkz7llXVy7VzX3UDXy37kDXy7ztzzzDU" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - Confirm - } + FindText().Click(X + 50 * TrueRatio, Y, "L") + } + AddLog("尝试确认并返回方舟大厅") + while !(ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.005 * NikkeW . " ", NikkeY + 0.010 * NikkeH . " ", NikkeX + 0.005 * NikkeW + 0.052 * NikkeW . " ", NikkeY + 0.010 * NikkeH + 0.058 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("左上角的方舟文本"), , , , , , , TrueRatio, TrueRatio)) { + Confirm } } else AddLog("未找到奖励") AddLog("===竞技场收菜任务结束===") AddLog("进入竞技场") - Text := "|<竞技场>*80$59.zUzwDVz70T001sT3y80C003kU0wE0S00C000sk1y3Vw0010w7U0081Uy0UT000MDVw001U03sE0Q403007k00QM0600C001ss0ADsQ033lk0M00s647U00k01sC0T00Vk07sQ1s013sEnkw3k66D1V3V01Vw8E704001jk0US0MAC3zW1Xz1stzDzyD" - while (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.541 * NikkeW . " ", NikkeY + 0.712 * NikkeH . " ", NikkeX + 0.541 * NikkeW + 0.068 * NikkeW . " ", NikkeY + 0.712 * NikkeH + 0.030 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("竞技场"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击竞技场") FindText().Click(X, Y - 50 * TrueRatio, "L") Sleep 1000 } - Text := "|<新人竞技场>*92$92.wznzlzzszwTXyTzy7UDwTy00D7sz60C007z7zU03lk1tU3U0Tzlzy43s00CQ0wF7zwTz0kw0021kz4Fzy7z0010QDUEDU00zUzk00QD3s00000DsDz00T607303Vk3y3zk07k00tk0U0Fz0Tw01k00QS0804Tk3z00Q1677420F7sEzk071k3s18U4FwC7w01wS0w0W804S3kzkXj7US0FUE371w3sMtlk3VwMUElUzUE60EE09w0ACAMTyA3U4463z67bz7jzr3y3XbtzvXU" - while true { - if !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - Confirm - } - else { - break - } + while !(ok := FindText(&X, &Y, NikkeX + 0.001 * NikkeW . " ", NikkeY + 0.002 * NikkeH . " ", NikkeX + 0.001 * NikkeW + 0.060 * NikkeW . " ", NikkeY + 0.002 * NikkeH + 0.060 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("左上角的竞技场"), , , , , , , TrueRatio, TrueRatio)) { + Confirm } } ;tag 新人竞技场 RookieArena() { AddLog("===新人竞技场任务开始===") AddLog("查找新人竞技场") - Text := "|<新人竞技场>*92$92.wznzlzzszwTXyTzy7UDwTy00D7sz60C007z7zU03lk1tU3U0Tzlzy43s00CQ0wF7zwTz0kw0021kz4Fzy7z0010QDUEDU00zUzk00QD3s00000DsDz00T607303Vk3y3zk07k00tk0U0Fz0Tw01k00QS0804Tk3z00Q1677420F7sEzk071k3s18U4FwC7w01wS0w0W804S3kzkXj7US0FUE371w3sMtlk3VwMUElUzUE60EE09w0ACAMTyA3U4463z67bz7jzr3y3XbtzvXU" - while (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.372 * NikkeW . " ", NikkeY + 0.542 * NikkeH . " ", NikkeX + 0.372 * NikkeW + 0.045 * NikkeW . " ", NikkeY + 0.542 * NikkeH + 0.024 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("新人"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击新人竞技场") FindText().Click(X + 20 * TrueRatio, Y, "L") Sleep 1000 @@ -2031,50 +2060,42 @@ RookieArena() { } AddLog("检测免费次数") skip := false - Text免费 := "|<免费>*186$36.wTzy4Ls0zk01k0zz4FVkzk01103k03003k00U1Xk00XXXwQMnXXUQFk03k03k03s03z0zszXy8zslXwMtsXXksts671s1UC0bw3UzsU" while True { - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text免费, , , , , , 3, TrueRatio, TrueRatio)) { ;3代表从下往上找 + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.565 * NikkeW . " ", NikkeY + 0.775 * NikkeH . " ", NikkeX + 0.565 * NikkeW + 0.082 * NikkeW . " ", NikkeY + 0.775 * NikkeH + 0.101 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("免费"), , , , , , , TrueRatio, TrueRatio)) { AddLog("有免费次数,尝试进入战斗") - FindText().Click(X, Y, "L") + FindText().Click(X, Y + 10 * TrueRatio, "L") Sleep 1000 } else break if skip = false { - Text := "|*185$32.z7zzyT0TjzXU1szsksC7y8zXUzWDwM7s7z60S1zlX3UTwMsMbz6D08zVXs27kszUk0SDwC0DXzXs7szzU" - if (ok := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.393 * NikkeW . " ", NikkeY + 0.815 * NikkeH . " ", NikkeX + 0.393 * NikkeW + 0.081 * NikkeW . " ", NikkeY + 0.815 * NikkeH + 0.041 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("ON"), , , , , , , TrueRatio, TrueRatio)) { AddLog("快速战斗已开启") skip := true } - else { - Text := "|*159$49.z7zk0TU0y0zU0700C07U0300671lzzXzyDsszzlzz7yATzszz7z601w03XzX00y01lzlXzz7zwzslzzXzyDsszzlzz3sQTzszzk0SDzwTzw0T7zyDzzUzXzz7zw" - if (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { - AddLog("有笨比没开快速战斗,帮忙开了!") - FindText().Click(X, Y, "L") - Sleep 1000 - } + else if (ok := FindText(&X, &Y, NikkeX + 0.393 * NikkeW . " ", NikkeY + 0.815 * NikkeH . " ", NikkeX + 0.393 * NikkeW + 0.081 * NikkeW . " ", NikkeY + 0.815 * NikkeH + 0.041 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("OFF"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("有笨比没开快速战斗,帮忙开了!") + FindText().Click(X, Y, "L") + Sleep 1000 } } EnterToBattle BattleSettlement - Text := "|<左上角的感叹号>*200$22.zwzzw0Dz3wTszwT7ztszznbwzaznyHzzwDzzkzzz3zDwDwzkznz3zDwjwzaTnyQzzntzyTXzXzVsTzU7zznzs" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while !(ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.001 * NikkeW . " ", NikkeY + 0.005 * NikkeH . " ", NikkeX + 0.001 * NikkeW + 0.065 * NikkeW . " ", NikkeY + 0.005 * NikkeH + 0.055 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("圈中的感叹号"), , 0, , , , , TrueRatio, TrueRatio)) { Confirm } } AddLog("没有免费次数,尝试返回") - GoBack - Text := "|<新人竞技场>*92$92.wznzlzzszwTXyTzy7UDwTy00D7sz60C007z7zU03lk1tU3U0Tzlzy43s00CQ0wF7zwTz0kw0021kz4Fzy7z0010QDUEDU00zUzk00QD3s00000DsDz00T607303Vk3y3zk07k00tk0U0Fz0Tw01k00QS0804Tk3z00Q1677420F7sEzk071k3s18U4FwC7w01wS0w0W804S3kzkXj7US0FUE371w3sMtlk3VwMUElUzUE60EE09w0ACAMTyA3U4463z67bz7jzr3y3XbtzvXU" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("已返回竞技场页面") + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.001 * NikkeW . " ", NikkeY + 0.005 * NikkeH . " ", NikkeX + 0.001 * NikkeW + 0.065 * NikkeW . " ", NikkeY + 0.005 * NikkeH + 0.055 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("圈中的感叹号"), , 0, , , , , TrueRatio, TrueRatio)) { + GoBack } + AddLog("已返回竞技场页面") AddLog("===新人竞技场任务结束===") } ;tag 特殊竞技场 SpecialArena() { AddLog("===特殊竞技场任务开始===") AddLog("查找特殊竞技场") - Text := "|<特殊竞技场>*93$91.tyDzzDzlzsyDszzws1U07s00wT7wM0kQ0E03w00SA0CA0M60AC0DVkw0077kQ1sy207UkS0031kS0010030010wT0ED000U2DU00kyDU004k0l13w01wM0QM0CTsl00C00y00CC0600000700Q0077000040U7U0C137X00003kk7k071l3k000lXss3s03sw3k20QslwE0z0CwS3k34CSMsEUD36CC0sD6CDUMMF41U4406z07bsQSsy3k2633zW3nwDzwT7y77jtzv3U" - while (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.516 * NikkeW . " ", NikkeY + 0.543 * NikkeH . " ", NikkeX + 0.516 * NikkeW + 0.045 * NikkeW . " ", NikkeY + 0.543 * NikkeH + 0.022 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("特殊"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击特殊竞技场") FindText().Click(X + 20 * TrueRatio, Y, "L") Sleep 1000 @@ -2086,42 +2107,35 @@ SpecialArena() { } AddLog("检测免费次数") skip := false - Text免费 := "|<免费>*200$35.wTzy8zk3zU0707zsXASDy00EsTw01U03s00337k01DDDstWQQS3nA00y00w01y01z0zwznyNztnbknrnCD3bDUEsT0Q3k/z1szyE" while True { - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text免费, , , , , , 3, TrueRatio, TrueRatio)) { ;3代表从下往上找 + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.565 * NikkeW . " ", NikkeY + 0.775 * NikkeH . " ", NikkeX + 0.565 * NikkeW + 0.082 * NikkeW . " ", NikkeY + 0.775 * NikkeH + 0.101 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("免费"), , , , , , , TrueRatio, TrueRatio)) { AddLog("有免费次数,尝试进入战斗") - FindText().Click(X, Y, "L") + FindText().Click(X, Y + 10 * TrueRatio, "L") Sleep 1000 } else break if skip = false { - Text := "|*185$32.z7zzyT0TjzXU1szsksC7y8zXUzWDwM7s7z60S1zlX3UTwMsMbz6D08zVXs27kszUk0SDwC0DXzXs7szzU" - if (ok := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.393 * NikkeW . " ", NikkeY + 0.815 * NikkeH . " ", NikkeX + 0.393 * NikkeW + 0.081 * NikkeW . " ", NikkeY + 0.815 * NikkeH + 0.041 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("ON"), , , , , , , TrueRatio, TrueRatio)) { AddLog("快速战斗已开启") skip := true } - else { - Text := "|*159$49.z7zk0TU0y0zU0700C07U0300671lzzXzyDsszzlzz7yATzszz7z601w03XzX00y01lzlXzz7zwzslzzXzyDsszzlzz3sQTzszzk0SDzwTzw0T7zyDzzUzXzz7zw" - if (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { - AddLog("有笨比没开快速战斗,帮忙开了!") - FindText().Click(X, Y, "L") - Sleep 1000 - } + else if (ok := FindText(&X, &Y, NikkeX + 0.393 * NikkeW . " ", NikkeY + 0.815 * NikkeH . " ", NikkeX + 0.393 * NikkeW + 0.081 * NikkeW . " ", NikkeY + 0.815 * NikkeH + 0.041 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("OFF"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("有笨比没开快速战斗,帮忙开了!") + FindText().Click(X, Y, "L") + Sleep 1000 } } EnterToBattle BattleSettlement - Text := "|<左上角的感叹号>*200$22.zwzzw0Dz3wTszwT7ztszznbwzaznyHzzwDzzkzzz3zDwDwzkznz3zDwjwzaTnyQzzntzyTXzXzVsTzU7zznzs" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while !(ok := FindText(&X, &Y, NikkeX + 0.002 * NikkeW . " ", NikkeY + 0.003 * NikkeH . " ", NikkeX + 0.002 * NikkeW + 0.083 * NikkeW . " ", NikkeY + 0.003 * NikkeH + 0.059 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("圈中的感叹号"), , , , , , , TrueRatio, TrueRatio)) { Confirm } } AddLog("没有免费次数,尝试返回") - GoBack - Text := "|<新人竞技场>*92$92.wznzlzzszwTXyTzy7UDwTy00D7sz60C007z7zU03lk1tU3U0Tzlzy43s00CQ0wF7zwTz0kw0021kz4Fzy7z0010QDUEDU00zUzk00QD3s00000DsDz00T607303Vk3y3zk07k00tk0U0Fz0Tw01k00QS0804Tk3z00Q1677420F7sEzk071k3s18U4FwC7w01wS0w0W804S3kzkXj7US0FUE371w3sMtlk3VwMUElUzUE60EE09w0ACAMTyA3U4463z67bz7jzr3y3XbtzvXU" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("已返回竞技场页面") + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.002 * NikkeW . " ", NikkeY + 0.006 * NikkeH . " ", NikkeX + 0.002 * NikkeW + 0.078 * NikkeW . " ", NikkeY + 0.006 * NikkeH + 0.049 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("圈中的感叹号"), , 0, , , , , TrueRatio, TrueRatio)) { + GoBack } + AddLog("已返回竞技场页面") AddLog("===特殊竞技场任务结束===") } ;tag 冠军竞技场 @@ -2129,7 +2143,7 @@ ChampionArena() { AddLog("===冠军竞技场任务开始===") AddLog("查找冠军竞技场") Text := "|<应援>*80$30.z7yQ0z3yM500CRg7zw4VDjQ80BjCQ09aSQDBaS00Aaw6TAkwS0CwyQ9DtyQ9DlyNX006F0M0AKQU" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") AddLog("已找到一级应援文本") Sleep 1000 @@ -2182,63 +2196,32 @@ ChampionArena() { CompanyTower() { EnterToArk AddLog("===企业塔任务开始===") - Text := "|<无限之塔>*125$79.zzzzzzzzDznlns00Q00Dz3zsU0Q00C007zkzwE0600703Xs01y807z7zYE1s00S32DzXzk80w00C1k7zVzsA0Tzw70s7U00A26Dzy7kk0k006N07zy7wEM4007A03zy7y007w1za05zy7z40Ty0zl0UTw7zXzzy0Ts0MDw7zkU1y4CQ2ADsDzk00y376T67kDzk8QS3U3DU1k3zMQCA3k3bUME007y077s1nsCQw07z03zzztzzzzkDzntk" - while (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("点击无限之塔") - FindText().Click(X, Y, "L") - Sleep 1000 + while (ok := FindText(&X, &Y, NikkeX + 0.559 * NikkeW . " ", NikkeY + 0.423 * NikkeH . " ", NikkeX + 0.559 * NikkeW + 0.069 * NikkeW . " ", NikkeY + 0.423 * NikkeH + 0.029 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("无限之塔的无限"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("进入无限之塔") + FindText().Click(X, Y - 50 * TrueRatio, "L") } - ;只要有一座塔是0/3就当作任务执行过了 - Text := "|<塔的外部0/3>*121$23.szi7UyM28wn4tty9lbw3XDV76T3CBzWQnzYtbj83C0MCS1ztzzznzzzbzw" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("今日企业塔已打过,返回") - AddLog("===企业塔任务结束===") - BackToHall - return - } - Text每日通关 := "|<每日通关>*124$58.vzzzzzzzzz7zs0Qs1sww0701lkDnXXzwTbX1w0407nyTs1k000DDtz07wTmAw0740Tty01k0QE1U00037tt0600W8wzbY0Tky8XnySH1y1s0701sA7lXs0w07008D3y7lyQk1Vy8" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text每日通关, , , , , , 5, TrueRatio, TrueRatio)) { ;5代表从左往右 + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.353 * NikkeW . " ", NikkeY + 0.827 * NikkeH . " ", NikkeX + 0.353 * NikkeW + 0.290 * NikkeW . " ", NikkeY + 0.827 * NikkeH + 0.029 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("每日通关"), , , , , , 1, TrueRatio, TrueRatio)) { count := ok.Length AddLog("今天有" count "座塔要打") - FindText().Click(X, Y, "L") Sleep 1000 + FindText().Click(X, Y, "L") loop count { - Text := "|*83$39.0kCD0s041ls705kQ74scz7Usz77sw77ssz7Usz70sw76M877YsX10ssX4MD774MX7sssX4Mz770MX7sss34Ms7748300sll0M4TbSSL1U" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.426 * NikkeW . " ", NikkeY + 0.405 * NikkeH . " ", NikkeX + 0.426 * NikkeW + 0.025 * NikkeW . " ", NikkeY + 0.405 * NikkeH + 0.024 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("STAGE"), , , , , , , TrueRatio, TrueRatio)) { AddLog("已进入塔的内部") - Text := "|<极乐>*90$37.lzzzz1sk1w00wM1y00w68z7zw14TXXz1WDllzll1sszsMUs00M4QQ00A06D00663DzXy307sl71a7sslsX3sQQQF0sSCC004M7X0XXw7zrzzzDzU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { ;0代表使用上一次截屏 - AddLog("这座塔是极乐净土之塔") - } - Text := "|<米西>*96$36.nnnU00lnVU00lnXzaTsn7zaTtn7k00zlzk00000l08000l6My0Tl6My0TkC0w0DkS0sH7lzskn3lzsVnUk003nkk00jnxk00U" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { - AddLog("这座塔是米西利斯之塔") - } - Text := "|<泰特>*93$37.zXzwT7s01uC0s00Q60DsTw30700C0wTU07000y7zUE0000GDsM00T7wT6MzU027C70001a10tXY0BkMlz07yC8w01z7gS0MTXsDADTlw7zDzxzDU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { - AddLog("这座塔是泰特拉之塔") - } - Text := "|<朝圣>*99$37.sw1k01U00w00k0CT7kz7bDkky0E7w0z683w0DU4FU00E2QsTkNl0TyTw00DU0y0U7k0Dklns0701tztzU0wzsTyAMM0076QC002" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { - AddLog("这座塔是朝圣者/超标准之塔") - } - Text := "|*83$39.0kCD0s041ls705kQ74scz7Usz77sw77ssz7Usz70sw76M877YsX10ssX4MD774MX7sssX4Mz770MX7sss34Ms7748300sll0M4TbSSL1U" - while (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - stdTargetX := 1850 - stdTargetY := 984 - AddLog("点击最新关卡") - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep 1000 - EnterToBattle - } + Sleep 1000 + FindText().Click(X + 100 * TrueRatio, Y, "L") + EnterToBattle BattleSettlement - RefuseSale + if BattleActive = 1 { + RefuseSale + } } if !(A_Index = count) { - AddLog("点击下一个塔") - UserClick(2239, 1868, scrRatio) - Sleep 1000 + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, FindText().PicLib("无限之塔·向右的箭头"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X + 30 * TrueRatio, Y, "L") + } } + Sleep 3000 } AddLog("所有塔都打过了") } @@ -2249,27 +2232,17 @@ CompanyTower() { UniversalTower() { EnterToArk AddLog("===通用塔任务开始===") - Text := "|<无限之塔>*125$79.zzzzzzzzDznlns00Q00Dz3zsU0Q00C007zkzwE0600703Xs01y807z7zYE1s00S32DzXzk80w00C1k7zVzsA0Tzw70s7U00A26Dzy7kk0k006N07zy7wEM4007A03zy7y007w1za05zy7z40Ty0zl0UTw7zXzzy0Ts0MDw7zkU1y4CQ2ADsDzk00y376T67kDzk8QS3U3DU1k3zMQCA3k3bUME007y077s1nsCQw07z03zzztzzzzkDzntk" - while (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("点击无限之塔") - FindText().Click(X, Y, "L") - Sleep 1000 + while (ok := FindText(&X, &Y, NikkeX + 0.559 * NikkeW . " ", NikkeY + 0.423 * NikkeH . " ", NikkeX + 0.559 * NikkeW + 0.069 * NikkeW . " ", NikkeY + 0.423 * NikkeH + 0.029 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("无限之塔的无限"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("进入无限之塔") + FindText().Click(X, Y - 50 * TrueRatio, "L") } - Text := "|<塔内的无限之塔>*194$63.000000000E3zwTzs1U37QTznzz0C0PzsD0PMszz3Dy0k3Pz7zwyzU60TTs0D7nszzvvb01kMzbzzPTs0Q3zT1s3Dy070PzkD0Nvs1k3003s3zD0Q0Tzkv3TNkD07zyCQv3i7k0slrXzMTxzzk7ysDn3nATw0zo" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.548 * NikkeW . " ", NikkeY + 0.312 * NikkeH . " ", NikkeX + 0.548 * NikkeW + 0.096 * NikkeW . " ", NikkeY + 0.312 * NikkeH + 0.172 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("塔内的无限之塔"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击塔内的无限之塔") FindText().Click(X, Y, "L") - Sleep 1000 } - Text := "|*83$39.0kCD0s041ls705kQ74scz7Usz77sw77ssz7Usz70sw76M877YsX10ssX4MD774MX7sssX4Mz770MX7sss34Ms7748300sll0M4TbSSL1U" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.426 * NikkeW . " ", NikkeY + 0.405 * NikkeH . " ", NikkeX + 0.426 * NikkeW + 0.025 * NikkeW . " ", NikkeY + 0.405 * NikkeH + 0.024 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("STAGE"), , , , , , , TrueRatio, TrueRatio)) { AddLog("已进入塔的内部") - stdTargetX := 1926 - stdTargetY := 908 - Sleep 1000 - AddLog("点击最新关卡") - UserClick(stdTargetX, stdTargetY, scrRatio) - Sleep 1000 + FindText().Click(X + 100 * TrueRatio, Y, "L") EnterToBattle BattleSettlement RefuseSale @@ -2284,13 +2257,13 @@ Interception() { BackToHall EnterToArk AddLog("===异常拦截任务开始===") - Text := "|<拦截战>*200$57.nnnzDDzbxyTSz0NbwzBnvbyDCzbxkD8ztszw7j0U1k00TXxyQ0C003wz0nzzxrbzbkSTzzYxzwzjlzzs1az3xo7zy4Qbk7Y3k3k3UywwCTzz0QDrrVnzzsXXyyySTzz0QTrrXnzztbXSQsSM0D0E3k20b01s0MSQH4" - while (ok := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.431 * NikkeW . " ", NikkeY + 0.869 * NikkeH . " ", NikkeX + 0.431 * NikkeW + 0.069 * NikkeW . " ", NikkeY + 0.869 * NikkeH + 0.031 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("拦截战"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y - 50 * TrueRatio, "L") - Sleep 500 + Sleep 1000 } - Text := "|<异常个体拦截战>*200$94.07nRznzDTrhwBjjdzS03y7xszSrtrySk1vzjnDa0sEC03svDzc2wyCSDrzw8zj0zjbjbStszTzrryws1z0zxzb1wzy1/VvzzzDzrzRPX0tCS3WSz07zTxhjTzUtvy00wWDxzk2RzzHjjxjjrQzrzSDrzxAqvZyzQbzTxxzM1k0s48" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + Sleep 500 + Confirm + while !(ok := FindText(&X, &Y, NikkeX + 0.580 * NikkeW . " ", NikkeY + 0.956 * NikkeH . " ", NikkeX + 0.580 * NikkeW + 0.074 * NikkeW . " ", NikkeY + 0.956 * NikkeH + 0.027 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("红字的异常"), , , , , , , TrueRatio, TrueRatio)) { Confirm if A_Index > 20 { MsgBox("异常个体拦截战未解锁!本脚本暂不支持普通拦截!") @@ -2298,42 +2271,30 @@ Interception() { } } AddLog("已进入异常拦截界面") - Sleep 1000 - Text := "|<0/3>*90$31.zzwTzw7yDUw0z70A0T7V2D7XnkDXlzs7lszkXsszkFwQTs8yCDzUT7Dzl737lsU3Xw0M3ly0S3lzkTzwzzy" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("异常拦截次数已耗尽") - AddLog("===异常拦截任务结束===") - return - } loop 5 { switch g_numeric_settings["InterceptionBoss"] { case 1: - Text := "|<克>*200$43.zzz0zzzzzzUTzzzzzkDzzzzzs3zzy00000030000001U000000k000000M000000Tzzs3zzzzzw3zzzzzy1zzzzzz0TzzzU0000Dzk00007zs00003zw00001zy00000zz0zzzUTzUTzzkDzkDzzs7zs7zzw3zw00001zy00000zz00000TzU0000Dzk00007zs00003zzs3w3zzzw1y1zzzy0z0zzzz0TUTzzz0TkDxzzUDs7yDzU7w3y1zU7y1z0z03z0zUQ03zUDUE03zk00803zs00603zw003U7zz003kDzzk03wzzzzzzs" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.438 * NikkeW . " ", NikkeY + 0.723 * NikkeH . " ", NikkeX + 0.438 * NikkeW + 0.119 * NikkeW . " ", NikkeY + 0.723 * NikkeH + 0.061 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("克拉肯的克"), , , , , , , TrueRatio, TrueRatio)) { AddLog("已选择BOSS克拉肯") break } case 2: - Text := "|<镜>*200$44.zTzzw7zzUzzy0zzsDz0003w1zk000z00Q000DU070003k01z3s7w00TUz1y007sDkT0Tzy3s7kDzz000w7zw0001Uzz0000M00k000700A0001s03zzzzy00zzzzzk0D0007z0zk001zkDw000Tw3z1zw7z0zkTz1zU7w3zUS0070007U01k001s00Q3zUS0071zw7y0TkDz1zkDw000Tw3z0007z0zk001zkCzUQ7zw37s71zz01y3kTzk0TUw7zs07kD1zy03s3kQz01w1w73k1w0T0Uw1y0Dk0DUzk7w07wzw7zU3zTzbzzXs" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.438 * NikkeW . " ", NikkeY + 0.723 * NikkeH . " ", NikkeX + 0.438 * NikkeW + 0.119 * NikkeW . " ", NikkeY + 0.723 * NikkeH + 0.061 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("镜像容器的镜"), , , , , , , TrueRatio, TrueRatio)) { AddLog("已选择BOSS镜像容器") break } case 3: - Text := "|<茵>*200$41.zs7zUDzzkDz0TzzUDy0zs0000000000000000000000000000000007zUTy0zzz0zy1zzzzzzzzzzzzzzzk000007U00000D000000S000000w000001s7zzzw3kDy3zs7UTw3zkD0zs7zUS1U0030w300061s6000A3kA000M7UM001kD0zs1zUS1zU1z0w3z01y1s7w01w3kDU01s7UQ0M0kD0k1w1US1U7w30w3UTwC1s7Xzww3kDTzvs7U00000D000000S000000w000001s000003k7zzzk7UzzzzkS" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.438 * NikkeW . " ", NikkeY + 0.723 * NikkeH . " ", NikkeX + 0.438 * NikkeW + 0.119 * NikkeW . " ", NikkeY + 0.723 * NikkeH + 0.061 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("茵迪维利亚的茵"), , , , , , , TrueRatio, TrueRatio)) { AddLog("已选择BOSS茵迪维利亚") break } case 4: - Text := "|<过>*200$43.zzzzzkDzzzzzs7z7zzzw3z1zzzy1z0Tzzz0zU7zzzUTs1zzzkDy0zzzk3zUC00007sD00003wTU0001zTk0000zzs0000Tzzzzk7zzzzzw3zzzzzy1zzzwTz0z03s7zUTU1w1zkDk0z0Ts7s0TkDw3w0Ds3y1zs7y0z0zy3zUTUTz1zkzkDzUzwzs7zkTzzw3zsDzzy1zw7zzy0zy3zy00zz1zz00TzUzzk0DzUTzs0DzU7zw0Tz00zzzzz007zzzz0007zw000000008D0000047s000077z00003rzw0001vzzzzzzk" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.438 * NikkeW . " ", NikkeY + 0.723 * NikkeH . " ", NikkeX + 0.438 * NikkeW + 0.119 * NikkeW . " ", NikkeY + 0.723 * NikkeH + 0.061 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("过激派的过"), , , , , , , TrueRatio, TrueRatio)) { AddLog("已选择BOSS过激派") break } case 5: - Text := "|<死>*200$42.U0000010000000000000000000000000000U000001zUDz0zzzUTz0zzzUTz0zzz0Tz0zzz0Tz0zzz0070zzy0030zDy0030y7w0030w3s0030s1s7s3001k7s7003UDs700D0Ts700T0TsD01z0nkD07zVUUD0DzvU0T0zzz00T0zzzU0T0zzzk0z0zzzs1z0zzzw1z0zzzs3z0zzzk3z0zXzU7z0zUz0Dz0zUy0Tz0z0s0Tz060U0zzU0101zzU01U7zzU01kDzzk03szzzy0TU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.438 * NikkeW . " ", NikkeY + 0.723 * NikkeH . " ", NikkeX + 0.438 * NikkeW + 0.119 * NikkeW . " ", NikkeY + 0.723 * NikkeH + 0.061 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("死神的死"), , , , , , , TrueRatio, TrueRatio)) { AddLog("已选择BOSS死神") break } @@ -2342,42 +2303,32 @@ Interception() { Pause } AddLog("非对应BOSS,尝试切换") - UserClick(2287, 891, scrRatio) + if (ok := FindText(&X, &Y, NikkeX + 0.584 * NikkeW . " ", NikkeY + 0.730 * NikkeH . " ", NikkeX + 0.584 * NikkeW + 0.023 * NikkeW . " ", NikkeY + 0.730 * NikkeH + 0.039 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("异常拦截·向右的箭头"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X + 10 * TrueRatio, Y, "L") + } Sleep 1000 } - Text := "|<挑战>*200$53.tzzzzzzzznyATznzbzbyNzzbzCTDwnzzDzASStbDyTyQsMnCTw1wz086Mzs1ty0sAHzlznzbkM7zbz07DkkTzDk0yTtbzyTkTwznDzwzwzsDaDzsztnUSQ7w07nY3ss7s0DaMD1l7nyTUyQ3b7bwz1wtbDDDty7tzCTyTnwTnwQzwzbszbttttzDVrDXnnk0S3iSDXbU0s0MszUD7k3UVnz0yTnDXTzzzzzzzi" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 1000 - } - Text := "|<异常>*130$40.U03z77400DwQMEAEz0003zXw00000Dkzz000z7zw3zvwE0GDzln01c007wz7U00zk0Tk0Tz01yDnzzlzszDy000001s000007U00000SD7W7wzswS0TnzXlU3zDyD62" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - Confirm - } + FindText().Click(X, Y + 100 * TrueRatio, "L") + Sleep 1000 switch g_numeric_settings["InterceptionBoss"] { case 1: - Text := "|<01>*200$13.Us0A3bVnktsQwCS7D3bVnktsQwCS7D3bVnktsQwCS3D87Y" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.472 * NikkeW . " ", NikkeY + 0.648 * NikkeH . " ", NikkeX + 0.472 * NikkeW + 0.179 * NikkeW . " ", NikkeY + 0.648 * NikkeH + 0.060 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("01"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") } case 2: - Text := "|<02>*200$16.Uw41U3aQCNktb3bwCTktz3bwCTUtkHa3CNwtbnaTCNwtbnaTCNwFbkC0U" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.472 * NikkeW . " ", NikkeY + 0.648 * NikkeH . " ", NikkeX + 0.472 * NikkeW + 0.179 * NikkeW . " ", NikkeY + 0.648 * NikkeH + 0.060 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("02"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") } case 3: - Text := "|<03>*200$16.Uw01U3aQCNktb3aQCTktz3bwCTUtsHbkCTktz3bwCTktb3aQCNkNX870U" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.472 * NikkeW . " ", NikkeY + 0.648 * NikkeH . " ", NikkeX + 0.472 * NikkeW + 0.179 * NikkeW . " ", NikkeY + 0.648 * NikkeH + 0.060 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("03"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") } case 4: - Text := "|<04>*200$18.UTXUD36D37D37CH7CH7CH7Cn7Cn7An7An7Bn7Bn79l7807Dl7Dn7Dn7Dn6DnUTnU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.472 * NikkeW . " ", NikkeY + 0.648 * NikkeH . " ", NikkeX + 0.472 * NikkeW + 0.179 * NikkeW . " ", NikkeY + 0.648 * NikkeH + 0.060 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("04"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") } case 5: - Text := "|<05>*200$17.kQ10M0QnstblnDXaT7AyCNwQm8tU1ny3bw7DsCTkQzUtz1nC3aQbAt4MW1sA" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.472 * NikkeW . " ", NikkeY + 0.648 * NikkeH . " ", NikkeX + 0.472 * NikkeW + 0.179 * NikkeW . " ", NikkeY + 0.648 * NikkeH + 0.060 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("05"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") } default: @@ -2385,45 +2336,37 @@ Interception() { Pause } AddLog("已切换到对应队伍") - Sleep 1000 - Text快速战斗的图标 := "|<快速战斗的图标>*200$34.zzzzzzzzzzzy0w1zzw1s3zzs3k7zzk7UDzzUD0Tzz0S0zzy0w1zzw1s3zzs3k7zzk7UDzzUD0Tzz0S0zzs3s3zz0T0Tzs3s3zz0T0Tzs3s3zz0T0Tzs3s3zz0T0Tzs3s3zz0T0Tzs3s3zz0T0Tzzzzzzzzzzzzy" - Text进入战斗 := "|<进入战斗>*200$115.zzzzzzzzzzzzyzzzzsztzlszztzzzyDyCzzzwTsTswTzsTzzz7z6DznyDy7wSDzw7zzzXzX7zkT7zVyD7zz1zzzlzllzs7Xzsk00TzkTzzs0wszz1lzys00DzwDzzw0SDzzkszzw007zz3zzy0D7zzywTzzsMTzzUzzz7z03zzyDzzwSDzzkTzzXw01yDz7zzyD7zzk7zzly07y1zXz0z7Xzzs3zzszURzUDlz0T10Dzw0zzwDyCTw3szkA003zwATzU0T6Dz3wTz6001zy67zk07X7zvyDzXU01zy7Vzs03l7zzz3zlwD7zz3kzwTVw3zzzU1syDXzz3wDyDsy3zzs00wS7lzzVz3z7wT1zs000yC7szzVzUzXyDVz000Dz73wTzUzsDlz7krU0CDz1nyDzUzy3sz3kNkDz7z0Tzzz0zz0w01kAzzzXz01zyD0zzkC00U0Tzzlz3U0070zzwD000kDzzsznw003kzzz7Xw8sDzzwTxzk03xzzzvlzDy7zzyDw" while True { - Text := "|<异常个体拦截战>*200$94.07nRznzDTrhwBjjdzS03y7xszSrtrySk1vzjnDa0sEC03svDzc2wyCSDrzw8zj0zjbjbStszTzrryws1z0zxzb1wzy1/VvzzzDzrzRPX0tCS3WSz07zTxhjTzUtvy00wWDxzk2RzzHjjxjjrQzrzSDrzxAqvZyzQbzTxxzM1k0s48" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - Confirm - } - if !(ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text进入战斗, 0, 0, , , , , TrueRatio, TrueRatio)) { + if !(ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.503 * NikkeW . " ", NikkeY + 0.879 * NikkeH . " ", NikkeX + 0.503 * NikkeW + 0.150 * NikkeW . " ", NikkeY + 0.879 * NikkeH + 0.102 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("拦截战·进入战斗的进"), , , , , , , TrueRatio, TrueRatio)) { AddLog("异常拦截次数已耗尽") break } - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text快速战斗的图标, 0, 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.506 * NikkeW . " ", NikkeY + 0.826 * NikkeH . " ", NikkeX + 0.506 * NikkeW + 0.145 * NikkeW . " ", NikkeY + 0.826 * NikkeH + 0.065 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("拦截战·快速战斗的图标"), , , , , , , TrueRatio, TrueRatio)) { AddLog("已激活快速战斗") FindText().Click(X + 50 * TrueRatio, Y, "L") } - else if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text进入战斗, 0, 0, , , , , TrueRatio, TrueRatio)) { + else if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.503 * NikkeW . " ", NikkeY + 0.879 * NikkeH . " ", NikkeX + 0.503 * NikkeW + 0.150 * NikkeW . " ", NikkeY + 0.879 * NikkeH + 0.102 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("拦截战·进入战斗的进"), , , , , , , TrueRatio, TrueRatio)) { AddLog("未激活快速战斗,尝试普通战斗") FindText().Click(X, Y, "L") Sleep 1000 - Text := "|*100$35.03k7k60606040A0A000M0M00zksks1zVzVk070D3y0C067w0S0ADsTzk8Q0zlsEs1XVUVU0301000606040C0C0A" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("ESC"), , 0, , , , , TrueRatio, TrueRatio)) { UserClick(2123, 1371, scrRatio) Sleep 500 + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , 0, , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + AddLog("跳过动画") + break + } if (A_Index > 30) { break } } - Sleep 1000 - Text := "|<确认的图标>*184$34.zy03zzzU07zzs00zzz0Tzzzs7zzvz1zzz7sDzzsD1zzz1wDzzsDVzzz1y7zzsDkzzz1z3zzsDwDzz1zlyTsDz7kz1zwT1sDzly31zk7w0Dz0Ts1zw0zkDzl3zVzz6DzDzsMTzzzXkzzzwD3zzzVy7zzw7wDzzUzkDzw7zkDz0zzU007zz001zzz00TzzzkDzy" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - AddLog("跳过动画") - } } if g_settings["InterceptionShot"] { BattleSettlement(true) } else BattleSettlement + Sleep 2000 } AddLog("===异常拦截任务结束===") BackToHall @@ -2434,35 +2377,31 @@ Interception() { OutpostDefence() { BackToHall AddLog("===前哨基地收菜任务开始===") - Text := "|<前哨基地的图标>*130$37.7k00SAEw00SAS7U0SAP3s0SAQsT0SAQC7kSAQXUwSAQMQDyAQC73yAQ7VsTAQ1wC7wS0T3lyQ07ksDy01wT3y00DlkzU03sQ7s00y31y00TUsTU0RsC3w0QT3kz0QDkw7kQAw71wQADVsSQADsS3QACS7Uk" - if (ok := FindText(&X := "wait", &Y := 5, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 5, NikkeX + 0.240 * NikkeW . " ", NikkeY + 0.755 * NikkeH . " ", NikkeX + 0.240 * NikkeW + 0.048 * NikkeW . " ", NikkeY + 0.755 * NikkeH + 0.061 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("前哨基地的图标"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击进入前哨基地") FindText().Click(X, Y, "L") + Sleep 1000 } else { - AddLog("未找到前哨基地!返回") + AddLog("未找到前哨基地!") return } - Text := "|*80$17.DlkDXUT70z41y8Xw17s6DsA3kM3lk7Xk" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while !(ok := FindText(&X, &Y, NikkeX + 0.884 * NikkeW . " ", NikkeY + 0.904 * NikkeH . " ", NikkeX + 0.884 * NikkeW + 0.114 * NikkeW . " ", NikkeY + 0.904 * NikkeH + 0.079 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("溢出资源的图标"), , , , , , , TrueRatio, TrueRatio)) { Confirm } - while (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X, &Y, NikkeX + 0.884 * NikkeW . " ", NikkeY + 0.904 * NikkeH . " ", NikkeX + 0.884 * NikkeW + 0.114 * NikkeW . " ", NikkeY + 0.904 * NikkeH + 0.079 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("溢出资源的图标"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击左下角资源") - FindText().Click(X + 50 * TrueRatio, Y, "L") + FindText().Click(X - 100 * TrueRatio, Y, "L") Sleep 1000 } - Text := "|<免费一举歼灭的红点>*194$67.000000000C0000000000zs000000000sD000000001k1k00000001kwQ00000000lz600000000lzlU0000000tzwk0000000Rzy80000000QzzbzzzzzzzyTzm00000003Dzt00000000nztU0000000Nzwk00000004TwM000000017wM00000000k0M00000000A0M000000001zs0000000007s0000000003k0000000001U0000000000k0000000000M0000000000A0E" - if (ok := FindText(&X := "wait", &Y := 5, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.490 * NikkeW . " ", NikkeY + 0.820 * NikkeH . " ", NikkeX + 0.490 * NikkeW + 0.010 * NikkeW . " ", NikkeY + 0.820 * NikkeH + 0.017 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X - 50 * TrueRatio, Y + 50 * TrueRatio, "L") Sleep 1000 - Text := "|<歼灭>*182$46.U3s7U000000S0008003s000kz0zzsTz3zXzzlzw0yDzz7zk3szwsSD0DXzlVsssU0y67XX001ssQQ40073Ulk1U0wS3D07szvk7zkzXzz0TzXyDzsEzwDszzVVzVzXzsC3wDyDz1w7UzszUDs27zXw1zk8zyDsTzkzztzrzzy" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.465 * NikkeW . " ", NikkeY + 0.738 * NikkeH . " ", NikkeX + 0.465 * NikkeW + 0.163 * NikkeW . " ", NikkeY + 0.738 * NikkeH + 0.056 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("歼灭"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击进行歼灭") FindText().Click(X, Y, "L") Sleep 1000 - Text := "|<获得奖励的图标>*191$34.zzsTzzzzVzzzzy7zzzzsTzzzzVzzzzy7zzzzsTzzzzVzzzzy7zzzzsTzzzzVzzzzy7zzzk00TzzU01zzz00Dzzw01zzzs07zzzk0zzzz07zwTy0Tw1zw3zk7zkTz0TzVzw1zzDzk7zxzz0Tzzzw1zzzzk7zzzz0Tzzzw1zzzzk3zzzz000000000001U00007U0001s" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while !(ok := FindText(&X, &Y, NikkeX + 0.503 * NikkeW . " ", NikkeY + 0.825 * NikkeH . " ", NikkeX + 0.503 * NikkeW + 0.121 * NikkeW . " ", NikkeY + 0.825 * NikkeH + 0.059 * NikkeH . " ", 0.1 * PicTolerance, 0.1 * PicTolerance, FindText().PicLib("获得奖励的图标"), , , , , , , TrueRatio, TrueRatio)) { Confirm Sleep 1000 } @@ -2470,17 +2409,14 @@ OutpostDefence() { } else AddLog("没有免费一举歼灭") AddLog("尝试常规收菜") - Text := "|<获得奖励的图标>*191$34.zzsTzzzzVzzzzy7zzzzsTzzzzVzzzzy7zzzzsTzzzzVzzzzy7zzzzsTzzzzVzzzzy7zzzk00TzzU01zzz00Dzzw01zzzs07zzzk0zzzz07zwTy0Tw1zw3zk7zkTz0TzVzw1zzDzk7zxzz0Tzzzw1zzzzk7zzzz0Tzzzw1zzzzk3zzzz000000000001U00007U0001s" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.503 * NikkeW . " ", NikkeY + 0.825 * NikkeH . " ", NikkeX + 0.503 * NikkeW + 0.121 * NikkeW . " ", NikkeY + 0.825 * NikkeH + 0.059 * NikkeH . " ", 0.1 * PicTolerance, 0.1 * PicTolerance, FindText().PicLib("获得奖励的图标"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击收菜") FindText().Click(X, Y, "L") Sleep 1000 } AddLog("尝试返回前哨基地主页面") - Text := "|<%>*74$24.U7y703y703w713wD33wD33sD33sT33sT33kT33kz33Uz33Vz33Vz033z033zU73zkC3zzy7zzw7zzwDzzwDzzsTzzsTzzsTzzks7zkk1zUU1zVU0zVUkz3Vkz3Vkz3Vky7Vky7Vky7VkwDVkwDVksTU0sTU0szk1szs3U" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while !(ok := FindText(&X, &Y, NikkeX + 0.884 * NikkeW . " ", NikkeY + 0.904 * NikkeH . " ", NikkeX + 0.884 * NikkeW + 0.114 * NikkeW . " ", NikkeY + 0.904 * NikkeH + 0.079 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("溢出资源的图标"), , , , , , , TrueRatio, TrueRatio)) { Confirm - Sleep 1000 } AddLog("已返回前哨基地主页面") AddLog("===前哨基地收菜任务结束===") @@ -2492,28 +2428,25 @@ OutpostDefence() { Expedition() { AddLog("===派遣委托任务开始===") AddLog("查找派遣公告栏") - Text := "|<派遣公告栏的图标>*145$58.zzzzsTzzzzzzzy0zzzzzzzzU0zzzzzzzw00zzzzzzz000zzzzzzk1k1zzzzzw0Dk1zzzzzU3zU1zzzzs0yDU1zzzy0DUDU3zzzU1wQDU3zzw0T3wTU3zz07kzsT03zk1yDzsT07w0DVzzsT07U3sTzzsz040y7zzzsy00Dlzzzzky01wTzxzzky0D3zzXzzls0szzw7zzVU3bzzUDzza0CTzw0TzyM0tzzs1zztU3bzzkDzza0CTzzVzzyM0tyzzDzjtU3btzzzyza0CTbzzznyM0tyDzzzDtU3bszzzsza0CTVzzzXyM0ty7zDwDtU3bsDkTkza0CTUy0y3yM0ty1k0kDtU3bs6010za0CTU0003yM0ty0000DtU3bs0000za0CTU0003yM0ty0000DtU3by0001za0CTw000TyM0tzw007ztU3Vzw01zy60DXzw0DzVs0T3zs3zsT00T3zszz7k00T7zzzky080z7zzwDU3s0y7zz3s0Ts0y7zsz07zk0y7y7k1zzk1yDVw0Tzzk1w8T03zzzk1w7s0zzzzU1wy0DzzzzU3zU3zzzzzU3s0TzzzzzU307zzzzzz001zzzzzzz00Tzzzzzzz03zzzzzzzz0zzzzzzzzyDzzzzU" - if (ok := FindText(&X := "wait", &Y := 5, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 5, NikkeX + 0.500 * NikkeW . " ", NikkeY + 0.901 * NikkeH . " ", NikkeX + 0.500 * NikkeW + 0.045 * NikkeW . " ", NikkeY + 0.901 * NikkeH + 0.092 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("派遣公告栏的图标"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击派遣公告栏") FindText().Click(X, Y, "L") - Sleep 2000 - Text := "|<全部领取的符号>*190$28.zz3zzzwDzzzkzzzz3zzzwDzzzkzzzz3zzzwDzzzkzzzU07zy00zzw03zzs0TzzU3zzz0Dz7y1zUTs7y1zkzs7zbzUTyzy1zzzs7zzzUTzzy1zzzs7zzzU000000000U0006" - while (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X := "wait", &Y := 2, NikkeX + 0.547 * NikkeW . " ", NikkeY + 0.807 * NikkeH . " ", NikkeX + 0.547 * NikkeW + 0.087 * NikkeW . " ", NikkeY + 0.807 * NikkeH + 0.066 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("获得奖励的图标"), , , , , , , TrueRatio * 0.8, TrueRatio * 0.8)) { AddLog("点击全部领取") - FindText().Click(X + 50 * TrueRatio, Y, "L") - } - Text := "|<左上角的派遣>*149$68.000040001w01k00TU20TzzUS03zw1sDzzsDszzzUz3zzy3zTzzsDsyTDUTbzzk1zDzzs1tzy00Dnzzy0AT0101szzzU07k7s0Q07k001wzz00Dzzzm0TDzs03zzzxs7nzy00zzzyzVwzs001zzwDwTDS0TwTzz1z7nrk7z7zzk7VwxxVzlw1w0sTDDwTwTzz007nnzXz7zzk01wwzs7lzzw08SDDw1wT00077Xny0T7zzw1tswT07lzzz0yyD7k1wTzzkDjXlw0T7k3w7nswTU7lzzz1wyDDs3wTzzkyD7yz1zrzzsTblzrszzU01rlwTxyTzzzzxwyDyD7nzzzzSDVy3kwDzzzVXsQ0M60zzzs0A2000U0zzwU" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - UserClick(1595, 1806, scrRatio) - Sleep 500 - } - Text := "|<全部派遣的符号>*193$35.00Ty0007zz000zzzU03zzzU0DzzzU0zzzzU3zzzzUDzzzzUTzzzzVzbwzz3y7kzz7w3UzyTw3Uzwzw3Uztzw3Uzvzw3Uzzzy3Uzzzs71zTzUQ7yzy1kTxzs71znzUw7zXy3UTz7wDVzwDwzbzsDzzzzUTzzzz0Tzzzw0Tzzzk0Tzzz00Tzzw00Dzzk007zy0001zU08" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") Sleep 1000 } - Text := "|<派遣的符号>*191$33.zzUDzzzU0Dzzk00Tzs000zy0003zU000Ds0000y00003k0000Q0k601UD1s081wTU007ly000T7s001wTU007ky000T3s003wT000z7k00Dlw003sT000y7k00DXw041sT01U61k0C00003k0000T00007w0001zk000Tz0007zw001zzs00zzzk0TzU" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + else AddLog("没有可领取的奖励") + while !(ok := FindText(&X, &Y, NikkeX + 0.378 * NikkeW . " ", NikkeY + 0.137 * NikkeH . " ", NikkeX + 0.378 * NikkeW + 0.085 * NikkeW . " ", NikkeY + 0.137 * NikkeH + 0.040 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("派遣公告栏的派遣"), , , , , , , TrueRatio, TrueRatio)) { + UserClick(1595, 1806, scrRatio) + Sleep 500 + } + AddLog("点击全部派遣") + if (ok := FindText(&X := "wait", &Y := 2, NikkeX + 0.456 * NikkeW . " ", NikkeY + 0.807 * NikkeH . " ", NikkeX + 0.456 * NikkeW + 0.087 * NikkeW . " ", NikkeY + 0.807 * NikkeH + 0.064 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("全部派遣的图标"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + Sleep 1000 + } + if (ok := FindText(&X := "wait", &Y := 2, NikkeX + 0.501 * NikkeW . " ", NikkeY + 0.814 * NikkeH . " ", NikkeX + 0.501 * NikkeW + 0.092 * NikkeW . " ", NikkeY + 0.814 * NikkeH + 0.059 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("白底蓝色右箭头"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击全部派遣") FindText().Click(X, Y, "L") Sleep 1000 @@ -2521,56 +2454,58 @@ Expedition() { } else AddLog("派遣公告栏未找到!") AddLog("===派遣委托任务结束===") - BackToHall + BackToHall() } ;endregion 前哨基地 ;region 咨询 ;tag 好感度咨询 LoveTalking() { BackToHall - UserClick(1497, 1994, scrRatio) ;点击妮姬图标位置(识图很困难) - Text := "|<咨询>*109$44.rlzzjkzsQ7blwDy200wC3zk00DVU0DkU3sk03wMEzs00yC6Tq7wA70zUU101U7kC0E00EC3U41kC3ss13yDkyC0Fs00TXU4S007ssV7U01y20FsTkTU04SDy7s017Vz1y2DVs00T1z0S007lzkDU01yzw3U" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.370 * NikkeW . " ", NikkeY + 0.883 * NikkeH . " ", NikkeX + 0.370 * NikkeW + 0.039 * NikkeW . " ", NikkeY + 0.883 * NikkeH + 0.066 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("妮姬的图标"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X + 10 * TrueRatio, Y, "L") + AddLog("点击妮姬的图标,进入好感度咨询") + Sleep 1000 } - Text := "|<左上角的咨询>*200$35.zbzzvz60DbXzw0Db3zn6zw0DiRzlyTwTznyVkTXUQDCTbavsyDjBrvyzS3DXvywqM07wtglzDsENbzTlbn7wz7za01yTsSTnzztk" - while !(ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + else { + AddLog("妮姬的图标未找到,无法进行好感度咨询,`n请尝试更换背景图") + return + } + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.818 * NikkeW . " ", NikkeY + 0.089 * NikkeH . " ", NikkeX + 0.818 * NikkeW + 0.089 * NikkeW . " ", NikkeY + 0.089 * NikkeH + 0.056 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("咨询的图标"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + Sleep 1000 + } + while !(ok := FindText(&X, &Y, NikkeX + 0.471 * NikkeW . " ", NikkeY + 0.079 * NikkeH . " ", NikkeX + 0.471 * NikkeW + 0.019 * NikkeW . " ", NikkeY + 0.079 * NikkeH + 0.037 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("咨询的图标"), , , , , , , TrueRatio, TrueRatio)) { Confirm } + AddLog("已进入好感度咨询界面") ; 花絮鉴赏会 if g_settings["Appreciation"] { Appreciation } Sleep 1000 - Text := "|<》》》>*200$36.D0S0w0TUz1y0zlz3y0zlzXz0TsznzUTszlzUDwTtzkDyTwzs7zDyTs3z7yDw3zbzDw1zXz7y1znzbz1zXz7y3zbzDy3z7yDw7zDyTsDyTwzsDwTtzkTszlzUTszlzUzlzXz0zlzXy0TUz1y0D0S0w0U" - while (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , 1, TrueRatio, TrueRatio)) { + while (ok := FindText(&X, &Y, NikkeX + 0.118 * NikkeW . " ", NikkeY + 0.356 * NikkeH . " ", NikkeX + 0.118 * NikkeW + 0.021 * NikkeW . " ", NikkeY + 0.356 * NikkeH + 0.022 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("》》》"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X + 50 * TrueRatio, Y, "L") AddLog("点击左上角的妮姬") Sleep 500 } + Sleep 1000 AddLog("===妮姬咨询任务开始===") - Text咨询 := "|<咨询的咨>*178$30.zzXzzlz3zzUT3zzUC000sC000yA001zw63VzsC7VzsS7Xzsy3XzXw3rw3s1zU3k0z0DUED0y0s13s1w0zs7z1zwTzlzwTzzw0007w0007w0007w7zw7wDzw7wDzw7wDzw7w7zw7w0007w0007w0007w7zw7yDzzzU" - Text快速咨询 := "|<快速咨询>*195$91.szbzzzDzzXzzTXzwTnzXz3zVlzz7lzyDtzsk03kM07lszz701w801yM03sM060U0z7wTzsMlyQ01000Tz00TwMNzwDlU7bDzU0DwQAzwDwk3nbzlX7sQ3y206MDtnkNlXUQ0z1k387sMsA01ksA7sslbX00D600tsD1wQMnlU07ns7zyTsyC0Nsy1zts1zk01z708wTUzws0Ds00zXX4SDUTyEF3w00TlE2D7l7z0NlyDyDs017XlVz2wzz7z7w0TXlksT0TzzXzXy7TlsUy30007k01y7y1wEzXbU03s00zbz0yBztzz07wTwTzzkw" - Text20 := "|<20/>*240$24.3000DkM3Tly3Tvz71vz71vb73zbD3rbC7rbCTXbCzvzQzvzQTtyQ00Qs000s000k000kU" - Text0 := "|<0/>*200$28.00000000000zkC07zUs0zz7U3UQS0C1lk0s7703UQw0C1nk0s7C03kws07zbU0DwQ0000U0000000008" while true { - if (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.05 * PicTolerance, 0.1 * PicTolerance, Text20, , , , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.15 * PicTolerance, 0.15 * PicTolerance, FindText().PicLib("20/"), , , , , , , TrueRatio, TrueRatio)) { AddLog("图鉴已满") - Text := "|*180$45.00000S1z070M1sSw1s7073bkT0w0QwzjsDU3z7zz1y0DktwsTk0w7773b07Us0sss1y70773UTss0tkQ3bb07C1ksQs0vUCD1r07Q0vkDU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, , , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.541 * NikkeW . " ", NikkeY + 0.637 * NikkeH . " ", NikkeX + 0.541 * NikkeW + 0.030 * NikkeW . " ", NikkeY + 0.637 * NikkeH + 0.028 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("咨询·MAX"), , , , , , , TrueRatio, TrueRatio)) { AddLog("好感度也已满,跳过") - Text := "|<已关注的图标>FC4E3C-323232$28.zzbzzzwTzzzkzzzy3zzzs7zzz0Tzzw0zzzU1zzk00zU0004000080001k000DU001z000Dy001zw00Dzk00zz003zw00Dzk00zy003zs00DzUC0Ty3y1zszy7zzzyzU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, , , , , , TrueRatio, TrueRatio)) { - AddLog("尝试取消收藏该妮姬") + if (ok := FindText(&X, &Y, NikkeX + 0.361 * NikkeW . " ", NikkeY + 0.512 * NikkeH . " ", NikkeX + 0.361 * NikkeW + 0.026 * NikkeW . " ", NikkeY + 0.512 * NikkeH + 0.046 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("收藏的图标"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") + AddLog("尝试取消收藏该妮姬") } } - else if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.05 * PicTolerance, 0.05 * PicTolerance, Text快速咨询, , 0, , , , , TrueRatio, TrueRatio)) { + else if (ok := FindText(&X, &Y, NikkeX + 0.501 * NikkeW . " ", NikkeY + 0.726 * NikkeH . " ", NikkeX + 0.501 * NikkeW + 0.130 * NikkeW . " ", NikkeY + 0.726 * NikkeH + 0.059 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("快速咨询的图标"), , , , , , , TrueRatio, TrueRatio)) { AddLog("图鉴已满,尝试快速咨询") FindText().Click(X, Y, "L") Sleep 1000 Text := "|<确认的图标>*184$34.zy03zzzU07zzs00zzz0Tzzzs7zzvz1zzz7sDzzsD1zzz1wDzzsDVzzz1y7zzsDkzzz1z3zzsDwDzz1zlyTsDz7kz1zwT1sDzly31zk7w0Dz0Ts1zw0zkDzl3zVzz6DzDzsMTzzzXkzzzwD3zzzVy7zzw7wDzzUzkDzw7zkDz0zzU007zz001zzz00TzzzkDzy" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.506 * NikkeW . " ", NikkeY + 0.600 * NikkeH . " ", NikkeX + 0.506 * NikkeW + 0.125 * NikkeW . " ", NikkeY + 0.600 * NikkeH + 0.054 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") AddLog("已咨询" A_Index "次") Sleep 1000 @@ -2580,23 +2515,25 @@ LoveTalking() { } else { AddLog("图鉴未满") - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text咨询, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.502 * NikkeW . " ", NikkeY + 0.780 * NikkeH . " ", NikkeX + 0.502 * NikkeW + 0.131 * NikkeW . " ", NikkeY + 0.780 * NikkeH + 0.088 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("咨询的咨"), , , , , , , TrueRatio, TrueRatio)) { AddLog("尝试普通咨询") - FindText().Click(X, Y, "L") - Text := "|<确认的图标>*184$34.zy03zzzU07zzs00zzz0Tzzzs7zzvz1zzz7sDzzsD1zzz1wDzzsDVzzz1y7zzsDkzzz1z3zzsDwDzz1zlyTsDz7kz1zwT1sDzly31zk7w0Dz0Ts1zw0zkDzl3zVzz6DzDzsMTzzzXkzzzwD3zzzVy7zzw7wDzzUzkDzw7zkDz0zzU007zz001zzz00TzzzkDzy" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + FindText().Click(X + 50 * TrueRatio, Y, "L") + Sleep 1000 + if (ok := FindText(&X, &Y, NikkeX + 0.506 * NikkeW . " ", NikkeY + 0.600 * NikkeH . " ", NikkeX + 0.506 * NikkeW + 0.125 * NikkeW . " ", NikkeY + 0.600 * NikkeH + 0.054 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") + Sleep 1000 AddLog("已咨询" A_Index "次") } - Sleep 2000 - Text := "|<左上角的咨询>*200$35.zbzzvz60DbXzw0Db3zn6zw0DiRzlyTwTznyVkTXUQDCTbavsyDjBrvyzS3DXvywqM07wtglzDsENbzTlbn7wz7za01yTsSTnzztk" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - UserClick(1894, 1440, scrRatio) ;点击1号位默认位置 - Sleep 200 - UserClick(1903, 1615, scrRatio) ;点击2号位默认位置 - Sleep 200 - Send "{]}" ;尝试跳过 - Sleep 200 + Sleep 500 + if (ok := FindText(X := "wait0", Y := -1, NikkeX + 0.502 * NikkeW . " ", NikkeY + 0.780 * NikkeH . " ", NikkeX + 0.502 * NikkeW + 0.131 * NikkeW . " ", NikkeY + 0.780 * NikkeH + 0.088 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("咨询的咨"), , , , , , , TrueRatio, TrueRatio)) { + while !(ok := FindText(&X, &Y, NikkeX + 0.003 * NikkeW . " ", NikkeY + 0.009 * NikkeH . " ", NikkeX + 0.003 * NikkeW + 0.069 * NikkeW . " ", NikkeY + 0.009 * NikkeH + 0.050 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("圈中的感叹号"), , , , , , , TrueRatio, TrueRatio)) { + UserClick(1894, 1440, scrRatio) ;点击1号位默认位置 + Sleep 200 + UserClick(1903, 1615, scrRatio) ;点击2号位默认位置 + Sleep 200 + Send "{]}" ;尝试跳过 + Sleep 200 + } } Sleep 1000 } @@ -2604,18 +2541,16 @@ LoveTalking() { AddLog("该妮姬已咨询") } } - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.05 * PicTolerance, 0.05 * PicTolerance, Text0, 0, 0, , , , , TrueRatio, TrueRatio)) { - AddLog("咨询次数已耗尽,跳过任务") + if (ok := FindText(&X, &Y, NikkeX + 0.502 * NikkeW . " ", NikkeY + 0.780 * NikkeH . " ", NikkeX + 0.502 * NikkeW + 0.131 * NikkeW . " ", NikkeY + 0.780 * NikkeH + 0.088 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("0/"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("咨询次数已耗尽") break } - Text := "|<左上角的咨询>*200$35.zbzzvz60DbXzw0Db3zn6zw0DiRzlyTwTznyVkTXUQDCTbavsyDjBrvyzS3DXvywqM07wtglzDsENbzTlbn7wz7za01yTsSTnzztk" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while !(ok := FindText(&X, &Y, NikkeX + 0.003 * NikkeW . " ", NikkeY + 0.009 * NikkeH . " ", NikkeX + 0.003 * NikkeW + 0.069 * NikkeW . " ", NikkeY + 0.009 * NikkeH + 0.050 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("圈中的感叹号"), , , , , , , TrueRatio, TrueRatio)) { Confirm } - Text := "|<向右的符号>*126$29.03zzy03zzy07zzy07zzy07zzw0Dzzw0Dzzw0Dzzs0Tzzs0Tzzs0Tzzk0zzzk0zzzk0zzzU1zzzU1zzzU1zzz03zzz03zzz03zzy03zzy07zzy07zzw07zzw0Dzzw0Dzzs0Dzzs0Tzzs0TzzU1zzz03zzw0Dzzs0zzzU1zzy07zzw0Tzzk0zzz03zzy07zzs0TzzU1zzz03zzw0Dzzk0zzzU1zzy07zzs0Tzzk0zzz03zzw0Dzzs0TzzU1zzy07zzw0Dzzk0zzz03zzy07zzs0Tzzs" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.970 * NikkeW . " ", NikkeY + 0.403 * NikkeH . " ", NikkeX + 0.970 * NikkeW + 0.024 * NikkeW . " ", NikkeY + 0.403 * NikkeH + 0.067 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("咨询·向右的图标"), , , , , , , TrueRatio, TrueRatio)) { AddLog("下一个妮姬") - FindText().Click(X, Y, "L") + FindText().Click(X - 30 * TrueRatio, Y, "L") Sleep 1000 } } @@ -2667,16 +2602,15 @@ Appreciation() { FriendPoint() { BackToHall AddLog("===好友点数任务开始===") - Text := "|<好友>*200$33.rzzyzyy0zrzbzDU007tzbzayTwzxrrzbziyTw0NY0TXnByTsSQDrzPrlyzngyDryyDkyzbVwzrttXDszwT4" - while (ok := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X, &Y, NikkeX + 0.980 * NikkeW . " ", NikkeY + 0.213 * NikkeH . " ", NikkeX + 0.980 * NikkeW + 0.009 * NikkeW . " ", NikkeY + 0.213 * NikkeH + 0.016 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击好友") FindText().Click(X, Y, "L") Sleep 1000 } - Text := "|<赠送>*192$44.0AQT7lwE377kwC4sk1yDXXD80DlU02G03ws00YWEzy00984Dzy7mG0HUzlwYY4sDs0980C3002G03wk00Yk1zDsD9A0Tnw1kG07wz0AAXtzD1Vns0TnUwAC07sETWNXlw2Tx68wS03w3m07X001zU1tw00U" - while (ok := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X, &Y, NikkeX + 0.628 * NikkeW . " ", NikkeY + 0.822 * NikkeH . " ", NikkeX + 0.628 * NikkeW + 0.010 * NikkeW . " ", NikkeY + 0.822 * NikkeH + 0.017 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击赠送") FindText().Click(X, Y, "L") + Sleep 1000 } AddLog("===好友点数任务结束===") BackToHall @@ -2686,8 +2620,7 @@ FriendPoint() { Mail() { BackToHall AddLog("===邮箱任务开始===") - Text := "|<带红点的邮箱>*140$49.zzzzzzzzzzzzzzzzzzzzzzszzzzzzzU7zzzzzzVkzzzzzzXwDzzzzzXzbzzzzznzlzzzzzlzwzzzzzszyTzzzzwzzDzzzzyDzbzU0077zXzU003lzlzm001s0Fztk00S00zwy00DU0zyTk07s1zz7w0DzrzzUzUDzzzzk7sTnzzzs1zzUDzzw0Dz01zzy03z00zzz00S00TzzU0000Dzzk00007zzs00003zzw00001zzy00000zzz00000TzzU0000Dzzk00007zzs00003zzw00003zzzU0003zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzk" - while (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X, &Y, NikkeX + 0.962 * NikkeW . " ", NikkeY + 0.017 * NikkeH . " ", NikkeX + 0.962 * NikkeW + 0.008 * NikkeW . " ", NikkeY + 0.017 * NikkeH + 0.015 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击邮箱") FindText().Click(X, Y, "L") Sleep 1000 @@ -2697,8 +2630,7 @@ Mail() { AddLog("===邮箱任务结束===") return } - Text := "|<全部领取的图标>*240$33.zz07zzz007zzU00Dzs000zy0003zU000Ds0000y00003k60k0Q1sD01UTXw0A1yTk107sz000TXw001zDk007wz000TXw007wz001zDk00Tnw007sz041yTk1UTXw0A1sD01k60k0S00003s0000zU000Dy0003zs000zzU00Dzz007zzz07zw" - while (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X, &Y, NikkeX + 0.519 * NikkeW . " ", NikkeY + 0.817 * NikkeH . " ", NikkeX + 0.519 * NikkeW + 0.110 * NikkeW . " ", NikkeY + 0.817 * NikkeH + 0.063 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("白底蓝色右箭头"), , , , , , , TrueRatio, TrueRatio)) { AddLog("点击全部领取") FindText().Click(X + 50 * TrueRatio, Y, "L") } @@ -2707,40 +2639,46 @@ Mail() { } ;endregion 邮箱收取 ;region 方舟排名奖励 -;tag 排名奖励(停用) +;tag 排名奖励 RankingReward() { EnterToArk() - AddLog("===排名奖励任务开始===") - Text := "|<带红点的奖杯>*200$56.zzzzzzzyDzzzzzzzw0zzzzzzzwTXzzzzzzzDwTzzzzzzbzbzzzzzzvzwzzzzzzyzzDzzzzzzDznzzzzzznzwzzzzzzyzzDzzzzzzbznzzzzzztztz00000zDwTk0000DkyDw00003y07z00000zwDy000001zzz0000007zzXU0000tzzls0000TDzwy00007nzzDU0001wzzns0000TDzwy00007nzzDU0001wzzns0000TDzwS00007nzzbU0001tzzsw0000QTzz30000ADzzs000007zzz000003zzzy00003zzzzs0007zzzzz0003zzzzzs000zzzzzy000Tzzzzzk00Dzzzzzy007zzzzzzs07zzzzzzzU7zzzzzzzs1zzzzzzzz0Tzzzzzzzk7zzzzzzzw1zzzzzzzz0TzzzzzzzU7zzzzzzzs1zzzzzzzk03zzzzzy0001zzzzz0000DzzzU" - while (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.05 * PicTolerance, 0.05 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - Sleep 1000 - FindText().Click(X, Y, "L") - Sleep 1000 - loop 2 { - Text := "|<红点>*200$19.0T00zs1kD0U1kVwMnz6HzlNzwtzyQzzCTzbDznnztdzsqTsn7ssk0sC1s3zk0DU8" - while (ok := FindText(&X := "wait", &Y := 1, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("发现红点,尝试点击") - FindText().Click(X, Y, "L") - Sleep 1000 - Text := "|<获得>*143$57.zXzDzzzzzzwDkzzlk03U000DwC0080000z1k01U0007kS7wA0001s7k01zXy7z1y00DwTlzstk01lby8zi67wC0Tl3zkk01s7yADwC00D0zlXz3s03U7w4TkTzzs0U00s3000X00070M007sE00s3U01y3w7z0TzVzUTUzxXvs7s3w7zwM0040T0TzX0001Xs3zwM00AQS4DzXlyDzXUkzwS7lzsMC3zXsSDz23sDwTXVy0UzUzXykDkADyDwTy1z3nztzXzkTU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 1000 - Text := "|<排名>*143$35.lsXzVzXl7y0D72Ds0404700008A7kkQFs73lsXy4DX11y0z023w1s34TU00C8s00EkEM7slUUuDlXl7wTX7WDs04D4Tk08S8zU0TyFz7wU" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - Confirm - } - GoBack - } - } - stdTargetX := 1858 - stdTargetY := 615 - UserMove(stdTargetX, stdTargetY, scrRatio) - Send "{WheelDown 30}" - Sleep 1000 - } + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.979 * NikkeW . " ", NikkeY + 0.138 * NikkeH . " ", NikkeX + 0.979 * NikkeW + 0.010 * NikkeW . " ", NikkeY + 0.138 * NikkeH + 0.018 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X - 30 * TrueRatio, Y + 30 * TrueRatio, "L") + } + else { + AddLog("没有可领取的排名奖励,跳过") + return + } + AddLog("===排名奖励任务开始===") + loop 2 { + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.623 * NikkeW . " ", NikkeY + 0.213 * NikkeH . " ", NikkeX + 0.623 * NikkeW + 0.047 * NikkeW . " ", NikkeY + 0.213 * NikkeH + 0.125 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("点击大标题上的红点") + FindText().Click(X, Y, "L") + Sleep 1000 + while (ok1 := FindText(&X := "wait", &Y := 3, NikkeX + 0.632 * NikkeW . " ", NikkeY + 0.799 * NikkeH . " ", NikkeX + 0.632 * NikkeW + 0.012 * NikkeW . " ", NikkeY + 0.799 * NikkeH + 0.023 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("点击领取") + FindText().Click(X, Y, "L") + } + Confirm + GoBack + } + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.330 * NikkeW . " ", NikkeY + 0.513 * NikkeH . " ", NikkeX + 0.330 * NikkeW + 0.340 * NikkeW . " ", NikkeY + 0.513 * NikkeH + 0.109 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { + loop ok.Length { + FindText().Click(ok[A_Index].x, ok[A_Index].y, "L") + AddLog("点击小标题上的红点") + Sleep 1000 + while (ok1 := FindText(&X := "wait", &Y := 3, NikkeX + 0.632 * NikkeW . " ", NikkeY + 0.799 * NikkeH . " ", NikkeX + 0.632 * NikkeW + 0.012 * NikkeW . " ", NikkeY + 0.799 * NikkeH + 0.023 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("点击领取") + FindText().Click(X, Y, "L") + } + Confirm + GoBack + } + } + UserMove(1858, 615, scrRatio) + Send "{WheelDown 30}" + Sleep 1000 } - else AddLog("没有可领取的奖励,跳过") AddLog("===排名奖励任务结束===") BackToHall } @@ -2749,110 +2687,35 @@ RankingReward() { Mission() { BackToHall AddLog("===每日任务奖励领取开始===") - Text := "|<带红点的任务>*200$48.zzzzzrzwzzzzzrzwzzzzznzxzzwDznztzz00znztzs007sznzk003wT7zUTy0y0Dy1zzkTlzw7zzsDzzwDzzwDzzsTzzy7zzkzzzz3zzU" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.05 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X, &Y, NikkeX + 0.874 * NikkeW . " ", NikkeY + 0.073 * NikkeH . " ", NikkeX + 0.874 * NikkeW + 0.011 * NikkeW . " ", NikkeY + 0.073 * NikkeH + 0.019 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") - Sleep 1000 + Sleep 3000 } else { AddLog("每日任务奖励已领取") AddLog("===每日任务奖励领取结束===") return } - loop 4 { - if A_Index = 2 { - Text := "|<周任务的图标>*150$37.zzU0zzzy003zzw000Tzw1zk7zw3zy1zw7zzkTw7zzw7w7zlz1y7zsDky7zw3wD3zy0T73zz0DVXzzU3klzzk0wEzzs0S0Tzw0D0Dzy07U7zz03k3zz01s1zz00w0zz00S4Tz00D6Dz00DX3z007VVz007lsT007kwDk07sT3y07sTkzszsTsDzzsDy1zzkDzUTzkDzw0z0Tzz000Tzzs00zzzzU3zzU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 1000 - } + while true { + while !(ok := FindText(&X, &Y, NikkeX + 0.548 * NikkeW . " ", NikkeY + 0.864 * NikkeH . " ", NikkeX + 0.548 * NikkeW + 0.093 * NikkeW . " ", NikkeY + 0.864 * NikkeH + 0.063 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("灰色的全部"), , , , , , , TrueRatio, TrueRatio)) { + UserClick(2412, 1905, scrRatio) + Sleep 1000 } - if A_Index = 3 { - Text := "|<主线任务的图标>*150$36.zzU1zzzw00Dzzs003zzU001zz0VV0zy3VVkTw73ksDsD3kw7sT7sS7ky7sT3ky7sT3U00001U00001U00001XwDyDl3wDyDt3wTyDs3wTyDs3wTyDs3wDyDs3wDwDlU00081U00001U00001k00003ky7wT3sS7sS7sT7sy7wD3kwDy3XlkTz1VVUzzU0U1zzk003zzw00Dzzz00zzU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 1000 - } - } - if A_Index = 4 { - Text := "|<成就的图标>*150$36.zzyTzzzz00zzzw00Dzzk003zzUDw1zz1zzUTw7zzkTwDzzwDsTyzy7kzwTy3lzwDz3VzsDzVXzs7zV3zk7zk7y00Dk7k003k7U003s7U003s7k007s7s00Ds7y00Ts7z00zk7y00zk3y00zk3y00TkVy00TVVy1UTVky7kT3kSTwy3sDzzw7w7zzsDy3zzkTz0zz0zzU7s1zzk007zzw00TzzzU3zzU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 1000 - } - } - Text := "|<灰色的领取>*157$40.wzzs0zzVU1U00y706000kD3wE024QDl200E070Ak0U0Q0l4lkFl74P7874QFU4UQ0s60GFk3UTX170C3yA4QEsDlkFk1Uw71S063kz1s007Xs3U20D677w0EysyTkXW" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - UserClick(2130, 1982, scrRatio) ;点领取 - Sleep 500 + if (ok := FindText(&X, &Y, NikkeX + 0.354 * NikkeW . " ", NikkeY + 0.154 * NikkeH . " ", NikkeX + 0.354 * NikkeW + 0.292 * NikkeW . " ", NikkeY + 0.154 * NikkeH + 0.023 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("浅红点"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") } + else break } AddLog("===每日任务奖励领取结束===") BackToHall } ;endregion 每日任务收取 -;region 通行证收取 -;tag 查找通行证 -Pass() { - BackToHall() - AddLog("===通行证任务开始===") - AddLog("执行第一个通行证") - OnePass() - Text := "|<通行证的旋转符号>*200$27.zy7zzy07zz00Dzk00zw3wDzVzvzsTzzz3zzbkzzsS7zy1lzzU6Dzz70Dzsw3zz7kzzkzDzy7zzzVzxzsDz3w3zk00zz00Dzy07zzy7zw" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - UserClick(3387, 389, scrRatio) - Text := "|<带红点的通行证的旋转符号>*200$35.zzzzs7zzzzDbzzzwzbzzzvzjzzzrzTzzzDyzzzyTxzzzyzvzzzxzrzkztzDw0Dsszk07w3y007zzs7sTzzkzxzzz3zzzzy7zzTzsTzwDzkzzkDzXzz0Tz7zzXzs1zz7zs7zyDzsTzsTztzzkzzzzz3zzyzw7zzsTUTzzU01zzzU07zzzk0zzzzwDzzy" - if (ok := FindText(&X := "wait", &Y := 2, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - AddLog("执行第二个通行证") - UserClick(3387, 389, scrRatio) - Sleep 1000 - OnePass() - } - } - else AddLog("只有这么一个通行证") - AddLog("===通行证任务结束===") - BackToHall() -} -;tag 执行一次通行证 -OnePass() { - UserClick(3633, 405, scrRatio) - Sleep 1000 - loop 2 { - if A_Index = 1 { - Text := "|<任务>*200$41.30307U07Xz0T00Tzz1zzUzzs7zzXzy0zzyDUw1zbsT1s1zzVy3k1zzXzzyTzzzzzyTzzbzzwwwD7zzsTxwD1s3zzwS3k7zzsw7U7zzVsD01wD3rzwDkS7jzvzTwDTznszkSTz70z2" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 1000 - } - } - if A_Index = 2 { - Text := "|<奖励>*200$41.1VU0010Lbk3zb1zTzDzy7zzyTzw7zzwzxs7znlzzyDrzXzzzzby7zzzzzsDzzzzzUTyzkzw0zxzUzU1zvzTzznzrzzzzbzyzzzzTzxvzzwzzvkzy1zzrjzzvzzyztzrzzwz0zDzvsk0A183Y" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - FindText().Click(X, Y, "L") - Sleep 1000 - } - } - Text := "|<灰色的全部>*170$39.zbzzDzzwTzsy1z1zs1k7n7z06NswTwtrCDkzbCt3z1wlmMTsDaCHk07k0GTwTy06NzXzzzrDwTzzyts0Ts0rj03z46NzXztsmDwTzD6HzXzssns00D06Tzzzttrw" - while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - UserClick(2168, 2020, scrRatio) ;点领取 - Sleep 500 - UserClick(2168, 2020, scrRatio) ;点领取 - Sleep 500 - UserClick(2168, 2020, scrRatio) ;点领取 - Sleep 500 - } - } - BackToHall() -} -;endregion 通行证收取 ;region 剧情活动 ;tag 小活动 -Activity() { +Session() { BackToHall - Text := "|<作战出击的出击>*200$78.zzkDzzzzzzzzzzzkDzzzzzzzzzsDkDzzzzzzzzzsDkDzzzzzzzzzsDkDsDzzzsDzzsDkDs7zzzsDzzsDkDs7zzzsDzzsDkDs7zUzsDzzsDkDs7zU007zzsDkDs7zU0007zs7kDs7zU00003s007s7zU00003s00007zzs0003s00007zzzk003s00007zzzs7y3zw0007zzzsDzzzzk007y0zsDzz0zkDzDw0007zz0zkDzzy0000Dz0zkDzzy0000000zkDw3y0000000zkDw1zzk00000zkDw1zzzk0000zkDw1zrzs7s00zkDw1zkTsDzz0zkDw1zkDsDzz0TkDw1zkDsDsD000Dw1zkDsDs70001w1zkDsDs7000001zkDsDs7U00001zkDsDs7z00001zkDsDs7zzw001zk0k7s7zzzzU1zk003s7zzzzw1zk00007zzzzw1zk00007zzzzzzzy00007zzzzzzzzzs007zzzzzzzzzzz07zzzzzzzzzzzs7zzzzzzzzzzzzjU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.645 * NikkeW . " ", NikkeY + 0.719 * NikkeH . " ", NikkeX + 0.645 * NikkeW + 0.123 * NikkeW . " ", NikkeY + 0.719 * NikkeH + 0.131 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("作战出击的击"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y + 100 * TrueRatio, "L") - Sleep 1000 } Text := "|<挑战>*200$42.vxrzzyznwrznyPnwrznyPngrTnyT00qTkCT0kkzlyRnkkzns0nwrznsDnwrznyTkwnzVyRUsky0CN3kkSSD3nVqSzD3ndrSzD7ntryzDDntryzCCnnrC0A6nXnC08UXDkST9lU" while !(ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , , , , , , TrueRatio, TrueRatio)) { @@ -2870,7 +2733,7 @@ Activity() { if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text红, , 0, , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") } - else if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text黄, 0, 0, , , , 3, TrueRatio, TrueRatio)) { + else if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text黄, , 0, , , , 3, TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") } Text := "|<快速战斗的图标>*194$29.UD0TzUD0TzUD0TzUD0TzUD0TzUD0TzUD0TzUD0TzUD0TzUD0TzUD0Ty0w1zs3k7zUD0Ty0w1zs3k7zUD0Ty0w1zs3k7zUD0Ty0w1zs3k7zs" @@ -2948,7 +2811,158 @@ Activity() { AddLog("===剧情活动任务结束===") BackToHall } +;tag 大活动 +Festival() { + BackToHall + AddLog("===大活动任务开始===") + BackToHall + if (ok := FindText(&X, &Y, NikkeX + 0.645 * NikkeW . " ", NikkeY + 0.719 * NikkeH . " ", NikkeX + 0.645 * NikkeW + 0.123 * NikkeW . " ", NikkeY + 0.719 * NikkeH + 0.131 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("作战出击的击"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y + 100 * TrueRatio, "L") + Sleep 500 + } + while !(ok := FindText(&X, &Y, NikkeX + 0.002 * NikkeW . " ", NikkeY + 0.002 * NikkeH . " ", NikkeX + 0.002 * NikkeW + 0.061 * NikkeW . " ", NikkeY + 0.002 * NikkeH + 0.053 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("活动地区"), , , , , , , TrueRatio, TrueRatio)) { + Confirm + } + AddLog("已进入活动地区") + AddLog("===签到===") + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.553 * NikkeW . " ", NikkeY + 0.781 * NikkeH . " ", NikkeX + 0.553 * NikkeW + 0.105 * NikkeW . " ", NikkeY + 0.781 * NikkeH + 0.058 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("签到"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X - 50 * TrueRatio, Y, "L") + Sleep 500 + } + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.530 * NikkeW . " ", NikkeY + 0.915 * NikkeH . " ", NikkeX + 0.530 * NikkeW + 0.106 * NikkeW . " ", NikkeY + 0.915 * NikkeH + 0.049 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("全部领取的全部"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X + 50 * TrueRatio, Y, "L") + AddLog("点击全部领取") + } + while !(ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.002 * NikkeW . " ", NikkeY + 0.002 * NikkeH . " ", NikkeX + 0.002 * NikkeW + 0.061 * NikkeW . " ", NikkeY + 0.002 * NikkeH + 0.053 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("活动地区"), , , , , , , TrueRatio, TrueRatio)) { + GoBack + Sleep 1000 + } + AddLog("===刷挑战===") + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.356 * NikkeW . " ", NikkeY + 0.840 * NikkeH . " ", NikkeX + 0.356 * NikkeW + 0.107 * NikkeW . " ", NikkeY + 0.840 * NikkeH + 0.060 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("挑战"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X - 50 * TrueRatio, Y, "L") + Sleep 500 + } + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.003 * NikkeW . " ", NikkeY + 0.005 * NikkeH . " ", NikkeX + 0.003 * NikkeW + 0.063 * NikkeW . " ", NikkeY + 0.005 * NikkeH + 0.050 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("挑战关卡"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("进入挑战关卡页面") + } + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.354 * NikkeW . " ", NikkeY + 0.344 * NikkeH . " ", NikkeX + 0.354 * NikkeW + 0.052 * NikkeW . " ", NikkeY + 0.344 * NikkeH + 0.581 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("红色的关卡的循环图标"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X + 50 * TrueRatio, Y, "L") + Sleep 1000 + } + else if (ok := FindText(&X, &Y, NikkeX + 0.354 * NikkeW . " ", NikkeY + 0.344 * NikkeH . " ", NikkeX + 0.354 * NikkeW + 0.052 * NikkeW . " ", NikkeY + 0.344 * NikkeH + 0.581 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("黄色的关卡的循环图标"), , , , , , 3, TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + } + EnterToBattle + BattleSettlement + while !(ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.002 * NikkeW . " ", NikkeY + 0.002 * NikkeH . " ", NikkeX + 0.002 * NikkeW + 0.061 * NikkeW . " ", NikkeY + 0.002 * NikkeH + 0.053 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("活动地区"), , , , , , , TrueRatio, TrueRatio)) { + GoBack + Sleep 1000 + } + AddLog("===刷11关===") + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.355 * NikkeW . " ", NikkeY + 0.719 * NikkeH . " ", NikkeX + 0.355 * NikkeW + 0.107 * NikkeW . " ", NikkeY + 0.719 * NikkeH + 0.062 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("STORYⅠ"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X - 50 * TrueRatio, Y, "L") + Sleep 500 + } + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.002 * NikkeW . " ", NikkeY + 0.005 * NikkeH . " ", NikkeX + 0.002 * NikkeW + 0.060 * NikkeW . " ", NikkeY + 0.005 * NikkeH + 0.052 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("剧情活动"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("进入剧情活动页面") + } + else MsgBox("进入剧情活动超时") + Sleep 500 + Confirm + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.453 * NikkeW . " ", NikkeY + 0.769 * NikkeH . " ", NikkeX + 0.453 * NikkeW + 0.040 * NikkeW . " ", NikkeY + 0.769 * NikkeH + 0.031 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("时间"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y - 50 * TrueRatio, "L") + } + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.003 * NikkeW . " ", NikkeY + 0.002 * NikkeH . " ", NikkeX + 0.003 * NikkeW + 0.054 * NikkeW . " ", NikkeY + 0.002 * NikkeH + 0.058 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("活动关卡"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("进入活动关卡页面") + Sleep 500 + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.499 * NikkeW . " ", NikkeY + 0.523 * NikkeH . " ", NikkeX + 0.499 * NikkeW + 0.079 * NikkeW . " ", NikkeY + 0.523 * NikkeH + 0.089 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("REPEAT"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + EnterToBattle + BattleSettlement + } + } + while !(ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.002 * NikkeW . " ", NikkeY + 0.002 * NikkeH . " ", NikkeX + 0.002 * NikkeW + 0.061 * NikkeW . " ", NikkeY + 0.002 * NikkeH + 0.053 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("活动地区"), , , , , , , TrueRatio, TrueRatio)) { + GoBack + Sleep 1000 + } + AddLog("===协同作战===") + if g_settings["Cooperate"] { + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.463 * NikkeW . " ", NikkeY + 0.895 * NikkeH . " ", NikkeX + 0.463 * NikkeW + 0.073 * NikkeW . " ", NikkeY + 0.895 * NikkeH + 0.043 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("协同作战的协同"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X - 50 * TrueRatio, Y, "L") + Sleep 500 + } + if (ok := FindText(&X, &Y, NikkeX + 0.367 * NikkeW . " ", NikkeY + 0.796 * NikkeH . " ", NikkeX + 0.367 * NikkeW + 0.269 * NikkeW . " ", NikkeY + 0.796 * NikkeH + 0.040 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("捍卫者"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y - 50 * TrueRatio, "L") + } + CooperateBattle + while !(ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.002 * NikkeW . " ", NikkeY + 0.002 * NikkeH . " ", NikkeX + 0.002 * NikkeW + 0.061 * NikkeW . " ", NikkeY + 0.002 * NikkeH + 0.053 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("活动地区"), , , , , , , TrueRatio, TrueRatio)) { + GoBack + Sleep 1000 + } + } + AddLog("===领取奖励===") + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.951 * NikkeW . " ", NikkeY + 0.230 * NikkeH . " ", NikkeX + 0.951 * NikkeW + 0.045 * NikkeW . " ", NikkeY + 0.230 * NikkeH + 0.072 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("任务的图标"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + } + while !(ok := FindText(&X, &Y, NikkeX + 0.548 * NikkeW . " ", NikkeY + 0.864 * NikkeH . " ", NikkeX + 0.548 * NikkeW + 0.093 * NikkeW . " ", NikkeY + 0.864 * NikkeH + 0.063 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("灰色的全部"), , , , , , , TrueRatio, TrueRatio)) { + UserClick(2412, 1905, scrRatio) + Sleep 1000 + } + AddLog("===已领取全部奖励===") + AddLog("===大活动任务结束===") + BackToHall +} ;endregion 剧情活动 +;region 通行证收取 +;tag 查找通行证 +Pass() { + BackToHall() + AddLog("===通行证任务开始===") + loop 4 { + t := 0 + if (ok := FindText(&X, &Y, NikkeX + 0.988 * NikkeW . " ", NikkeY + 0.127 * NikkeH . " ", NikkeX + 0.988 * NikkeW + 0.010 * NikkeW . " ", NikkeY + 0.127 * NikkeH + 0.020 * NikkeH . " ", 0.4 * PicTolerance, 0.4 * PicTolerance, FindText().PicLib("红点"), , , , , , , TrueRatio, TrueRatio)) { + t := t + 1 + AddLog("执行第" t "个通行证") + OnePass() + } + UserMove(3787, 369, scrRatio) + Click "Down" + UserMove(3458, 369, scrRatio) + Click "Up" + Sleep 500 + } + AddLog("===通行证任务结束===") + BackToHall() +} +;tag 执行一次通行证 +OnePass() { + UserClick(3633, 405, scrRatio) + loop 2 { + Sleep 1000 + if A_Index = 1 { + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.498 * NikkeW . " ", NikkeY + 0.280 * NikkeH . " ", NikkeX + 0.498 * NikkeW + 0.145 * NikkeW . " ", NikkeY + 0.280 * NikkeH + 0.086 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("任务"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + Sleep 1000 + } + } + if A_Index = 2 { + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.356 * NikkeW . " ", NikkeY + 0.278 * NikkeH . " ", NikkeX + 0.356 * NikkeW + 0.145 * NikkeW . " ", NikkeY + 0.278 * NikkeH + 0.070 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("奖励"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + Sleep 1000 + } + } + while !(ok := FindText(&X, &Y, NikkeX + 0.429 * NikkeW . " ", NikkeY + 0.903 * NikkeH . " ", NikkeX + 0.429 * NikkeW + 0.143 * NikkeW . " ", NikkeY + 0.903 * NikkeH + 0.050 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("灰色的全部"), , , , , , , TrueRatio, TrueRatio)) { + UserClick(2168, 2020, scrRatio) ;点领取 + Sleep 200 + UserClick(2168, 2020, scrRatio) ;点领取 + Sleep 200 + UserClick(2168, 2020, scrRatio) ;点领取 + Sleep 200 + } + } + BackToHall() +} +;endregion 通行证收取 ;region 招募 ;tag 每日免费招募 FreeRecruit() { @@ -2983,9 +2997,7 @@ Cooperate() { BackToHall AddLog("===协同作战任务开始===") ;把鼠标移动到活动栏 - stdTargetX := 150 - stdTargetY := 257 - UserMove(stdTargetX, stdTargetY, scrRatio) + UserMove(150, 257, scrRatio) Text := "|*40$40.00000Q000001U00000A000001U00000A000001U00000A000001U00000A000003U000Dzw00E0zzU0303zw00Q0C0003k0s000T03U003w0C000Tk0s003z03U00Tw0C003zk0s00Tz03U03zw0Dzzzzk0zzzzz03zzzzw0Dzzzzk0zzzzz03zzzzw0Dzzzzk0zzzzz03zzzzw0Dzzzzk0zzzzz03zzzzw0Dzzzzs" while true { if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { @@ -3002,17 +3014,15 @@ Cooperate() { return } } + CooperateBattle + AddLog("===协同作战任务结束===") + BackToHall +} +CooperateBattle() { while true { - ;一直找开始匹配 - Text匹配 := "|<匹配>*200$51.0000s0400000700U00001z4zz0yC7zs7zs7lkzw0Dz0yC7z00zs7Vkzs07z0wD7z48zs7Xszsd600wT7z5ck07Xstsh600sT771Uls37sssA6DsEz273slz0Ds1sz6Ds1z0D00lz2Tzzs04Dszzzz3kVw3zzzsz4DU000D00lw0000s0600000700k0U" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text匹配, , , , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 10, NikkeX + 0.851 * NikkeW . " ", NikkeY + 0.750 * NikkeH . " ", NikkeX + 0.851 * NikkeW + 0.134 * NikkeW . " ", NikkeY + 0.750 * NikkeH + 0.068 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("开始匹配的开始"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") - Sleep 1000 - Text := "|<通知>**50$48.0DzyTU00TA07MUTytw03Mzzzkw07MzU3sT4Ck0U3QS0Sk0U3Cz0TU3XX7s03WDXX0803nAXXzslny7XXUM03U0XXUM03U0XXUMlnU0XXwM03yDXXAM0366XX4MEX63XX4MlXA1XXAMl3A1XXsMt7sM03k3zzksU3V001UxU3nk01ljXXqy07v0zzU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - BackToHall - return - } + Sleep 500 } else { AddLog("协同作战次数已耗尽或未在开放时间") @@ -3020,29 +3030,29 @@ Cooperate() { BackToHall return } + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.508 * NikkeW . " ", NikkeY + 0.600 * NikkeH . " ", NikkeX + 0.508 * NikkeW + 0.120 * NikkeW . " ", NikkeY + 0.600 * NikkeH + 0.053 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , , , , , , TrueRatio, TrueRatio)) { + AddLog("协同作战次数已耗尽") + return + } + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.375 * NikkeW . " ", NikkeY + 0.436 * NikkeH . " ", NikkeX + 0.375 * NikkeW + 0.250 * NikkeW . " ", NikkeY + 0.436 * NikkeH + 0.103 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("普通"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + Sleep 500 + } + if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.373 * NikkeW . " ", NikkeY + 0.644 * NikkeH . " ", NikkeX + 0.373 * NikkeW + 0.253 * NikkeW . " ", NikkeY + 0.644 * NikkeH + 0.060 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("确认"), , , , , , , TrueRatio, TrueRatio)) { + FindText().Click(X, Y, "L") + } while true { - ;防止有人取消,反复检测 - Text接受 := "|<接受>**50$48.7kT001zw4kNUTzk64rtzM0064w01M03yww01SSTAkDDDCSP4kDDACDCCkDDDSCADww01k0014s01k0014w01nzztQDnznzztsDXzv00Pk001z00Tks01X7sMwzD7VXsk4qDC1llk4o6A0s3U4r0Q1s3sQzkDTU0TMy03E1k1Es7XM7w3U" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text接受, , , , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.511 * NikkeW . " ", NikkeY + 0.660 * NikkeH . " ", NikkeX + 0.511 * NikkeW + 0.106 * NikkeW . " ", NikkeY + 0.660 * NikkeH + 0.054 * NikkeH . " ", 0.3 * PicTolerance, 0.3 * PicTolerance, FindText().PicLib("白色的圆圈加勾"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") - Sleep 1000 } - Text准备 := "|<准备>**50$54.y6AM067zUX4Q80A01kXAS80M00ElgSDlk00kks00H0TVUMk00G0D3UMkwDmA0709UyDnz0D0D0yDny07z3000z00032000M0D033800w1zs37syDo3zyCAsyDbU00QAMwDlU00E8M00FXkwMMs00lXkwMEsyDlU00Mkca81U00MlcyDtXkwMV800NXkwMX8009U00Mn800NU00MU" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text准备, , , , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.444 * NikkeW . " ", NikkeY + 0.915 * NikkeH . " ", NikkeX + 0.444 * NikkeW + 0.112 * NikkeW . " ", NikkeY + 0.915 * NikkeH + 0.052 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("准备"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") - Sleep 1000 break } - if A_Index > 50 { - MsgBox "进入作战失败!" - Pause - } } BattleSettlement - Sleep 5000 + sleep 5000 } - AddLog("===协同作战任务结束===") - BackToHall } ;endregion 协同作战 ;region 单人突击 @@ -3189,13 +3199,10 @@ StoryMode(*) { Initialization WriteSettings while True { - Text := "|*10$39.zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzztzDzzzz7szzzzsD1zzzz0s7zzzs30Tzzz000zzzs003zzz000Dzzs001zzz000zzzs10Dzzz0s7zzzsD1zzzz3szzzztzDzzzzzzzzzzzzzzzw" - while (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { - Text1 := "|<1>*200$10.zzzz3kD0zXyDszXyDszXyDszXyDzzzU" - Text2 := "|<2>*190$14.zzzzzU7s0wAD7XzszsDk7s3w7z7zlzw0D03k0zzzzzU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.05 * PicTolerance, 0.05 * PicTolerance, Text1, , 0, , , , , TrueRatio, TrueRatio)) { + while (ok := FindText(&X, &Y, NikkeX + 0.936 * NikkeW . " ", NikkeY + 0.010 * NikkeH . " ", NikkeX + 0.936 * NikkeW + 0.051 * NikkeW . " ", NikkeY + 0.010 * NikkeH + 0.025 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("SKIP的图标"), , , , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.361 * NikkeW . " ", NikkeY + 0.638 * NikkeH . " ", NikkeX + 0.361 * NikkeW + 0.018 * NikkeW . " ", NikkeY + 0.638 * NikkeH + 0.282 * NikkeH . " ", 0.1 * PicTolerance, 0.1 * PicTolerance, FindText().PicLib("1"), , , , , , , TrueRatio, TrueRatio)) { if !g_settings["StoryModeAutoChoose"] { - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text2, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.361 * NikkeW . " ", NikkeY + 0.638 * NikkeH . " ", NikkeX + 0.361 * NikkeW + 0.018 * NikkeW . " ", NikkeY + 0.638 * NikkeH + 0.282 * NikkeH . " ", 0.1 * PicTolerance, 0.1 * PicTolerance, FindText().PicLib("2"), , , , , , , TrueRatio, TrueRatio)) { continue } } @@ -3203,8 +3210,7 @@ StoryMode(*) { Send "{1}" Sleep 500 } - TextAUTO := "|*220$26.zs1zzs07zw00zz3w7zvzkzzzwDtzzVwDzwS1zz30DzkwTzyD3zw0kzzUSDzwDVzzbwTzzz3zrzsDkzz00Dzs07zzU7zU" - if (ok := FindText(&X, &Y, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, TextAUTO, 0, 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X, &Y, NikkeX + 0.785 * NikkeW . " ", NikkeY + 0.004 * NikkeH . " ", NikkeX + 0.785 * NikkeW + 0.213 * NikkeW . " ", NikkeY + 0.004 * NikkeH + 0.071 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("AUTO"), , , , , , , TrueRatio, TrueRatio)) { Send "{LShift Down}" Sleep 500 Send "{LShift Up}" @@ -3212,15 +3218,13 @@ StoryMode(*) { } } if g_settings["StoryModeAutoStar"] { - Text := "|<灰色的星星>*51$28.zzbzzzwDzzzkzzzy1zzzs7zzz0Dzzw0zzzU1zy000700002000080001k000DU001z000Dz001zw00Dzk00zz003zw00Dzk00zz001zs1U7zUTUTy7zVztzzbs" - if (ok := FindText(&X := "wait", &Y := 5, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.2 * PicTolerance, 0.2 * PicTolerance, Text, , , , , , 8, TrueRatio, TrueRatio)) { - Sleep 1000 + Sleep 3000 + while (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.353 * NikkeW . " ", NikkeY + 0.319 * NikkeH . " ", NikkeX + 0.353 * NikkeW + 0.293 * NikkeW . " ", NikkeY + 0.319 * NikkeH + 0.361 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("灰色的星星"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") - Sleep 1000 + Sleep 500 } } - Text := "|<播放>*192$53.sTzlzlz3zks01zVy7zVk03z3wDz3U0Dy7sTy7W4D00Uzk308y0100U400w02010000s0Q031000wDkMD3U03sTUky7k0Tk01VwC00TU037s08ED000D00kky400Q0001w8O0s3U07sEw3s700DkVs7wC4ATX3sDsQ00y67UTks01wAC0TVk03sMM0T3V37VkU08700C001UES00SA47VUw00ysATXjzzzzzzzy" - if (ok := FindText(&X := "wait", &Y := 3, NikkeX, NikkeY, NikkeX + NikkeW, NikkeY + NikkeH, 0.1 * PicTolerance, 0.1 * PicTolerance, Text, , 0, , , , , TrueRatio, TrueRatio)) { + if (ok := FindText(&X := "wait", &Y := 3, NikkeX + 0.500 * NikkeW . " ", NikkeY + 0.514 * NikkeH . " ", NikkeX + 0.500 * NikkeW + 0.139 * NikkeW . " ", NikkeY + 0.514 * NikkeH + 0.070 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("记录播放的播放"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") Sleep 500 FindText().Click(X, Y, "L") @@ -3270,6 +3274,7 @@ TestMode(BtnTestMode, Info) { } ^5:: { initialization() + AddLog("===领取奖励===") if (ok := FindText(&X := "wait", &Y := 1, NikkeX + 0.951 * NikkeW . " ", NikkeY + 0.230 * NikkeH . " ", NikkeX + 0.951 * NikkeW + 0.045 * NikkeW . " ", NikkeY + 0.230 * NikkeH + 0.072 * NikkeH . " ", 0.2 * PicTolerance, 0.2 * PicTolerance, FindText().PicLib("任务的图标"), , , , , , , TrueRatio, TrueRatio)) { FindText().Click(X, Y, "L") } @@ -3277,7 +3282,6 @@ TestMode(BtnTestMode, Info) { UserClick(2412, 1905, scrRatio) Sleep 1000 } - AddLog("===大活动任务结束===") } ^9:: { ;添加基本的依赖