132 lines
4.8 KiB
JavaScript
132 lines
4.8 KiB
JavaScript
(async function () {
|
||
setGameMetrics(1920, 1080, 1.5);
|
||
|
||
const defaultExitDelay = 10000;
|
||
const defaultLoadingDelay = 13000;
|
||
|
||
// 将字符串转换为数字
|
||
let exitdelay = Number(settings.exitdelay);
|
||
let loadingdelay = Number(settings.loadingdelay);
|
||
|
||
// 检查参数是否有效,并设置缺省值
|
||
function validateAndSetDefaults(exitdelay, loadingdelay) {
|
||
if (isNaN(exitdelay) || exitdelay <= 0) {
|
||
log.warn("你没有设置退出延迟,将使用默认值");
|
||
exitdelay = defaultExitDelay;
|
||
}
|
||
|
||
if (isNaN(loadingdelay) || loadingdelay <= 0) {
|
||
log.warn("你没有设置加载延迟,将使用默认值");
|
||
loadingdelay = defaultLoadingDelay;
|
||
}
|
||
return { exitdelay, loadingdelay };
|
||
}
|
||
|
||
// 调用验证和设置缺省值函数
|
||
const { exitdelay: validatedExitDelay, loadingdelay: validatedLoadingDelay } = validateAndSetDefaults(exitdelay, loadingdelay);
|
||
|
||
// 继续执行程序逻辑
|
||
log.info(`退出延迟: ${validatedExitDelay}, 加载延迟: ${validatedLoadingDelay}`);
|
||
log.info("垂香木,悬铃木,桃椰子木,炬木,白栗栎木,燃爆木因路线问题无法获取");
|
||
log.info("开始运行脚本");
|
||
|
||
|
||
async function performGameActions() {
|
||
// 负责砍树的,退出重进,按Z
|
||
await sleep(1000);//等待一秒
|
||
keyPress("ESCAPE");//按下esc
|
||
await sleep(1000);
|
||
click(50, 1030);//点击退出
|
||
await sleep(1000);
|
||
click(1000, 750);//点击确认
|
||
await sleep(validatedExitDelay); //退出延迟
|
||
click(1000, 550);//进入游戏
|
||
await sleep(validatedLoadingDelay);//加载延迟
|
||
keyPress("z");
|
||
// await sleep(300);
|
||
// keyUp("z");
|
||
}
|
||
async function runGameActionsMultipleTimes(times,locationName) {
|
||
// 负责循环调用performGameActions,实现循环砍树
|
||
for (let i = 0; i < times; i++) {
|
||
await performGameActions();
|
||
log.info(`${locationName}循环次数:${i + 1}/${times}`)
|
||
}
|
||
}
|
||
async function AutoPath(locationName, time) {
|
||
//传入路径以及循环次数
|
||
let filePath = `assets/AutoPath/${locationName}.json`;
|
||
await pathingScript.runFile(filePath);
|
||
await sleep(3000)
|
||
await runGameActionsMultipleTimes(time,locationName)
|
||
}
|
||
async function KeyMouse(locationName, sec, x, y,time) {
|
||
//传入路径,秒数,坐标
|
||
if (x !== undefined && y !== undefined) {
|
||
await genshin.tp(x, y);
|
||
await sleep(1000);
|
||
}
|
||
|
||
let filePath = `assets/KeyMouse/${locationName}.json`;
|
||
await keyMouseScript.runFile(filePath);
|
||
await sleep(sec * 1000); // 将秒转换为毫秒
|
||
await sleep(3000)
|
||
await runGameActionsMultipleTimes(time)
|
||
}
|
||
|
||
|
||
|
||
await AutoPath('香柏木27个', 75)
|
||
await AutoPath('御伽木9个(孔雀木6个)', 334)
|
||
await AutoPath('萃华木6个(垂香木3个)', 334)
|
||
await AutoPath('松木24个', 84)
|
||
await AutoPath('业果木15个(辉木15个)', 134)
|
||
await AutoPath('刺葵木6个', 334)
|
||
await AutoPath('却砂木12个', 167)
|
||
await AutoPath('杉木12个', 167)
|
||
await AutoPath('枫木9个', 223)
|
||
await AutoPath('柽木15个', 134)
|
||
await AutoPath('桦木15个', 134)
|
||
await AutoPath('梦见木12个', 167)
|
||
await AutoPath('椴木9个(悬铃木9个)', 223)
|
||
await AutoPath('灰灰楼木6个', 334)
|
||
await AutoPath('白梣木15个', 134)
|
||
await AutoPath('竹节30个', 67)
|
||
await AutoPath('证悟木15个(业果木6个)', 134)
|
||
// await AutoPath('燃爆木15个', 134)//>>
|
||
// await AutoPath('燃爆木6个(白栗栎木6个)', 1)//路线异常
|
||
// await AutoPath('垂香木15个', 1)//路线异常
|
||
// await AutoPath('悬铃木18个', 1)//路线异常
|
||
// await KeyMouse('炬木15个',3, 8359.7548828125, -2868.03515625,1)//?
|
||
// await KeyMouse('桃椰子木12个',5,8353.4921875,-2853.8505859375,1)//?
|
||
|
||
let endTime = settings.selectValue
|
||
|
||
theEnd(endTime)
|
||
async function theEnd(endTime){
|
||
if (endTime === '退出账号'){
|
||
await sleep(1000);//等待一秒
|
||
keyPress("ESCAPE");//按下esc
|
||
await sleep(1000);
|
||
click(50, 1030);//点击退出
|
||
await sleep(1000);
|
||
click(1000, 750);//点击确认
|
||
log.info('退出账号')
|
||
}else if (endTime === '关闭游戏'){
|
||
log.info('关闭游戏')
|
||
keyDown("MENU");
|
||
keyDown("F4");
|
||
await sleep(50);
|
||
keyUp("MENU");
|
||
keyUp("F4");
|
||
await sleep(1500);
|
||
}else if (endTime === '无操作'){
|
||
// 对,这里什么也没有
|
||
} else {
|
||
log.info('未选择结束后操作,默认无操作')
|
||
|
||
}
|
||
}
|
||
|
||
|
||
})(); |