Browse Source

每日任务bug修改

cyzhao 3 years ago
parent
commit
54f2e41d2d
2 changed files with 14 additions and 8 deletions
  1. 12 8
      Gameserver/Amfphp/process/TaskProc.php
  2. 2 0
      Gameserver/Amfphp/process/UserProc.php

+ 12 - 8
Gameserver/Amfphp/process/TaskProc.php

@@ -405,7 +405,7 @@ class TaskProc {
 
         $store->taskcards->$taskCardUID = $taskCard;                            # 回写任务数据
         
-        self::checkHandOverDailyTask($taskCardUID);                             #检测每次任务中的交付任务是否需要挂载了
+        self::checkHandOverDailyTask();                                         #检测每次任务中的交付任务是否需要挂载了
         NormalEventProc::OnTaskCard_Reward($taskCard->mo()->reward, null);      # 带入事件
         self::OnFinishTaskCard($taskCard);                                      # 触发检查任务卡的任务卡[・_・?]
         if (!empty($taskCard->mo()->newTaskCard)) {                             # 下一个任务卡存在
@@ -449,16 +449,18 @@ class TaskProc {
                     'college' => ctx()->college,));                   # 返回值更新背包
     }
     
-    static function checkHandOverDailyTask($taskCardUID) {
+    static function checkHandOverDailyTask() {
         if(ctx()->store->dailyTask_HandOver > 0){
             return;
         }
+                     
         $taskcards = ctx()->store->taskcards;
         $list = explode(',',glc()->dailyTask_HandOver); 
-        if(in_array($taskcards->$taskCardUID->typeId, $list)){
-            ctx()->store->dailyTask_HandOver = 1;
-            return;
-        }
+           
+//        if(in_array($taskcards->$taskCardUID->typeId, $list)){
+//            ctx()->store->dailyTask_HandOver = 1;
+//            return;
+//        }
         
         $num = 0;
         
@@ -468,13 +470,15 @@ class TaskProc {
             if($mo->type == 2){
                 if(in_array($task->typeId, $list)){
                     $handOverTask = 1;
-                } else {
+                }
+                    
+                if($task->state == 4){
                     $num += 1;
                 }                            
             }
         }
         
-        if($num==0 && $handOverTask == 0){//每日任务全部完成,挂载每日任务--交付任务           
+        if($num>=4 && $handOverTask == 0){//每日任务全部完成,挂载每日任务--交付任务           
             $count = count($list);
             $rand = rand(0,$count-1);
             

+ 2 - 0
Gameserver/Amfphp/process/UserProc.php

@@ -520,6 +520,8 @@ class UserProc {
             $game->store->dailyTask_HandOver = 0;
         }
                   
+        TaskProc::checkHandOverDailyTask();
+        
     }
 
     /**