From e7a6f9f5439ed847fa7915de178dd743e51a61b1 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 28 十二月 2018 15:11:10 +0800 Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(修复匹配中匹配状态结束后玩家还被视为匹配中的bug) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py | 23 ++++++++++++++++++++--- 1 files changed, 20 insertions(+), 3 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py index 18319ce..4334cd5 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRecover.py @@ -32,6 +32,7 @@ import GameFuncComm import PlayerTJG import PlayerActivity +import PlayerSuccess import PyGameData import copy @@ -43,7 +44,7 @@ ) = range(2) Def_TJGRecoverID = 1 #脱机挂找回索引ID - +Def_QueenRelics = 11 #娲皇遗迹找回索引ID ## OnDay处理 # @param curPlayer # @return None @@ -291,7 +292,8 @@ if Def_TJGRecoverID in recoverCntDict: #脱机挂经验找回后重置 PlayerTJG.ResetTJGDeadInfo(curPlayer) - + if Def_QueenRelics in recoverCntDict: + PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_QueenRelicsEx, recoverCntDict[Def_QueenRelics]) DataRecordPack.DR_PlayerRecover(curPlayer, recoverWay, recoverCntDict, totalExp, totalMoney, totalSP, totalItemDict) __SetRecoverNum(curPlayer, recoverCntDict) __NotifyRecoverNum(curPlayer) @@ -397,7 +399,7 @@ reExp = PlayerControl.GetPlayerReExp(curPlayer) expRate = PlayerControl.GetLimitExpRate(curPlayer, ChConfig.ExpRateLimitType_Recover) extraData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainData % index, 0) - extraData2 = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainDataEx % index, 0) + dataEx = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_RecoverGainDataEx % index, 0) tjgExp = 0 #脱机挂找回经验 exp = 0 @@ -423,6 +425,8 @@ itemInfoList = awardDict.get("item", []) if itemInfoList: + job = curPlayer.GetJob() + jobItemList = ipyData.GetJobItemList() for itemInfo in itemInfoList: itemID = itemInfo.get('ItemID', 0) itemcntFormula = itemInfo.get('ItemCount', '') @@ -431,10 +435,23 @@ itemcnt = recoverCnt * eval(FormulaControl.GetCompileFormula('ResourcesBackitem%s_%s_%s' % (recoverWay, index, itemID), itemcntFormula)) if not itemcnt: continue + itemID = __GetJobItem(job, itemID, jobItemList) itemDict[itemID] = itemcnt return exp, sp, money, itemDict +def __GetJobItem(job, itemID, jobItemList): + ## 获取物品对应的职业物品, 职业从1开始 + for jobItemIDList in jobItemList: + if type(jobItemIDList) not in [list, tuple]: + GameWorld.ErrLog("资源找回职业物品组格式错误!itemID=%s,jobItemList=%s" % (itemID, jobItemList)) + return itemID + if itemID in jobItemIDList: + if job <= 0 or job > len(jobItemIDList): + GameWorld.ErrLog("资源找回职业物品配置错误,没有该职业对应物品ID!itemID=%s,job=%s" % (itemID, job)) + return itemID + return jobItemIDList[job - 1] + return itemID ## 通知找回次数 # @param curPlayer -- Gitblit v1.8.0