cyzhao 8 tháng trước cách đây
mục cha
commit
3413c27993

+ 5 - 0
Gameserver/App/base/CmdCode.php

@@ -68,6 +68,11 @@ class CmdCode {
      */
     const cmd_mpay_NewFirstRecharge = 8815;
 
+    /**
+     * 购买高级7日签到
+     */
+    const cmd_pay_buyDay7_Sign_High = 8816;
+    
 //
 //
 // </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-09-13 16:02:42
+ // 日期: 2024-09-19 16:07:26
 ////////////////////
 
 /**

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-09-04 11:34:36
+ // 日期: 2024-09-18 17:26:34
 ////////////////////
 
 

+ 1 - 1
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-09-04 11:34:36
+ // 日期: 2024-09-18 17:26:34
 ////////////////////
 
 

+ 6 - 6
Gameserver/App/model/Const/sm_activity_day7.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-07 18:24:30
+ // 日期: 2024-09-19 16:07:27
 ////////////////////
 
 
@@ -29,14 +29,14 @@ class sm_activity_day7
     public $reward;
 
     /**
-    * @var String 备注  
+    * @var String 奖励:itemId,num 高级签到奖励  
     */
-    public $desc;
-
+    public $reward_high;
+    
     /**
-    * @var Int32 累加  
+    * @var String 备注  
     */
-    public $num;
+    public $desc;
 
 }
 

+ 6 - 2
Gameserver/App/model/Const/sm_fun_unlock.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-09-13 16:03:11
+ // 日期: 2024-09-18 18:05:51
 ////////////////////
 
 
@@ -39,7 +39,11 @@ class sm_fun_unlock
     public $cmptPath;
 
     /**
-    * @var Int32 1:参与关卡;参数1:关卡ID  2通关关卡;参数1:关卡ID  
+    * @var Int32 1:参与关卡;参数1:关卡ID  
+    *  2:通关关卡;参数1:关卡ID
+    *  3:初次得到技能宝石;参数1:无
+    *  4:玩家等级到达某级;参数1:等级数
+    *  5:通关主线挑战;参数1:无  
     */
     public $unlockType1;
 

+ 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-08-30 18:20:43
+ // 日期: 2024-09-19 16:06:33
 ////////////////////
 
 

+ 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-08-30 18:20:43
+ // 日期: 2024-09-19 16:06:33
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-09-13 09:05:50
+ // 日期: 2024-09-18 17:35:51
 ////////////////////
 
 
@@ -14,292 +14,292 @@ class sm_globalsettings
 {
 
     /**
-    * @var string demo  
+    * @var String demo  
     */
     public $key;
 
     /**
-    * @var string 升级武器需要的图纸  
+    * @var String 升级武器需要的图纸  
     */
     public $equipLeveUpTuzhi;
 
     /**
-    * @var string [废弃]  
+    * @var String [废弃]  
     */
     public $equipQualUnlockSkillId;
 
     /**
-    * @var string [废弃]装备品阶+1+2的记录  
+    * @var String [废弃]装备品阶+1+2的记录  
     */
     public $equipQualAdd;
 
     /**
-    * @var string 有限地图战场中小木箱刷新时间间隔和数量(50,3)(50秒刷新3个小木箱)  
+    * @var String 有限地图战场中小木箱刷新时间间隔和数量(50,3)(50秒刷新3个小木箱)  
     */
     public $ClosedMapSmallBoxFreq;
 
     /**
-    * @var int 游戏内玩家账号的最高等级限制  
+    * @var Int32 游戏内玩家账号的最高等级限制  
     */
     public $Game_MaxPlayerLevel;
 
     /**
-    * @var string 开放地图战场中小木箱刷新时间间隔和数量(50,3)(50秒刷新3个小木箱)  
+    * @var String 开放地图战场中小木箱刷新时间间隔和数量(50,3)(50秒刷新3个小木箱)  
     */
     public $OpenMapSmallBoxFreq;
 
     /**
-    * @var int 默认背包最大数量  
+    * @var Int32 默认背包最大数量  
     */
     public $Item_Packet_MaxNum;
 
     /**
-    * @var int 体力恢复的最大值(购买或者邮件领取的可以超出,超出后体力恢复失效)  
+    * @var Int32 体力恢复的最大值(购买或者邮件领取的可以超出,超出后体力恢复失效)  
     */
     public $tili_RecoverrMax;
 
     /**
-    * @var string 充值购买任一商品,即可获得如下奖励,仅此一次哦~暂时废弃  
+    * @var String 充值购买任一商品,即可获得如下奖励,仅此一次哦~暂时废弃  
     */
     public $FirstRechargePrice;
 
     /**
-    * @var string 装备降品不同部位的通用道具  
+    * @var String 装备降品不同部位的通用道具  
     */
     public $EquipFallQualCommonItem;
 
     /**
-    * @var string 【废弃】当前客户端版本号  
+    * @var String 【废弃】当前客户端版本号  
     */
     public $clientVer;
 
     /**
-    * @var int 支付模块是否开放  
+    * @var Int32 支付模块是否开放  
     */
     public $Game_Pay_Open;
 
     /**
-    * @var int 更新开始时间戳  
+    * @var Int32 更新开始时间戳  
     */
     public $updatingBeginTs;
 
     /**
-    * @var int 更新结束时间戳  
+    * @var Int32 更新结束时间戳  
     */
     public $updatingEndTs;
 
     /**
-    * @var int 恢复一点体力所需时间(秒)  
+    * @var Int32 恢复一点体力所需时间(秒)  
     */
     public $tili_RecoverTS;
 
     /**
-    * @var int 跑马灯获得超武的概率  
+    * @var Int32 跑马灯获得超武的概率  
     */
     public $GetSuperSkillProbability;
 
     /**
-    * @var string 装备合成消耗金币(暂时), 白->绿: 200, 绿->蓝:600, 蓝->紫: 1200  
+    * @var String 装备合成消耗金币(暂时), 白->绿: 200, 绿->蓝:600, 蓝->紫: 1200  
     */
     public $EquipComposeCostGold;
 
     /**
-    * @var string 每日商城刷新消耗的金币数量  
+    * @var String 每日商城刷新消耗的金币数量  
     */
     public $DailyShopRefreshCostGold;
 
     /**
-    * @var int 每日商城上架个数  
+    * @var Int32 每日商城上架个数  
     */
     public $DailyShopShowNum;
 
     /**
-    * @var string 宝石品阶  
+    * @var String 宝石品阶  
     */
     public $GemQualName;
 
     /**
-    * @var string 洗练不同品质宝石消耗数量不同  
+    * @var String 洗练不同品质宝石消耗数量不同  
     */
     public $XILianGemlNeedXILianStone;
 
     /**
-    * @var string 每日购买体力最大次数  
+    * @var String 每日购买体力最大次数  
     */
     public $BuyTili_DailyMaxNum;
 
     /**
-    * @var string   
+    * @var String   
     */
     public $GuanggaoGetTili;
 
     /**
-    * @var string 每日广告得到体力次数  
+    * @var String 每日广告得到体力次数  
     */
     public $GuanggaoGetTili_DailyMaxNum;
 
     /**
-    * @var string 购买体力 60个元宝15个体力  
+    * @var String 购买体力 60个元宝15个体力  
     */
     public $BuyTiliCost;
 
     /**
-    * @var int 每日扫荡最大次数  
+    * @var Int32 每日扫荡最大次数  
     */
     public $sweepMaxNum;
 
     /**
-    * @var int 扫荡需要体力  
+    * @var Int32 扫荡需要体力  
     */
     public $sweep_cost_tili;
 
     /**
-    * @var int 解锁挑战模块所需的关卡id  
+    * @var Int32 解锁挑战模块所需的关卡id  
     */
     public $unlock_Challenge_need_gateId;
 
     /**
-    * @var int 爬塔(挑战关卡)每日挑战次数  
+    * @var Int32 爬塔(挑战关卡)每日挑战次数  
     */
     public $tower_daily_chanceNum;
 
     /**
-    * @var int 爬塔(挑战关卡)每日刷新(技能)次数  
+    * @var Int32 爬塔(挑战关卡)每日刷新(技能)次数  
     */
     public $tower_daily_refreshChanceNum;
 
     /**
-    * @var string 爬塔(挑战关卡)刷新(技能)花费(货币类型:数量)(1:金币,2:元宝)  
+    * @var String 爬塔(挑战关卡)刷新(技能)花费(货币类型:数量)(1:金币,2:元宝)  
     */
     public $tower_refreshCost;
 
     /**
-    * @var int 通关第一关解锁7日活动  
+    * @var Int32 通关第一关解锁7日活动  
     */
     public $GateUnlock_7DayActive;
 
     /**
-    * @var int 主线剧情第一关关卡ID  
+    * @var Int32 主线剧情第一关关卡ID  
     */
     public $FirstGateId;
 
     /**
-    * @var int 主线排行榜前端展示的前X名排名  
+    * @var Int32 主线排行榜前端展示的前X名排名  
     */
     public $Rank_MainGateIndex_ShowRank;
 
     /**
-    * @var int 主线排行榜上榜排名数,之外的不在统计  
+    * @var Int32 主线排行榜上榜排名数,之外的不在统计  
     */
     public $Rank_MainGateIndex_OnListRank;
 
     /**
-    * @var int 战力排行榜前端展示的前X名排名  
+    * @var Int32 战力排行榜前端展示的前X名排名  
     */
     public $Rank_FightPower_ShowRank;
 
     /**
-    * @var int 战力排行榜上榜排名,之外不在统计  
+    * @var Int32 战力排行榜上榜排名,之外不在统计  
     */
     public $Rank_FightPower_OnListRank;
 
     /**
-    * @var string 主线排行榜说明信息  
+    * @var String 主线排行榜说明信息  
     */
     public $Rank_MainGateIndex_Explain;
 
     /**
-    * @var string 战力排行榜说明信息  
+    * @var String 战力排行榜说明信息  
     */
     public $Rank_FightPower_Explain;
 
     /**
-    * @var int 玩家初始金币  
+    * @var Int32 玩家初始金币  
     */
     public $Init_Player_gold;
 
     /**
-    * @var int 玩家初始钻石  
+    * @var Int32 玩家初始钻石  
     */
     public $Init_Player_cash;
 
     /**
-    * @var string 复活花费元宝数量(第一次,第二次,第三次,第四次)  
+    * @var String 复活花费元宝数量(第一次,第二次,第三次,第四次)  
     */
     public $Relive_cost;
 
     /**
-    * @var int 购买特权月卡后体力上限增加  
+    * @var Int32 购买特权月卡后体力上限增加  
     */
     public $tili_RecoverrMax_Add_HonourCard;
 
     /**
-    * @var int 初始账号默认英雄id  
+    * @var Int32 初始账号默认英雄id  
     */
     public $CreateUserGame_defaultHeroId;
 
     /**
-    * @var int 战斗三选一技能刷新按钮出现的次数  
+    * @var Int32 战斗三选一技能刷新按钮出现的次数  
     */
     public $skillRefreshNum_Limit;
 
     /**
-    * @var int 战斗三选一技能看广告刷新的次数  
+    * @var Int32 战斗三选一技能看广告刷新的次数  
     */
     public $skillRefreshNum_Limit_Guanggao;
 
     /**
-    * @var int 主线任务起始任务id  
+    * @var Int32 主线任务起始任务id  
     */
     public $FirstMainTaskId;
 
     /**
-    * @var int 法术书技能封印按钮可用条件(已解锁技能总数达到X)  
+    * @var Int32 法术书技能封印按钮可用条件(已解锁技能总数达到X)  
     */
     public $Skill_LockBtn_EnableCount;
 
     /**
-    * @var string 花费XX元宝将技能封印上限提升至X个  
+    * @var String 花费XX元宝将技能封印上限提升至X个  
     */
     public $Skill_LockBtn_BuyCount_Cost;
 
     /**
-    * @var int 技能封印初始可用数量  
+    * @var Int32 技能封印初始可用数量  
     */
     public $Skill_LockBtn_InitCount;
 
     /**
-    * @var string 首充的描述信息  
+    * @var String 首充的描述信息  
     */
     public $FirstRechargeDesc;
 
     /**
-    * @var string 改名->花费  
+    * @var String 改名->花费  
     */
     public $Rename_Cost;
 
     /**
-    * @var int 改名->冷却时间  
+    * @var Int32 改名->冷却时间(单位秒)  
     */
     public $Rename_Cooldown;
 
     /**
-    * @var string 转盘抽奖抽一次消耗  
+    * @var String 转盘抽奖抽一次消耗  
     */
     public $activity_lottery_tree_one_cost;
 
     /**
-    * @var string 转盘抽奖抽十次消耗  
+    * @var String 转盘抽奖抽十次消耗  
     */
     public $activity_lottery_tree_ten_cost;
 
     /**
-    * @var int 200元宝兑换转盘抽奖一个抽奖券  
+    * @var Int32 200元宝兑换转盘抽奖一个抽奖券  
     */
     public $activity_lottery_oneCost_cash;
 
     /**
-    * @var int 一共可以抽奖次数  
+    * @var Int32 一共可以抽奖次数  
     */
     public $activity_lottery_allNum;
 

+ 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-09-13 10:35:50
+ // 日期: 2024-09-13 17:05:50
 ////////////////////
 
 

+ 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-09-13 10:35:50
+ // 日期: 2024-09-13 17:05:50
 ////////////////////
 
 

+ 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-09-13 11:54:56
+ // 日期: 2024-09-19 15:01:57
 ////////////////////
 
 

+ 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-09-13 10:58:56
+ // 日期: 2024-09-19 11:28:15
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-09-12 15:35:50
+ // 日期: 2024-09-19 15:01:57
 ////////////////////
 
 

+ 1 - 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-09-04 17:05:50
+ // 日期: 2024-09-19 16:07:28
 ////////////////////
 
 

+ 1 - 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-09-04 17:05:50
+ // 日期: 2024-09-19 16:07:28
 ////////////////////
 
 

+ 7 - 1
Gameserver/App/model/User/Info_PrivateState.php

@@ -81,7 +81,7 @@ class Info_PrivateState extends Object_ext {
      */
     #[ArrayType]
     public $day7_drawed = array();
-
+   
     /**
      * 7日 累计
      * @var type
@@ -333,6 +333,12 @@ class Info_PrivateState extends Object_ext {
      */
     #[ArrayType]
     public $lotteryExchange = array();
+    
+    /**
+     * 高级签到购买时间
+     * @var type
+     */
+    public $sign_high_buyTs = 0;
 
     public function initialize() {
         $this->junbeiShopNumRecord = new \stdClass();

+ 28 - 20
Gameserver/App/process/ActiveProc.php

@@ -305,13 +305,13 @@ class ActiveProc {
      * 7日签到 数据更新
      */
     public static function DailyResetDay7Task() {
-        if (count(ctx()->privateState->LoginDays) >= 7) {
-            ctx()->privateState->LoginDays = array();
-            ctx()->privateState->day7_drawed = array();
-        }
-        $index = count(ctx()->privateState->LoginDays) + 1;
-        ctx()->privateState->LoginDays[] = $index;
-        ctx()->privateState->day7_accumulate += 1;
+//        if (count(ctx()->privateState->LoginDays) >= 7) {
+//            ctx()->privateState->LoginDays = array();
+//            ctx()->privateState->day7_drawed = array();
+//        }
+//        $index = count(ctx()->privateState->LoginDays) + 1;
+//        ctx()->privateState->LoginDays[] = $index;
+//        ctx()->privateState->day7_accumulate += 1;
     }
 
     /**
@@ -319,23 +319,31 @@ class ActiveProc {
      * @return type
      */
     public static function Day7_DrawReward() {
-        list($day) = req()->paras;                                              # 参数: 领取第x天的奖励
-        $user = ctx();
+        list($day) = req()->paras;                                              # 参数: 领取第x天的奖励      
 
-        my_Assert(in_array($day, $user->privateState->LoginDays), ErrCode::active_day7_expired);
-        my_Assert(!in_array($day, $user->privateState->day7_drawed), ErrCode::active_hasgetted);
+        $mo = GameConfig::subfun_unlock_getItem(2);
+        my_Assert($mo != null, ErrCode::err_const_no);
+        my_Assert(now() >= $mo->startTs && now()->$mo->endTs, ErrCode::active_time);  
+        
+        $startDay = TimeUtil::totalDays($mo->startTs);
+        $curDay = TimeUtil::totalDays(now());
+        $n = $curDay - $startDay;
+        
+        my_Assert($day <= $n+1, ErrCode::active_day7_expired);
+        my_Assert(!in_array($day.'-1', ctx()->privateState->day7_drawed), ErrCode::active_hasgetted);
         $day_rwd = GameConfig::activity_day7_getItem($day);                     # 查询奖励数据
         my_Assert(null != $day_rwd, ErrCode::err_const_no);                     # 防御找不到配置
         StoreProc::AddMultiItemInStore($day_rwd->reward);                       # 发放奖励
-        $user->privateState->day7_drawed[] = $day;                              # 添加领取记录
-
-        ctx($user);
-        UserProc::updateUserInfo();                                             # 回存
-        return Resp::ok(array(
-                    'gold' => $user->baseInfo->gold,
-                    'cash' => $user->baseInfo->cash,
-                    'tili' => $user->baseInfo->tili,
-                    'store' => $user->store,
+                
+        ctx()->privateState->day7_drawed[] = $day.'-1';                              # 添加领取记录
+           
+        UserProc::updateUserInfo();
+        return Resp::ok(array('gold' => ctx()->baseInfo->gold,
+                    'cash' => ctx()->baseInfo->cash,
+                    'store' => ctx()->store,
+                    'day7_drawed;' => ctx()->privateState->day7_drawed,                
+                    'reward' => StoreProc::$reward,
+                    'reward_Gem' => StoreProc::$reward_Gem,
         ));
     }
 

+ 36 - 0
Gameserver/App/process/PayProc.php

@@ -58,10 +58,46 @@ class PayProc {
                 return self::UserRechargeDrawPrize();
             case CmdCode::cmd_mpay_NewFirstRecharge:                            # 8815 新首充功能 2022.10
                 return self::NewFirstRecharge();
+            case CmdCode::cmd_pay_buyDay7_Sign_High:                            # 8816 购买高级7日签到
+                return self::buyDay7_Sign_High();
             default:
                 return Resp::err(ErrCode::cmd_err);
         }
     }
+    
+    /**
+     * 8816 购买高级7日签到
+     */
+    static function buyDay7_Sign_High() {
+        //list() = req()->paras;
+        $mo = GameConfig::subfun_unlock_getItem(2);
+        my_Assert($mo != null, ErrCode::err_const_no);
+
+        my_Assert(now() >= $mo->startTs && now()->$mo->endTs, ErrCode::active_time);       
+        ctx()->privateState->sign_high_buyTs = now();
+        
+        $startDay = TimeUtil::totalDays($mo->startTs);
+        $curDay = TimeUtil::totalDays(now());
+        
+        $n = $curDay - $startDay;
+        $dic = GameConfig::activity_day7();
+        for ($i = 1; $i <= $n+1; $i++) {
+            if(StlUtil::dictHasProperty($dic, $i)){
+                ctx()->privateState->day7_drawed[] = $i."-2";
+                StoreProc::AddMultiItemInStore(GameConfig::activity_day7_getItem($i)->reward_high);
+            }
+        }
+                          
+        UserProc::updateUserInfo();
+        return Resp::ok(array('gold' => ctx()->baseInfo->gold,
+                    'cash' => ctx()->baseInfo->cash,
+                    'store' => ctx()->store,
+                    'day7_drawed;' => ctx()->privateState->day7_drawed,
+                    'sign_high_buyTs;' => ctx()->privateState->sign_high_buyTs,
+                    'reward' => StoreProc::$reward,
+                    'reward_Gem' => StoreProc::$reward_Gem,
+        ));
+    }
 
     /**
      * 8804 累计充值