Explorar el Código

每日任务状态类

cyzhao hace 9 meses
padre
commit
ec581fddb5

+ 1 - 0
Gameserver/App/model/User/Enum_ActiveTaskCmdType.php

@@ -56,5 +56,6 @@ class Enum_ActiveTaskCmdType extends Enum {
     const Recharge = 905;               //任意充值1次 
     const BuyGold = 906;               //购买铜钱一次
     const OpenNumBrightBox_state = 907;       //开启1次璀璨宝石箱 状态类
+    const BuyNumDailyShop_state = 908;       //每日商店购买物品1次 状态类  
          
 }

+ 12 - 0
Gameserver/App/model/User/Ins_TaskStep_Active.php

@@ -96,6 +96,7 @@ class Ins_TaskStep_Active extends Object_ext {
                 || $this->mo()->cmd == Enum_ActiveTaskCmdType::PassMainChallengeGate_X_Num || $this->mo()->cmd == Enum_ActiveTaskCmdType::CompleteNumQiLing || $this->mo()->cmd == Enum_ActiveTaskCmdType::CompleteNumSpecialQiLing #
                 || $this->mo()->cmd == Enum_ActiveTaskCmdType::FightGate_X || $this->mo()->cmd == Enum_ActiveTaskCmdType::PassGate_X_state || $this->mo()->cmd == Enum_ActiveTaskCmdType::CloseSkill ||$this->mo()->cmd == Enum_ActiveTaskCmdType::FightRankPrize_Num  #
                 || $this->mo()->cmd == Enum_ActiveTaskCmdType::BuyGold || $this->mo()->cmd == Enum_ActiveTaskCmdType::OnReceiveTaskPrize || $this->mo()->cmd == Enum_ActiveTaskCmdType::FightSweepGate || $this->mo()->cmd == Enum_ActiveTaskCmdType::OpenNumBrightBox_state #
+                || $this->mo()->cmd == Enum_ActiveTaskCmdType::BuyNumDailyShop_state #               
                 ;
     }
 
@@ -119,6 +120,17 @@ class Ins_TaskStep_Active extends Object_ext {
         }
 
         switch ($mo->cmd) {
+            case Enum_ActiveTaskCmdType::BuyNumDailyShop_state:
+                $arr = ctx()->privateState->dailyShopReceived;
+                $num = 0;
+                foreach ($arr as $tId) {
+                    if($tId == 1){
+                        continue;
+                    }
+                    $num += 1;                   
+                }    
+                return $num;    
+                    
             case Enum_ActiveTaskCmdType::OpenNumBrightBox_state:
                 return ctx()->privateState->buyNum_ShopBoxBright;
             case Enum_ActiveTaskCmdType::FightSweepGate:           

+ 3 - 3
Gameserver/App/process/ShopProc.php

@@ -134,7 +134,7 @@ class ShopProc {
                         }
                         $user->privateState->dailyShop_GuangGaoNum += 1;
                         $user->privateState->dailyShop_GuangGaoTs = now();
-                    }
+                    }                 
                 } else {
                     my_Assert(!in_array($typeId, $user->privateState->dailyShopReceived), ErrCode::user_shop_NotRepeatBuy);
 
@@ -151,7 +151,7 @@ class ShopProc {
                             break;
                     }
 
-                    TaskProc::OnBuyNumDailyShop();
+                    TaskProc::OnBuyNumDailyShop();                                       
                 }
 
 //                $str = explode(',', $mo->reward);
@@ -161,7 +161,7 @@ class ShopProc {
 
                 StoreProc::AddMultiItemInStore($mo->reward);
                 ctx()->privateState->dailyShopReceived[] = $typeId;
-
+                TaskProc::OnBuyNumDailyShop_state();
                 break;
 
             case EnumShopGift::GemBox_Shop ://宝石宝箱---->2024.8.14 改为可能抽出宝石或是道具

+ 8 - 0
Gameserver/App/process/TaskProc.php

@@ -647,6 +647,14 @@ class TaskProc {
         self::CheckActiveTaskConditions($taskEventArg);
     }
 
+    /**
+     * 每日商店购买物品1次 状态类的   
+     */
+    static function OnBuyNumDailyShop_state() {
+        $taskEventArg = new Ins_TaskEventArgs(Enum_ActiveTaskCmdType::BuyNumDailyShop_state, Enum_PropelType::add, 1, array());
+        self::CheckActiveTaskConditions($taskEventArg);
+    }
+    
     /**
      * 开任意宝箱X次
      */