Эх сурвалжийг харах

1. 补充查询榜一总战力的接口.

gwang 5 жил өмнө
parent
commit
68e7c325a1

+ 4 - 0
Gameserver/Amfphp/base/CmdCode.php

@@ -550,6 +550,10 @@ class CmdCode {
      */
     const rank_fpower_getRanking = 6603;
 
+    /**
+     * 排行榜 - 查询战斗力榜最大值
+     */
+    const rank_fpower_getTop1Power = 6604;
     // 
     // </editor-fold>
     //

+ 6 - 0
Gameserver/Amfphp/base/ErrCode.php

@@ -933,6 +933,12 @@ class ErrCode {
      * 排行榜 - 战斗力解锁条件尚未达成
      */
     const rank_fpower_unlocked = 4101;
+
+    /**
+     * 排行榜 - 奖励已经领取了
+     */
+    const rank_reward_hasgetted = 4102;
+
 // </editor-fold>
 // 
 // ------------神兽碎片融合模块错误码---------

+ 6 - 0
Gameserver/Amfphp/model/User/PrivateStateModel.php

@@ -166,6 +166,12 @@ class PrivateStateModel extends Object_ext {
      */
     public $dailyDrawedTiliGift = array();
 
+    /**
+     * 排行榜, 战力突破奖领取记录
+     * @var array 
+     */
+    public $RankFpowerRewardRec = array();
+
 // <editor-fold defaultstate="collapsed" desc="    初始化    ">
 
     /**

+ 29 - 8
Gameserver/Amfphp/process/RankProc.php

@@ -18,20 +18,20 @@ class RankProc {
      */
     static function procMain($req) {
         switch ($req->cmd) {
-            case CmdCode::rank_fpower_getRank:                                  # 拉取战斗力榜单信息
+            case CmdCode::rank_fpower_getRank:                                  # 6601 拉取战斗力榜单信息
                 return self::GetFpowerRank($req);
-            case CmdCode::rank_fpower_drawReward:                               # 领取战斗力榜单突破奖励
-
-                break;
-            case CmdCode::rank_fpower_getRanking:                               # 查询玩家战斗力排名
+            case CmdCode::rank_fpower_drawReward:                               # 6602 领取战斗力榜单突破奖励
+                return self::DrawFpowerBreakThrougReward($req);
+            case CmdCode::rank_fpower_getRanking:                               # 6603 查询玩家战斗力排名
                 return self::GetRankingOfUserFightPower($req);
+
             default:
                 return Resp::err(ErrCode::cmd_err);
         }
     }
 
     /**
-     * 拉取战斗力榜单数据
+     * [6601]拉取战斗力榜单数据
      * @param req $req
      */
     static function GetFpowerRank($req) {
@@ -61,7 +61,7 @@ class RankProc {
     }
 
     /**
-     * 领取战斗力突破奖励
+     * [6602]领取战斗力突破奖励
      * @param req $req
      */
     static function DrawFpowerBreakThrougReward($req) {
@@ -77,13 +77,17 @@ class RankProc {
         if ($_power < $rewardCondition) {                                       # 不满足领取条件
             return Resp::err(ErrCode::rank_fpower_unlocked);
         }
+        if (in_array($rewardCondition, $req->userInfo->game->privateState->RankFpowerRewardRec)) {
+            return Resp::err(ErrCode::rank_reward_hasgetted);
+        }
+
         $rewardMo = GameConfig::rankreward_fpower_getItem($rewardCondition);    # 奖励mo
         StoreProc::AddMultiItemInStore($req, $rewardMo->reward, $req->userInfo->game); # 发放奖励字符串.
         return Resp::ok(true);
     }
 
     /**
-     * 查询玩家战斗力排名
+     * [6603]查询玩家战斗力排名
      * @param req $req
      */
     static function GetRankingOfUserFightPower($req) {
@@ -97,4 +101,21 @@ class RankProc {
         return Resp::ok($ret);                                                  # 返回  
     }
 
+    /**
+     * [6604] 排行榜查询战斗力最高值
+     * @param Req $req
+     */
+    static function RankFpowerGetTop1Power($req) {
+        $key = MemKey_GameRun::Game_FightPowerRank_zset($req->zoneid);          # redis key
+        $no1 = $req->mem->zrevrange($key, 0, 0, true);                          # 取第一名信息
+        $_power = 0;
+        $_uid = "";
+        foreach ($no1 as $uid => $power) {                                      # 
+            $_power = $power;                                                   # 榜一的战力值
+            $_uid = $uid;
+            break;
+        }
+        return Resp::ok(array('uid' => $_uid, "power" => $_power));
+    }
+
 }

+ 0 - 12
Gameserver/nbproject/private/private.xml

@@ -12,19 +12,7 @@
     </editor-bookmarks>
     <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
         <group>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/StatProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/HeroDiscussProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/ActiveProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/HeroProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/FightProc/PVPProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/FightProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/StoreProc.php</file>
             <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/RankProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/PayProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/process/TaskProc.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/Services/AppServer.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/base/MemKey_GameRun.php</file>
-            <file>file:/E:/www/ylsj2019/Gameserver/Amfphp/test.php</file>
         </group>
     </open-files>
 </project-private>