Ver Fonte

!2 add auto fight bears

pcacc há 3 meses atrás
pai
commit
666190c5ff
2 ficheiros alterados com 51 adições e 20 exclusões
  1. 24 13
      app_dongri.py
  2. 27 7
      dongri_task.py

+ 24 - 13
app_dongri.py

@@ -1,5 +1,4 @@
 # -*- coding: utf-8 -*-
-from datetime import datetime 
 from flask import Flask, render_template
 from flask_socketio import SocketIO, emit
 from scriptBase.comon import *
@@ -62,8 +61,7 @@ def thread_runTask():
             isReset = False
             cfg = read_cfg()
             if cfg['switch']:
-                config = read_Dailycfg()
-                type = update_rungame_type(config)
+                type = update_rungame_type()
                 print(f'启动游戏{type}')
                 restart_game(type)
             else:
@@ -211,7 +209,6 @@ def auto_participate():
             task_queue.appendleft(task_paticipateInTeam())
             task_queue.appendleft(task_paticipateInTeam())
             task_queue.appendleft(task_paticipateInTeam())
-            task_queue.appendleft(task_checkHelp(True))
         myTimeSleep_big()
         # 每次循环检查已用时间
         current_time = time.time()
@@ -245,9 +242,7 @@ def auto_palace():
         if len(task_queue) < 4:
             task_queue.appendleft(task_cure(True, g_cureNum))
             task_queue.appendleft(task_cure(True, g_cureNum))
-            task_queue.appendleft(task_checkHelp())
             task_queue.appendleft(task_fight_enemy())
-            task_queue.appendleft(task_checkHelp())
 
         myTimeSleep_big()
         current_time = time.time()
@@ -296,8 +291,20 @@ def add_auto_task(isMaxCollect, isJina, isSimple = False, isAddStrengh = False,
                 set_fight_big_monster_times(config, fight_big_monster_times + 1)
                 write_Dailycfg(config)
 
+        if is_within_n_minutes(get_todo_time("巨熊行动", 60, 0)):
+            # 设置无尽运行和启动的游戏为0
+            always = True
+            update_rungame_type(0)
+        elif is_within_n_minutes(get_todo_time("巨熊行动", 10, 40)):
+            task_queue.appendleft(task_returnAllLine())
+            if len(task_queue) < 5:
+                task_queue.appendleft(task_paticipateInTeam())
+                task_queue.appendleft(task_paticipateInTeam())
+                task_queue.appendleft(task_paticipateInTeam())
+            myTimeSleep_big()
+            continue
+
 
-        
         if activity == 'lianmeng':
             task_queue.appendleft(task_activity_lianmeng())
         elif activity == 'cure':
@@ -352,15 +359,12 @@ def add_auto_task(isMaxCollect, isJina, isSimple = False, isAddStrengh = False,
             task_queue.appendleft(task_collect(collectArr, isSimple, isAddStrengh))
         
         
-
-        
         if g_times % 3 == 0:
             task_queue.appendleft(task_checkDonata())
             task_queue.appendleft(task_checkMaster())
             task_queue.appendleft(task_checkAdventure())
             task_queue.appendleft(task_train(train_type))
             task_queue.appendleft(task_useAnnimalSkill())
-            #task_queue.appendleft(task_checkHelp(False))
             task_queue.appendleft(task_read_mails())
             if auto_participate:
                 task_queue.appendleft(task_checkConfilits())
@@ -416,16 +420,23 @@ def check_daily_config(config):
         print(f"Today's config found: {today}")  # 调试信息
         return True
 
-def update_rungame_type(config):
+def update_rungame_type(dstType=None):
+    config = read_Dailycfg()
     runTypeStr = 'runType'
     if runTypeStr not in config:
-        config[runTypeStr] = 1
+        if dstType is not None:
+            config[runTypeStr] = dstType
+        else:
+            config[runTypeStr] = 1
         write_Dailycfg(config)
         print(f"更新下次启动{config[runTypeStr]}")
         return 0
     else:
         value = config[runTypeStr]
-        config[runTypeStr] = (value + 1) % 2
+        if dstType is not None:
+            config[runTypeStr] = dstType
+        else:
+            config[runTypeStr] = (value + 1) % 2        
         write_Dailycfg(config)
         print(f"更新下次启动{config[runTypeStr]}")
         return value

+ 27 - 7
dongri_task.py

@@ -19,6 +19,7 @@ from dongri_pic import *
 import subprocess
 import socket
 from dongri_pic import _imported
+from datetime import datetime, timedelta
 
 
 '''
@@ -58,6 +59,25 @@ def get_todo_time(todo_str):
             return item['time']
     return None
 
+def is_within_n_minutes(target_time_str, n_minutes_left, n_minutes_right):
+    # 获取当前时间
+    now = datetime.now()
+    
+    # 解析目标时间字符串
+    try:
+        target_time = datetime.strptime(target_time_str, "%H:%M")
+        # 将目标时间的日期部分设置为当前日期
+        target_time = target_time.replace(year=now.year, month=now.month, day=now.day)
+    except ValueError:
+        raise ValueError("时间格式应为'HH:MM'")
+    
+    # 计算时间范围
+    start_time = target_time - timedelta(minutes=n_minutes_left)
+    end_time = target_time + timedelta(minutes=n_minutes_right)
+    
+    # 检查当前时间是否在范围内
+    return start_time <= now <= end_time
+
 def fing_todoList_time(taskStr):
     for item in todo_list:
         if item['task'] == taskStr:
@@ -150,7 +170,7 @@ class basic_operate:
     
     @staticmethod
     def return_line():
-        if waitClickImg_noWait_withBool(monster_img.returnLine, 2, 1) == False:
+        if waitClickImg_noWait_withBool(monster_img.returnLine, 1, 0.5) == False:
             return False
         if waitClickImg_noWait_withBool(monster_img.enter, 2, 1) == False:
             return False
@@ -894,12 +914,11 @@ class task_returnAllLine(dongri_task):
         super().__init__(f"返回所有路线")
     def run(self):
         basic_operate.go_outside()
-        basic_operate.return_line()
-        basic_operate.return_line()
-        basic_operate.return_line()
-        basic_operate.return_line()
-        basic_operate.return_line()
-        basic_operate.return_line()
+        maxTryTimes = 6
+        while maxTryTimes > 0:
+            maxTryTimes -= 1
+            if basic_operate.return_line() == False:
+                break
         return True
 
 class task_paticipateInTeam(dongri_task):
@@ -1104,6 +1123,7 @@ class task_checkActivities(dongri_task):
             #result.extend(yaosaiArr)
             todo_list = result
             print(todo_list)
+            print(get_todo_time("巨熊行动"))
             
         return activityStr