|
@@ -138,8 +138,8 @@ class FightProc {
|
|
|
'prizeArr' => $prizeArr,
|
|
|
'store' => ctx()->store,
|
|
|
'task' => ctx()->task,
|
|
|
- 'reward'=> StoreProc::$reward,
|
|
|
- 'reward_Gem'=> StoreProc::$reward_Gem,
|
|
|
+ 'reward' => StoreProc::$reward,
|
|
|
+ 'reward_Gem' => StoreProc::$reward_Gem,
|
|
|
);
|
|
|
return Resp::ok($ret);
|
|
|
}
|
|
@@ -322,8 +322,8 @@ class FightProc {
|
|
|
StoreProc::AddMultiItemInStore($layerMo->rewards); # 发放奖励
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- TaskProc::OnPassLayer_ChallengeGate($finalLayer-1);
|
|
|
+
|
|
|
+ TaskProc::OnPassLayer_ChallengeGate($finalLayer - 1);
|
|
|
ctx()->gates()->TowerGateInfo()->CurLayer = $finalLayer;
|
|
|
UserProc::updateUserInfo();
|
|
|
$ret = array(
|
|
@@ -454,7 +454,7 @@ class FightProc {
|
|
|
self::IsAchievedMainGate_PassReward($maxGateId);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
TaskProc::OnPassGate_X($gateId); # 刷新任务进度: 通关第X关
|
|
|
|
|
|
if (Ins_GateInfo::GateTypeFromId($gateId) == Enum_GateType::MainStoryGate) {
|
|
@@ -476,10 +476,10 @@ class FightProc {
|
|
|
ctx()->base()->Add_Exp($waveMo->rewardExp); # 指挥官经验
|
|
|
ctx()->base()->Add_Gold($waveMo->rewardGold); # 金币奖励
|
|
|
//$pickups .= ";1," . $gold + $waveMo->rewardGold;
|
|
|
-
|
|
|
- $str = "1," . $gold + $waveMo->rewardGold;
|
|
|
+
|
|
|
+ $str = "1," . $gold + $waveMo->rewardGold;
|
|
|
StoreProc::AddMultiItemInStore($str);
|
|
|
-
|
|
|
+
|
|
|
# 图纸奖励: 数量min-max, 部位随机
|
|
|
if (strlen($waveMo->rewardTuZhi) > 0 && str_contains($waveMo->rewardTuZhi, '-')) {
|
|
|
list($tz_min, $tz_max) = explode('-', $waveMo->rewardTuZhi); # 图纸数量
|
|
@@ -514,7 +514,7 @@ class FightProc {
|
|
|
//StoreProc::PutGemInStore($gemId); # 发放宝石并退出本次投色子
|
|
|
//$pickups .= ";$gemId,1";
|
|
|
StoreProc::AddMultiItemInStore("$gemId,1");
|
|
|
-
|
|
|
+
|
|
|
break;
|
|
|
}
|
|
|
$l += $item['p']; # 累计到下一段
|
|
@@ -522,7 +522,7 @@ class FightProc {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- TaskProc::OnFightNumMainGate();
|
|
|
+ TaskProc::OnFightNumMainGate();
|
|
|
TaskProc::OnKillCommonNumMonster($killMonsterNum);
|
|
|
TaskProc::OnKillleaderNumMonster($killBossNum);
|
|
|
|
|
@@ -535,9 +535,8 @@ class FightProc {
|
|
|
'gold' => $gold + $waveMo->rewardGold,
|
|
|
'exp' => $waveMo->rewardExp,
|
|
|
//'rewardStr' => $pickups
|
|
|
- 'reward'=> StoreProc::$reward,
|
|
|
- 'reward_Gem'=> StoreProc::$reward_Gem,
|
|
|
-
|
|
|
+ 'reward' => StoreProc::$reward,
|
|
|
+ 'reward_Gem' => StoreProc::$reward_Gem,
|
|
|
);
|
|
|
return Resp::ok($ret);
|
|
|
}
|
|
@@ -615,25 +614,25 @@ class FightProc {
|
|
|
public static function Ranking_MainGateIndex($maxGateIndex) {
|
|
|
$memKey = MemKey_GameRun::Rank_MainGateIndex_Zone_zset(req()->zoneid);
|
|
|
$mem = gMem();
|
|
|
-
|
|
|
+
|
|
|
$uid = req()->uid;
|
|
|
- $score = self::GetRankScoreUid($uid, 1);
|
|
|
- if($maxGateIndex > $score){
|
|
|
- $arr = array();
|
|
|
- $arr["$uid"] = self::createScore($maxGateIndex);
|
|
|
+ $score = self::GetRankScoreUid($uid, 1);
|
|
|
+ if ($maxGateIndex > $score) {
|
|
|
+ $arr = array();
|
|
|
+ $arr["$uid"] = self::createScore($maxGateIndex);
|
|
|
$mem->zadd($memKey, $arr);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
$length = $mem->zlen($memKey);
|
|
|
if ($length > glc()->Rank_MainGateIndex_OnListRank) {
|
|
|
$num = $length - glc()->Rank_MainGateIndex_OnListRank;
|
|
|
$mem->zremrangebyrank($memKey, 0, $num - 1);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public static function createScore($score) {
|
|
|
- if($score > 0){
|
|
|
- $newScore = $score.'.'.(9999999999 - now());
|
|
|
+ if ($score > 0) {
|
|
|
+ $newScore = $score . '.' . (9999999999 - now());
|
|
|
return $newScore;
|
|
|
}
|
|
|
return 0;
|
|
@@ -646,15 +645,15 @@ class FightProc {
|
|
|
public static function Ranking_FightPower() {
|
|
|
$memKey = MemKey_GameRun::Rank_FightPower_Zone_zset(req()->zoneid);
|
|
|
$mem = gMem();
|
|
|
-
|
|
|
+
|
|
|
$uid = req()->uid;
|
|
|
-
|
|
|
- $score = self::GetRankScoreUid($uid, 2);
|
|
|
+
|
|
|
+ $score = self::GetRankScoreUid($uid, 2);
|
|
|
$power = self::countUserFightPower();
|
|
|
if ($power > $score) {
|
|
|
- $arr = array();
|
|
|
- $arr["$uid"] = self::createScore($power);
|
|
|
- $mem->zadd($memKey, $arr);
|
|
|
+ $arr = array();
|
|
|
+ $arr["$uid"] = self::createScore($power);
|
|
|
+ $mem->zadd($memKey, $arr);
|
|
|
self::IsAchievedFightPower_PassReward($power);
|
|
|
}
|
|
|
|
|
@@ -667,16 +666,16 @@ class FightProc {
|
|
|
|
|
|
public static function GetRankScoreUid($uid_rank, $type) {
|
|
|
if ($type == 1) {
|
|
|
- $score = gMem()->zscore(MemKey_GameRun::Rank_MainGateIndex_Zone_zset(req()->zoneid), $uid_rank);
|
|
|
+ $score = gMem()->zscore(MemKey_GameRun::Rank_MainGateIndex_Zone_zset(req()->zoneid), $uid_rank);
|
|
|
} else {
|
|
|
- $score = gMem()->zscore(MemKey_GameRun::Rank_FightPower_Zone_zset(req()->zoneid), $uid_rank);
|
|
|
+ $score = gMem()->zscore(MemKey_GameRun::Rank_FightPower_Zone_zset(req()->zoneid), $uid_rank);
|
|
|
}
|
|
|
-
|
|
|
- if($score == null){
|
|
|
+
|
|
|
+ if ($score == null) {
|
|
|
$score = 0;
|
|
|
}
|
|
|
-
|
|
|
- return intval($score);
|
|
|
+
|
|
|
+ return intval($score);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -688,31 +687,23 @@ class FightProc {
|
|
|
|
|
|
$selfIsHasRank = 0; //本人是否上榜 0未上榜没有排名 1上榜则selfRank就是排名
|
|
|
$selfExtraInfo = 0;
|
|
|
- $isExistFinishReward = false;
|
|
|
+ $isExistFinishReward = 0;
|
|
|
if ($type == 1) {
|
|
|
$list = gMem()->zrevrange(MemKey_GameRun::Rank_MainGateIndex_Zone_zset(req()->zoneid), 0, glc()->Rank_MainGateIndex_OnListRank, true);
|
|
|
$selfExtraInfo = ctx()->gates->maxPassGateNumId();
|
|
|
|
|
|
- $memKey = MemKey_GameRun::RankReward_MainGateIndex_Zone_hash(req()->zoneid);
|
|
|
- $dic = gMem()->hgetall($memKey);
|
|
|
- foreach ($dic as $gateId => $ins_rank) {
|
|
|
- if (!in_array($gateId, ctx()->privateState->rankReward_drawed_MainGate)) {
|
|
|
- $isExistFinishReward = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+ $isExistFinishReward = self::isExistNoDrawed_MainGate();
|
|
|
} else {
|
|
|
$list = gMem()->zrevrange(MemKey_GameRun::Rank_FightPower_Zone_zset(req()->zoneid), 0, glc()->Rank_FightPower_OnListRank, true);
|
|
|
$selfExtraInfo = self::countUserFightPower();
|
|
|
|
|
|
- $memKey = MemKey_GameRun::RankReward_FightPower_Zone_hash(req()->zoneid);
|
|
|
- $dic = gMem()->hgetall($memKey);
|
|
|
- foreach ($dic as $fightPower => $ins_rank) {
|
|
|
- if (!in_array($fightPower, ctx()->privateState->rankReward_drawed_fightPower)) {
|
|
|
- $isExistFinishReward = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+ $isExistFinishReward = self::isExistNoDrawed_FightPower();
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($isExistFinishReward == 1) {
|
|
|
+ $isExistFinishReward = true;
|
|
|
+ } else {
|
|
|
+ $isExistFinishReward = false;
|
|
|
}
|
|
|
|
|
|
$selfRank = null;
|
|
@@ -729,7 +720,7 @@ class FightProc {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if ($selfRank == null) {
|
|
|
+ if ($selfRank == null) {
|
|
|
$selfRank = self::initOtherUidRankInfo(req()->uid, $selfExtraInfo, $type);
|
|
|
}
|
|
|
|
|
@@ -761,12 +752,12 @@ class FightProc {
|
|
|
if ($lv == null) {
|
|
|
$lv = 0;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
$ins_rank->rank = $lv + 1;
|
|
|
$ins_rank->uid = $uid;
|
|
|
$userInfo = UserProc::getUserGame(req()->zoneid, $uid);
|
|
|
$ins_rank->name = $userInfo->baseInfo->name;
|
|
|
- $ins_rank->headImg = $userInfo->baseInfo->headImg;
|
|
|
+ $ins_rank->headImg = $userInfo->baseInfo->headImg;
|
|
|
//$ret = intval($score);
|
|
|
// if(!$isToRank){
|
|
|
// $ret = $score;
|
|
@@ -835,6 +826,36 @@ class FightProc {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public static function isExistNoDrawed_MainGate() {
|
|
|
+ $isExistFinishReward = 0;
|
|
|
+ $memKey = MemKey_GameRun::RankReward_MainGateIndex_Zone_hash(req()->zoneid);
|
|
|
+ $dic = gMem()->hgetall($memKey);
|
|
|
+ foreach ($dic as $gateId => $ins_rank) {
|
|
|
+ if (!in_array($gateId, ctx()->privateState->rankReward_drawed_MainGate)) {
|
|
|
+ $isExistFinishReward = 1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ ctx()->privateState->redTip_RewardMainGateRank = $isExistFinishReward;
|
|
|
+ return $isExistFinishReward;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static function isExistNoDrawed_FightPower() {
|
|
|
+ $isExistFinishReward = 0;
|
|
|
+ $memKey = MemKey_GameRun::RankReward_FightPower_Zone_hash(req()->zoneid);
|
|
|
+ $dic = gMem()->hgetall($memKey);
|
|
|
+ foreach ($dic as $fightPower => $ins_rank) {
|
|
|
+ if (!in_array($fightPower, ctx()->privateState->rankReward_drawed_fightPower)) {
|
|
|
+ $isExistFinishReward = 1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ ctx()->privateState->redTip_RewardFightPowerRank = $isExistFinishReward;
|
|
|
+ return $isExistFinishReward;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 6813
|
|
|
* @return type
|
|
@@ -895,8 +916,9 @@ class FightProc {
|
|
|
ctx()->privateState->rankReward_drawed_MainGate[] = $gateId;
|
|
|
}
|
|
|
|
|
|
+ $tag = self::isExistNoDrawed_MainGate();
|
|
|
UserProc::updateUserInfo();
|
|
|
- $ret = array();
|
|
|
+ $ret = array('redTip' => $tag,);
|
|
|
return Resp::ok($ret);
|
|
|
}
|
|
|
|
|
@@ -918,8 +940,10 @@ class FightProc {
|
|
|
ctx()->privateState->rankReward_drawed_fightPower[] = $fightPower;
|
|
|
}
|
|
|
|
|
|
+ $tag = self::isExistNoDrawed_FightPower();
|
|
|
+
|
|
|
UserProc::updateUserInfo();
|
|
|
- $ret = array();
|
|
|
+ $ret = array('redTip' => $tag,);
|
|
|
return Resp::ok($ret);
|
|
|
}
|
|
|
|
|
@@ -965,21 +989,20 @@ class FightProc {
|
|
|
|
|
|
public static function DeleteRankInvalidUser($uid2) {
|
|
|
$dic1 = gMem()->zrevrange(MemKey_GameRun::Rank_MainGateIndex_Zone_zset(req()->zoneid), 0, glc()->Rank_MainGateIndex_OnListRank, true);
|
|
|
- foreach ($dic1 as $uid => $score) {
|
|
|
+ foreach ($dic1 as $uid => $score) {
|
|
|
if ($uid == $uid2) {
|
|
|
gMem()->zrem(MemKey_GameRun::Rank_MainGateIndex_Zone_zset(req()->zoneid), $uid);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- $dic2 = gMem()->zrevrange(MemKey_GameRun::Rank_FightPower_Zone_zset(req()->zoneid), 0, glc()->Rank_FightPower_OnListRank, true);
|
|
|
- foreach ($dic2 as $uid => $score) {
|
|
|
+ $dic2 = gMem()->zrevrange(MemKey_GameRun::Rank_FightPower_Zone_zset(req()->zoneid), 0, glc()->Rank_FightPower_OnListRank, true);
|
|
|
+ foreach ($dic2 as $uid => $score) {
|
|
|
if ($uid == $uid2) {
|
|
|
gMem()->zrem(MemKey_GameRun::Rank_FightPower_Zone_zset(req()->zoneid), $uid);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/*
|