1、提供OCR支持 (#2113)

This commit is contained in:
Traveler07
2025-10-10 18:31:05 +08:00
committed by GitHub
parent 1472385e68
commit 1d037b8bb2
3 changed files with 88 additions and 25 deletions

View File

@@ -1,29 +1,78 @@
(async function () {
log.info("请确保执行脚本前能够通过ESC回到主界面");
await genshin.returnMainUi();
keyPress("VK_F2")
await sleep(1000);
click(330,1010) //点击世界权限
await sleep(1000);
let domainName = settings.domainName;
let operationDelay = settings.operationDelay?settings.operationDelay:1000;
if(domainName===undefined){
domainName="不允许加入"
}
setGameMetrics(1920, 1080, 1.5)
keyPress("VK_F2")
await sleep(operationDelay);
if(settings.workMode==="基于固定位置"){
click(330, 1010) //点击世界权限
await sleep(operationDelay);
switch (domainName) {
case "直接加入":
click(330, 910);
log.info("权限设置为【直接加入】");
break;
case "不允许加入":
click(330, 850); // 不允许
log.info("权限设置为【不允许加入】");
break;
case "确认后可加入":
click(330, 960); // 确认后
log.info("权限设置为【确认后可加入】");
break;
default:
click(330, 850); // 不允许
log.info("锁门");
break;
case "直接加入":
click(330, 910);
log.info("权限设置为【直接加入】");
break;
case "不允许加入":
click(330, 850); // 不允许
log.info("权限设置为【不允许加入】");
break;
case "确认后可加入":
click(330, 960); // 确认后
log.info("权限设置为【确认后可加入】");
break;
default:
click(330, 850); // 不允许
log.info("锁门");
break;
}
await genshin.returnMainUi(); // 结束后回到主界面
})();
}
else{
let tag = 0;
for (let i = 0; i < 5 && tag === 0; i++) {
let OCRcaptureRegion = captureGameRegion();
let resList = OCRcaptureRegion.findMulti(RecognitionObject.ocrThis);
for (let i = 0; i < resList.count; i++) {
let res = resList[i];
if (res.text.includes("世界权限")) {
res.click();
tag = 1;
break;
}
}
}
if (tag === 0) {
log.error("未找到【世界权限】按钮,结束执行");
return;
}
tag = 0;
for (let i = 0; i < 5 && tag === 0; i++) {
OCRcaptureRegion = captureGameRegion();
resList = OCRcaptureRegion.findMulti(RecognitionObject.ocrThis);
for (let i = 0; i < resList.count; i++) {
let res = resList[i];
if (res.text.includes(domainName)) {
res.click();
tag = 1;
break;
}
}
}
if (tag === 0) {
log.error("找到【世界权限】按钮,但权限设置失败,结束执行");
return;
}
}
keyPress("VK_ESCAPE");
log.info("权限设置为【" + domainName + "】");
})();

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "自动设置权限",
"version": "1.1",
"version": "2.0",
"description": "设置进入世界的权限,默认锁门",
"authors": [
{

View File

@@ -1,12 +1,26 @@
[
{
"name": "workMode",
"type": "select",
"label": "工作模式默认OCR",
"options": [
"基于OCR",
"基于固定位置"
]
},
{
"name": "domainName",
"type": "select",
"label": "设置权限",
"label": "设置权限(默认不允许加入)",
"options": [
"直接加入",
"确认后可加入",
"不允许加入"
]
},
{
"name": "operationDelay",
"type": "input-text",
"label": "操作延迟填入数字单位毫秒默认1000\n无报错但未生效时可尝试提高操作延迟"
}
]