archive js
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 876 B After Width: | Height: | Size: 876 B |
@@ -1,56 +1,56 @@
|
|||||||
(async function () {
|
(async function () {
|
||||||
dispatcher.addTimer(new RealtimeTimer("AutoPick"));
|
dispatcher.addTimer(new RealtimeTimer("AutoPick"));
|
||||||
|
|
||||||
async function AutoPath(locationName) {
|
async function AutoPath(locationName) {
|
||||||
let filePath = `assets/Benchmark/${locationName}.json`;
|
let filePath = `assets/Benchmark/${locationName}.json`;
|
||||||
await pathingScript.runFile(filePath);
|
await pathingScript.runFile(filePath);
|
||||||
await sleep(1000);
|
await sleep(1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
function logScore(startTime, testName) {
|
function logScore(startTime, testName) {
|
||||||
const endTime = Date.now();
|
const endTime = Date.now();
|
||||||
const timeTaken = (endTime - startTime) / 1000;
|
const timeTaken = (endTime - startTime) / 1000;
|
||||||
const presetTimes = {
|
const presetTimes = {
|
||||||
'传送速度测试': 4500,
|
'传送速度测试': 4500,
|
||||||
'飞行速度测试': 3000,
|
'飞行速度测试': 3000,
|
||||||
'游泳速度测试': 6000,
|
'游泳速度测试': 6000,
|
||||||
'攀爬速度测试': 7000,
|
'攀爬速度测试': 7000,
|
||||||
'寻路速度测试': 12000,
|
'寻路速度测试': 12000,
|
||||||
'抗打断测试': 9000
|
'抗打断测试': 9000
|
||||||
};
|
};
|
||||||
const score = presetTimes[testName] / timeTaken;
|
const score = presetTimes[testName] / timeTaken;
|
||||||
log.info(`完成 ${testName} ,得分 ${score.toFixed(2)}`);
|
log.info(`完成 ${testName} ,得分 ${score.toFixed(2)}`);
|
||||||
return score;
|
return score;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function runTest(testName, weight) {
|
async function runTest(testName, weight) {
|
||||||
const startTime = Date.now();
|
const startTime = Date.now();
|
||||||
log.info('进行 {name}', testName);
|
log.info('进行 {name}', testName);
|
||||||
await AutoPath(testName);
|
await AutoPath(testName);
|
||||||
const score = await logScore(startTime, testName);
|
const score = await logScore(startTime, testName);
|
||||||
scores.push({ name: testName, score, weight });
|
scores.push({ name: testName, score, weight });
|
||||||
}
|
}
|
||||||
|
|
||||||
const weights = {
|
const weights = {
|
||||||
'传送速度测试': 0.1,
|
'传送速度测试': 0.1,
|
||||||
'飞行速度测试': 0.1,
|
'飞行速度测试': 0.1,
|
||||||
'游泳速度测试': 0.1,
|
'游泳速度测试': 0.1,
|
||||||
'攀爬速度测试': 0.1,
|
'攀爬速度测试': 0.1,
|
||||||
'抗打断测试': 0.1,
|
'抗打断测试': 0.1,
|
||||||
'寻路速度测试': 0.5
|
'寻路速度测试': 0.5
|
||||||
};
|
};
|
||||||
|
|
||||||
const scores = [];
|
const scores = [];
|
||||||
|
|
||||||
await runTest('传送速度测试', weights['传送速度测试']);
|
await runTest('传送速度测试', weights['传送速度测试']);
|
||||||
await runTest('飞行速度测试', weights['飞行速度测试']);
|
await runTest('飞行速度测试', weights['飞行速度测试']);
|
||||||
await runTest('游泳速度测试', weights['游泳速度测试']);
|
await runTest('游泳速度测试', weights['游泳速度测试']);
|
||||||
await runTest('攀爬速度测试', weights['攀爬速度测试']);
|
await runTest('攀爬速度测试', weights['攀爬速度测试']);
|
||||||
await runTest('寻路速度测试', weights['寻路速度测试']);
|
await runTest('寻路速度测试', weights['寻路速度测试']);
|
||||||
await runTest('抗打断测试', weights['抗打断测试']);
|
await runTest('抗打断测试', weights['抗打断测试']);
|
||||||
|
|
||||||
// 计算加权总得分
|
// 计算加权总得分
|
||||||
const totalWeightedScore = scores.reduce((sum, item) => sum + item.score * item.weight, 0);
|
const totalWeightedScore = scores.reduce((sum, item) => sum + item.score * item.weight, 0);
|
||||||
log.info(`加权总得分:${totalWeightedScore.toFixed(2)}`);
|
log.info(`加权总得分:${totalWeightedScore.toFixed(2)}`);
|
||||||
keyPress("m");
|
keyPress("m");
|
||||||
})();
|
})();
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 1,
|
"manifest_version": 1,
|
||||||
"name": "路径追踪配队跑分",
|
"name": "路径追踪配队跑分",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"description": "对配队的路径追踪性能进行量化呈现",
|
"description": "对配队的路径追踪性能进行量化呈现",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "HZYgrandma",
|
"name": "HZYgrandma",
|
||||||
"links": "https://github.com/HZYgrandma"
|
"links": "https://github.com/HZYgrandma"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"main": "main.js"
|
"main": "main.js"
|
||||||
}
|
}
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
1、使用前将JS脚本添加到调度器,右键修改JS脚本自定义配置,选择宅邸的建筑类型
|
1、使用前将JS脚本添加到调度器,右键修改JS脚本自定义配置,选择宅邸的建筑类型
|
||||||
|
|
||||||
根据请根据宅邸类型选择自定义配置
|
根据请根据宅邸类型选择自定义配置
|
||||||
罗浮洞、翠黛峰 默认使用“默认宅邸类型.png”左2的宅邸,即璃月绿顶建筑;
|
罗浮洞、翠黛峰 默认使用“默认宅邸类型.png”左2的宅邸,即璃月绿顶建筑;
|
||||||
清琼岛 默认使用“默认宅邸类型.png”左1的宅邸,即蒙德红顶建筑;
|
清琼岛 默认使用“默认宅邸类型.png”左1的宅邸,即蒙德红顶建筑;
|
||||||
绘绮庭 默认使用“默认宅邸类型.png”左3的宅邸,即稻妻蓝顶建筑;
|
绘绮庭 默认使用“默认宅邸类型.png”左3的宅邸,即稻妻蓝顶建筑;
|
||||||
妙香林 默认使用“默认宅邸类型.png”左4的宅邸,即须弥绿色建筑;
|
妙香林 默认使用“默认宅邸类型.png”左4的宅邸,即须弥绿色建筑;
|
||||||
旋流屿 默认使用“默认宅邸类型.png”左5的宅邸,即枫丹白色建筑;
|
旋流屿 默认使用“默认宅邸类型.png”左5的宅邸,即枫丹白色建筑;
|
||||||
|
|
||||||
2、确保4个快捷道具都装备上了
|
2、确保4个快捷道具都装备上了
|
||||||
3、请在平坦区域运行此脚本
|
3、请在平坦区域运行此脚本
|
||||||
|
|
||||||
V1.1修复了自定义选项与实际不匹配的BUG
|
V1.1修复了自定义选项与实际不匹配的BUG
|
||||||
V1.2完善了自定义选项,使之更符合使用习惯
|
V1.2完善了自定义选项,使之更符合使用习惯
|
||||||
@@ -1,75 +1,75 @@
|
|||||||
(async function () {
|
(async function () {
|
||||||
setGameMetrics(1920, 1080, 2);
|
setGameMetrics(1920, 1080, 2);
|
||||||
// 来自于界面配置
|
// 来自于界面配置
|
||||||
let sereniteaPotType = settings.sereniteaPot;
|
let sereniteaPotType = settings.sereniteaPot;
|
||||||
log.info('快捷道具栏需装满4个,确保尘歌壶在第5位');
|
log.info('快捷道具栏需装满4个,确保尘歌壶在第5位');
|
||||||
setGameMetrics(1920, 1080, 2);
|
setGameMetrics(1920, 1080, 2);
|
||||||
await sleep(1000);
|
await sleep(1000);
|
||||||
keyPress("B"); //打开背包
|
keyPress("B"); //打开背包
|
||||||
await sleep(1000);
|
await sleep(1000);
|
||||||
click(1058, 48); //小道具
|
click(1058, 48); //小道具
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
click(765, 190); //背包第5位(诚哥壶)
|
click(765, 190); //背包第5位(诚哥壶)
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
click(1700, 1018); //放置
|
click(1700, 1018); //放置
|
||||||
await sleep(1000);
|
await sleep(1000);
|
||||||
keyPress("F"); //进入诚哥壶
|
keyPress("F"); //进入诚哥壶
|
||||||
await sleep(10000);
|
await sleep(10000);
|
||||||
|
|
||||||
if (sereniteaPotType == "璃月绿顶建筑"){
|
if (sereniteaPotType == "璃月绿顶建筑"){
|
||||||
log.info("璃月绿顶建筑");
|
log.info("璃月绿顶建筑");
|
||||||
keyDown("D");
|
keyDown("D");
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
keyUp("D");
|
keyUp("D");
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
}else if(sereniteaPotType == "蒙德红顶建筑"){
|
}else if(sereniteaPotType == "蒙德红顶建筑"){
|
||||||
log.info("蒙德红顶建筑");
|
log.info("蒙德红顶建筑");
|
||||||
keyDown("A");
|
keyDown("A");
|
||||||
await sleep(1200);
|
await sleep(1200);
|
||||||
keyUp("A");
|
keyUp("A");
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
}else if(sereniteaPotType == "稻妻蓝顶建筑"){
|
}else if(sereniteaPotType == "稻妻蓝顶建筑"){
|
||||||
log.info("稻妻蓝顶建筑");
|
log.info("稻妻蓝顶建筑");
|
||||||
keyDown("A");
|
keyDown("A");
|
||||||
await sleep(1700);
|
await sleep(1700);
|
||||||
keyUp("A");
|
keyUp("A");
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
keyDown("S");
|
keyDown("S");
|
||||||
await sleep(1700);
|
await sleep(1700);
|
||||||
keyUp("S");
|
keyUp("S");
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
}else if(sereniteaPotType == "须弥绿色建筑"){
|
}else if(sereniteaPotType == "须弥绿色建筑"){
|
||||||
log.info("须弥绿色建筑");
|
log.info("须弥绿色建筑");
|
||||||
keyDown("D");
|
keyDown("D");
|
||||||
await sleep(1300);
|
await sleep(1300);
|
||||||
keyUp("D");
|
keyUp("D");
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
}else if(sereniteaPotType == "枫丹白色建筑"){
|
}else if(sereniteaPotType == "枫丹白色建筑"){
|
||||||
log.info("枫丹白色建筑");
|
log.info("枫丹白色建筑");
|
||||||
keyDown("S");
|
keyDown("S");
|
||||||
await sleep(1300);
|
await sleep(1300);
|
||||||
keyUp("S");
|
keyUp("S");
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
keyDown("A");
|
keyDown("A");
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
keyUp("A");
|
keyUp("A");
|
||||||
await sleep(500);
|
await sleep(500);
|
||||||
}else{
|
}else{
|
||||||
}
|
}
|
||||||
keyPress("F"); //阿圆对话
|
keyPress("F"); //阿圆对话
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
click(1081, 955); //跳过对话
|
click(1081, 955); //跳过对话
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
click(1383, 430); //信任等阶
|
click(1383, 430); //信任等阶
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
click(1081, 955); //宝钱
|
click(1081, 955); //宝钱
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
click(1812, 716); //好感度
|
click(1812, 716); //好感度
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
click(1863, 48);; //返回
|
click(1863, 48);; //返回
|
||||||
await sleep(5000);
|
await sleep(5000);
|
||||||
click(1356, 804); //再见1
|
click(1356, 804); //再见1
|
||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
click(1356, 804); //再见2
|
click(1356, 804); //再见2
|
||||||
await sleep(1000);
|
await sleep(1000);
|
||||||
})();
|
})();
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 1,
|
"manifest_version": 1,
|
||||||
"name": "尘歌壶",
|
"name": "尘歌壶",
|
||||||
"version": "1.2",
|
"version": "1.2",
|
||||||
"description": "自动领诚哥壶奖励",
|
"description": "自动领诚哥壶奖励",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "愚溪",
|
"name": "愚溪",
|
||||||
"links": "https://github.com/Kupder"
|
"links": "https://github.com/Kupder"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"settings_ui": "settings.json",
|
"settings_ui": "settings.json",
|
||||||
"main": "main.js"
|
"main": "main.js"
|
||||||
}
|
}
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "sereniteaPot",
|
"name": "sereniteaPot",
|
||||||
"type": "select",
|
"type": "select",
|
||||||
"label": "宅邸类型",
|
"label": "宅邸类型",
|
||||||
"options": [
|
"options": [
|
||||||
"蒙德红顶建筑",
|
"蒙德红顶建筑",
|
||||||
"璃月绿顶建筑",
|
"璃月绿顶建筑",
|
||||||
"稻妻蓝顶建筑",
|
"稻妻蓝顶建筑",
|
||||||
"须弥绿色建筑",
|
"须弥绿色建筑",
|
||||||
"枫丹白色建筑"
|
"枫丹白色建筑"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |