shawenguan hace 1 año
padre
commit
f58262ecb4
Se han modificado 2 ficheros con 52 adiciones y 17 borrados
  1. 51 16
      Scripts/hbcpre/hbcpreComposite.js
  2. 1 1
      Scripts/hbcpre/hbcpreHelper.js

+ 51 - 16
Scripts/hbcpre/hbcpreComposite.js

@@ -29,6 +29,7 @@ const HbcpreConstKey = {
     compositeEntryTitleList: 'HbcpreCompositeEntryTitleList',
     compositeEntryTitleCustom: 'HbcpreCompositeEntryTitleCustom',
     compositeActivityTaskMode: 'HbcpreCompositeActivityTaskMode',
+    compositeRapidFrequencyCount: 'HbcpreCompositeRapidFrequencyCount',
 };
 
 const gUserAgent = `Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1`;
@@ -238,6 +239,11 @@ function getHomeCompositeEntrySelectList(){
     return retArr;
 }
 
+function getRapidFrequencyCount(){
+    let num = magicJS.data.read(HbcpreConstKey.compositeRapidFrequencyCount, 1);
+    return Number(num);
+}
+
 async function tryAllComposite() {
     let taskMode = getCompositeTaskMode();
     let idsList = getWillCompositeTaskIds();
@@ -275,14 +281,31 @@ async function tryAllComposite() {
 }
 
 async function tryOneComposite(activityId){
-    let activityData = getActivitDataCache(1, activityId);
-    if(!isCompositeOnlyUseCache()){
-        magicJS.logger.info(`请求活动[${activityId}]数据`);
-        activityData = await getCompositeList(activityId);
-        saveActivitDataCache(1, activityData, false);
+    let fCount = getRapidFrequencyCount();
+    let interval = 1000/fCount;
+    let interval2 = interval/2;
+    let activityData = null;
+    let lastTime = Date.now() - halfInterval;
+    let passTime = 0;
+    for(let i = 0; i < fCount; i++){
+        passTime = Date.now() - lastTime;
+        if(passTime < interval2){
+            await magicJS.utils.sleep(interval2-passTime);
+        }
+        lastTime = Date.now();
+        let activityData = getActivitDataCache(1, activityId);
+        if(!isCompositeOnlyUseCache()){
+            magicJS.logger.info(`请求活动[${activityId}]数据[${i}]`);
+            activityData = await getCompositeList(activityId);
+            saveActivitDataCache(1, activityData, false);
+            break;
+        }
+        if(!activityData){
+            magicJS.logger.info(`缺少合成活动数据[${i}]`);
+            continue;
+        }
     }
     if(!activityData){
-        magicJS.logger.info(`缺少合成活动数据`);
         return;
     }
     // magicJS.logger.error(JSON.stringify(activityData));
@@ -310,19 +333,31 @@ async function tryOneComposite(activityId){
         magicJS.notification.appendNotifyInfo(`❌材料不足`);
         return;
     }
-    let result = await startComposite(activityId, materials);
+    let result = null;
+    for(let i = 0; i < fCount; i++){
+        passTime = Date.now() - lastTime;
+        if(passTime < interval2){
+            await magicJS.utils.sleep(interval2-passTime);
+        }
+        lastTime = Date.now();
+        result = await startComposite(activityId, materials);
+        if(!result){
+            magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>合成失败[${i}]!`);
+            continue;
+        }
+        if(result.code == 200){
+            magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>合成成功[${i}],合成品:${result.data?.worksName}#${result.data?.worksNo}!`);
+            // 刷新合成数据
+            activityData = await getCompositeList(activityId);
+            saveActivitDataCache(1, activityData, false);
+            break;
+        } else {
+            magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>${result.message}[${i}]`);
+        }
+    }
     if(!result){
-        magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>合成失败!`);
         return;
     }
-    if(result.code == 200){
-        magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>合成成功,合成品:${result.data?.worksName}#${result.data?.worksNo}!`);
-        // 刷新合成数据
-        activityData = await getCompositeList(activityId);
-        saveActivitDataCache(1, activityData, false);
-    } else {
-        magicJS.notification.appendNotifyInfo(`🎉合成<${activityData.eventsName}>${result.message}`);
-    }
     return result;
 }
 

+ 1 - 1
Scripts/hbcpre/hbcpreHelper.js

@@ -783,7 +783,7 @@ function formatNumberWithKAndW(n) {
     if (n >= 1000 && n < 10000) {
         return (n / 1000).toFixed(1) + 'k';
     }
-    if (n >= 10000 && n < 1000000) {
+    if (n >= 10000 && n < 100000000) {
         return (n / 10000).toFixed(1) + 'w';
     }
     return (n / 1000000).toFixed(1) + 'm';