Explorar o código

Merge branch 'dev' of http://ylsjtt.game7000.com:3000/YLSJ/jzhj2024server into dev

cyzhao hai 9 meses
pai
achega
43458eb91b
Modificáronse 53 ficheiros con 345 adicións e 112 borrados
  1. 14 6
      Gameserver/App/base/CmdCode.php
  2. 21 16
      Gameserver/App/base/ErrCode.php
  3. 112 0
      Gameserver/App/base/ErrCode.txt
  4. 2 2
      Gameserver/App/configs/config_tap.php
  5. 1 1
      Gameserver/App/model/Const/GameConfig.php
  6. 1 1
      Gameserver/App/model/Const/sm_achieve_new.php
  7. 1 1
      Gameserver/App/model/Const/sm_activeTask.php
  8. 1 1
      Gameserver/App/model/Const/sm_activeTask_type.php
  9. 1 1
      Gameserver/App/model/Const/sm_active_day7_accumulate.php
  10. 1 1
      Gameserver/App/model/Const/sm_activepointreward.php
  11. 1 1
      Gameserver/App/model/Const/sm_activity.php
  12. 1 1
      Gameserver/App/model/Const/sm_activity_day7.php
  13. 1 1
      Gameserver/App/model/Const/sm_announcement.php
  14. 1 1
      Gameserver/App/model/Const/sm_clientVersionHistory.php
  15. 1 1
      Gameserver/App/model/Const/sm_equip.php
  16. 1 1
      Gameserver/App/model/Const/sm_equip_levelupgrade.php
  17. 1 1
      Gameserver/App/model/Const/sm_errmsg.php
  18. 1 1
      Gameserver/App/model/Const/sm_evolve.php
  19. 1 1
      Gameserver/App/model/Const/sm_fun_unlock.php
  20. 1 1
      Gameserver/App/model/Const/sm_gate.php
  21. 1 1
      Gameserver/App/model/Const/sm_gate_sbox.php
  22. 1 1
      Gameserver/App/model/Const/sm_gate_unlock.php
  23. 1 1
      Gameserver/App/model/Const/sm_gem.php
  24. 16 1
      Gameserver/App/model/Const/sm_globalsettings.php
  25. 1 1
      Gameserver/App/model/Const/sm_hero.php
  26. 1 1
      Gameserver/App/model/Const/sm_heroType_typeId.php
  27. 1 1
      Gameserver/App/model/Const/sm_heroattr.php
  28. 2 1
      Gameserver/App/model/Const/sm_item.php
  29. 1 1
      Gameserver/App/model/Const/sm_item_2023_box.php
  30. 1 1
      Gameserver/App/model/Const/sm_player_level.php
  31. 1 1
      Gameserver/App/model/Const/sm_plots.php
  32. 1 1
      Gameserver/App/model/Const/sm_predicate.php
  33. 1 1
      Gameserver/App/model/Const/sm_rank_fightpowerreward.php
  34. 1 1
      Gameserver/App/model/Const/sm_rank_passgatereward.php
  35. 1 1
      Gameserver/App/model/Const/sm_service_schedule.php
  36. 1 1
      Gameserver/App/model/Const/sm_shop_box.php
  37. 1 1
      Gameserver/App/model/Const/sm_shop_cash.php
  38. 1 1
      Gameserver/App/model/Const/sm_shop_daily.php
  39. 1 1
      Gameserver/App/model/Const/sm_shop_gategift.php
  40. 1 1
      Gameserver/App/model/Const/sm_shop_gold.php
  41. 1 1
      Gameserver/App/model/Const/sm_shop_junbei.php
  42. 1 1
      Gameserver/App/model/Const/sm_shop_monthcard.php
  43. 1 1
      Gameserver/App/model/Const/sm_shop_supply.php
  44. 10 8
      Gameserver/App/model/Const/sm_skills.php
  45. 1 1
      Gameserver/App/model/Const/sm_sysmail.php
  46. 1 1
      Gameserver/App/model/Const/sm_token_PublicGift.php
  47. 1 1
      Gameserver/App/model/Const/sm_token_gift.php
  48. 1 1
      Gameserver/App/model/Const/sm_waveItem.php
  49. 1 1
      Gameserver/App/model/Const/sm_waves.php
  50. 43 21
      Gameserver/App/model/User/Info_PrivateState.php
  51. 13 13
      Gameserver/App/model/User/Info_UserBase.php
  52. 69 1
      Gameserver/App/process/FightProc.php
  53. 1 1
      Gameserver/App/util/DebugHelper.php

+ 14 - 6
Gameserver/App/base/CmdCode.php

@@ -157,13 +157,11 @@ class CmdCode {
      * 领取活跃点宝箱奖励
      */
     const cmd_task_receiveActivePointBoxReward = 6205;
-    
+
     /**
      * 一键领取
      */
     const cmd_task_prizesAllreceived = 6206;
-
-
 // </editor-fold>
 //
 // <editor-fold defaultstate="collapsed" desc="背包操作码 - 64xx">
@@ -261,7 +259,7 @@ class CmdCode {
      * 角色升星
      */
     const hero_strengthenStar = 6603;
-    
+
     /**
      * 解锁英雄记录重置
      */
@@ -306,7 +304,7 @@ class CmdCode {
 // <editor-fold defaultstate="collapsed" desc="战斗操作码 - 68xx">
 
     /**
-     * 主线剧情: 奖励结算
+     * 主线剧情关卡: 奖励结算
      */
     const fight_settle = 6801;
 
@@ -409,7 +407,17 @@ class CmdCode {
      * 每天重置挑战红点
      */
     const fight_ResetChallange_RedMask = 6821;
-    
+
+    /**
+     * 封印/解锁技能
+     */
+    const fight_lockSkill = 6822;
+
+    /**
+     * 解锁更多技能封印数量
+     */
+    const fight_buyLockSkillCount = 6823;
+
 // </editor-fold>
 // <editor-fold defaultstate="collapsed" desc="系统操作码 - 69xx">
 

+ 21 - 16
Gameserver/App/base/ErrCode.php

@@ -36,10 +36,15 @@ class ErrCode {
     const err_mem = 1004;
 
     /**
-     * 断言失败
+     * 错误: 断言失败
      */
     const err_assert = 1005;
 
+    /**
+     * 警告: 断言失败
+     */
+    const msg_assert = 1006;
+
     /**
      * 消息内容非法(不满足tk校验的条件)
      */
@@ -218,12 +223,12 @@ class ErrCode {
      * 神秘商城 - 免费刷新时间未到
      */
     const pay_secretshopt_freeRefresh_Time = 8816;
-    
+
     /**
      * 订单号为null无法支付
      */
     const pay_order_product_id = 8817;
-    
+
     /**
      * 支付失败
      */
@@ -431,7 +436,7 @@ class ErrCode {
      * 合成宝石条件不足无法合成
      */
     const user_store_GemCanotCompose = 3306;
-    
+
     /**
      * 背包不存在该宝石
      */
@@ -502,22 +507,22 @@ class ErrCode {
      * 无效的时间内不能领取奖励
      */
     const active_day7_expired = 3502;
-    
+
     /*
      * 不存在活动配置信息
      */
     const active_const_no_err = 3503;
-    
+
     /**
      * 活动 - 激活码 无效
      */
     const active_activecode_format = 3504;
-    
+
     /**
      * 活动 - 激活码 渠道错误.
      */
     const active_activecode_plat = 3505;
-    
+
     /**
      * 激活码礼包已经过期
      */
@@ -527,12 +532,12 @@ class ErrCode {
      * 活动 - 兑换码已经使用过了
      */
     const active_activecode_used = 3507;
-    
+
     /**
      * 活动 - 此活动尚未开放
      */
     const active_time = 3508;
-    
+
 // </editor-fold>
 //
 //   // <editor-fold defaultstate="collapsed" desc="    task 3600    ">
@@ -541,32 +546,32 @@ class ErrCode {
      * 任务不存在
      */
     const task_NoExist = 3601;
-    
+
     /**
      * 不能领取该任务奖励
      */
     const task_CanotPriceReviced = 3602;
-    
+
     /**
      * 任务奖励不能重复领取
      */
     const task_PriceRepeatReviced = 3603;
-    
+
     /**
      * 活跃点宝箱奖励领取条件不达标无法领取
      */
     const task_CanotReviced_ActivePointBox = 3604;
-    
+
     /**
      * 活跃点宝箱奖励重复领取
      */
     const task_RepeatReviced_ActivePointBox = 3605;
-    
+
     /**
      * 限时活动未开启不能领取任务奖励
      */
     const task_NotOpen_Day7Happy = 3606;
-    
+
     /**
      * 时间校验错误请检查当前时间是否
      */

+ 112 - 0
Gameserver/App/base/ErrCode.txt

@@ -0,0 +1,112 @@
+ok;0;0;交互成功
+err_unknownn;1001;1;未知原因错误
+err_innerfault;1002;1;内部错误
+err_db;1003;1;数据库操作失败
+err_mem;1004;1;内存操作失败
+err_assert;1005;1;错误:断言失败
+msg_assert;1006;0;警告:断言失败
+err_illegal;1011;1;消息内容非法(不满足tk校验的条件)
+err_signo;1012;1;消息内容缺少校验值
+err_outtime;1021;1;消息超时
+err_retry;1024;1;Just重试
+clientversionlow_err;1031;1;客户端版本过低-整包更
+clientnewversion_msg;1032;0;客户端版本过低-增量更
+clientPrintMsg_Halt;1033;0;客户端打印信息并且退出
+ope_err;1210;1;功能码非法
+cmd_err;1211;1;操作码非法
+paras_err;1212;1;参数非法
+parasnotenough_msg;1213;0;参数不足
+sensword_msg;1234;0;内容包含敏感词
+err_server_maintaining;1301;1;服务器正在维护中
+err_server_updating;1302;1;服务器正在升级,请过会儿再来。
+err_anotherlogin;1303;1;已经在其他地方登录
+function_notopen_msg;1801;0;功能暂未开放
+err_method_notimplement;1802;1;方法尚未实现
+err_method_obsoleted;1803;1;方法已过时,废弃的.
+err_const_no;1825;1;游戏常量数据错误
+pay_firstpayno_err;8801;1;尚未首付
+pay_firstpaygetted;8802;0;已经领取首付
+pay_systembusy_err;8803;1;系统繁忙
+pay_vipnewerno;8804;0;不是黄钻或已经领取黄钻礼包
+pay_m_amtzero_err;8805;1;amt数值小于等于0
+pay_price_err;8806;1;价格异常
+pay_m_type_err;8807;1;支付类型异常
+pay_shopItem_cosnt_goods_err;8808;1;商品常量数据错误-货物内容
+pay_refresh_times;8809;0;商城已达刷新次数上限
+pay_secretshop_buytimes;8810;0;神秘商城-购买次数已达上限
+pay_secretshop_noitem_err;8811;1;神秘商城-物品数据错误
+pay_order_no;8812;0;充值-订单不存在
+pay_order_paystatus;8813;0;充值-付款状态不正确正在重新查询...
+pay_order_drawed;8814;0;充值-此订单已经发货,无需重复请求
+pay_order_uid;8815;0;充值-订单uid不符
+pay_secretshopt_freeRefresh_Time;8816;0;神秘商城-免费刷新时间未到
+pay_order_product_id;8817;0;订单号为null无法支付
+pay_fail;8818;0;支付失败
+pay_repeatbuy;8819;0;不能重复购买
+notenough_gold_msg;3014;0;金币不足
+notenough_cash_msg;3015;0;宝石不足
+notenough_friendshippoint;3016;0;友情点不足
+notenough_honour;3032;0;玩家荣誉值不足[荣誉值兑换]
+notenought_yuanbao;3040;0;元宝不足
+notenough_tili;3046;0;玩家体力值不足
+notenough_spar;3047;0;晶石不足
+notenough_resPoint;3048;0;资源点不足
+notenough_item;3049;0;道具数量不足
+user_login_err;3101;1;玩家未登录
+user_no_err;3102;1;玩家不存在
+user_data_broken_err;3103;1;玩家数据损坏
+user_contigiftno_msg;3104;0;连续登录天数不够
+user_contigiftfalse_msg;3105;0;已经领取连续登录礼包
+user_settutorialscompletedfail_err;3106;1;设置新手引导进度失败
+user_levelnotenough_msg;3107;0;玩家等级不足
+user_interact_no_err;3108;1;找不到玩家的交互体数据
+user_zoneinfo_no_err;3109;1;找不到玩家的分区记录
+user_nicknameexist;3110;0;玩家昵称已经存在,请换一个再试
+user_reward_typeno;3031;0;没有这种奖励类型
+gate_NoUserGateInfo;3201;0;没有玩家关卡信息
+gate_GateNoUnlock;3202;0;当前关卡没有解锁
+gate_GatePriceHasReceive;3203;0;奖励已经被领取
+gate_NoSweep;3204;0;不能扫荡
+gate_SweepMaxNum_limit;3205;0;今日扫荡已达最大次数
+tower_timeNo;3210;0;挑战关卡:今日挑战次数已用完
+tower_refreshNo;3211;0;挑战关卡:今日技能免费刷新次数已经用完
+tower_rewardNo;3212;0;挑战关卡:没有奖励
+tower_layerNum;3213;0;挑战关卡:起始层id有误
+rankReward_HasReceive;3214;0;排行榜荣誉榜奖励已经领取
+evolve_canotUnlock_levelLimit;3215;0;没有达到解锁等级
+user_store_NoEquip;3301;0;不存在该装备
+user_store_NoItem;3302;0;背包
+user_store_GemCanotSet;3303;0;宝石不能被镶嵌
+user_store_NoExistGemReplace;3304;0;不存在可以替换的宝石
+user_store_SameGemCanotEquip;3305;0;同一件装备无法镶嵌多个技能相同的宝石
+user_store_GemCanotCompose;3306;0;合成宝石条件不足无法合成
+user_store_NotExistGem;3307;0;背包不存在该宝石
+user_store_XilianStoneNoEnough;3308;0;洗练石不足
+user_store_NoFindPredicate;3309;0;没有找到对应词条信息
+user_shop_NotRepeatBuy;3401;0;商品不能重复购买
+user_shop_LimitNum;3402;0;购买次数已达最大值
+user_shop_activeExpire;3403;0;活动过期
+user_shop_FreeNumLimit;3404;0;免费次数已达上限
+user_shop_buyTiliNumLimit;3405;0;购买次数已达上限
+user_shop_GuanggaoGetTiliNumLimit;3406;0;广告购买体力次数已达上限
+user_shop_GuanggaoFreeNumLimit;3407;0;广告获得次数已达上限
+user_shop_DownTsLimit;3408;0;倒计时时间限制暂时无法购买
+active_hasgetted;3501;0;奖励已经领过
+active_day7_expired;3502;0;无效的时间内不能领取奖励
+active_const_no_err;3503;1;
+active_activecode_format;3504;0;活动-激活码无效
+active_activecode_plat;3505;0;活动-激活码渠道错误.
+active_activecode_outtime;3506;0;激活码礼包已经过期
+active_activecode_used;3507;0;活动-兑换码已经使用过了
+active_time;3508;0;活动-此活动尚未开放
+task_NoExist;3601;0;任务不存在
+task_CanotPriceReviced;3602;0;不能领取该任务奖励
+task_PriceRepeatReviced;3603;0;任务奖励不能重复领取
+task_CanotReviced_ActivePointBox;3604;0;活跃点宝箱奖励领取条件不达标无法领取
+task_RepeatReviced_ActivePointBox;3605;0;活跃点宝箱奖励重复领取
+task_NotOpen_Day7Happy;3606;0;限时活动未开启不能领取任务奖励
+task_DownTsLimit;3607;0;时间校验错误请检查当前时间是否
+email_wrongid;3701;0;邮件-错误的邮件id
+email_not_found;3702;0;邮件-未找到指定邮件
+email_no_appendix;3703;0;邮件-不存在附件
+email_appendix_drawed;3704;0;邮件-附件已领取

+ 2 - 2
Gameserver/App/configs/config_tap.php

@@ -42,14 +42,14 @@ class config_tap extends config {
         $this->nosql->host = "10.88.20.16";                                     # host/ip
         $this->nosql->port = 6379;                                              # 端口
         $this->nosql->pwd = 'wanggang1985';                                     # 密钥
-        $this->nosql->db = 9;                                                   # db索引
+        $this->nosql->db = 10;                                                  # db索引
     }
 
     /**
      * MongoDB
      */
     protected function _InitMongoDB() {
-        $this->mongo->db = 'jzhj2024_tap';
+        $this->mongo->db = 'jzhj2024_tap_t2';
         $this->mongo->conn = "mongodb://ylsjMTY0LjkyLjE5NC4x:wanggang1985@10.88.0.14:23333/?authSource=ylsj2019";
         $this->mongo->conn = "mongodb://mongouser:wanggang1985@10.88.24.17:27017,10.88.24.5:27017/test?replicaSet=cmgo-bw110ojx_0&authSource=admin";
     }

+ 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-08-23 09:41:29
+ // 日期: 2024-08-29 16:08:19
 ////////////////////
 
 /**

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-07 18:24:29
+ // 日期: 2024-08-29 14:07:58
 ////////////////////
 
 

+ 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-08-13 17:40:15
+ // 日期: 2024-08-29 14:07:58
 ////////////////////
 
 

+ 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-08-13 17:40:15
+ // 日期: 2024-08-29 14:07:58
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-07 18:24:29
+ // 日期: 2024-08-29 14:07:58
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-04-29 11:24:54
+ // 日期: 2024-08-01 09:15:18
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-07 18:24:30
+ // 日期: 2024-08-29 14:07:59
 ////////////////////
 
 

+ 1 - 1
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-08-29 14:07:59
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-08-23 09:09:55
+ // 日期: 2024-08-29 14:08:00
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-07 18:24:30
+ // 日期: 2024-08-29 14:08:00
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-07-25 16:35:48
+ // 日期: 2024-08-29 14:08:00
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-21 18:13:18
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-07-19 18:05:47
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-08-20 14:05:49
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 

+ 1 - 1
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-08-20 17:35:49
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 

+ 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-19 15:26:27
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-07-24 15:35:47
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 

+ 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-19 15:26:27
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 

+ 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-07-31 16:05:48
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 

+ 16 - 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-08-06 10:05:48
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 
@@ -253,5 +253,20 @@ class sm_globalsettings
     */
     public $FirstMainTaskId;
 
+    /**
+    * @var int 技能封印按钮可用条件(已解锁技能总数达到X)  
+    */
+    public $Skill_LockBtn_EnableCount;
+
+    /**
+    * @var string 花费XX元宝将技能封印上限提升至X个  
+    */
+    public $Skill_LockBtn_BuyCount_Cost;
+
+    /**
+    * @var int 技能封印初始可用数量  
+    */
+    public $Skill_LockBtn_InitCount;
+
 }
 

+ 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-08-22 16:05:49
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 

+ 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-08-22 16:05:49
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-07 18:24:31
+ // 日期: 2024-08-29 14:08:01
 ////////////////////
 
 

+ 2 - 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-08-22 16:05:49
+ // 日期: 2024-08-29 14:28:53
 ////////////////////
 
 
@@ -45,6 +45,7 @@ class sm_item
     *  301.洗练石
     *  401.启灵石
     *  501.角色碎片
+    *  502.角色卡
     *  701. 随机礼盒 default(0) 
     */
     public $itemType;

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

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

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-08-15 16:43:50
+ // 日期: 2024-08-29 14:08:22
 ////////////////////
 
 

+ 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-08-14 10:10:24
+ // 日期: 2024-08-29 14:28:52
 ////////////////////
 
 

+ 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-08-22 14:38:17
+ // 日期: 2024-08-29 14:28:52
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-05-27 17:24:24
+ // 日期: 2024-08-01 09:15:20
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-05-27 17:21:59
+ // 日期: 2024-08-01 09:15:20
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-07 18:24:33
+ // 日期: 2024-08-29 14:08:16
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-04-17 10:49:26
+ // 日期: 2024-08-01 09:15:21
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-07 18:24:33
+ // 日期: 2024-08-29 14:08:16
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-03-20 15:21:17
+ // 日期: 2024-08-01 09:15:21
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-03-20 15:21:17
+ // 日期: 2024-08-01 09:15:21
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-03-20 15:21:18
+ // 日期: 2024-08-01 09:15:21
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-03-20 15:21:18
+ // 日期: 2024-08-01 09:15:21
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-04-24 14:44:52
+ // 日期: 2024-08-01 09:15:21
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-03-20 15:21:18
+ // 日期: 2024-08-01 09:15:22
 ////////////////////
 
 

+ 10 - 8
Gameserver/App/model/Const/sm_skills.php

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-08-22 18:05:49
+ // 日期: 2024-08-29 14:28:52
 ////////////////////
 
 
@@ -177,11 +177,6 @@ class sm_skills
     */
     public $immediate_hp;
 
-    /**
-    * @var Int32 解锁(成就Id,0无需解锁) 2023.11.20  
-    */
-    public $unlock_acc_id;
-
     /**
     * @var Int32 稀有度(影响三选一出现几率) 2023.11.20  
     */
@@ -234,11 +229,18 @@ class sm_skills
     public $emit_number;
 
     /**
-    * @var String 技能解锁条件
+    * @var Int32 解锁顺序(从小到大)2024.8.26  
+    */
+    public $unlock_order;
+
+    /**
+    * @var String 技能解锁条件(多个解锁条件使用逗号分隔)
+    *  类型0: 默认解锁; 举例 0:0 默认解锁, 不在法术书界面展示, 0:1 默认解锁, 在法术书界面展示
     *  类型1:通关指定关卡解锁技能;例如通关第一关:1:1(类型+第X关)
     *  类型2:解锁指定人物解锁技能:例如解锁孙悟空:2:1001(类型+角色唯一ID)
     *  类型3:玩家失败次数解锁技能:例如玩家失败一次解锁技能3:1(类型+累计失败次数)
-    *  类型4:不解锁技能 4:9999  
+    *  类型4:不解锁技能 4:9999
+    *  类型5: 玩家等级解锁, 玩家等级达到指定值(比如5级),配置1:5(玩家等级)  
     */
     public $unlock_acc_id_new;
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-08-22 19:31:45
+ // 日期: 2024-08-29 14:08:20
 ////////////////////
 
 

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

@@ -3,7 +3,7 @@
  // 由CodeGenerator创建。
  // Copyright (C) gwang (wanggangzero@qq.com), Loyalsoft@sjz Inc
  // author: gwang 
- // 日期: 2024-06-20 17:00:35
+ // 日期: 2024-08-01 09:15:23
 ////////////////////
 
 

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

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

+ 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-08-22 19:35:49
+ // 日期: 2024-08-29 16:08:51
 ////////////////////
 
 

+ 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-08-22 19:35:49
+ // 日期: 2024-08-29 16:08:51
 ////////////////////
 
 

+ 43 - 21
Gameserver/App/model/User/Info_PrivateState.php

@@ -28,15 +28,14 @@ class Info_PrivateState extends Object_ext {
      */
     #[ArrayType]
     public $dailyShopReceived = array();
-    
+
     /**
      * 每日商店广告次数
      * @var type
      */
     public $dailyShop_GuangGaoNum = 0;
-
     public $dailyShop_GuangGaoTs = 0;
-    
+
     /**
      * 每日随机到的信息
      * @var type
@@ -95,7 +94,7 @@ class Info_PrivateState extends Object_ext {
      */
     public $junbeiShop_AllNumRecord = null;
     public $junbeiShop_XinYuan = null;
-    
+
     /**
      * 登录天数
      * @var array[]
@@ -108,13 +107,13 @@ class Info_PrivateState extends Object_ext {
      */
     #[ArrayType]
     public $day7_drawed = array();
-    
+
     /**
      * 7日 累计
      * @var type
      */
     public $day7_accumulate = 0;
-    
+
     /**
      * 7日 累计奖励领取记录
      * @var type
@@ -145,13 +144,12 @@ class Info_PrivateState extends Object_ext {
      * @var type
      */
     public $buyNum_ShopBoxBright = 0;
-    
+
     /**
      * 金币商城第一个冷却时间记录
      * @var type
      */
     public $goldShop_CoolDownTs_1 = 0;
-
     public $goldShop_GuangGaoNum = 0;
 
     /**
@@ -159,24 +157,25 @@ class Info_PrivateState extends Object_ext {
      * @var type
      */
     public $goldShop_CoolDownTs_2 = 0;
+
     /**
      * 金币商城第三个冷却时间记录
      * @var type
      */
     public $goldShop_CoolDownTs_3 = 0;
-    
+
     /**
      * 月卡
      * @var type
      */
     //public $monthCardShop_Received = array();
-    
+
     /**
-     * 资源月卡购买时间记录 
+     * 资源月卡购买时间记录
      * @var int
      */
     public $monthCardShop_ts = 0;
-    
+
     /**
      * 特权月卡购买时间记录
      * @var int
@@ -194,7 +193,7 @@ class Info_PrivateState extends Object_ext {
      * @var type
      */
     public $buyTiliNum = 0;
-    
+
     /**
      *  广告得体力倒计时
      * @var type
@@ -204,6 +203,7 @@ class Info_PrivateState extends Object_ext {
     /*
      * 通关荣誉榜奖励领取记录
      */
+
     #[ArrayType]
     public $rankReward_drawed_MainGate = array();
 
@@ -213,13 +213,13 @@ class Info_PrivateState extends Object_ext {
      */
     #[ArrayType]
     public $rankReward_drawed_fightPower = array();
-    
+
     /**
      * @var array[] 领取激活码记录
      */
     #[ArrayType]
     public $usedTokens = array();
-    
+
     /**
      * 读公告记录
      * @var array()
@@ -231,13 +231,13 @@ class Info_PrivateState extends Object_ext {
      * 0:没有红点 1:有红点
      */
     public $redTip_Mail = 0;
-    
+
     /**
      * 关卡榜里的荣誉榜红点
      * @var type
      */
     public $redTip_RewardMainGateRank = 0;
-    
+
     /**
      * 战力榜里的荣誉榜红点
      * @var type
@@ -250,16 +250,34 @@ class Info_PrivateState extends Object_ext {
      */
     #[ArrayType]
     public $funUnlockRecord = array();
-    
+
     /**
      * 解锁的技能记录
      * @var array()
      */
     #[ArrayType]
     public $skillUnlockRecord = array();
-    
+
+    /**
+     * @var int 技能锁定数量(解锁后)
+     */
+    public $skillLockerNumber = 0;
+
+    /**
+     * @var array (解锁后)封印技能记录
+     */
+    #[ArrayType]
+    public $skillReLocked = array();
+
+    /**
+     * @var int 玩家升级前等级
+     */
     public $oldLevel = 0;
-    
+
+    /**
+     *
+     * @var int 玩家升级后等级
+     */
     public $upLevel = 0;
 
     /**
@@ -267,7 +285,7 @@ class Info_PrivateState extends Object_ext {
      * @var type
      */
     public $challange_RedMask = 0;
-    
+
     public function initialize() {
         $this->junbeiShopNumRecord = new \stdClass();
         $this->junbeiShop_AllNumRecord = new \stdClass();
@@ -281,9 +299,13 @@ class Info_PrivateState extends Object_ext {
                 $this->junbeiShop_AllNumRecord = new \stdClass();
                 $this->junbeiShop_XinYuan = new \stdClass();
                 $this->supplyBichuDic = new \stdClass();
+                $this->skillLockerNumber = glc()->Skill_LockBtn_InitCount;       # 初始值
             }
         } else {
             parent::__construct($arg);
+            if ($this->skillLockerNumber < glc()->Skill_LockBtn_InitCount) {
+                $this->skillLockerNumber = glc()->Skill_LockBtn_InitCount;       # 初始值
+            }
         }
     }
 }

+ 13 - 13
Gameserver/App/model/User/Info_UserBase.php

@@ -113,7 +113,7 @@ class Info_UserBase extends Object_ext {
         $this->gold = glc()->Init_Player_gold;
         $this->cash = glc()->Init_Player_cash;
         $this->xp = 0;
-            
+
         $this->maxXp = GameConfig::player_level_getItem(2)->xp_need;
 
         $this->level = 1;
@@ -134,7 +134,7 @@ class Info_UserBase extends Object_ext {
      */
     function Add_tili($amt) {
         my_Assert($amt >= 0, "体力amt小于0");
-        //ActiveProc::ChangeTili($amt);       
+        //ActiveProc::ChangeTili($amt);
         for ($i = 0; $i < $amt; $i++) {
             if ((now() - $this->tili_ts) / glc()->tili_RecoverTS < $this->GetTili_RecoverrMax()) {
                 $this->tili_ts -= glc()->tili_RecoverTS;
@@ -143,17 +143,17 @@ class Info_UserBase extends Object_ext {
             }
         }
     }
-    
+
     /**
-     * 体力恢复的最大值(购买或者邮件领取的可以超出,超出后体力恢复失效)  
+     * 体力恢复的最大值(购买或者邮件领取的可以超出,超出后体力恢复失效)
      */
     function GetTili_RecoverrMax() {
         $maxTili = glc()->tili_RecoverrMax;
         $monthTs = 30 * 24 * 60 * 60;
-        if(ctx()->privateState->honourCardShop_ts > 0 && now() - ctx()->privateState->honourCardShop_ts < $monthTs){
+        if (ctx()->privateState->honourCardShop_ts > 0 && now() - ctx()->privateState->honourCardShop_ts < $monthTs) {
             $maxTili += glc()->tili_RecoverrMax_Add_HonourCard;
         }
-        
+
         return $maxTili;
     }
 
@@ -174,7 +174,7 @@ class Info_UserBase extends Object_ext {
      * @return bool 成功与否
      */
     function Consume_tili($amt) {
-        if ($amt >= 0) {          
+        if ($amt >= 0) {
             TaskProc::OnAccumulateTiliNum($amt);
             $cpt = glc()->tili_RecoverTS;
             if ($this->tili > 0) {
@@ -199,7 +199,7 @@ class Info_UserBase extends Object_ext {
      * @return int 计算当前可用体力值
      */
     function CurTili() {
-        $maxTili = $this->GetTili_RecoverrMax();       
+        $maxTili = $this->GetTili_RecoverrMax();
         $rec = (now() - $this->tili_ts) / glc()->tili_RecoverTS;
         $rec = $maxTili < $rec ? $maxTili : $rec;
         $t = $this->tili + $rec;
@@ -253,7 +253,7 @@ class Info_UserBase extends Object_ext {
                 return true;
             }
         }
-        
+
         return false;
     }
 
@@ -271,15 +271,15 @@ class Info_UserBase extends Object_ext {
         while ($this->xp >= $cfgLVs->$nextLevel->xp_need) {                     # 超过升级所需经验
             if ($this->level < glc()->Game_MaxPlayerLevel) {                    # 如果未到达最大等级
                 StoreProc::AddMultiItemInStore(GameConfig::player_level_getItem($this->level)->reward, Enum_StoreSourceType::AddExp);
-                $this->level++;               
+                $this->level++;
                 $this->xp -= $cfgLVs->$nextLevel->xp_need;
                 $curLevel = $this->level;
-                $nextLevel = $curLevel + 1;                              
+                $nextLevel = $curLevel + 1;
                 my_Assert(CommUtil::isPropertyExists($cfgLVs, $nextLevel), ErrCode::err_const_no); // "取英雄升级常量数据失败." . $nextLevel . "级");
                 $this->maxXp = $cfgLVs->$nextLevel->xp_need;
-                
+
                 TaskProc::OnUserLevel_X($this->level);
-                
+                FightProc::skillUnlock_userLevel($this->level);                 # 等级解锁技能
 //                StatProc::UserLevel($nowlv);                                  # 等级统计
             } else {                                                            # 如果已到达最大等级则仅补齐缺失的经验即可
                 $this->xp = $this->maxXp;                                       # 经验不能超过最大值

+ 69 - 1
Gameserver/App/process/FightProc.php

@@ -59,11 +59,52 @@ class FightProc {
                 return self::MainTZGetReward();
             case CmdCode::fight_ResetChallange_RedMask:                         # 6821 每天重置挑战红点
                 return self::ResetChallange_RedMask();
+            case CmdCode::fight_lockSkill:                                      # 6822 封印/解封技能
+                return self::LockSkill();
+            case CmdCode::fight_buyLockSkillCount:                              # 6823 购买更多封印数量
+                return self::BuySkillLockCount();
             default:
                 Err(ErrCode::cmd_err);
         }
     }
 
+    /**
+     * 6823 购买更多技能封印数量
+     */
+    static function BuySkillLockCount() {
+        list($n) = req()->paras;                                                # 解锁数量
+        my_Assert($n > ctx()->privateData()->skillLockerNumber, ErrCode::paras_err); # 参数异常
+        $amt = 0;
+        foreach (explode(",", glc()->Skill_LockBtn_BuyCount_Cost) as $str) {
+            list($cnt, $cost) = explode(':', $str);
+            if ($cnt == $n) {
+                $amt = $cost;
+                break;
+            }
+        }
+        my_Assert($amt > 0, "消耗元宝数量配置出错!");
+        my_Assert(ctx()->base()->Consume_Cash($amt), ErrCode::notenough_cash_msg);
+        ctx()->privateData()->skillLockerNumber = $cnt;
+        UserProc::updateUserInfo();
+        return Resp::ok();
+    }
+
+    /**
+     * 6822 封印/解封技能
+     */
+    static function LockSkill() {
+        list($skillTypeId) = req()->paras;                                      # 技能类型ID
+        $pri = ctx()->privateData();
+//        my_Assert(in_array($skillTypeId, $pri->skillUnlockRecord), "技能尚未解锁!");
+        if (in_array($skillTypeId, $pri->skillReLocked)) {                      # 解封
+            StlUtil::arrayRemove($pri->skillReLocked, $skillTypeId);
+        } else {                                                                # 封印
+            my_Assert(count($pri->skillReLocked) < $pri->skillLockerNumber, "超出封印上限!");
+            $pri->skillReLocked[] = $skillTypeId;
+        }
+        return Resp::ok();
+    }
+
     /**
      * 6821 每天重置挑战红点
      */
@@ -685,7 +726,7 @@ class FightProc {
             'newLevel' => $newLevel,
             'funUnlockRecord' => ctx()->privateState->funUnlockRecord,
             'skillUnlockRecord' => ctx()->privateState->skillUnlockRecord,
-            'heros'=> ctx()->heros,
+            'heros' => ctx()->heros,
         );
         return Resp::ok($ret);
     }
@@ -725,6 +766,8 @@ class FightProc {
         }
     }
 
+// <editor-fold defaultstate="collapsed" desc="技能解锁">
+
     /**
      * 检测技能解锁的 1 关卡解锁,游玩到一定关卡解锁技能
      * @param type $resultType
@@ -818,6 +861,31 @@ class FightProc {
         }
     }
 
+    /**
+     * 玩家等级解锁技能
+     * @param type $curLevel
+     */
+    static function skillUnlock_userLevel($curLevel) {
+        $dic = GameConfig::skills();
+        foreach ($dic as $id => $mo) {
+            if ($mo->unlock_acc_id_new == null) {
+                continue;
+            }
+
+            $strList = explode(':', $mo->unlock_acc_id_new);
+            $unlockType = $strList[0];
+            $unlockId = $strList[1];
+
+            if ($unlockType != 5) {                                             // 玩家等级
+                continue;
+            }
+            if ($unlockId == $curLevel && !in_array($mo->typeId, ctx()->privateState->skillUnlockRecord)) {
+                ctx()->privateState->skillUnlockRecord[] = $mo->typeId;
+            }
+        }
+    }
+
+// </editor-fold>
 // <editor-fold defaultstate="collapsed" desc="排行榜">
 
     /**

+ 1 - 1
Gameserver/App/util/DebugHelper.php

@@ -51,7 +51,7 @@ class DebugHelper {
                 Err($err, $msg);
                 CLog::err("断言失败!", $msg);
             } else {                                                            # 不是int值,则当做普通错误信息来处理
-                Err(ErrCode::err_assert, $err);
+                Err(ErrCode::msg_assert, $err);
                 CLog::err("断言失败!", $err);
             }
         }