From d6641e24bb33be9a0aad206dc12701f1ff5fcbb5 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 16 十月 2019 15:19:01 +0800 Subject: [PATCH] 8262 【主干】【后端】仙盟宴会及传功优化(答题改为立即给每题奖励,只要在宴会地图即可获得奖励) 去除boss首杀记录查询CD --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py | 55 ++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 36 insertions(+), 19 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py index 43317e3..f6b51be 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py @@ -121,24 +121,31 @@ PlayerControl.WorldNotify(0, 'Party_TopPlayer', [topHeroName]) #给参与奖励 - joinReward = IpyGameDataPY.GetFuncEvalCfg('PartyReward') - answerRWItemReward = IpyGameDataPY.GetFuncEvalCfg('PartyReward2', 1) - for playerID, ansRightCount in PyGameData.g_partyheroAnswerDict.items(): - if answerRWItemReward and len(answerRWItemReward) == 2: - ansTotalCount = len(PyGameData.g_familyAnswerPlayerIDDict.get(playerID, [])) - ansWrongCount = max(0, ansTotalCount - ansRightCount) - isAuctionItem = False - rightRewardEx, wrongRewardEx = [], [] - rightItemID, wrongItemID = answerRWItemReward - if rightItemID and ansRightCount: - rightRewardEx = [(rightItemID, ansRightCount, isAuctionItem)] - if wrongItemID and ansWrongCount: - wrongRewardEx = [(wrongItemID, ansWrongCount, isAuctionItem)] - curJoinReward = joinReward + rightRewardEx + wrongRewardEx - else: - curJoinReward = joinReward + joinPlayerIDList = PyGameData.g_partyheroAnswerDict.keys() + if joinPlayerIDList: + joinReward = IpyGameDataPY.GetFuncEvalCfg('PartyReward') if joinReward: - PlayerCompensation.SendMailByKey('FamilyParty', [playerID], curJoinReward) + PlayerCompensation.SendMailByKey('FamilyParty', joinPlayerIDList, joinReward) + + #修改为答完题直接给每题奖励 +# joinReward = IpyGameDataPY.GetFuncEvalCfg('PartyReward') +# answerRWItemReward = IpyGameDataPY.GetFuncEvalCfg('PartyReward2', 1) +# for playerID, ansRightCount in PyGameData.g_partyheroAnswerDict.items(): +# if answerRWItemReward and len(answerRWItemReward) == 2: +# ansTotalCount = len(PyGameData.g_familyAnswerPlayerIDDict.get(playerID, [])) +# ansWrongCount = max(0, ansTotalCount - ansRightCount) +# isAuctionItem = False +# rightRewardEx, wrongRewardEx = [], [] +# rightItemID, wrongItemID = answerRWItemReward +# if rightItemID and ansRightCount: +# rightRewardEx = [(rightItemID, ansRightCount, isAuctionItem)] +# if wrongItemID and ansWrongCount: +# wrongRewardEx = [(wrongItemID, ansWrongCount, isAuctionItem)] +# curJoinReward = joinReward + rightRewardEx + wrongRewardEx +# else: +# curJoinReward = joinReward +# if joinReward: +# PlayerCompensation.SendMailByKey('FamilyParty', [playerID], curJoinReward) return @@ -196,6 +203,15 @@ answer = answer.replace('[', '') answer = answer.replace(']', '') PlayerControl.FamilyNotify(familyID, 'Party_Correct', [maxSecond, GameWorld.GbkToCode(answer)]) + + for index in xrange(family.GetCount()): + member = family.GetAt(index) + memPlayer = member.GetPlayer() + if memPlayer and memPlayer.GetMapID() == ChConfig.Def_FBMapID_FamilyParty: + rightPlayerID = 0 + answerInfo = str([rightPlayerID]) + memPlayer.MapServer_QueryPlayerResult(0, 0, "FamilyPartyAnswer", answerInfo, len(answerInfo)) + break else: continue answerTick = gameWorld.GetDictByKey(FamilyPartyFB_AnswerTick % familyID) @@ -294,7 +310,8 @@ PyGameData.g_familyPartyTopInfo = [playerID, playerName] msgList = [__GetFamilyAnswerRankList(), PyGameData.g_familyPartyTopInfo[1], PyGameData.g_partyheroAnswerDict[PyGameData.g_familyPartyTopInfo[0]]] GameWorld.SendMapServerMsgEx(ShareDefine.Def_Notify_WorldKey_FamilyPartyInfo, msgList) - #通知玩家可获得贡献 - curPlayer.MapServer_QueryPlayerResult(0, 0, "FamilyPartyAnswer", '', 0) + #通知答题结果 + answerInfo = str([playerID]) + curPlayer.MapServer_QueryPlayerResult(0, 0, "FamilyPartyAnswer", answerInfo, len(answerInfo)) return -- Gitblit v1.8.0