Files
bettergi-scripts-list/repo/js/Auto好感&刷兽肉/main.js
2025-01-26 00:28:41 +08:00

150 lines
5.5 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(async function () {
const defaultExitDelay = 12;
const defaultLoadingDelay = 15;
function validateAndSetDefaults(exitDelay, loadingDelay) {
if (isNaN(exitDelay) || exitDelay <= 0) {
log.warn("你没有设置退出延迟将使用默认值12秒");
exitDelay = defaultExitDelay;
}
if (isNaN(loadingDelay) || loadingDelay <= 0) {
log.warn("你没有设置加载延迟将使用默认值15秒");
loadingDelay = defaultLoadingDelay;
}
return { exitDelay, loadingDelay };
}
async function ReopenTheGate() {
await sleep(1000);
keyPress("ESCAPE");
await sleep(1000);
click(50, 1030);
await sleep(1000);
click(1000, 750);
await sleep(validatedExitDelay * 1000);
click(1000, 550);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
click(1000, 750);
await sleep(1000);
await sleep(validatedLoadingDelay * 1000);
click(1000, 750);
await sleep(1000);
}
async function AutoPath(locationName) {
try {
let filePath = `assets/AutoPath/${locationName}.json`;
await pathingScript.runFile(filePath);
} catch (error) {
log.error(`执行 ${locationName} 路径时发生错误`);
log.error(error.message);
}
await sleep(2000);
}
async function AutoFriendship(times,statue_times) {
log.info(`导航至好感-张牙舞爪的恶党-触发位置`);
await AutoPath('好感-张牙舞爪的恶党-触发位置');
log.info(`自动好感开始...`);
for (let i = 0; i < times; i++) {
// 每运行 5 次 '好感-张牙舞爪的恶党-循环' 后运行 '好感-张牙舞爪的恶党-神像'
if ((i + 1) % statue_times === 0) {
await AutoPath('好感-张牙舞爪的恶党-神像');
await ReopenTheGate();
log.info(`当前次数:${i + 1}/${times}`);
logTimeTaken(startTime);
await AutoPath('好感-张牙舞爪的恶党-循环');
} else {
await ReopenTheGate();
log.info(`当前次数:${i + 1}/${times}`);
logTimeTaken(startTime);
await AutoPath('好感-张牙舞爪的恶党-循环');
}
log.info(`已完成次数:${i + 1}/${times}`);
logTimeTaken(startTime);
}
log.info('自动好感已完成');
}
function logTimeTaken(startTime) {
const currentTime = Date.now();
const totalTimeInSeconds = (currentTime - startTime) / 1000;
const minutes = Math.floor(totalTimeInSeconds / 60);
const seconds = totalTimeInSeconds % 60;
const formattedTime = `${minutes}${seconds.toFixed(0).padStart(2, '0')}`;
log.info(`当前运行总时长:${formattedTime}`);
}
// 启用自动拾取的实时任务
const startTime = Date.now();
dispatcher.addTimer(new RealtimeTimer("AutoPick"));
setGameMetrics(1920, 1080, 1); // 设置游戏窗口大小和DPI
let exitdelay = Number(settings.exitdelay);
let loadingdelay = Number(settings.loadingdelay);
let UL = settings.UL ? settings.UL : false;
let inputValue = settings.inputValue ? settings.inputValue : 9999;
let times = UL ? (isNaN(inputValue) ? 1667 : Math.ceil(inputValue / 6)) : 10;
let gostatue = settings.gostatue ? settings.gostatue : false;
let statue = settings.statue ? settings.statue : 5;
let statue_times = gostatue ? (isNaN(statue) ? 5 : statue) : 0;
const { exitDelay: validatedExitDelay, loadingDelay: validatedLoadingDelay } = validateAndSetDefaults(exitdelay, loadingdelay);
const messages = [
'请确保队伍满员,并为队伍配置相应的战斗策略',
`退出延迟: ${validatedExitDelay}秒, 加载延迟: ${validatedLoadingDelay}`,
`设置的七天神像周期为: ${statue_times}`,
`计算后的运行次数为: ${times}`,
];
for (let message of messages) {
log.info(message);
await sleep(1000);
}
log.info('自动好感开始...');
//默认10次自动好感
await AutoFriendship(times,statue_times);
// 计算并输出总时长
const endTime = Date.now();
const totalTimeInSeconds = (endTime - startTime) / 1000;
const minutes = Math.floor(totalTimeInSeconds / 60);
const seconds = totalTimeInSeconds % 60;
const formattedTime = `${minutes}${seconds.toFixed(0).padStart(2, '0')}`;
log.info(`自动好感运行总时长:${formattedTime}`);
})();