cyzhao 11 місяців тому
батько
коміт
6fa9d74031

+ 10 - 0
Gameserver/App/base/ErrCode.php

@@ -557,6 +557,16 @@ class ErrCode {
      * 活跃点宝箱奖励重复领取
      */
     const task_RepeatReviced_ActivePointBox = 3605;
+    
+    /**
+     * 限时活动未开启不能领取任务奖励
+     */
+    const task_NotOpen_Day7Happy = 3606;
+    
+    /**
+     * 时间校验错误请检查当前时间是否
+     */
+    const task_DownTsLimit = 3607;
 
 // </editor-fold>
 //

+ 1 - 1
Gameserver/App/model/Const/GameConfig.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-28 15:30:08
+ // 日期: 2024-07-11 11:42:41
 ////////////////////
 
 /**

+ 36 - 4
Gameserver/App/model/Const/sm_activeTask.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-24 14:05:46
+ // 日期: 2024-07-03 16:37:44
 ////////////////////
 
 
@@ -34,7 +34,33 @@ class sm_activeTask
     public $type;
 
     /**
-    * @var Int32 事件件码指令(详见文档) default(0) 
+    * @var Int32 事件件码指令(详见文档)
+    *  101: 每日登录游戏;参数1:无;参数2:登录次数
+    *  102: 登录第X天;参数1:无,参数2:天数(数值)
+    *  201: 通关第X关;参数1:关卡ID;参数2:通关次数;
+    *  202: 参与主线关卡X次;参数1:无;参数2:参与次数(数值)
+    *  203: 参与挑战副本X次;参数1:无;参数2:参与次数(数值)
+    *  204: 通过挑战副本X层,参数1:无,参数2:挑战层数(数值)
+    *  205: 通关竞速副本X次;参数1:无;参数2:参与次数(数值)
+    *  301: 完成X次启灵;参数1:无;参数2:次数(数值)
+    *  302: 完成X次关键启灵;参数1:无;参数2:次数(数值)
+    *  401: 镶嵌3个X品质以上宝石;参数1:宝石品质(数值);参数2:宝石数量
+    *  402: 合成X次宝石;参数1:无;参数2:合成次数(数值)
+    *  501: 任意1个法术等级达到2;参数1:法术等级;参数2:法术数量
+    *  601: 任意1件装备等级达到X级;参数一:等级(数值);参数2:装备数量
+    *  602: 全身装备等级达到X级以上;参数一:等级(数值);参数2:装备数量
+    *  603: 装备等级升级X次;参数1:无;参数2:升级次数
+    *  701: 击败怪物总数达到X;参数一:无;参数2:数量
+    *  702: 击败首领50个;参数一:无;参数2:数量
+    *  801: 累计获取X金币;参数一:无;参数2:数量
+    *  802: 累计消耗X体力;参数一:无;参数2:数量
+    *  803: 累计消耗X钻石;参数一:无;参数2:数量
+    *  901: 开启X次璀璨宝石箱;参数一:宝箱类型(1:普通,2:璀璨);参数2:次数
+    *  902: 每日商店购买物品X次;参数一:无;参数2:次数
+    *  903: 开任意宝箱X次;参数一:无;参数2:次数
+    *  904: 购买或观看广告获得体力X次;参数一:无;参数2:次数
+    *  905: 任意充值X次;参数一:无;参数2:次数
+    *   default(0) 
     */
     public $cmd;
 
@@ -49,7 +75,7 @@ class sm_activeTask
     public $num;
 
     /**
-    * @var String 解锁内容 1技能 2英雄 3地图 4装备 5金币  
+    * @var String 宝石类型,数量  
     */
     public $prizes;
 
@@ -74,7 +100,13 @@ class sm_activeTask
     public $activePoint;
 
     /**
-    * @var Int32 前往类型 default(0) 
+    * @var Int32 前往类型
+    *  0:没有前往按钮
+    *  1:前往通关
+    *  2:装备界面
+    *  3:商城界面
+    *  4:前往挑战模式界面
+    *  5:前往购买体力界面 default(0) 
     */
     public $gotoType;
 

+ 36 - 4
Gameserver/App/model/Const/sm_activeTask_type.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-24 14:05:46
+ // 日期: 2024-07-03 16:37:44
 ////////////////////
 
 
@@ -34,7 +34,33 @@ class sm_activeTask_type
     public $type;
 
     /**
-    * @var Int32 事件件码指令(详见文档) default(0) 
+    * @var Int32 事件件码指令(详见文档)
+    *  101: 每日登录游戏;参数1:无;参数2:登录次数
+    *  102: 登录第X天;参数1:无,参数2:天数(数值)
+    *  201: 通关第X关;参数1:关卡ID;参数2:通关次数;
+    *  202: 参与主线关卡X次;参数1:无;参数2:参与次数(数值)
+    *  203: 参与挑战副本X次;参数1:无;参数2:参与次数(数值)
+    *  204: 通过挑战副本X层,参数1:无,参数2:挑战层数(数值)
+    *  205: 通关竞速副本X次;参数1:无;参数2:参与次数(数值)
+    *  301: 完成X次启灵;参数1:无;参数2:次数(数值)
+    *  302: 完成X次关键启灵;参数1:无;参数2:次数(数值)
+    *  401: 镶嵌3个X品质以上宝石;参数1:宝石品质(数值);参数2:宝石数量
+    *  402: 合成X次宝石;参数1:无;参数2:合成次数(数值)
+    *  501: 任意1个法术等级达到2;参数1:法术等级;参数2:法术数量
+    *  601: 任意1件装备等级达到X级;参数一:等级(数值);参数2:装备数量
+    *  602: 全身装备等级达到X级以上;参数一:等级(数值);参数2:装备数量
+    *  603: 装备等级升级X次;参数1:无;参数2:升级次数
+    *  701: 击败怪物总数达到X;参数一:无;参数2:数量
+    *  702: 击败首领50个;参数一:无;参数2:数量
+    *  801: 累计获取X金币;参数一:无;参数2:数量
+    *  802: 累计消耗X体力;参数一:无;参数2:数量
+    *  803: 累计消耗X钻石;参数一:无;参数2:数量
+    *  901: 开启X次璀璨宝石箱;参数一:宝箱类型(1:普通,2:璀璨);参数2:次数
+    *  902: 每日商店购买物品X次;参数一:无;参数2:次数
+    *  903: 开任意宝箱X次;参数一:无;参数2:次数
+    *  904: 购买或观看广告获得体力X次;参数一:无;参数2:次数
+    *  905: 任意充值X次;参数一:无;参数2:次数
+    *   default(0) 
     */
     public $cmd;
 
@@ -49,7 +75,7 @@ class sm_activeTask_type
     public $num;
 
     /**
-    * @var String 解锁内容 1技能 2英雄 3地图 4装备 5金币  
+    * @var String 宝石类型,数量  
     */
     public $prizes;
 
@@ -74,7 +100,13 @@ class sm_activeTask_type
     public $activePoint;
 
     /**
-    * @var Int32 前往类型 default(0) 
+    * @var Int32 前往类型
+    *  0:没有前往按钮
+    *  1:前往通关
+    *  2:装备界面
+    *  3:商城界面
+    *  4:前往挑战模式界面
+    *  5:前往购买体力界面 default(0) 
     */
     public $gotoType;
 

+ 1 - 1
Gameserver/App/model/Const/sm_gate.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-24 11:15:02
+ // 日期: 2024-07-01 10:12:42
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_gate_unlock.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-24 11:15:02
+ // 日期: 2024-07-01 10:12:42
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_gem.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-26 17:05:46
+ // 日期: 2024-07-05 17:35:46
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_globalsettings.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-28 15:29:34
+ // 日期: 2024-06-28 16:05:46
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_hero.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-28 15:02:09
+ // 日期: 2024-07-10 15:56:04
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_heroType_typeId.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-28 15:02:09
+ // 日期: 2024-07-10 15:56:04
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_item.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-27 17:22:39
+ // 日期: 2024-07-10 17:57:16
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_plots.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-26 17:05:46
+ // 日期: 2024-07-10 17:05:47
 ////////////////////
 
 

+ 1 - 1
Gameserver/App/model/Const/sm_predicate.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-26 16:14:27
+ // 日期: 2024-07-11 11:35:47
 ////////////////////
 
 

+ 6 - 1
Gameserver/App/model/Const/sm_waveItem.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-28 15:02:08
+ // 日期: 2024-07-11 11:31:50
 ////////////////////
 
 
@@ -89,5 +89,10 @@ class sm_waveItem
     */
     public $rewardTuZhi;
 
+    /**
+    * @var Int32 是否控制镜头拉起 default(0) 
+    */
+    public $isCameraControl;
+
 }
 

+ 6 - 1
Gameserver/App/model/Const/sm_waves.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-28 15:02:08
+ // 日期: 2024-07-11 11:31:50
 ////////////////////
 
 
@@ -89,5 +89,10 @@ class sm_waves
     */
     public $rewardTuZhi;
 
+    /**
+    * @var Int32 是否控制镜头拉起 default(0) 
+    */
+    public $isCameraControl;
+
 }
 

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

@@ -744,9 +744,9 @@ class EmailProc {
         $arr = $mem->hgetall($key);                                             # 所有邮件
         $del = array_filter((array) $arr, function ($v) use ($ts) {
             $email = new Ins_Email($v);
-            if($email->appendix != null && $email->drawedts == 0){
-                return false;
-            }
+//            if($email->appendix != null && $email->drawedts == 0){
+//                return false;
+//            }
             return $email->ExpireTs() < $ts;                                    # 选出过期邮件
         });
         if (count($del)) {                                                      # >0

+ 8 - 8
Gameserver/App/process/StoreProc.php

@@ -741,7 +741,7 @@ class StoreProc {
     public static function AddMultiItemInStore($goodsStr, $src = 1) {
         if ($goodsStr == null) {
             return;
-        }
+        }      
         $ary = explode(";", $goodsStr);
         foreach ($ary as $value) {
             $val = explode(",", $value);
@@ -749,7 +749,7 @@ class StoreProc {
 
             list($itemId, $num) = $val;                                         # ID, 数量           
             $itemMo = GameConfig::item_getItem($itemId);
-            if($itemMo->itemType != 701 && $itemMo->itemType != 201){
+            if($itemMo->itemType != 701 && $itemMo->itemType != 201){               
                 self::$reward[] = $value;                                                   
             }           
             
@@ -777,15 +777,15 @@ class StoreProc {
                     }
                     break;
                 case 201://宝石           
-                    for ($i = 0; $i < $num; $i++) {
+                    for ($i = 0; $i < $num; $i++) {                       
                         $gem = self::initGem($itemId);
-                        self::$reward_Gem[] = $gem->uid;
+                        self::$reward_Gem[] = $gem->uid;                       
                         self::PutGemInStore($gem);
                     }
                                                          
                     break;
                 case 701://道具宝箱
-                    for ($i = 0; $i < $num; $i++) {
+                    for ($i = 0; $i < $num; $i++) {                      
                         self::DistributeItemsBox($itemId);
                     }
                     
@@ -844,17 +844,17 @@ class StoreProc {
                     }
                     $start = $end;
                 }
-
+              
                 if ($id != 0) {
                     $str = $id . ',1';
                     if ($reward == "") {
                         $reward = $str;
                     } else {
                         $reward = $reward . ';' . $str;
-                    }
+                    }                                     
                 }
             }
-
+         
             self::AddMultiItemInStore($reward);
         } else {
             self::AddMultiItemInStore($itemBoxMo->contents);

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

@@ -87,6 +87,15 @@ class TaskProc {
         my_Assert(StlUtil::dictHasProperty(ctx()->task->activeTaskInfo, $uid), ErrCode::task_NoExist);
 
         $ins_activeTaskInfo = new Ins_TaskStep_Active(ctx()->task->activeTaskInfo->$uid);
+        if($ins_activeTaskInfo->mo()->type == Enum_ActiveTaskType::Day7){
+            my_Assert(ctx()->task->day7_startTs > 0, ErrCode::task_NotOpen_Day7Happy);       
+            $startDay = TimeUtil::totalDays(ctx()->task->day7_startTs);
+            $endDay = $startDay + 6;
+            my_Assert(TimeUtil::totalDays() <= $endDay, ErrCode::task_DownTsLimit);            
+            
+            $num = TimeUtil::totalDays() - $startDay;
+            my_Assert($ins_activeTaskInfo->mo()->day <= $num+1, ErrCode::task_DownTsLimit);                           
+        }        
         my_Assert($ins_activeTaskInfo->cur >= $ins_activeTaskInfo->max(), ErrCode::task_CanotPriceReviced);
         my_Assert($ins_activeTaskInfo->state == Enum_TaskCardStateType::finish, ErrCode::task_CanotPriceReviced);