|
@@ -24,18 +24,22 @@ class RankProc {
|
|
|
return self::DrawFpowerBreakThrougReward($req);
|
|
|
case CmdCode::rank_fpower_getRanking: # 6603 查询玩家战斗力排名
|
|
|
return self::GetRankingOfUserFightPower($req);
|
|
|
+
|
|
|
case CmdCode::rank_getTop1: # 6604 查询top1信息
|
|
|
return self::RankGetAllTop1($req);
|
|
|
+
|
|
|
case CmdCode::rank_passgate_getrank: # 6605 查询通关榜榜单信息
|
|
|
return self::GetPassgateRank($req);
|
|
|
+ case CmdCode::rank_passgate_drawReward: # 6606 领取通关榜突破奖励
|
|
|
+ return self::DrawPassgateReward($req);
|
|
|
|
|
|
default:
|
|
|
return Resp::err(ErrCode::cmd_err);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-//
|
|
|
-// <editor-fold defaultstate="collapsed" desc=" 战斗力榜 ">
|
|
|
+ //
|
|
|
+ // <editor-fold defaultstate="collapsed" desc=" 战斗力榜 ">
|
|
|
|
|
|
/**
|
|
|
* [6601]拉取战斗力榜单数据
|
|
@@ -71,8 +75,6 @@ class RankProc {
|
|
|
'ranking' => my_null_default($user_ranking, 100) + 1, # # 修正下排名(zset中是从零开始的)
|
|
|
'score' => my_null_default($user_score, 0)
|
|
|
));
|
|
|
-//
|
|
|
-// return Resp::ok(array('rankInfo' => $userInfos)); # 返回值
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -95,9 +97,11 @@ class RankProc {
|
|
|
if (in_array($rewardCondition, $req->userInfo->game->privateState->RankFpowerRewardRec)) { # 检查是否已经领取过了
|
|
|
return Resp::err(ErrCode::rank_reward_hasgetted);
|
|
|
}
|
|
|
+ $req->userInfo->game->privateState->RankFpowerRewardRec[] = $rewardCondition; # 添加领取记录
|
|
|
|
|
|
$rewardMo = GameConfig::rankreward_fpower_getItem($rewardCondition); # 奖励mo
|
|
|
StoreProc::AddMultiItemInStore($req, $rewardMo->reward, $req->userInfo->game); # 发放奖励字符串.
|
|
|
+ UserProc::updateUserInfo(); # 流程结束,回写玩家数据
|
|
|
return Resp::ok(true);
|
|
|
}
|
|
|
|
|
@@ -148,7 +152,37 @@ class RankProc {
|
|
|
}
|
|
|
|
|
|
// </editor-fold>
|
|
|
-//
|
|
|
+ //
|
|
|
+ // <editor-fold defaultstate="collapsed" desc=" 通关帮 ">
|
|
|
+
|
|
|
+ /**
|
|
|
+ * [6606] 领取通关榜突破奖励
|
|
|
+ * @param req $req
|
|
|
+ */
|
|
|
+ static function DrawPassgateReward($req) {
|
|
|
+ $rewardCondition = $req->paras[0]; # 领取奖励的档次条件(战斗力数值)
|
|
|
+
|
|
|
+ $privateState = $req->userInfo->game->privateState;
|
|
|
+ $key = MemKey_GameRun::Game_Rank_passgate_zset($req->zoneid); # redis key
|
|
|
+ $no1 = $req->mem->zrevrange($key, 0, 0, true); # 取第一名信息
|
|
|
+ $score = 0;
|
|
|
+ foreach ($no1 as $uid => $_score) { #
|
|
|
+ $score = $_score; # 状元的通关记录
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if ($score < $rewardCondition) { # 不满足领取条件
|
|
|
+ return Resp::err(ErrCode::rank_passsgate_unlocked);
|
|
|
+ }
|
|
|
+ if (in_array($rewardCondition, $privateState->RankPassGateRewardRec)) { # 检查是否已经领取过了
|
|
|
+ return Resp::err(ErrCode::rank_reward_hasgetted);
|
|
|
+ }
|
|
|
+ $privateState->RankPassGateRewardRec[] = $rewardCondition; # 添加领取记录
|
|
|
+
|
|
|
+ $rewardMo = GameConfig::rankreward_fpower_getItem($rewardCondition); # 奖励mo
|
|
|
+ StoreProc::AddMultiItemInStore($req, $rewardMo->reward, $req->userInfo->game); # 发放奖励字符串.
|
|
|
+ UserProc::updateUserInfo(); # 流程结束,回写玩家数据
|
|
|
+ return Resp::ok(true);
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* [6605] 查询通关榜榜单信息
|
|
@@ -203,6 +237,8 @@ class RankProc {
|
|
|
return Resp::ok($ret); # 返回
|
|
|
}
|
|
|
|
|
|
+ // </editor-fold>
|
|
|
+ //
|
|
|
// <editor-fold defaultstate="collapsed" desc=" 辅助方法 ">
|
|
|
|
|
|
/**
|