diff --git a/repo/js/AutoFriendship/assets/AutoPath/两武士.json b/repo/js/AutoFriendship/assets/AutoPath/两武士.json new file mode 100644 index 00000000..7d689ec0 --- /dev/null +++ b/repo/js/AutoFriendship/assets/AutoPath/两武士.json @@ -0,0 +1,28 @@ +{ + "info": { + "name": "两武士", + "type": "collect", + "author": "HZYgrandma", + "version": "1.0", + "description": "", + "bgiVersion": "0.35.1" + }, + "positions": [ + { + "id": 1, + "action": "", + "move_mode": "walk", + "type": "teleport", + "x": -2738.38671875, + "y": -3414.45703125 + }, + { + "id": 2, + "x": -2739.7236328125, + "y": -3400.15625, + "type": "path", + "move_mode": "walk", + "action": "" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoFriendship/assets/AutoPath/清理原住民.json b/repo/js/AutoFriendship/assets/AutoPath/清理原住民.json new file mode 100644 index 00000000..ee8a2bd4 --- /dev/null +++ b/repo/js/AutoFriendship/assets/AutoPath/清理原住民.json @@ -0,0 +1,52 @@ +{ + "info": { + "name": "清理原住民", + "type": "collect", + "author": "HZYgrandma", + "version": "1.0", + "description": "", + "bgiVersion": "0.35.1" + }, + "positions": [ + { + "id": 1, + "x": -2740.609375, + "y": -3410.6923828125, + "action": "", + "move_mode": "walk", + "type": "teleport" + }, + { + "id": 2, + "x": -2739.4873046875, + "y": -3437.853515625, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 3, + "x": -2764.4423828125, + "y": -3465.810546875, + "action": "", + "move_mode": "walk", + "type": "path" + }, + { + "id": 4, + "x": -2771.2705078125, + "y": -3453.2373046875, + "action": "fight", + "move_mode": "walk", + "type": "path" + }, + { + "id": 5, + "x": -2776.25, + "y": -3454.6982421875, + "action": "", + "move_mode": "walk", + "type": "path" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoFriendship/assets/AutoPath/盗宝团.json b/repo/js/AutoFriendship/assets/AutoPath/盗宝团.json new file mode 100644 index 00000000..cb600fff --- /dev/null +++ b/repo/js/AutoFriendship/assets/AutoPath/盗宝团.json @@ -0,0 +1,36 @@ +{ + "info": { + "name": "盗宝团", + "type": "collect", + "author": "HZYgrandma", + "version": "1.0", + "description": "", + "bgiVersion": "0.35.1" + }, + "positions": [ + { + "id": 3, + "x": -2739.7197265625, + "y": -3399.060546875, + "type": "path", + "move_mode": "walk", + "action": "" + }, + { + "id": 4, + "x": -2738.671875, + "y": -3427.38671875, + "type": "path", + "move_mode": "run", + "action": "" + }, + { + "id": 5, + "x": -2756.6748046875, + "y": -3467.6328125, + "type": "path", + "move_mode": "walk", + "action": "fight" + } + ] +} \ No newline at end of file diff --git a/repo/js/AutoFriendship/assets/KeyMouse/重新上线.json b/repo/js/AutoFriendship/assets/KeyMouse/重新上线.json new file mode 100644 index 00000000..6061b2a7 --- /dev/null +++ b/repo/js/AutoFriendship/assets/KeyMouse/重新上线.json @@ -0,0 +1 @@ +{"macroEvents":[{"type":0,"keyCode":27,"mouseX":0,"mouseY":0,"time":1122.9274},{"type":1,"keyCode":27,"mouseX":0,"mouseY":0,"time":1240.7044},{"type":2,"mouseX":1870,"mouseY":1118,"time":2664.8132},{"type":2,"mouseX":1784,"mouseY":1180,"time":2685.6454},{"type":2,"mouseX":1670,"mouseY":1258,"time":2706.5437},{"type":2,"mouseX":1546,"mouseY":1332,"time":2726.5673},{"type":2,"mouseX":1412,"mouseY":1402,"time":2747.7062},{"type":2,"mouseX":1272,"mouseY":1472,"time":2768.5555},{"type":2,"mouseX":1124,"mouseY":1548,"time":2789.6126},{"type":2,"mouseX":972,"mouseY":1622,"time":2810.6044},{"type":2,"mouseX":848,"mouseY":1696,"time":2831.5239},{"type":2,"mouseX":742,"mouseY":1764,"time":2851.559},{"type":2,"mouseX":662,"mouseY":1820,"time":2872.4909},{"type":2,"mouseX":598,"mouseY":1862,"time":2892.5456},{"type":2,"mouseX":550,"mouseY":1896,"time":2912.5464},{"type":2,"mouseX":512,"mouseY":1926,"time":2932.5727},{"type":2,"mouseX":480,"mouseY":1952,"time":2953.5265},{"type":2,"mouseX":446,"mouseY":1978,"time":2973.5507},{"type":2,"mouseX":406,"mouseY":2004,"time":2993.5764},{"type":2,"mouseX":362,"mouseY":2028,"time":3013.5889},{"type":2,"mouseX":322,"mouseY":2044,"time":3034.4793},{"type":2,"mouseX":280,"mouseY":2058,"time":3054.5477},{"type":2,"mouseX":234,"mouseY":2070,"time":3074.5642},{"type":2,"mouseX":186,"mouseY":2082,"time":3095.5541},{"type":2,"mouseX":138,"mouseY":2092,"time":3116.4905},{"type":2,"mouseX":92,"mouseY":2098,"time":3136.491},{"type":2,"mouseX":50,"mouseY":2102,"time":3156.5594},{"type":2,"mouseX":22,"mouseY":2104,"time":3177.5705},{"type":2,"mouseX":20,"mouseY":2102,"time":3288.5778},{"type":2,"mouseX":24,"mouseY":2094,"time":3367.5595},{"type":2,"mouseX":34,"mouseY":2084,"time":3389.5297},{"type":2,"mouseX":40,"mouseY":2078,"time":3411.5745},{"type":2,"mouseX":42,"mouseY":2074,"time":3436.6056},{"type":2,"mouseX":44,"mouseY":2074,"time":3483.5373},{"type":2,"mouseX":46,"mouseY":2072,"time":3520.6473},{"type":2,"mouseX":48,"mouseY":2070,"time":3559.6061},{"type":4,"mouseX":48,"mouseY":2070,"mouseButton":"Left","time":3984.903},{"type":5,"mouseX":48,"mouseY":2070,"mouseButton":"Left","time":4082.6738},{"type":2,"mouseX":78,"mouseY":2062,"time":4957.6286},{"type":2,"mouseX":138,"mouseY":2050,"time":4978.6012},{"type":2,"mouseX":234,"mouseY":2038,"time":4999.5416},{"type":2,"mouseX":338,"mouseY":2026,"time":5020.4912},{"type":2,"mouseX":462,"mouseY":2010,"time":5040.5611},{"type":2,"mouseX":604,"mouseY":1990,"time":5061.536},{"type":2,"mouseX":782,"mouseY":1960,"time":5081.6434},{"type":2,"mouseX":982,"mouseY":1924,"time":5101.678},{"type":2,"mouseX":1166,"mouseY":1894,"time":5122.495},{"type":2,"mouseX":1342,"mouseY":1864,"time":5142.5646},{"type":2,"mouseX":1498,"mouseY":1828,"time":5163.5151},{"type":2,"mouseX":1636,"mouseY":1786,"time":5183.5272},{"type":2,"mouseX":1752,"mouseY":1744,"time":5204.5365},{"type":2,"mouseX":1856,"mouseY":1706,"time":5224.5715},{"type":2,"mouseX":1944,"mouseY":1672,"time":5245.4829},{"type":2,"mouseX":2012,"mouseY":1644,"time":5265.4856},{"type":2,"mouseX":2066,"mouseY":1622,"time":5285.4891},{"type":2,"mouseX":2112,"mouseY":1602,"time":5305.5373},{"type":2,"mouseX":2150,"mouseY":1586,"time":5325.5417},{"type":2,"mouseX":2184,"mouseY":1568,"time":5346.4815},{"type":2,"mouseX":2216,"mouseY":1546,"time":5366.6434},{"type":2,"mouseX":2246,"mouseY":1530,"time":5387.6075},{"type":2,"mouseX":2248,"mouseY":1528,"time":5424.6108},{"type":2,"mouseX":2250,"mouseY":1528,"time":5444.6396},{"type":2,"mouseX":2250,"mouseY":1526,"time":5472.6497},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":5643.7549},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":5762.743},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":8268.7556},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":8387.7549},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":8613.6933},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":8726.0548},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":8952.6574},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":9099.797},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":9542.6674},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":9697.9887},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":9989.8661},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":10143.8407},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":10399.7083},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":10593.791},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":11281.6748},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":11430.0178},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":11666.7071},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":11826.0618},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":12008.6323},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":12167.7781},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":12829.7735},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":12948.7237},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":13221.7528},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":13347.77},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":13592.7016},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":13723.0118},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":14348.7659},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":14485.8766},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":14737.6095},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":14868.0844},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":15029.7218},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":15169.7923},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":15925.8354},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":16080.7169},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":16347.2035},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":16472.7231},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":16724.6727},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":16865.753},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":17570.856},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":17703.8783},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":17973.8694},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":18136.0331},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":18359.7388},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":18489.1749},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":19144.1518},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":19269.7756},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":19536.6995},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":19669.8495},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":19914.7508},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":20077.1151},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":20756.6676},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":20889.8675},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":21174.6944},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":21300.8239},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":21627.8502},{"type":5,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":21761.8121},{"type":4,"mouseX":2250,"mouseY":1526,"mouseButton":"Left","time":22499.6697},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":22671.741},{"type":2,"mouseX":1919,"mouseY":1079,"time":22671.7439},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":22833.7527},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":22971.3175},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":23237.79},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":23352.8653},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":23687.6834},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":23823.798},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":24630.7364},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":24738.7543},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":25033.7012},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":25148.7702},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":25483.8293},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":25623.7151},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":26369.796},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":26455.7445},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":26729.7737},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":26869.7356},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":27193.7203},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":27369.7173},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":28233.7905},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":28363.7387},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":28748.7844},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":28871.7629},{"type":4,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":29259.7691},{"type":5,"mouseX":1919,"mouseY":1079,"mouseButton":"Left","time":29425.6976}],"info":{"name":"","description":"","x":0,"y":0,"width":3840,"height":2160,"recordDpi":2}} \ No newline at end of file diff --git a/repo/js/AutoFriendship/main.js b/repo/js/AutoFriendship/main.js new file mode 100644 index 00000000..0d7aa662 --- /dev/null +++ b/repo/js/AutoFriendship/main.js @@ -0,0 +1,108 @@ +(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 runGameActionsMultipleTimes() { + await sleep(1000); + keyPress("ESCAPE"); + await sleep(1000); + click(50, 1030); + await sleep(1000); + click(1000, 750); + await sleep(validatedExitDelay * 1000); + click(1000, 550); + await sleep(validatedLoadingDelay * 1000); + } + + async function resetMap() { + log.info("重置地图大小..."); + await sleep(1000); + keyPress("M"); + await sleep(1000); + click(1840, 1010); + await sleep(1000); + click(1450, 460); + await sleep(1000); + click(1840, 1010); + await sleep(1000); + click(1450, 140); + await sleep(1000); + keyPress("M"); + log.info("重置地图大小完成"); + } + + async function AutoPath(locationName) { + try { + let filePath = `assets/AutoPath/${locationName}.json`; + await pathingScript.runFile(filePath); + } catch (error) { + log.error(`执行 ${locationName} 路径时发生错误`); + } + await sleep(2000); + } + + async function AutoFriendshipDev(times) { + await resetMap(); + log.info(`清理原住民...`); + await AutoPath('清理原住民'); + log.info(`自动好感开始...`); + for (let i = 0; i < times; i++) { + await AutoPath('两武士'); + await runGameActionsMultipleTimes(); + log.info(`自动好感当前次数:${i + 1}/${times}`); + await AutoPath('盗宝团'); + 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")); + + let exitdelay = Number(settings.exitdelay); + let loadingdelay = Number(settings.loadingdelay); + const { exitDelay: validatedExitDelay, loadingDelay: validatedLoadingDelay } = validateAndSetDefaults(exitdelay, loadingdelay); + const messages = [ + '请确保当前队伍为好感度队伍', + '好感度队伍:用待刷好感角色替换战斗策略中的人物即可', + '随后将自动匹配到战斗策略脚本', + ]; + for (let message of messages) { + log.info(message); + await sleep(1000); + } + log.info('自动好感开始...'); + log.info(`退出延迟: ${validatedExitDelay}秒, 加载延迟: ${validatedLoadingDelay}秒`); + //默认10次自动好感 + await AutoFriendshipDev(10); + // 计算并输出总时长 + 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}`); +})(); diff --git a/repo/js/AutoFriendship/manifest.json b/repo/js/AutoFriendship/manifest.json new file mode 100644 index 00000000..bafcff32 --- /dev/null +++ b/repo/js/AutoFriendship/manifest.json @@ -0,0 +1,13 @@ +{ + "manifest_version": 1, + "name": "自动好感度", + "version": "1.0", + "description": "通过突发事件刷好感度,请配合好感度战斗脚本使用", + "authors": [ + { + "name": "HZYgrandma & 愚溪", + } + ], + "settings_ui": "settings.json", + "main": "main.js" +} \ No newline at end of file diff --git a/repo/js/AutoFriendship/settings.json b/repo/js/AutoFriendship/settings.json new file mode 100644 index 00000000..acc8d0a4 --- /dev/null +++ b/repo/js/AutoFriendship/settings.json @@ -0,0 +1,12 @@ +[ + { + "name": "exitdelay", + "type": "input-text", + "label": "退出延迟(秒)(选填)" + }, + { + "name": "loadingdelay", + "type": "input-text", + "label": "加载延迟(秒)(选填)" + } +] \ No newline at end of file