Merge remote-tracking branch 'upstream/main'

This commit is contained in:
秋云
2025-05-13 20:38:23 +08:00
164 changed files with 3434 additions and 798 deletions

View File

@@ -1,10 +1,11 @@
{
"info": {
"name": "【收尾】狗粮-稻妻-神无冢-踏鞴砂①-6个21个-f",
"bgi_version": "0.45.1",
"type": "collect",
"map_name": "Teyvat",
"author": "Yang-z",
"version": "1.1",
"bgi_version": "0.42.0"
"version": "1.2"
},
"positions": [
@@ -147,8 +148,8 @@
"move_mode": "walk"
},
{
"x": -3170.4130859375,
"y": -3850.8359375,
"x": -3161.9951171875,
"y": -3853.24609375,
"type": "path",
"move_mode": "run"
},

View File

@@ -3,7 +3,7 @@
"name": "狗粮-璃月-珉林-北-5个",
"type": "collect",
"author": "Yang-z",
"version": "1.1",
"version": "1.2",
"bgi_version": "0.42.0"
},
"positions": [
@@ -210,16 +210,16 @@
},
{
"x": 649.0966796875,
"y": 831.14892578125,
"x": 648.8828125,
"y": 830.97314453125,
"type": "target",
"move_mode": "walk",
"action": "",
"No.": "5 6"
},
{
"x": 649.0009765625,
"y": 831.3779296875,
"x": 649.0966796875,
"y": 831.14892578125,
"type": "target",
"move_mode": "walk",
"action": "",

View File

@@ -1,10 +1,11 @@
{
"info": {
"name": "狗粮-纳塔-镜璧山-七天神像下-3个-f",
"bgi_version": "0.45.1",
"type": "collect",
"map_name": "Teyvat",
"author": "Yang-z",
"version": "1.1",
"bgi_version": "0.42.0"
"version": "1.2"
},
"positions": [
{
@@ -14,14 +15,14 @@
"action": "force_tp"
},
{
"x": 9545.9140625,
"y": -1774.8564453125,
"x": 9555.6435546875,
"y": -1778.80810546875,
"type": "path",
"move_mode": "walk"
},
{
"x": 9546.2421875,
"y": -1766.9150390625,
"x": 9546.599609375,
"y": -1767.18115234375,
"type": "path",
"move_mode": "fly",
"action": "combat_script",

View File

@@ -3,7 +3,7 @@
"name": "狗粮-纳塔-镜璧山-南-9个-f",
"type": "collect",
"author": "Yang-z",
"version": "1.1",
"version": "1.2",
"bgi_version": "0.42.0"
},
@@ -69,8 +69,8 @@
"#" : "2"
},
{
"x": 9586.87890625,
"y": -1959.71240234375,
"x": 9586.837890625,
"y": -1959.7919921875,
"type": "target",
"move_mode": "walk",
"#" : "3"

View File

@@ -35,8 +35,8 @@
},
{
"x": 3592.5107421875,
"y": -732.4560546875,
"x": 3592.5458984375,
"y": -733.2236328125,
"type": "target",
"move_mode": "walk",
"action":"",

View File

@@ -3,7 +3,7 @@
"name": "狗粮-须弥-须弥城-4个",
"type": "collect",
"author": "Yang-z",
"version": "1.1",
"version": "1.2",
"bgi_version": "0.42.0"
},
@@ -19,7 +19,6 @@
"y": -301.87109375,
"type": "target",
"move_mode": "walk",
"action": "",
"#": "1"
},
{
@@ -27,7 +26,6 @@
"y": -301.87109375,
"type": "target",
"move_mode": "walk",
"action": "",
"#": "1"
},
@@ -55,7 +53,8 @@
"y": -284.35888671875,
"type": "target",
"move_mode": "walk",
"action": "",
"action": "combat_script",
"action_params": "wait(0.8)",
"#": "2"
},
{
@@ -63,7 +62,6 @@
"y": -284.35888671875,
"type": "target",
"move_mode": "walk",
"action": "",
"#": "2"
},
@@ -72,8 +70,7 @@
{
"x": 2786.98974609375,
"y": -503.11328125,
"type": "teleport",
"move_mode": "walk"
"type": "teleport"
},
{
@@ -94,7 +91,8 @@
"y": -497.5625,
"type": "target",
"move_mode": "walk",
"action": "",
"action": "combat_script",
"action_params": "wait(0.8)",
"#": "3"
},
{
@@ -102,7 +100,6 @@
"y": -496.85693359375,
"type": "target",
"move_mode": "walk",
"action": "",
"#": "3"
},
@@ -111,8 +108,7 @@
{
"x": 2694.0615234375,
"y": -416.45068359375,
"type": "teleport",
"move_mode": "walk"
"type": "teleport"
},
{
"x": 2703.462890625,
@@ -152,8 +148,7 @@
{
"x": 2694.087890625,
"y": -416.45068359375,
"type": "teleport",
"move_mode": "walk"
"type": "teleport"
},
{
"x": 2700.48828125,

View File

@@ -3,7 +3,7 @@
"name": "【收尾】狗粮-稻妻-清籁岛-清籁丸-20个-f",
"type": "collect",
"author": "Yang-z",
"version": "1.1",
"version": "1.2",
"bgi_version": "0.42.0"
},
"positions": [
@@ -265,13 +265,16 @@
},
{
"x": -3740.69921875,
"y": -4434.8232421875,
"_x": -3740.69921875,
"_y": -4434.8232421875,
"x": -3742.7412109375,
"y": -4432.068359375,
"type": "orientation"
},
{
"x": -3740.69921875,
"y": -4434.8232421875,
"x": -3742.7412109375,
"y": -4432.068359375,
"type": "path",
"move_mode": "jump"
},

View File

@@ -1,8 +1,8 @@
{
"manifest_version": 1,
"name": "狗粮ABE路线自动拾取分解",
"version": "2.5.3",
"bgi_version": "0.42.0",
"version": "2.5.4",
"bgi_version": "0.45.1",
"description": "圣遗物狗粮AB及额外路线自动轮换自动分解就近恢复。",
"authors": [
{

View File

@@ -20,12 +20,12 @@
{ "x": -757, "y": -3814, "name": "珊瑚宫锚点" }
],
"须弥": [
{ "x": 5942, "y": -618, "name": "甘露花海七天神像" },
{ "x": 4953, "y": -697, "name": "达马山锚点" },
{ "x": 2786, "y": -503, "name": "须弥城冒险家协会锚点" },
{ "x": 2794, "y": -1216, "name": "维摩庄西南锚点" },
{ "x": 3993, "y": -1989, "name": "阿如村七天神像" },
{ "x": 4470, "y": -2915, "name": "荼泥落谷七天神像" }
{ "x": 2804, "y": 16, "name": "卡萨扎莱宫左下锚点" },
{ "x": 6185, "y": 480, "name": "苍石荒漠七天神像" },
{ "x": 4765, "y": -980, "name": "亡者狭廊锚点" },
{ "x": 4477, "y": -2916, "name": "荼泥落谷七天神像" },
{ "x": 3987, "y": -1995, "name": "阿如村七天神像" },
{ "x": 2794, "y": -1222, "name": "维摩庄左下锚点" }
],
"枫丹": [
{ "x": 4029, "y": 3054, "name": "枫丹" },

View File

@@ -69,34 +69,34 @@
],
"须弥": [
{
"x": 5942,
"y": -618,
"name": "甘露花海七天神像"
"x": 2804,
"y": 16,
"name": "卡萨扎莱宫左下锚点"
},
{
"x": 4953,
"y": -697,
"name": "达马山锚点"
"x": 6185,
"y": 480,
"name": "苍石荒漠七天神像"
},
{
"x": 2786,
"y": -503,
"name": "须弥城冒险家协会锚点"
"x": 4765,
"y": -980,
"name": "亡者狭廊锚点"
},
{
"x": 2794,
"y": -1216,
"name": "维摩庄西南锚点"
"x": 4477,
"y": -2916,
"name": "荼泥落谷七天神像"
},
{
"x": 3993,
"y": -1989,
"x": 3987,
"y": -1995,
"name": "阿如村七天神像"
},
{
"x": 4470,
"y": -2915,
"name": "荼泥落谷七天神像"
"x": 2794,
"y": -1222,
"name": "维摩庄左下锚点"
}
],
"枫丹": [

View File

@@ -50,4 +50,7 @@ v.1.3版本202500422
v.2.0版本20250503
1、重写寻找地脉花线路方法,删除模糊寻找模式。
2、添加直跑模式当打完一个地脉花后如下一个地脉花比较近直接跑过去而不是重新传送。要求BGI的44.8版本)
2、添加直跑模式当打完一个地脉花后如下一个地脉花比较近直接跑过去而不是重新传送。要求BGI的44.8版本)
v.2.1版本20250512
1、更改UID识别方法。适配原神UI改变

View File

@@ -580,7 +580,7 @@
if (uidNumbers && uidNumbers.length > 0) {
// 使用 for...of 循环遍历 uidNumbers 数组
for (let number of uidNumbers) {
var UIDnow = "UID" + number;
var UIDnow = number;
log.debug(`DEBUG:${UIDnow}`);
let UIDD = await Textocr(UIDnow, 1, 0, 0, 112,177, 190, 39);
if (UIDD.found) {

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "地脉花-可禁UID/领每日/好感队切换",
"version": "2.0",
"version": "2.1",
"bgi_version": "0.44.8",
"description": "枫丹地脉花蓝花金花通用。生存压力大请带盾奶避免纯水输出请注意说明文件。如有BUG请联系作者QQ:119996800",
"tags" : [ "地脉花" ],

3
repo/js/Notify/main.js Normal file
View File

@@ -0,0 +1,3 @@
(async function () {
notification.Send(settings.content);
})();

View File

@@ -0,0 +1,8 @@
{
"manifest_version": 1,
"name": "发送通知",
"version": "1.0",
"description": "发送通知,可以在调度器中使用。",
"settings_ui": "settings.json",
"main": "main.js"
}

View File

@@ -0,0 +1,8 @@
[
{
"name": "content",
"type": "input-text",
"label": "通知内容",
"default": "请前往 JS脚本自定义设置 中修改内容。"
}
]

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "周本每日领奖",
"version": "1.0",
"name": "无树脂每日领奖",
"version": "1.1",
"description": "完成周本或首领讨伐等不使用浓缩树脂的副本挑战后,前往凯瑟琳领奖、派遣、纪行、尘歌壶。如果是周一会在尘歌壶自动购买树脂",
"authors": [
{

View File

@@ -8,8 +8,7 @@ async function checkChallengeResults() {
const region1 = RecognitionObject.ocr(785, 890, 340, 82);// 对话区域
let capture = captureGameRegion();
let res1 = capture.find(region1);
if (1){
if (res1.isEmpty()){
await sleep(1000);
click(960, 540);
await sleep(500);
@@ -25,16 +24,23 @@ async function checkChallengeResults() {
await sleep(1000);
return;
}
else{
await sleep(1000);
click(754,915 );//退出挑战
await sleep(4000);
await autoConversation();
await sleep(1000);
return;
}
}
//自动对话,直到出现选项框 await autoConversation();
async function autoConversation() {
async function autoConversation() {
await sleep(2000);//点击后等待一段时间避免误判
const region1 = RecognitionObject.ocr(785, 890, 340, 82);// 对话区域
const region2 = RecognitionObject.ocr(1250, 400, 660, 440);// 选项区域
let talkTime = 0;
await sleep(2000);//点击后等待一段时间避免误判
//最多10次对话
while (talkTime < 20) {
let capture = captureGameRegion();
@@ -43,15 +49,19 @@ async function autoConversation() {
if (!res1.isEmpty() && res2.isEmpty()){
talkTime++;
keyPress("VK_SPACE");
await sleep(1500);
await sleep(500);
keyPress("VK_SPACE");
await sleep(500);
}
else if(!res1.isEmpty() && !res2.isEmpty()){
keyPress("F");
await sleep(1000);
log.info("已选择谈话内容");
return;
}
else if(res1.isEmpty() && !res2.isEmpty()){
log.info("谈话完成");
await sleep(1000);
return;
}
talkTime++;
@@ -64,7 +74,7 @@ async function autoConversation() {
async function tpEndDetection() {
const region = RecognitionObject.ocr(1690, 230, 75, 350);// 队伍名称区域
let tpTime = 0;
await sleep(1500);//点击传送后等待一段时间避免误判
await sleep(500);//点击传送后等待一段时间避免误判
//最多30秒传送时间
while (tpTime < 300) {
let capture = captureGameRegion();
@@ -209,6 +219,12 @@ async function captureAndStoreTexts() {
//检查是否有对应的挑战对手
async function searchAndClickTexts() {
middleButtonClick();
await sleep(800);
moveMouseBy(0, 1030);
await sleep(800);
moveMouseBy(0, 1030);
await sleep(800);
// 限定区域坐标和大小
const searchX = 1210;
const searchY = 440;
@@ -298,6 +314,8 @@ await tpEndDetection();
//函数:对话和打牌
async function Playcards() {
await sleep(800);//略微俯视,避免名字出现在选项框附近,导致错误点击
moveMouseBy(0, 1030);
await sleep(1000);
await autoConversation();
log.info("对话完成");
@@ -324,7 +342,7 @@ keyDown("w");
await sleep(1200);
keyUp("d");
keyUp("w");
await sleep(600);
await sleep(700);
}
//前往二号桌
async function gotoTable2() {

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "打牌一条龙",
"version": "1.6",
"version": "1.8",
"description": "只靠一个牌组的话,胜率还是太低了,所以有没有既简单又强势的卡组推荐下呢?",
"authors": [
{

View File

@@ -1 +0,0 @@
{"info":{"name":"","type":""},"positions":[{"x":2297.6201171875,"y":-824.5869140625,"type":"teleport","move_mode":"walk"},{"x":2292.62109375,"y":-826.0419921875,"type":"path","move_mode":"walk"}]}

View File

@@ -0,0 +1 @@
{"info":{"name":"","type":""},"positions":[{"x":-1559.08,"y":2492.51,"type":"teleport","move_mode":"walk"}]}

View File

@@ -45,9 +45,9 @@ const autoNavigateToReward = async () => {
}
// 前进一小步
keyDown("w");
await sleep(500);
await sleep(400);
keyUp("w");
await sleep(100); // 等待角色移动稳定
await sleep(200); // 等待角色移动稳定
}
}
@@ -110,7 +110,9 @@ async function autoFightAndEndDetection() {
}
}
await genshin.tp(-1559.08,2492.51);//传送到副本
let recovery = settings.recovery ?? 0;
await genshin.tp(2297.6201171875,-824.5869140625);
await pathingScript.runFile("assets/tp.json");
await sleep(1000);
keyDown("w");
await sleep(3000);
@@ -130,8 +132,7 @@ await autoNavigateToReward();
keyPress("F");
await autoFightAndEndDetection();//一直战斗直到检测到结束
await sleep(1000);
await pathingScript.runFile("assets/recover.json");
await sleep(1000);
await genshin.tp(2297.6201171875,-824.5869140625);//传送到神像回血
log.info("能量充满,任务结束");
await sleep(1000);
})();

View File

@@ -1,8 +1,8 @@
{
"manifest_version": 1,
"name": "自动回能",
"version": "1.0",
"description": "没有什么特别的需求,但是队伍练度不要太不然30级的 QQ 人都打不过",
"version": "1.1",
"description": "没有什么特别的需求,但是队伍练度不要太离谱不然35级的 QQ 人都打不过",
"authors": [
{
"name": "柒叶子",

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "参量质变仪",
"version": "1.1",
"version": "1.2",
"bgi_version": "0.44.0",
"description": "参量质变仪自动化,请注意说明文件,如有BUG请联系作者QQ:119996800",
"tags" : [ "参量质变仪" ],

View File

@@ -15,5 +15,8 @@
2、官方刚释放了图片和文字识别的API一些用法还没太懂我自己在这基础封装一下打包后方便后续复用。
六、更新说明
v.1.120250426
1、修改下拉菜单次数适配4K分辨率。
v.1.1 20250426
1、修改下拉菜单次数适配4K分辨率。
v.1.2版本20250512
1、更改UID识别方法。适配原神UI改变

View File

@@ -0,0 +1,21 @@
{
"info": {
"name": "千年珍珠骏麟前往",
"type": "collect",
"author": "柒叶子",
"version": "1.0",
"description": "千年珍珠骏麟前往",
"bgiVersion": "0.42.3"
},
"positions": [
{
"id": 1,
"x": 4851.37451171875,
"y": 4806.48828125,
"type": "teleport",
"move_mode": "walk",
"action": "",
"action_params": ""
}
]
}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":69,"mouseX":0,"mouseY":0,"time":1860},{"type":1,"keyCode":69,"mouseX":0,"mouseY":0,"time":3203},{"type":0,"keyCode":68,"mouseX":0,"mouseY":0,"time":3703},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":5219},{"type":1,"keyCode":68,"mouseX":0,"mouseY":0,"time":5250},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":8203},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":8407},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":8750},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":8875},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":16391},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":16532},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":17235},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":17391},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":18063},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":18235},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":19672}],"info":{"name":"","description":"","x":638,"y":382,"width":2560,"height":1440,"recordDpi":1.75}}

View File

@@ -0,0 +1,57 @@
{
"info": {
"name": "前往古岩龙蜥",
"type": "collect",
"author": "柒叶子",
"version": "1.0",
"description": "前往古岩龙蜥",
"bgiVersion": "0.42.3"
},
"positions": [
{
"id": 1,
"x": 1669.650390625,
"y": 341.86962890625,
"type": "teleport",
"move_mode": "walk",
"action": "",
"action_params": ""
},
{
"id": 2,
"x": 1674.890625,
"y": 345.15625,
"type": "path",
"move_mode": "walk",
"action": "",
"action_params": ""
},
{
"id": 3,
"x": 1573.65234375,
"y": 254.67041015625,
"type": "path",
"move_mode": "walk",
"action": "",
"action_params": ""
},
{
"id": 4,
"x": 1533.3095703125,
"y": 229.28857421875,
"type": "path",
"move_mode": "walk",
"action": "",
"action_params": ""
},
{
"id": 5,
"x": 1485.296875,
"y": 208.9697265625,
"type": "path",
"move_mode": "fly",
"action": "stop_flying",
"action_params": ""
}
]
}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":1015},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":1156}],"info":{"name":"","description":"","x":680,"y":724,"width":2560,"height":1440,"recordDpi":1.75}}

View File

@@ -0,0 +1 @@
{"info":{"name":"","type":""},"positions":[{"x":-4352.80078125,"y":-2142.396484375,"type":"teleport","move_mode":"walk"}]}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":953},{"type":4,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":4375},{"type":5,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":4547},{"type":4,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":6390},{"type":5,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":6547},{"type":4,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":8281},{"type":5,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":8422},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":11437},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":11750},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":12625},{"type":0,"keyCode":69,"mouseX":0,"mouseY":0,"time":12703},{"type":1,"keyCode":69,"mouseX":0,"mouseY":0,"time":14078},{"type":0,"keyCode":68,"mouseX":0,"mouseY":0,"time":14390},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":15015},{"type":1,"keyCode":68,"mouseX":0,"mouseY":0,"time":15140},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":19125},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":19297},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":19828},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":19984},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":23672},{"type":4,"mouseX":1916,"mouseY":1142,"mouseButton":"Left","time":23875},{"type":5,"mouseX":1916,"mouseY":1142,"mouseButton":"Left","time":24015},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":25359},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":25844}],"info":{"name":"","description":"","x":635,"y":445,"width":2560,"height":1440,"recordDpi":1.75}}

View File

@@ -0,0 +1 @@
{"info":{"name":"","type":""},"positions":[{"x":3602.1923828125,"y":3529.43701171875,"type":"teleport","move_mode":"walk"},{"x":3619.8857421875,"y":3512.381103515625,"type":"path","move_mode":"walk"},{"x":3636.697265625,"y":3496.835693359375,"type":"path","move_mode":"walk"},{"x":3660.19140625,"y":3500.75146484375,"type":"path","move_mode":"walk"},{"x":3688.8544921875,"y":3503.58935546875,"type":"path","move_mode":"walk"},{"x":3710.1884765625,"y":3502.442626953125,"type":"path","move_mode":"walk"},{"x":3729.37890625,"y":3515.59326171875,"type":"path","move_mode":"walk"},{"x":3745.1494140625,"y":3530.898193359375,"type":"path","move_mode":"walk"},{"x":3766.2216796875,"y":3551.20361328125,"type":"path","move_mode":"walk"},{"x":3786.3583984375,"y":3570.281005859375,"type":"path","move_mode":"walk"}]}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":1782},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":1907},{"type":0,"keyCode":70,"mouseX":0,"mouseY":0,"time":2672},{"type":1,"keyCode":70,"mouseX":0,"mouseY":0,"time":2813},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":6047},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":6204},{"type":0,"keyCode":70,"mouseX":0,"mouseY":0,"time":8563},{"type":1,"keyCode":70,"mouseX":0,"mouseY":0,"time":8704},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":16782},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":17007}],"info":{"name":"","description":"","x":669,"y":325,"width":2560,"height":1440,"recordDpi":1.75}}

View File

@@ -0,0 +1 @@
{"info":{"name":"","type":""},"positions":[{"x":9879.2666015625,"y":-2224.0830078125,"type":"teleport","move_mode":"walk"}]}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,75 @@
{
"info": {
"name": "前往爆炎树",
"type": "collect",
"author": "柒叶子",
"version": "1.0",
"description": "前往爆炎树",
"bgiVersion": "0.42.3"
},
"positions": [
{
"id": 1,
"action": "",
"move_mode": "walk",
"type": "teleport",
"x": 837.5556640625,
"y": 235.142578125,
"action_params": ""
},
{
"id": 2,
"x": 856.955078125,
"y": 230.3837890625,
"type": "path",
"move_mode": "walk",
"action": "",
"action_params": ""
},
{
"id": 3,
"x": 897.263671875,
"y": 234.44580078125,
"type": "path",
"move_mode": "fly",
"action": "stop_flying",
"action_params": ""
},
{
"id": 4,
"x": 928.572265625,
"y": 240.56103515625,
"type": "path",
"move_mode": "walk",
"action": "",
"action_params": ""
},
{
"id": 5,
"x": 954.2783203125,
"y": 227.30078125,
"type": "path",
"move_mode": "walk",
"action": "",
"action_params": ""
},
{
"id": 6,
"x": 954.2890625,
"y": 175.15966796875,
"type": "path",
"move_mode": "walk",
"action": "",
"action_params": ""
},
{
"id": 7,
"x": 954.2763671875,
"y": 152.3193359375,
"type": "path",
"move_mode": "dash",
"action": "",
"action_params": ""
}
]
}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":1015},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":1156}],"info":{"name":"","description":"","x":680,"y":724,"width":2560,"height":1440,"recordDpi":1.75}}

View File

@@ -0,0 +1 @@
{"info":{"name":"","type":""},"positions":[{"x":3602.1923828125,"y":3529.43701171875,"type":"teleport","move_mode":"walk"},{"x":3619.8857421875,"y":3512.381103515625,"type":"path","move_mode":"walk"},{"x":3636.697265625,"y":3496.835693359375,"type":"path","move_mode":"walk"},{"x":3660.19140625,"y":3500.75146484375,"type":"path","move_mode":"walk"},{"x":3688.8544921875,"y":3503.58935546875,"type":"path","move_mode":"walk"},{"x":3710.1884765625,"y":3502.442626953125,"type":"path","move_mode":"walk"},{"x":3729.37890625,"y":3515.59326171875,"type":"path","move_mode":"walk"},{"x":3745.1494140625,"y":3530.898193359375,"type":"path","move_mode":"walk"},{"x":3766.2216796875,"y":3551.20361328125,"type":"path","move_mode":"walk"},{"x":3786.3583984375,"y":3570.281005859375,"type":"path","move_mode":"walk"}]}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":1391},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":1500},{"type":0,"keyCode":70,"mouseX":0,"mouseY":0,"time":2625},{"type":1,"keyCode":70,"mouseX":0,"mouseY":0,"time":2734},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":5656},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":5797},{"type":6,"mouseX":0,"mouseY":-120,"time":7984},{"type":2,"mouseX":1951,"mouseY":1023,"time":7984},{"type":0,"keyCode":70,"mouseX":0,"mouseY":0,"time":8891},{"type":1,"keyCode":70,"mouseX":0,"mouseY":0,"time":9050},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":17350},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":17700}],"info":{"name":"","description":"","x":669,"y":325,"width":2560,"height":1440,"recordDpi":1.75}}

View File

@@ -0,0 +1 @@
{"info":{"name":"","type":""},"positions":[{"x":3933.6064453125,"y":-164.453125,"type":"teleport","move_mode":"walk"}]}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":69,"mouseX":0,"mouseY":0,"time":1657},{"type":1,"keyCode":69,"mouseX":0,"mouseY":0,"time":3047},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":3563},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":4016},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":4094},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":4625},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":4766},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":5000},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":5157},{"type":4,"mouseX":1961,"mouseY":1421,"mouseButton":"Right","time":13500},{"type":5,"mouseX":1961,"mouseY":1421,"mouseButton":"Right","time":13672},{"type":4,"mouseX":1961,"mouseY":1421,"mouseButton":"Right","time":14172},{"type":5,"mouseX":1961,"mouseY":1421,"mouseButton":"Right","time":14313},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":15594}],"info":{"name":"","description":"","x":680,"y":724,"width":2560,"height":1440,"recordDpi":1.75}}

View File

@@ -0,0 +1,21 @@
{
"info": {
"name": "未命名路径",
"type": "collect",
"author": "柒叶子",
"version": "1.0",
"description": "传送到金焰绒翼龙暴君",
"bgiVersion": "0.42.3"
},
"positions": [
{
"id": 1,
"action": "",
"move_mode": "walk",
"type": "teleport",
"x": 9047.134765625,
"y": -1458.2744140625,
"action_params": ""
}
]
}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":68,"mouseX":0,"mouseY":0,"time":687},{"type":1,"keyCode":68,"mouseX":0,"mouseY":0,"time":1390},{"type":0,"keyCode":69,"mouseX":0,"mouseY":0,"time":2109},{"type":1,"keyCode":69,"mouseX":0,"mouseY":0,"time":3625},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":4234},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":4484},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":4672},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":4937},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":5078},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":7812},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":12359},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":17547},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":18281},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":18562},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":18734},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":19312},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":19453},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":19953}],"info":{"name":"","description":"","x":958,"y":562,"width":1920,"height":1080,"recordDpi":1.75}}

View File

@@ -0,0 +1,21 @@
{
"info": {
"name": "铁甲熔火帝皇前往",
"type": "collect",
"author": "柒叶子",
"version": "1.0",
"description": "铁甲熔火帝皇前往",
"bgiVersion": "0.42.3"
},
"positions": [
{
"id": 1,
"action": "",
"move_mode": "walk",
"type": "teleport",
"x": 4417.22900390625,
"y": 2236.826416015625,
"action_params": ""
}
]
}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":68,"mouseX":0,"mouseY":0,"time":2250},{"type":1,"keyCode":68,"mouseX":0,"mouseY":0,"time":2360},{"type":0,"keyCode":69,"mouseX":0,"mouseY":0,"time":2625},{"type":1,"keyCode":69,"mouseX":0,"mouseY":0,"time":4157},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":4735},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":4969},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":5094},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":5625},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":5813},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":7922},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":8110},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":9672},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":9813},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":11594},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":11813},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":13750},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":13938},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":15985}],"info":{"name":"","description":"","x":638,"y":382,"width":2560,"height":1440,"recordDpi":1.75}}

View File

@@ -0,0 +1 @@
{"info":{"name":"","type":""},"positions":[{"x":-4251.880859375,"y":-4785.4755859375,"type":"teleport","move_mode":"walk"}]}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":69,"mouseX":0,"mouseY":0,"time":687},{"type":1,"keyCode":69,"mouseX":0,"mouseY":0,"time":1906},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":2640},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":3218},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":3390},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":3687},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":3828},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":11968},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":13859},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":15640},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":15640},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":15812},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":16812},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":17718}],"info":{"name":"","description":"","x":680,"y":724,"width":2560,"height":1440,"recordDpi":1.75}}

View File

@@ -0,0 +1,39 @@
{
"info": {
"name": "前往风蚀沙虫",
"type": "collect",
"author": "柒叶子",
"version": "1.0",
"description": "前往风蚀沙虫",
"bgiVersion": "0.42.3"
},
"positions": [
{
"id": 1,
"action": "",
"move_mode": "walk",
"type": "teleport",
"x": 4571.9658203125,
"y": -1072.18798828125,
"action_params": ""
},
{
"id": 2,
"x": 4566.89697265625,
"y": -1045.69482421875,
"type": "path",
"move_mode": "walk",
"action": "",
"action_params": ""
},
{
"id": 3,
"x": 4559.556640625,
"y": -1016.4638671875,
"type": "path",
"move_mode": "fly",
"action": "stop_flying",
"action_params": "3000"
}
]
}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":1015},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":1156}],"info":{"name":"","description":"","x":680,"y":724,"width":2560,"height":1440,"recordDpi":1.75}}

View File

@@ -0,0 +1,21 @@
{
"info": {
"name": "魔偶剑鬼前往",
"type": "collect",
"author": "柒叶子",
"version": "1.0",
"description": "魔偶剑鬼前往",
"bgiVersion": "0.42.3"
},
"positions": [
{
"id": 1,
"action": "",
"move_mode": "walk",
"type": "teleport",
"x": -2405.7724609375,
"y": -3912.9658203125,
"action_params": ""
}
]
}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":83,"mouseX":0,"mouseY":0,"time":1781},{"type":1,"keyCode":83,"mouseX":0,"mouseY":0,"time":1953},{"type":6,"mouseX":0,"mouseY":-120,"time":3765},{"type":4,"mouseX":1916,"mouseY":1142,"mouseButton":"Middle","time":4062},{"type":5,"mouseX":1916,"mouseY":1142,"mouseButton":"Middle","time":4250},{"type":6,"mouseX":0,"mouseY":120,"time":4375},{"type":0,"keyCode":68,"mouseX":0,"mouseY":0,"time":7062},{"type":1,"keyCode":68,"mouseX":0,"mouseY":0,"time":7171},{"type":0,"keyCode":69,"mouseX":0,"mouseY":0,"time":7625},{"type":1,"keyCode":69,"mouseX":0,"mouseY":0,"time":9093},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":9859},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":10406},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":10562},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":10828},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":10953},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":21296},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":21359},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":21468},{"type":4,"mouseX":1916,"mouseY":1142,"mouseButton":"Left","time":23843},{"type":5,"mouseX":1916,"mouseY":1142,"mouseButton":"Left","time":23984},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":25859},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":26609},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":26734},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":27375}],"info":{"name":"","description":"","x":635,"y":445,"width":2560,"height":1440,"recordDpi":1.75}}

View File

@@ -0,0 +1,118 @@
(async function () {
bossMap = [];
baoyanshu = settings.baoyanshu;
if (baoyanshu) {
bossMap.push("爆炎树");
}
foshishachong = settings.foshishachong;
if (foshishachong) {
bossMap.push("风蚀沙虫");
}
gpeiliadezangsong = settings.gpeiliadezangsong;
if (gpeiliadezangsong) {
bossMap.push("歌裴莉娅的葬送");
}
guyanlongxi = settings.guyanlongxi;
if (guyanlongxi) {
bossMap.push("古岩龙蜥");
}
hengchangjiguanzhulie = settings.hengchangjiguanzhulie;
if (hengchangjiguanzhulie) {
bossMap.push("恒常机关阵列");
}
jinyanrongyilongbujun = settings.jinyanrongyilongbujun;
if (jinyanrongyilongbujun) {
bossMap.push("金焰绒翼龙暴君");
}
kepeiliusidejiefu = settings.kepeiliusidejiefu;
if (kepeiliusidejiefu) {
bossMap.push("科培琉司的劫罚");
}
leyinquanxian = settings.leyinquanxian;
if (leyinquanxian) {
bossMap.push("雷音权现");
}
mooujiangui = settings.mooujiangui;
if (mooujiangui) {
bossMap.push("魔偶剑鬼");
}
qiannianzhenzhunlin = settings.qiannianzhenzhunlin;
if (qiannianzhenzhunlin) {
bossMap.push("千年珍珠骏麟");
}
rongyanhuidragonxiang = settings.rongyanhuidragonxiang;
if (rongyanhuidragonxiang) {
bossMap.push("熔岩辉龙像");
}
log.info('需要打的boss{zy}', bossMap);
//主流程
if(!settings.confirm) throw new Error('请阅读使用说明后在调度器中调用JS脚本并设置好相关参数');
for (let i = 0; i < bossMap.length; i++) {
challengeName = bossMap[i]
log.info('boss{zy}', challengeName);
log.info(`前往恢复状态`);
log.info(`前往讨伐${challengeName}`);
await pathingScript.runFile(`assets/${challengeName}前往.json`);
await keyMouseScript.runFile(`assets/${challengeName}前往键鼠.json`);
log.info(`开始第${i+1}次战斗`);
try {
await dispatcher.runTask(new SoloTask("AutoFight"));
} catch (error) {
//失败后最多只挑战一次,因为两次都打不过,基本上没戏,干脆直接报错结束
log.info(`挑战失败,再来一次`);
await pathingScript.runFile("assets/recover.json");//回复状态
await pathingScript.runFile(`assets/${challengeName}前往.json`);
await keyMouseScript.runFile(`assets/${challengeName}前往键鼠.json`);
await dispatcher.runTask(new SoloTask("AutoFight"));
}
}
// log.info(`前往第1次恢复状态`);
// await pathingScript.runFile("assets/recover.json");//回复状态
// log.info(`前往讨伐${challengeName}`);
// await pathingScript.runFile(`assets/${challengeName}前往.json`);
// await keyMouseScript.runFile(`assets/${challengeName}前往键鼠.json`);
// for (let i = 0;i < challengeNum; i++) {
// await sleep(1000);
// if(samePlace != "YES" && i > 0){
// log.info(`前往第${i+1}次恢复状态`);
// await pathingScript.runFile("assets/recover.json");//回复状态
// log.info(`前往第${i+1}次讨伐${challengeName}`);
// await pathingScript.runFile(`assets/${challengeName}前往.json`);
// await keyMouseScript.runFile(`assets/${challengeName}前往键鼠.json`);
// }
// log.info(`开始第${i+1}次战斗`);
// try {
// await dispatcher.runTask(new SoloTask("AutoFight"));
// } catch (error) {
// //失败后最多只挑战一次,因为两次都打不过,基本上没戏,干脆直接报错结束
// log.info(`挑战失败,再来一次`);
// await pathingScript.runFile("assets/recover.json");//回复状态
// await pathingScript.runFile(`assets/${challengeName}前往.json`);
// await keyMouseScript.runFile(`assets/${challengeName}前往键鼠.json`);
// await dispatcher.runTask(new SoloTask("AutoFight"));
// }
// }
// await pathingScript.runFile("assets/recover.json");//回复状态
// log.info(`首领讨伐结束`);
})();

View File

@@ -0,0 +1,14 @@
{
"manifest_version": 1,
"name": "周本-boss",
"version": "1.3",
"description": "请看一看readme文件",
"authors": [
{
"name": "wjdsg",
"link": "https://gitee.com/wangjian0327/auto-bgi"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}

View File

@@ -0,0 +1,12 @@
我是这个配对打的献上策略可以根据自己的配对选择boss够10个就行配合auto-bgi周一执行
茜特菈莉 e
芙宁娜 e
爱可菲 e
芭芭拉 e,attack (8)
茜特菈莉 attack,e
茜特菈莉 q
芙宁娜 q
爱可菲 q
芭芭拉 e,q,attack (8)

View File

@@ -0,0 +1,67 @@
[
{
"name": "confirm",
"type": "select",
"label": "请问你设置好相关参数了吗",
"options": [
"YES",
"YES",
"YES"
]
},
{
"name": "baoyanshu",
"type": "checkbox",
"label": "爆炎树"
},
{
"name": "foshishachong",
"type": "checkbox",
"label": "风蚀沙虫"
},
{
"name": "gpeiliadezangsong",
"type": "checkbox",
"label": "歌裴莉娅的葬送"
},
{
"name": "guyanlongxi",
"type": "checkbox",
"label": "古岩龙蜥"
},
{
"name": "hengchangjiguanzhulie",
"type": "checkbox",
"label": "恒常机关阵列"
},
{
"name": "jinyanrongyilongbujun",
"type": "checkbox",
"label": "金焰绒翼龙暴君"
},
{
"name": "kepeiliusidejiefu",
"type": "checkbox",
"label": "科培琉司的劫罚"
},
{
"name": "leyinquanxian",
"type": "checkbox",
"label": "雷音权现"
},
{
"name": "mooujiangui",
"type": "checkbox",
"label": "魔偶剑鬼"
},
{
"name": "qiannianzhenzhunlin",
"type": "checkbox",
"label": "千年珍珠骏麟"
},
{
"name": "rongyanhuidragonxiang",
"type": "checkbox",
"label": "熔岩辉龙像"
}
]

View File

@@ -117,9 +117,9 @@ const autoNavigateToReward = async () => {
}
// 3. 前进一小步
keyDown("w");
await sleep(800);
await sleep(500);
keyUp("w");
await sleep(100); // 等待角色移动稳定
await sleep(200); // 等待角色移动稳定
}
}

View File

@@ -1,7 +1,7 @@
(async function () {
//初始化配置======================================================================================
var actiontime = settings.actiontime != undefined && ~~settings.actiontime > 0 ? ~~settings.actiontime : 100;
var actiontime = settings.actiontime != undefined && ~~settings.actiontime > 0 ? ~~settings.actiontime : 150;
var TEAM
var AKF = settings.AKF !== undefined ? (
settings.AKF === "是" ? 1 :
@@ -89,7 +89,7 @@ async function executeAttack(){
await middleButtonClick();
await sleep(1000);
log.info(`攻击动作开始,${actiontime}秒后超时退出!一般60秒左右完成`)
log.info(`攻击动作开始,${actiontime}秒后超时退出!一般120秒左右完成`)
var startTime = new Date();
await sleep(500);
var NowTime = new Date();
@@ -113,11 +113,12 @@ async function executeAttack(){
}
}
leftButtonClick();
await sleep(50);
NowTime = new Date();
}
await genshin.returnMainUi();
throw new Error(`${actiontimein}秒攻击动作超时,结束流程!`);
throw new Error(`${actiontime}秒攻击动作超时,结束流程!`);
}
let nowuidString = settings.nowuid ? settings.nowuid : "";
@@ -132,7 +133,7 @@ async function executeAttack(){
if (uidNumbers && uidNumbers.length > 0) {
// 使用 for...of 循环遍历 uidNumbers 数组
for (let number of uidNumbers) {
var UIDnow = "UID" + number;
var UIDnow = number;
log.debug(`DEBUG:${UIDnow}`);
let UIDD = await textOCR(UIDnow, 1, 0, 0, 112,177, 190, 39);
if (UIDD.found) {

View File

@@ -1,10 +1,10 @@
{
"manifest_version": 1,
"name": "爱可菲自动化",
"version": "1.2",
"version": "1.3",
"bgi_version": "0.44.0",
"description": "爱可菲厨艺机关自动化请注意说明文件如有BUG请联系作者QQ:119996800",
"tags" : [ "爱可菲厨艺机关自动化" ],
"tags" : [ "爱可菲厨艺机关自动化"],
"authors": [
{
"name": "LCB-茶包"

View File

@@ -18,8 +18,8 @@
{
"name": "actiontime",
"type": "input-text",
"label": "选填爱可菲厨艺机关超时默认100秒",
"default": "100"
"label": "选填爱可菲厨艺机关超时默认150秒",
"default": "150"
},
{
"name": "nowuid",

View File

@@ -13,4 +13,9 @@
1、测试阶段如有错误请QQ119996800联系反馈。
七、更新说明
v.1.0 20250510 发布
v.1.2 20250510 发布
v.1.3 20250512
1、更改UID识别方法。适配原神UI改变
2、修改超时默认时间。

View File

@@ -1,80 +1,248 @@
(async function () {
dispatcher.addTimer(new RealtimeTimer("AutoPick", { "forceInteraction": true }));
dispatcher.addTimer(new RealtimeTimer("AutoPick", { "forceInteraction": true }));
if (!settings.enable) {
log.error(`请打开「JS脚本自定义配置」然后阅读并勾选第一个复选框。`);
return
}
await genshin.tp(5035.94,3672.92);//安眠处1
await sleep(1000);
await keyMouseScript.runFile(`assets/安眠处地面1-3.json`);
log.info('安眠处地面13个。');
if (settings.selectAll || settings.annapausis1) {
try {
await genshin.tp(5035.94, 3672.92);//安眠处1
await sleep(1000);
await keyMouseScript.runFile(`assets/安眠处地面1-3.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
log.info('安眠处地面36个。');
if (settings.selectAll || settings.annapausis3) {
try {
await genshin.tp(4939.90, 3564.62);//安眠处2
await sleep(1000);
await keyMouseScript.runFile(`assets/安眠处地面3-6.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
await genshin.tp(4939.90,3564.62);//安眠处2
await sleep(1000);
await keyMouseScript.runFile(`assets/安眠处地面3-6.json`);
log.info('安眠处地面48个。');
if (settings.selectAll || settings.annapausis4) {
try {
await genshin.tp(4939.90, 3564.62);//安眠处2
await sleep(1000);
await keyMouseScript.runFile(`assets/安眠处地面4-8.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
await genshin.tp(4939.90,3564.62);//安眠处2
await sleep(1000);
await keyMouseScript.runFile(`assets/安眠处地面4-8.json`);
log.info('安眠处地面56个。');
if (settings.selectAll || settings.annapausis5) {
try {
await genshin.tp(4939.90, 3564.62);//安眠处2
await sleep(1000);
await keyMouseScript.runFile(`assets/安眠处地面5-6.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
await genshin.tp(4939.90,3564.62);//安眠处2
await sleep(1000);
await keyMouseScript.runFile(`assets/安眠处地面5-6.json`);
//3
await genshin.tp(4259.14,2704.10,true);//白松镇1
await sleep(1000);
await keyMouseScript.runFile(`assets/白松镇1-3.json`);
//9
await genshin.tp(4234.85,3121.65);//自然哲学学院1有概率失败
await sleep(1000);
await keyMouseScript.runFile(`assets/自然哲学学院1.json`);
//4
await genshin.tp(4175.23,3280.54);//自然哲学学院2
await sleep(1000);
await keyMouseScript.runFile(`assets/自然哲学学院2.json`);
//4
await genshin.tp(4191.45,3802.76);//塔拉塔海沟
await sleep(1000);
await keyMouseScript.runFile(`assets/塔拉塔海谷1.json`);
//4
await genshin.tp(4012.88,3434.90);//塞洛海原1
await sleep(1000);
await keyMouseScript.runFile(`assets/塞洛海原1.json`);
log.info('白松镇13个。');
if (settings.selectAll || settings.poisson1) {
try {
//3
await genshin.tp(4259.14, 2704.10, true);//白松镇1
await sleep(1000);
await keyMouseScript.runFile(`assets/白松镇1-3.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
//5
await genshin.tp(3965.72,3235.31);//塞洛海原2
await sleep(1000);
await keyMouseScript.runFile(`assets/塞洛海原2.json`);
log.info('自然哲学学院19个。');
if (settings.selectAll || settings.instituteOfNaturalPhilosophy1) {
try {
//9
await genshin.tp(4234.85, 3121.65);//自然哲学学院1有概率失败
await sleep(1000);
await keyMouseScript.runFile(`assets/自然哲学学院1.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
//3
await genshin.tp(4396.86,3092.05);//塞洛海原3
await sleep(1000);
await keyMouseScript.runFile(`assets/塞洛海原3.json`);
//5
await genshin.tp(4396.86,3092.05);//塞洛海原3
await sleep(1000);
await keyMouseScript.runFile(`assets/塞洛海原4.json`);
log.info('自然哲学学院24个。');
if (settings.selectAll || settings.instituteOfNaturalPhilosophy2) {
try {
//4
await genshin.tp(4175.23, 3280.54);//自然哲学学院2
await sleep(1000);
await keyMouseScript.runFile(`assets/自然哲学学院2.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
//5
await genshin.tp(4487.10,2801.05);//苍晶区1
await sleep(1000);
await keyMouseScript.runFile(`assets/苍晶区1.json`);
log.info('自塔拉塔海谷14个。');
if (settings.selectAll || settings.thalattaSubmarineCanyon1) {
try {
//4
await genshin.tp(4191.45, 3802.76);//塔拉塔海沟
await sleep(1000);
await keyMouseScript.runFile(`assets/塔拉塔海谷1.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
//8
await genshin.tp(4775.41,3145.85);//枫丹廷区1
await sleep(1000);
await keyMouseScript.runFile(`assets/枫丹廷区1.json`);
//2
await genshin.tp(4775.41,3145.85);//枫丹廷区1
await sleep(1000);
await keyMouseScript.runFile(`assets/枫丹廷区2.json`);
log.info('塞洛海原14个。');
if (settings.selectAll || settings.salaciaPlain1) {
try {
//4
await genshin.tp(4012.88, 3434.90);//塞洛海原1
await sleep(1000);
await keyMouseScript.runFile(`assets/塞洛海原1.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
//3
await genshin.tp(4775.41,3145.85);//枫丹廷区1
await sleep(1000);
await keyMouseScript.runFile(`assets/枫丹廷区3.json`);
log.info('塞洛海原25个。');
if (settings.selectAll || settings.salaciaPlain2) {
try {
//5
await genshin.tp(3965.72, 3235.31);//塞洛海原2
await sleep(1000);
await keyMouseScript.runFile(`assets/塞洛海原2.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
dispatcher.addTimer(new RealtimeTimer("AutoPick", { "forceInteraction": false }));
log.info('塞洛海原33个。');
if (settings.selectAll || settings.salaciaPlain3) {
try {
//3
await genshin.tp(4396.86, 3092.05);//塞洛海原3
await sleep(1000);
await keyMouseScript.runFile(`assets/塞洛海原3.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
log.info('塞洛海原45个。');
if (settings.selectAll || settings.salaciaPlain4) {
try {
//5
await genshin.tp(4396.86, 3092.05);//塞洛海原3
await sleep(1000);
await keyMouseScript.runFile(`assets/塞洛海原4.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
log.info('苍晶区15个。');
if (settings.selectAll || settings.eltonTrench1) {
try {
//5
await genshin.tp(4487.10, 2801.05);//苍晶区1
await sleep(1000);
await keyMouseScript.runFile(`assets/苍晶区1.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
log.info('枫丹廷区18个。');
if (settings.selectAll || settings.courtOfFontaine1) {
try {
//8
await genshin.tp(4775.41, 3145.85);//枫丹廷区1
await sleep(1000);
await keyMouseScript.runFile(`assets/枫丹廷区1.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
log.info('枫丹廷区22个。');
if (settings.selectAll || settings.courtOfFontaine2) {
try {
//2
await genshin.tp(4775.41, 3145.85);//枫丹廷区1
await sleep(1000);
await keyMouseScript.runFile(`assets/枫丹廷区2.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
log.info('枫丹廷区33个。');
if (settings.selectAll || settings.courtOfFontaine3) {
try {
//3
await genshin.tp(4775.41, 3145.85);//枫丹廷区1
await sleep(1000);
await keyMouseScript.runFile(`assets/枫丹廷区3.json`);
} catch (error) {
log.warn(error.message);
log.warn('传送错误,跳过。');
}
} else {
log.info('跳过。');
}
dispatcher.addTimer(new RealtimeTimer("AutoPick", { "forceInteraction": false }));
})();

View File

@@ -1,12 +1,12 @@
{
"manifest_version": 1,
"name": "苍晶螺拾取",
"version": "1.0",
"description": "键鼠脚本使用双风芭芭拉录制请将采集队伍按照这个标准配置,可以提升采集成功率",
"version": "1.1",
"description": "键鼠脚本使用芭芭拉+双风」录制请将采集队伍按照这个标准配置,可以提升采集成功率",
"authors": [
{
"name": "柒叶子",
"link": "https://github.com/511760049"
"name": "柒叶子",
"link": "https://github.com/5117600049"
}
],
"settings_ui": "settings.json",

View File

@@ -0,0 +1,110 @@
[
{
"name": "enable",
"type": "checkbox",
"label": "键鼠脚本使用「芭芭拉+双风」录制。\n请将采集队伍按照这个标准配置可以提升采集成功率。\n\n我已阅读启用脚本。",
"default": false
},
{
"name": "selectAll",
"type": "checkbox",
"label": "无视后续选项,运行全部区域。",
"default": false
},
{
"name": "annapausis1",
"type": "checkbox",
"label": "安眠处地面13个。",
"default": true
},
{
"name": "annapausis3",
"type": "checkbox",
"label": "安眠处地面36个。",
"default": true
},
{
"name": "annapausis4",
"type": "checkbox",
"label": "安眠处地面48个。",
"default": true
},
{
"name": "annapausis5",
"type": "checkbox",
"label": "安眠处地面56个。",
"default": true
},
{
"name": "poisson1",
"type": "checkbox",
"label": "白松镇13个此处卡图建议跳过。",
"default": false
},
{
"name": "instituteOfNaturalPhilosophy1",
"type": "checkbox",
"label": "自然哲学学院19个有概率失败。",
"default": false
},
{
"name": "instituteOfNaturalPhilosophy2",
"type": "checkbox",
"label": "自然哲学学院24个有个挑战需要先做完。",
"default": false
},
{
"name": "thalattaSubmarineCanyon1",
"type": "checkbox",
"label": "塔拉塔海谷14个。",
"default": true
},
{
"name": "salaciaPlain1",
"type": "checkbox",
"label": "塞洛海原14个。",
"default": true
},
{
"name": "salaciaPlain2",
"type": "checkbox",
"label": "塞洛海原25个。",
"default": true
},
{
"name": "salaciaPlain3",
"type": "checkbox",
"label": "塞洛海原33个。",
"default": true
},
{
"name": "salaciaPlain4",
"type": "checkbox",
"label": "塞洛海原45个有宝箱和怪需要先处理。",
"default": false
},
{
"name": "eltonTrench1",
"type": "checkbox",
"label": "苍晶区15个。",
"default": true
},
{
"name": "courtOfFontaine1",
"type": "checkbox",
"label": "枫丹廷区18个。",
"default": true
},
{
"name": "courtOfFontaine2",
"type": "checkbox",
"label": "枫丹廷区22个此处卡对话建议跳过。",
"default": false
},
{
"name": "courtOfFontaine3",
"type": "checkbox",
"label": "枫丹廷区33个。",
"default": true
}
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,172 +1,185 @@
(async function () {
// 设置游戏基础参数
setGameMetrics(1920, 1080, 1.25); // 设置编写脚本环境的游戏分辨率和DPI缩放
await genshin.returnMainUi(); // 返回主界面
// 设置游戏基础参数
setGameMetrics(1920, 1080, 1.25); // 设置编写脚本环境的游戏分辨率和DPI缩放
await genshin.returnMainUi(); // 返回主界面
///
// 读取用户配置
///
let smithyName = settings.smithyName || "枫丹铁匠铺";
let ore = settings.ore || "水晶块";
///
// 读取用户配置
///
let smithyName = settings.smithyName || "枫丹铁匠铺";
let ore = settings.ore || "水晶块";
// 定义矿物名称和图片文件名的映射表
const ingredientImageMap = {
萃凝晶: "assets/Picture/CondessenceCrystal.png",
// 定义矿物名称和图片文件名的映射表
const ingredientImageMap = {
萃凝晶: "assets/Picture/CondessenceCrystal.png",
紫晶块: "assets/Picture/AmethystLump.png",
水晶块: "assets/Picture/CrystalChunk.png",
星银矿石: "assets/Picture/Starsilver.png",
白铁块: "assets/Picture/WhiteIronChunk.png",
铁块: "assets/Picture/IronChunk.png",
};
紫晶块: "assets/Picture/AmethystLump.png",
水晶块: "assets/Picture/CrystalChunk.png",
星银矿石: "assets/Picture/Starsilver.png",
白铁: "assets/Picture/WhiteIronChunk.png",
: "assets/Picture/IronChunk.png",
};
// Ore 映射为中文
const OreChineseMap = {
萃凝晶: "萃凝晶",
紫晶: "紫晶块",
水晶: "水晶块",
星银矿石: "星银矿石",
白铁块: "白铁块",
铁块: "铁块",
// 添加其他加工设置的中文映射
};
// Ore 映射为中文
const OreChineseMap = {
萃凝晶: "萃凝晶",
紫晶块: "紫晶块",
水晶块: "水晶块",
星银矿石: "星银矿石",
白铁块: "白铁块",
铁块: "铁块",
// 添加其他加工设置的中文映射
};
// 获取中文描述和图像路径
const processingKey = settings.ore || "水晶块";
const chineseDescription = OreChineseMap[processingKey];
const imagePath = ingredientImageMap[processingKey];
// 获取中文描述和图像路径
const processingKey = settings.ore || "水晶块";
const chineseDescription = OreChineseMap[processingKey];
const imagePath = ingredientImageMap[processingKey];
// 行列数的排列组合
const rows = [1, 2, 3]; // 行数
const cols = [1, 2, 3, 4, 5]; // 列数
const gridCoordinates = [];
// 行列数的排列组合
const rows = [1, 2, 3]; // 行数
const cols = [1, 2, 3, 4, 5]; // 列数
const gridCoordinates = [];
// 计算每个行列组合的坐标
for (const row of rows) {
for (const col of cols) {
const ProcessingX = Math.round(135 + (col - 1) * 145);
const ProcessingY = Math.round(245 + (row - 1) * 170);
gridCoordinates.push({ row, col, x: ProcessingX, y: ProcessingY });
}
}
// 图像识别函数
function recognizeImage(imagePath, x, y, searchWidth, searchHeight) {
try {
let template = file.ReadImageMatSync(imagePath);
let recognitionObject = RecognitionObject.TemplateMatch(
template,
x,
y,
searchWidth,
searchHeight
);
// 设置识别阈值和通道
recognitionObject.threshold = 0.9; // 设置识别阈值为 0.9
recognitionObject.Use3Channels = true; // 使用三通道匹配
let result = captureGameRegion().find(recognitionObject);
return result.isExist() ? result : null;
} catch (error) {
log.error(`图像识别失败,路径: ${imagePath}, 错误: ${error.message}`);
return null;
}
}
// 自动前往铁匠铺
async function autoSmithy(smithyName) {
log.info(`自动前往 ${smithyName}`);
try {
let filePath = `assets/Pathing/${smithyName}.json`;
await pathingScript.runFile(filePath);
} catch (error) {
log.error(`执行 ${smithyName} 路径时发生错误`);
log.error(error.toString());
}
}
// 确认使用矿石
function determineOre() {
if (ore == "水晶块") {
log.info("将使用 水晶块 锻造矿石");
} else if (ore == "紫晶块") {
log.info("将使用 紫晶块 锻造矿石");
} else if (ore == "萃凝晶") {
log.info("将使用 萃凝晶 锻造矿石");
} else {
log.info("无指定矿石,将使用 水晶块 锻造矿石");
}
}
// 锻造矿石操作
const forgeOre = async function (smithyName) {
await sleep(1000);
keyPress("F");
await sleep(1000); // 开始交互
await click(960, 600);
await sleep(1000); // 跳过第一个对话
await click(960, 600);
await sleep(1000); // 跳过第一个对话
await click(1375, 500);
await sleep(1000);
await click(960, 600);
await sleep(1000); // 跳过第二个对话
await click(960, 600);
await sleep(1000); // 跳过第二个对话
log.info("已进入锻造界面,准备锻造");
// 锻造领取
await click(520, 140);
await sleep(1000); // 选择锻造队列
await click(170, 1010);
await sleep(1000); // 领取全部
await click(960, 900);
await sleep(1000); // 确认
click(220, 150);
await sleep(1000); // 点击"配方"
determineOre();
// 根据用户选择的矿石进行锻造
if (!imagePath) {
log.error(`未找到矿石图像路径: ${chineseDescription}`);
} else {
log.info(`开始识别矿石: ${chineseDescription}`);
// 左上角的偏移量
const scanOffset = { x: -35, y: -35 };
let foundIngredient = false;
for (const coordinate of gridCoordinates) {
const scanX = coordinate.x + scanOffset.x;
const scanY = coordinate.y + scanOffset.y;
const imageResult = recognizeImage(imagePath, scanX, scanY, 70, 70);
if (imageResult) {
log.info(`通过图像识别找到矿石: ${chineseDescription}`);
imageResult.click();
await sleep(2000); // 等待点击生效
foundIngredient = true;
// 点击“开始锻造”3次
click(1645, 1015);
await sleep(3000);
click(1645, 1015);
await sleep(3000);
click(1645, 1015);
await sleep(3000);
break; // 找到矿石后退出循环
// 计算每个行列组合的坐标
for (const row of rows) {
for (const col of cols) {
const ProcessingX = Math.round(150 + (col - 1) * 145);
const ProcessingY = Math.round(230 + (row - 1) * 170);
gridCoordinates.push({ row, col, x: ProcessingX, y: ProcessingY });
}
}
if (!foundIngredient) {
log.error(`未能识别到矿石: ${chineseDescription}`);
}
}
// 退出锻造界面
log.info("锻造结束,退出界面");
keyPress("ESCAPE");
};
await autoSmithy(smithyName); //寻路函数
await forgeOre(smithyName);
// 图像识别函数
function recognizeImage(imagePath, x, y, searchWidth, searchHeight) {
try {
let template = file.ReadImageMatSync(imagePath);
let recognitionObject = RecognitionObject.TemplateMatch(
template,
x,
y,
searchWidth,
searchHeight
);
// 设置识别阈值和通道
recognitionObject.threshold = 0.9; // 设置识别阈值
recognitionObject.Use3Channels = true; // 使用三通道匹配
let result = captureGameRegion().find(recognitionObject);
return result.isExist() ? result : null;
} catch (error) {
log.error(
`图像识别失败,路径: ${imagePath}, 错误: ${error.message}`
);
return null;
}
}
// 自动前往铁匠铺
async function autoSmithy(smithyName) {
log.info(`自动前往 ${smithyName}`);
try {
let filePath = `assets/Pathing/${smithyName}.json`;
await pathingScript.runFile(filePath);
} catch (error) {
log.error(`执行 ${smithyName} 路径时发生错误`);
log.error(error.toString());
}
}
// 确认使用矿石
function determineOre() {
if (ore == "水晶块") {
log.info("将使用 水晶块 锻造矿石");
} else if (ore == "紫晶块") {
log.info("将使用 紫晶块 锻造矿石");
} else if (ore == "萃凝晶") {
log.info("将使用 萃凝晶 锻造矿石");
} else {
log.info("无指定矿石,将使用 水晶块 锻造矿石");
}
}
// 锻造矿石操作
const forgeOre = async function (smithyName) {
await sleep(1000);
keyPress("F");
await sleep(1000); // 开始交互
await click(960, 600);
await sleep(1000); // 跳过第一个对话
await click(960, 600);
await sleep(1000); // 跳过第一个对话
await click(1375, 500);
await sleep(1000);
await click(960, 600);
await sleep(1000); // 跳过第二个对话
await click(960, 600);
await sleep(1000); // 跳过第二个对话
log.info("已进入锻造界面,准备锻造");
// 锻造领取
await click(520, 140);
await sleep(1000); // 选择锻造队列
await click(170, 1010);
await sleep(1000); // 领取全部
await click(960, 900);
await sleep(1000); // 确认
click(220, 150);
await sleep(1000); // 点击"配方"
determineOre();
// 根据用户选择的矿石进行锻造
if (!imagePath) {
log.error(`未找到矿石图像路径: ${chineseDescription}`);
} else {
log.info(`开始识别矿石: ${chineseDescription}`);
// 左上角的偏移量
const scanOffset = { x: -35, y: -35 };
let foundIngredient = false;
for (const coordinate of gridCoordinates) {
const scanX = coordinate.x + scanOffset.x;
const scanY = coordinate.y + scanOffset.y;
const imageResult = recognizeImage(
imagePath,
scanX,
scanY,
70,
70
);
if (imageResult) {
log.info(`通过图像识别找到矿石: ${chineseDescription}`);
imageResult.click();
await sleep(2000); // 等待点击生效
foundIngredient = true;
// 点击“开始锻造”3次
click(1645, 1015);
await sleep(1500);
click(1645, 1015);
await sleep(1500);
click(1645, 1015);
await sleep(1500);
break; // 找到矿石后退出循环
}
}
if (!foundIngredient) {
log.error(`未能识别到矿石: ${chineseDescription}`);
}
}
// 退出锻造界面
log.info("锻造结束,退出界面");
keyPress("ESCAPE");
};
await autoSmithy(smithyName); //寻路函数
await forgeOre(smithyName);
await genshin.returnMainUi(); // 返回主界面
keyDown("S");
await sleep(1000);
keyUp("S");
await sleep(1000);
})();

View File

@@ -1,13 +1,13 @@
{
"manifest_version": 1,
"name": "自动锻造魔矿",
"version": "1.1(2025.05.01版)",
"description": "自动选择铁匠铺和使用矿物去锻造魔矿。\n注1:默认选择枫丹铁匠铺,可选择其他地区铁匠铺。由于地图追踪功能不支持室内定位,所以不支持纳塔铁匠铺;\n注2:可选使用水晶矿(默认)、紫晶矿、萃凝晶。\n鸣谢:寒露,蜜柑魚",
"authors": [
{
"name": "呱呱z"
}
],
"settings_ui": "settings.json",
"main": "main.js"
"manifest_version": 1,
"name": "自动锻造魔矿(识图)",
"version": "1.2(2025.05.12版)",
"description": "自动选择铁匠铺和使用矿物去锻造魔矿。\n使用前请阅读“readme”文件\n鸣谢:寒露,蜜柑魚",
"authors": [
{
"name": "呱呱z"
}
],
"settings_ui": "settings.json",
"main": "main.js"
}

View File

@@ -0,0 +1,57 @@
// ==UserScript==
// @name 自动锻造魔矿脚本
// @version 1.2
// @description 自动前往铁匠铺并锻造魔矿,通过识图模式自动选择矿石
// @author 呱呱 z
// @match 原神版本5.6BGI 版本0.45.1
// ==/UserScript==
/**
* === 重要免责声明 ===
* 1. 使用风险
* - 本脚本为开源学习项目,禁止用于商业用途或违反游戏条款的行为。
* - 滥用可能导致游戏账号封禁,开发者不承担任何直接或间接责任。
*
* 2. 责任限制
* - 本脚本按“现状”提供,不承诺兼容性、安全性或功能完整性。
* - 因使用本脚本导致的账号、数据、设备损失,开发者概不负责。
*
* 3. 禁止条款
* - 严禁逆向工程、恶意篡改或用于外挂等非法用途。
* - 如游戏运营商提出要求,开发者保留随时停止维护的权利。
*
* 使用即表示您已阅读并同意上述条款。
*
* Last Updated: 2025-05-12
*/
# 自动锻造魔矿脚本
## 简介
本脚本可自动前往铁匠铺并锻造魔矿,利用识图模式智能选择需要的矿石,让自定义操作更加便捷。
## 文件结构
- **main.js**:负责核心业务逻辑,包括前往铁匠铺和执行锻造任务。
- **manifest.json**:脚本配置文件,记录基本信息和设置。
- **settings.json**:用户配置文件,用于选择目标铁匠铺和指定矿石。
## 使用方法
1. 将脚本添加至调度器。
2. 右键点击脚本以修改JS自定义配置。
3. 在配置文件中选择目标城市的铁匠铺(默认选择枫丹铁匠铺),并设定所需矿石(默认:水晶矿)。
- 注意:由于地图追踪功能尚不支持室内定位,故纳塔铁匠铺不可用。
- 可选矿石:
- 默认:水晶矿
- 其他:紫晶矿、萃凝晶
- 如需使用“星银矿石”、“白铁块”或“铁块”,请打开 `settings.json`,删除对应矿石前的 `//` 注释后保存配置。
## 后言
本脚本目前处于测试阶段,欢迎反馈问题至 QQ1765137214。
## 更新日志
### 1.2
- 修复选择“萃凝晶”时无法识别的 bug
### 1.1
- 优化矿石选取方式,改用识图模式

View File

@@ -1 +1,22 @@
{"info":{"name":"","type":""},"positions":[{"x":-4352.80078125,"y":-2142.396484375,"type":"teleport","move_mode":"walk"}]}
{
"info": {
"name": "未命名路径",
"type": "collect",
"author": "柒叶子",
"version": "1.0",
"description": "传送到BOSS处",
"map_name": "Teyvat",
"bgi_version": "0.45.0"
},
"positions": [
{
"id": 1,
"action": "force_tp",
"move_mode": "walk",
"type": "teleport",
"x": 5141.61,
"y": -2778.84,
"action_params": ""
}
]
}

View File

@@ -1 +1 @@
{"macroEvents":[{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":953},{"type":4,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":4375},{"type":5,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":4547},{"type":4,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":6390},{"type":5,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":6547},{"type":4,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":8281},{"type":5,"mouseX":1916,"mouseY":1142,"mouseButton":"Right","time":8422},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":11437},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":11750},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":12625},{"type":0,"keyCode":69,"mouseX":0,"mouseY":0,"time":12703},{"type":1,"keyCode":69,"mouseX":0,"mouseY":0,"time":14078},{"type":0,"keyCode":68,"mouseX":0,"mouseY":0,"time":14390},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":15015},{"type":1,"keyCode":68,"mouseX":0,"mouseY":0,"time":15140},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":19125},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":19297},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":19828},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":19984},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":23672},{"type":4,"mouseX":1916,"mouseY":1142,"mouseButton":"Left","time":23875},{"type":5,"mouseX":1916,"mouseY":1142,"mouseButton":"Left","time":24015},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":25359},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":25844}],"info":{"name":"","description":"","x":635,"y":445,"width":2560,"height":1440,"recordDpi":1.75}}
{"macroEvents":[{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":1000},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":1344},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":1500},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":2719},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":2875},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":4110},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":4266},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":5485},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":5641},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":6813},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":6922},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":7954},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":8125},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":9313},{"type":0,"keyCode":68,"mouseX":0,"mouseY":0,"time":10594},{"type":1,"keyCode":68,"mouseX":0,"mouseY":0,"time":10704},{"type":0,"keyCode":69,"mouseX":0,"mouseY":0,"time":11532},{"type":1,"keyCode":69,"mouseX":0,"mouseY":0,"time":12782},{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":17313},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":18422},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":18579},{"type":0,"keyCode":32,"mouseX":0,"mouseY":0,"time":18860},{"type":1,"keyCode":32,"mouseX":0,"mouseY":0,"time":19016},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":21891},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":22000},{"type":0,"keyCode":65,"mouseX":0,"mouseY":0,"time":22766},{"type":1,"keyCode":65,"mouseX":0,"mouseY":0,"time":23157},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":23579},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Right","time":23688},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":25125}],"info":{"name":"","description":"","x":0,"y":0,"width":3840,"height":2160,"recordDpi":1.75}}

View File

@@ -1 +1,22 @@
{"info":{"name":"","type":""},"positions":[{"x":9879.2666015625,"y":-2224.0830078125,"type":"teleport","move_mode":"walk"}]}
{
"info": {
"name": "未命名路径",
"type": "collect",
"author": "柒叶子",
"version": "1.0",
"description": "传送到BOSS处",
"map_name": "Teyvat",
"bgi_version": "0.45.0"
},
"positions": [
{
"id": 1,
"action": "force_tp",
"move_mode": "walk",
"type": "teleport",
"x": 9884.0244140625,
"y": -2206.3095703125,
"action_params": ""
}
]
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"info":{"name":"未命名路线","bgi_version":"0.45.1","type":"collect","map_name":"Teyvat"},"positions":[{"x":11005.201171875,"y":-3752.3876953125,"type":"teleport","move_mode":"walk"}]}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,22 @@
{
"info": {
"name": "未命名路径",
"type": "collect",
"author": "柒叶子",
"version": "1.0",
"description": "传送到BOSS处",
"map_name": "Teyvat",
"bgi_version": "0.45.0"
},
"positions": [
{
"id": 1,
"action": "force_tp",
"move_mode": "walk",
"type": "teleport",
"x": 3858.45,
"y": 1133.72,
"action_params": ""
}
]
}

View File

@@ -0,0 +1 @@
{"macroEvents":[{"type":0,"keyCode":87,"mouseX":0,"mouseY":0,"time":1657},{"type":4,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":2172},{"type":5,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":2329},{"type":4,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":3454},{"type":5,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":3641},{"type":4,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":4610},{"type":5,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":4719},{"type":4,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":5625},{"type":5,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":5782},{"type":4,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":6719},{"type":5,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":6844},{"type":4,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":7422},{"type":5,"mouseX":1418,"mouseY":982,"mouseButton":"Right","time":7563},{"type":1,"keyCode":87,"mouseX":0,"mouseY":0,"time":9094}],"info":{"name":"","description":"","x":457,"y":465,"width":1920,"height":1080,"recordDpi":1.75}}

View File

@@ -34,7 +34,7 @@ const autoNavigateToReward = async () => {
log.info("已到达领奖点,检测到文字: " + rewardResult.text);
return;
}
else if(advanceNum > 80){
else if(advanceNum > 40){
throw new Error('前进时间超时');
}
// 2. 未到达领奖点,则调整视野
@@ -69,13 +69,13 @@ const autoNavigateToReward = async () => {
moveMouseBy(adjustAmount * adjustAmount2, 0);
await sleep(100);
}
if(i > 97) throw new Error('视野调整超时');
if(i > 50) throw new Error('视野调整超时');
}
// 3. 前进一小步
keyDown("w");
await sleep(800);
await sleep(500);
keyUp("w");
await sleep(100); // 等待角色移动稳定
await sleep(200); // 等待角色移动稳定
}
}

View File

@@ -1,7 +1,7 @@
{
"manifest_version": 1,
"name": "首领连续讨伐",
"version": "1.4",
"version": "1.5",
"description": "请看一看readme文件",
"authors": [
{

View File

@@ -1,4 +1,4 @@
1、由于各种原因目前有一部分点位没有收录无相之风(打不过)、黄金王兽(打不过)、魔像督军(我没开地图录不了)、无相之冰(很难打过)、深海龙蜥之群(打不过)。
1、由于各种原因目前有一部分点位没有收录无相之风(打不过)、黄金王兽(打不过)、无相之冰(很难打过)、深海龙蜥之群(打不过)。
2、另外还有很多机制BOSS必须带特定的角色才行至于怎么配队自己研究一下我暂时没空写至于其他的请随意。
机制BOSS无相之雷、无相之水、无相之火、无相之草、深罪浸礼者、灵觉隐修的迷者……
此外「冰风组曲」分为「歌裴莉娅的葬送」荒(蓝)与「科培琉司的劫罚」芒(金),不要选错了。

View File

@@ -43,6 +43,8 @@
"科培琉司的劫罚",
"雷音权现",
"灵觉隐修的迷者",
"魔像督军",
"秘源机兵·统御械",
"秘源机兵·构型械",
"魔偶剑鬼",
"千年珍珠骏麟",
@@ -74,4 +76,4 @@
"label": "是否使用树脂(默认0)"
},
]
]