JS脚本:fix历练点双倍好感切换队伍,新增返回七天神像切换指定队伍加速版 (#511)
* fix:历练点双倍好感度切换队伍bug,feat:加入关闭提示,debug输出等选项 * JS脚本:返回七天神像切换指定队伍加速版 bgiVersion >= 0.44.1
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 307 B |
Binary file not shown.
|
After Width: | Height: | Size: 517 B |
146
repo/js/AcceleratedEditionSwitchParty/main.js
Normal file
146
repo/js/AcceleratedEditionSwitchParty/main.js
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
// Party Setup
|
||||||
|
const QuickSetupButtonRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Quick Setup Button.png"), 1100, 900, 400, 180);
|
||||||
|
const ConfigureTeamButtonRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Configure Team Button.png"), 0, 900, 200, 180);
|
||||||
|
const ConfirmDeployButtonRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Confirm Deploy Button.png"), 0, 900, 1920, 180);
|
||||||
|
// Slider
|
||||||
|
const LeftSliderTopRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Top.png"), 650, 50, 100, 100);
|
||||||
|
const LeftSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Bottom.png"), 650, 100, 100, 900);
|
||||||
|
const MiddleSliderTopRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Top.png"), 1250, 50, 100, 200);
|
||||||
|
const MiddleSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Bottom.png"), 1250, 100, 100, 900);
|
||||||
|
const RightSliderTopRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Top.png"), 1750, 100, 100, 100);
|
||||||
|
const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("Assets/RecognitionObject/Slider Bottom.png"), 1750, 100, 100, 900);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {Promise<void>}
|
||||||
|
*/
|
||||||
|
|
||||||
|
(async function() {
|
||||||
|
// 翻页
|
||||||
|
async function pageDown(SliderBottomRo) {
|
||||||
|
let SliderBottom = captureGameRegion().find(SliderBottomRo);
|
||||||
|
if (SliderBottom.isExist()) {
|
||||||
|
log.info("当前页面已识别&点击完毕,向下滑动");
|
||||||
|
// log.info("滑块当前位置:({x},{y},{h},{w})", SliderBottom.x, SliderBottom.y, SliderBottom.Width, SliderBottom.Height);
|
||||||
|
click(Math.ceil(SliderBottom.x + SliderBottom.Width / 2), Math.ceil(SliderBottom.y + SliderBottom.Height * 2));
|
||||||
|
await moveMouseTo(0, 0);
|
||||||
|
await sleep(100);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 滑条顶端
|
||||||
|
async function pageTop(SliderTopRo) {
|
||||||
|
let SliderTop = captureGameRegion().find(SliderTopRo);
|
||||||
|
if (SliderTop.isExist()) {
|
||||||
|
log.info("识别到滑条顶端位置:({x},{y},{h},{w})", SliderTop.x, SliderTop.y, SliderTop.Width, SliderTop.Height);
|
||||||
|
await moveMouseTo(Math.ceil(SliderTop.x + SliderTop.Width / 2), Math.ceil(SliderTop.y + SliderTop.Height * 1));
|
||||||
|
leftButtonDown();
|
||||||
|
await sleep(1000);
|
||||||
|
leftButtonUp();
|
||||||
|
await moveMouseTo(0, 0);
|
||||||
|
await sleep(100);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 切换队伍
|
||||||
|
async function SwitchParty(partyName) {
|
||||||
|
let ConfigureStatue = false;
|
||||||
|
keyPress("VK_L");
|
||||||
|
|
||||||
|
for (let i = 0; i < 10; i++) {
|
||||||
|
let QuickSetupButton = captureGameRegion().find(QuickSetupButtonRo);
|
||||||
|
if (QuickSetupButton.isExist()) {
|
||||||
|
log.info("已进入队伍配置页面");
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
await sleep(1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 识别当前队伍
|
||||||
|
let captureRegion = captureGameRegion();
|
||||||
|
let resList = captureRegion.findMulti(RecognitionObject.ocr(100, 900, 300, 180));
|
||||||
|
for (let i = 0; i < resList.count; i++) {
|
||||||
|
let res = resList[i];
|
||||||
|
log.info("当前队伍名称位置:({x},{y},{w},{h}), 识别结果:{text}", res.x, res.y, res.Width, res.Height, res.text);
|
||||||
|
if (res.text.includes(partyName)) {
|
||||||
|
log.info("当前队伍即为目标队伍,无需切换");
|
||||||
|
keyPress("VK_ESCAPE");
|
||||||
|
await sleep(500);
|
||||||
|
} else {
|
||||||
|
await sleep(1000);
|
||||||
|
let ConfigureTeamButton = captureGameRegion().find(ConfigureTeamButtonRo);
|
||||||
|
if (ConfigureTeamButton.isExist()) {
|
||||||
|
log.info("识别到配置队伍按钮");
|
||||||
|
ConfigureTeamButton.click();
|
||||||
|
await sleep(500);
|
||||||
|
await pageTop(LeftSliderTopRo);
|
||||||
|
|
||||||
|
for (let p = 0; p < 4; p++) {
|
||||||
|
// 识别当前页
|
||||||
|
let captureRegion = captureGameRegion();
|
||||||
|
let resList = captureRegion.findMulti(RecognitionObject.ocr(0, 100, 400, 900));
|
||||||
|
for (let i = 0; i < resList.count; i++) {
|
||||||
|
let res = resList[i];
|
||||||
|
if (settings.enableDebug) {
|
||||||
|
log.info("文本位置:({x},{y},{w},{h}), 识别内容:{text}", res.x, res.y, res.Width, res.Height, res.text);
|
||||||
|
}
|
||||||
|
if (res.text.includes(partyName)) {
|
||||||
|
log.info("目标队伍位置:({x},{y},{w},{h}), 识别结果:{text}", res.x, res.y, res.Width, res.Height, res.text);
|
||||||
|
click(res.x, Math.ceil(res.y + res.Height * 1.35));
|
||||||
|
|
||||||
|
// 找到目标队伍,点击确定、部署
|
||||||
|
await sleep(1500);
|
||||||
|
let ConfirmButton = captureGameRegion().find(ConfirmDeployButtonRo);
|
||||||
|
if (ConfirmButton.isExist()) {
|
||||||
|
log.info("识别到确定按钮:({x},{y},{w},{h})", ConfirmButton.x, ConfirmButton.y, ConfirmButton.Width, ConfirmButton.Height);
|
||||||
|
ConfirmButton.click();
|
||||||
|
}
|
||||||
|
await sleep(1500);
|
||||||
|
let DeployButton = captureGameRegion().find(ConfirmDeployButtonRo);
|
||||||
|
if (DeployButton.isExist()) {
|
||||||
|
log.info("识别到部署按钮:({x},{y},{w},{h})", DeployButton.x, DeployButton.y, DeployButton.Width, DeployButton.Height);
|
||||||
|
DeployButton.click();
|
||||||
|
ConfigureStatue = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ConfigureStatue) {
|
||||||
|
await genshin.returnMainUi();
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
await pageDown(LeftSliderBottomRo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!ConfigureStatue) {
|
||||||
|
log.warn("\n\n队伍切换失败,可能是:\n1.处于联机模式 \n2.无法正确识别\n3.JS自定义配置中的队伍名称设置错误,请检查!\n");
|
||||||
|
await genshin.returnMainUi();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Main
|
||||||
|
if (!!settings.partyName) {
|
||||||
|
// try {
|
||||||
|
if (!settings.disableGoStatue) {
|
||||||
|
log.info("正在传送回七天神像切换队伍");
|
||||||
|
await genshin.TpToStatueOfTheSeven();
|
||||||
|
log.info("正在尝试切换至" + settings.partyName);
|
||||||
|
await SwitchParty(settings.partyName);
|
||||||
|
} else {
|
||||||
|
await genshin.returnMainUi();
|
||||||
|
log.info("正在尝试切换至" + settings.partyName);
|
||||||
|
await SwitchParty(settings.partyName);
|
||||||
|
}
|
||||||
|
// } catch {
|
||||||
|
// log.warn("队伍切换失败,可能处于联机模式或其他不可切换状态");
|
||||||
|
// await genshin.returnMainUi();
|
||||||
|
// }
|
||||||
|
} else {
|
||||||
|
log.warn("没有设置切换队伍");
|
||||||
|
await genshin.returnMainUi();
|
||||||
|
}
|
||||||
|
})();
|
||||||
15
repo/js/AcceleratedEditionSwitchParty/manifest.json
Normal file
15
repo/js/AcceleratedEditionSwitchParty/manifest.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"manifest_version": 1,
|
||||||
|
"name": "返回七天神像切换指定队伍加速版",
|
||||||
|
"version": "1.0",
|
||||||
|
"BgiVersion": "0.44.1",
|
||||||
|
"description": "",
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "起个名字好难的喵",
|
||||||
|
"links":"https://github.com/MisakaAldrich"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"settings_ui": "settings.json",
|
||||||
|
"main": "main.js"
|
||||||
|
}
|
||||||
17
repo/js/AcceleratedEditionSwitchParty/settings.json
Normal file
17
repo/js/AcceleratedEditionSwitchParty/settings.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "partyName",
|
||||||
|
"type": "input-text",
|
||||||
|
"label": "需要切换的队伍名称"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "disableGoStatue",
|
||||||
|
"type": "checkbox",
|
||||||
|
"label": "关闭前往七天神像"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "enableDebug",
|
||||||
|
"type": "checkbox",
|
||||||
|
"label": "开启Debug模式(队伍寻找过程中的识别内容)"
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -28,15 +28,17 @@ const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
|
|||||||
*/
|
*/
|
||||||
(async function() {
|
(async function() {
|
||||||
// 切换队伍
|
// 切换队伍
|
||||||
|
if (!settings.disableNotice) {
|
||||||
for (let n = 0; n < 10; n++) {
|
for (let n = 0; n < 10; n++) {
|
||||||
log.warn("提示:队伍中小于等于两人时,才会触发双倍奖励");
|
log.warn("提示:队伍中小于等于两人时,才会触发双倍奖励");
|
||||||
}
|
}
|
||||||
await sleep(1000);
|
await sleep(1000);
|
||||||
|
}
|
||||||
|
|
||||||
if (!!settings.partyName) {
|
if (!!settings.partyName) {
|
||||||
try {
|
try {
|
||||||
log.info("正在尝试切换至" + settings.partyName);
|
log.info("正在尝试切换至" + settings.partyName);
|
||||||
if (!settings.goStatue) {
|
if (!settings.disableGoStatue) {
|
||||||
log.info("正在传送回七天神像切换队伍");
|
log.info("正在传送回七天神像切换队伍");
|
||||||
await genshin.TpToStatueOfTheSeven();
|
await genshin.TpToStatueOfTheSeven();
|
||||||
await SwitchParty(settings.partyName);
|
await SwitchParty(settings.partyName);
|
||||||
@@ -45,7 +47,7 @@ const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
|
|||||||
await SwitchParty(settings.partyName);
|
await SwitchParty(settings.partyName);
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
log.warn("队伍切换失败,可能处于联机模式或其他不可切换状态");
|
log.warn("\n\n队伍切换失败,可能是:\n1.处于联机模式 \n2.无法正确识别\n3.JS自定义配置中的队伍名称设置错误,请检查!\n");
|
||||||
await genshin.returnMainUi();
|
await genshin.returnMainUi();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -86,6 +88,7 @@ const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
|
|||||||
|
|
||||||
// 切换队伍
|
// 切换队伍
|
||||||
async function SwitchParty(partyName) {
|
async function SwitchParty(partyName) {
|
||||||
|
let ConfigureStatue = false;
|
||||||
keyPress("VK_L");
|
keyPress("VK_L");
|
||||||
|
|
||||||
for (let i = 0; i < 10; i++) {
|
for (let i = 0; i < 10; i++) {
|
||||||
@@ -102,10 +105,11 @@ const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
|
|||||||
let resList = captureRegion.findMulti(RecognitionObject.ocr(100, 900, 300, 180));
|
let resList = captureRegion.findMulti(RecognitionObject.ocr(100, 900, 300, 180));
|
||||||
for (let i = 0; i < resList.count; i++) {
|
for (let i = 0; i < resList.count; i++) {
|
||||||
let res = resList[i];
|
let res = resList[i];
|
||||||
|
log.info("当前队伍名称位置:({x},{y},{w},{h}), 识别结果:{text}", res.x, res.y, res.Width, res.Height, res.text);
|
||||||
if (res.text.includes(partyName)) {
|
if (res.text.includes(partyName)) {
|
||||||
log.info("当前队伍即为目标队伍,无需切换", res.x, res.y, res.Width, res.Height, res.text);
|
log.info("当前队伍即为目标队伍,无需切换");
|
||||||
keyPress("VK_ESCAPE");
|
keyPress("VK_ESCAPE");
|
||||||
await sleep(1000);
|
await sleep(500);
|
||||||
} else {
|
} else {
|
||||||
await sleep(1000);
|
await sleep(1000);
|
||||||
let ConfigureTeamButton = captureGameRegion().find(ConfigureTeamButtonRo);
|
let ConfigureTeamButton = captureGameRegion().find(ConfigureTeamButtonRo);
|
||||||
@@ -116,36 +120,47 @@ const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
|
|||||||
await pageTop(LeftSliderTopRo);
|
await pageTop(LeftSliderTopRo);
|
||||||
|
|
||||||
for (let p = 0; p < 4; p++) {
|
for (let p = 0; p < 4; p++) {
|
||||||
let ConfigureStatue = false;
|
|
||||||
// 识别当前页
|
// 识别当前页
|
||||||
let captureRegion = captureGameRegion();
|
let captureRegion = captureGameRegion();
|
||||||
let resList = captureRegion.findMulti(RecognitionObject.ocr(0, 100, 400, 900));
|
let resList = captureRegion.findMulti(RecognitionObject.ocr(0, 100, 400, 900));
|
||||||
for (let i = 0; i < resList.count; i++) {
|
for (let i = 0; i < resList.count; i++) {
|
||||||
let res = resList[i];
|
let res = resList[i];
|
||||||
// log.info("文本位置:({x},{y},{w},{h}), 名称:{text}", res.x, res.y, res.Width, res.Height, res.text);
|
if (settings.enableDebug) {
|
||||||
|
log.info("文本位置:({x},{y},{w},{h}), 识别内容:{text}", res.x, res.y, res.Width, res.Height, res.text);
|
||||||
|
}
|
||||||
if (res.text.includes(partyName)) {
|
if (res.text.includes(partyName)) {
|
||||||
log.info("目标队伍位置:({x},{y},{w},{h}), 名称:{text}", res.x, res.y, res.Width, res.Height, res.text);
|
log.info("目标队伍位置:({x},{y},{w},{h}), 识别结果:{text}", res.x, res.y, res.Width, res.Height, res.text);
|
||||||
click(res.x, Math.ceil(res.y + res.Height * 1.1));
|
click(res.x, Math.ceil(res.y + res.Height * 1.35));
|
||||||
|
|
||||||
// 找到目标队伍,点击确定、部署
|
// 找到目标队伍,点击确定、部署
|
||||||
for (let c = 0; c < 2; c++) {
|
await sleep(1500);
|
||||||
await sleep(1000);
|
let ConfirmButton = captureGameRegion().find(ConfirmDeployButtonRo);
|
||||||
let ConfirmDeployButton = captureGameRegion().find(ConfirmDeployButtonRo);
|
if (ConfirmButton.isExist()) {
|
||||||
if (ConfirmDeployButton.isExist()) {
|
log.info("识别到确定按钮:({x},{y},{w},{h})", ConfirmButton.x, ConfirmButton.y, ConfirmButton.Width, ConfirmButton.Height);
|
||||||
log.info("识别到确定按钮");
|
ConfirmButton.click();
|
||||||
ConfirmDeployButton.click();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
await sleep(1500);
|
||||||
|
let DeployButton = captureGameRegion().find(ConfirmDeployButtonRo);
|
||||||
|
if (DeployButton.isExist()) {
|
||||||
|
log.info("识别到部署按钮:({x},{y},{w},{h})", DeployButton.x, DeployButton.y, DeployButton.Width, DeployButton.Height);
|
||||||
|
DeployButton.click();
|
||||||
ConfigureStatue = true;
|
ConfigureStatue = true;
|
||||||
keyPress("VK_ESCAPE");
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ConfigureStatue) {
|
if (ConfigureStatue) {
|
||||||
|
await genshin.returnMainUi();
|
||||||
break;
|
break;
|
||||||
} else {
|
} else {
|
||||||
await pageDown(LeftSliderBottomRo);
|
await pageDown(LeftSliderBottomRo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!ConfigureStatue) {
|
||||||
|
log.warn("\n\n队伍切换失败,可能是:\n1.处于联机模式 \n2.无法正确识别\n3.JS自定义配置中的队伍名称设置错误,请检查!\n");
|
||||||
|
await genshin.returnMainUi();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -164,7 +179,7 @@ const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
|
|||||||
FriendsBotton.click();
|
FriendsBotton.click();
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
} else {
|
} else {
|
||||||
log.info("未识别到按钮,使用坐标点击");
|
log.warn("未识别到按钮,使用坐标点击");
|
||||||
click(680, 550);
|
click(680, 550);
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
}
|
}
|
||||||
@@ -176,7 +191,7 @@ const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
|
|||||||
for (let i = 0; i < resList.count; i++) {
|
for (let i = 0; i < resList.count; i++) {
|
||||||
let res = resList[i];
|
let res = resList[i];
|
||||||
if (res.text.includes(settings.appointFriendName)) {
|
if (res.text.includes(settings.appointFriendName)) {
|
||||||
log.info("指定好友名字位置:({x},{y},{w},{h}), 文本{text}", res.x, res.y, res.Width, res.Height, res.text);
|
log.info("指定好友名字位置:({x},{y},{w},{h}), 识别内容:{text}", res.x, res.y, res.Width, res.Height, res.text);
|
||||||
click(res.x - 100, res.y + 50);
|
click(res.x - 100, res.y + 50);
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
|
|
||||||
@@ -186,7 +201,7 @@ const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
|
|||||||
for (let i = 0; i < resList.count; i++) {
|
for (let i = 0; i < resList.count; i++) {
|
||||||
let res = resList[i];
|
let res = resList[i];
|
||||||
if (res.text.includes("申请造访") || res.text.includes("visit Serenitea Pot") || res.text.includes("申請造訪")) {
|
if (res.text.includes("申请造访") || res.text.includes("visit Serenitea Pot") || res.text.includes("申請造訪")) {
|
||||||
log.info("申请造访尘歌壶位置:({x},{y},{w},{h}), 文本{text}", res.x, res.y, res.Width, res.Height, res.text);
|
log.info("申请造访尘歌壶位置:({x},{y},{w},{h}), 识别内容:{text}", res.x, res.y, res.Width, res.Height, res.text);
|
||||||
res.click();
|
res.click();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -242,7 +257,7 @@ const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
|
|||||||
FriendsBotton.click();
|
FriendsBotton.click();
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
} else {
|
} else {
|
||||||
log.info("未识别到按钮,使用坐标点击");
|
log.warn("未识别到按钮,使用坐标点击");
|
||||||
// click(1020,840);
|
// click(1020,840);
|
||||||
click(680, 550);
|
click(680, 550);
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
@@ -326,7 +341,7 @@ const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
|
|||||||
for (let i = 0; i < resList.count; i++) {
|
for (let i = 0; i < resList.count; i++) {
|
||||||
let res = resList[i];
|
let res = resList[i];
|
||||||
if (res.text.includes("委托") || res.text.includes("委託") || res.text.includes("Commissions") || res.text.includes("委")) {
|
if (res.text.includes("委托") || res.text.includes("委託") || res.text.includes("Commissions") || res.text.includes("委")) {
|
||||||
log.info("识别到委托选项卡位置:({x},{y},{w},{h}), 文本{text}", res.x, res.y, res.Width, res.Height, res.text);
|
log.info("识别到委托选项卡位置:({x},{y},{w},{h}), 识别内容:{text}", res.x, res.y, res.Width, res.Height, res.text);
|
||||||
res.click();
|
res.click();
|
||||||
} else {
|
} else {
|
||||||
log.info("未识别到识别到委托选项卡");
|
log.info("未识别到识别到委托选项卡");
|
||||||
@@ -342,7 +357,7 @@ const RightSliderBottomRo = RecognitionObject.TemplateMatch(file.ReadImageMatSyn
|
|||||||
log.info("已领取历练点奖励");
|
log.info("已领取历练点奖励");
|
||||||
keyPress("VK_ESCAPE");
|
keyPress("VK_ESCAPE");
|
||||||
} else if (EncounterPointsStageRewardsButton.isEmpty()) {
|
} else if (EncounterPointsStageRewardsButton.isEmpty()) {
|
||||||
log.info("未识别到历练点领取奖励按钮");
|
log.warn("未识别到历练点领取奖励按钮,可能是已领取或未完成");
|
||||||
}
|
}
|
||||||
await genshin.returnMainUi();
|
await genshin.returnMainUi();
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 1,
|
"manifest_version": 1,
|
||||||
"name": "历练点双倍好感(Recognition Version)",
|
"name": "历练点双倍好感(Recognition Version)",
|
||||||
"version": "2.1",
|
"version": "2.1.1",
|
||||||
"BgiVersion": "0.44.1",
|
"BgiVersion": "0.44.1",
|
||||||
"description": "进入好友尘歌壶,用历练点领取双倍好感\n目前支持游戏语言:简体、繁体中文、英文\n!!!此版本基于图像识别&OCR,Build日期早于2025年4月2日的BetterGI无法使用",
|
"description": "进入好友尘歌壶,用历练点领取双倍好感\n目前支持游戏语言:简体、繁体中文、英文\n!!!此版本基于图像识别&OCR,Build日期早于2025年4月2日的BetterGI无法使用",
|
||||||
"authors": [
|
"authors": [
|
||||||
|
|||||||
@@ -15,8 +15,18 @@
|
|||||||
"label": "(选填)申请好友数,需小于等于7,不支持翻页"
|
"label": "(选填)申请好友数,需小于等于7,不支持翻页"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "goStatue",
|
"name": "disableGoStatue",
|
||||||
"type": "checkbox",
|
"type": "checkbox",
|
||||||
"label": "关闭前往七天神像"
|
"label": "关闭前往七天神像"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "disableNotice",
|
||||||
|
"type": "checkbox",
|
||||||
|
"label": "关闭双人队伍提醒"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "enableDebug",
|
||||||
|
"type": "checkbox",
|
||||||
|
"label": "开启Debug模式(队伍识别输出所有内容)"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
Reference in New Issue
Block a user