BIN
repo/js/FeatherFalling/assets/icon/GoTeleport.png
Normal file
BIN
repo/js/FeatherFalling/assets/icon/GoTeleport.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
repo/js/FeatherFalling/assets/icon/PortableWaypoint.png
Normal file
BIN
repo/js/FeatherFalling/assets/icon/PortableWaypoint.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
BIN
repo/js/FeatherFalling/assets/icon/SwimState.png
Normal file
BIN
repo/js/FeatherFalling/assets/icon/SwimState.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
32
repo/js/FeatherFalling/assets/pathing/信仰之跃.json
Normal file
32
repo/js/FeatherFalling/assets/pathing/信仰之跃.json
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"info": {
|
||||||
|
"name": "信仰之跃",
|
||||||
|
"type": "collect",
|
||||||
|
"author": "mno",
|
||||||
|
"version": "1.0",
|
||||||
|
"description": "",
|
||||||
|
"map_name": "Teyvat",
|
||||||
|
"bgi_version": "0.45.0"
|
||||||
|
},
|
||||||
|
"positions": [
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"x": 508.03515625,
|
||||||
|
"y": -630.49072265625,
|
||||||
|
"action": "",
|
||||||
|
"move_mode": "walk",
|
||||||
|
"action_params": "",
|
||||||
|
"type": "teleport",
|
||||||
|
"locked": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 2,
|
||||||
|
"x": 499.87890625,
|
||||||
|
"y": -686.18310546875,
|
||||||
|
"action": "stop_flying",
|
||||||
|
"move_mode": "fly",
|
||||||
|
"action_params": "10000",
|
||||||
|
"type": "path"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
24
repo/js/FeatherFalling/assets/pathing/原始胎海.json
Normal file
24
repo/js/FeatherFalling/assets/pathing/原始胎海.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"info": {
|
||||||
|
"name": "原始胎海",
|
||||||
|
"type": "collect",
|
||||||
|
"author": "秋云",
|
||||||
|
"version": "1.0",
|
||||||
|
"description": "",
|
||||||
|
"map_name": "Teyvat",
|
||||||
|
"bgi_version": "0.45.0",
|
||||||
|
"tags": [],
|
||||||
|
"last_modified_time": 1748249620442
|
||||||
|
},
|
||||||
|
"positions": [
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"action": "",
|
||||||
|
"move_mode": "dash",
|
||||||
|
"type": "path",
|
||||||
|
"x": 3387.220703125,
|
||||||
|
"y": 2575.370849609375,
|
||||||
|
"action_params": ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
81
repo/js/FeatherFalling/main.js
Normal file
81
repo/js/FeatherFalling/main.js
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
const tpIconRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/icon/PortableWaypoint.png"));
|
||||||
|
const goTeleportRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/icon/GoTeleport.png"));
|
||||||
|
const swimStateRo = RecognitionObject.TemplateMatch(file.ReadImageMatSync("assets/icon/SwimState.png"),
|
||||||
|
1400, 900, 1920-1400, 1080-900);
|
||||||
|
tpIconRo.threshold = 0.70;
|
||||||
|
tpIconRo.Use3Channels = true;
|
||||||
|
swimStateRo.threshold = 0.50;
|
||||||
|
(async function () {
|
||||||
|
await FeatherFailing();
|
||||||
|
})();
|
||||||
|
|
||||||
|
async function switchPartyIfNeeded(partyName) {
|
||||||
|
if (!partyName) {
|
||||||
|
await genshin.returnMainUi();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
log.info("正在尝试切换至" + partyName);
|
||||||
|
if(!await genshin.switchParty(partyName)){
|
||||||
|
log.info("切换队伍失败,前往七天神像重试");
|
||||||
|
await genshin.tpToStatueOfTheSeven();
|
||||||
|
await genshin.switchParty(partyName);
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
log.error("队伍切换失败,可能处于联机模式或其他不可切换状态");
|
||||||
|
notification.error(`队伍切换失败,可能处于联机模式或其他不可切换状态`);
|
||||||
|
await genshin.returnMainUi();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function FeatherFailing() {
|
||||||
|
await genshin.tpToStatueOfTheSeven();
|
||||||
|
await switchPartyIfNeeded(settings.partyName)
|
||||||
|
keyPress("VK_M");
|
||||||
|
await sleep(1000);
|
||||||
|
await genshin.setBigMapZoomLevel(3.0);
|
||||||
|
await genshin.moveMapTo(3419, 2739, `枫丹`);
|
||||||
|
await genshin.setBigMapZoomLevel(1.0);
|
||||||
|
let result = captureGameRegion().find(tpIconRo);
|
||||||
|
if (result.isExist()) {
|
||||||
|
log.info("传送点图标已识别,点击传送");
|
||||||
|
} else {
|
||||||
|
throw new Error("传送点图标未识别,没有放置传送点");
|
||||||
|
}
|
||||||
|
result.click();
|
||||||
|
await sleep(1000);
|
||||||
|
result = captureGameRegion().find(goTeleportRo);
|
||||||
|
result.click();
|
||||||
|
await sleep(1000);
|
||||||
|
await genshin.returnMainUi();
|
||||||
|
await sleep(1000);
|
||||||
|
|
||||||
|
for (let i = 0; i < 20; i++) {
|
||||||
|
keyDown("W");
|
||||||
|
await sleep(50);
|
||||||
|
keyUp("W");
|
||||||
|
await sleep(300);
|
||||||
|
result = captureGameRegion().find(swimStateRo);
|
||||||
|
if (result.isExist()) {
|
||||||
|
log.info("已进入游泳状态");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
keyDown("VK_LCONTROL");
|
||||||
|
for (let i = 0; i < 100; i++) {
|
||||||
|
await sleep(1000);
|
||||||
|
point = genshin.getPositionFromMap();
|
||||||
|
log.info("当前坐标:({x}, {y})", point.x, point.y);
|
||||||
|
if (point.x > 3000 && point.y > 2400 && point.x < 4000 && point.y < 3200) {
|
||||||
|
log.info("小地图已经可以看到提瓦特大陆了", point.x, point.y);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await pathingScript.runFile("assets/pathing/原始胎海.json");
|
||||||
|
await sleep(25000);
|
||||||
|
keyUp("VK_LCONTROL");
|
||||||
|
log.info("我已无敌!");
|
||||||
|
if(settings.Test){
|
||||||
|
await pathingScript.runFile("assets/pathing/信仰之跃.json");
|
||||||
|
}
|
||||||
|
}
|
||||||
14
repo/js/FeatherFalling/manifest.json
Normal file
14
repo/js/FeatherFalling/manifest.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"manifest_version": 1,
|
||||||
|
"name": "摔落保护:提瓦特反牛顿机制",
|
||||||
|
"version": "1.0",
|
||||||
|
"description": "利用游戏机制获取免疫摔落伤害的buff",
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "秋云",
|
||||||
|
"link": "https://github.com/physligl"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"settings_ui": "settings.json",
|
||||||
|
"main": "main.js"
|
||||||
|
}
|
||||||
12
repo/js/FeatherFalling/settings.json
Normal file
12
repo/js/FeatherFalling/settings.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "partyName",
|
||||||
|
"type": "input-text",
|
||||||
|
"label": "需要摔落保护的队伍名称"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test",
|
||||||
|
"type": "checkbox",
|
||||||
|
"label": "是否想看看效果"
|
||||||
|
}
|
||||||
|
]
|
||||||
Reference in New Issue
Block a user