From 2cae939cd14f55ce8b4ab2b7289bc93bd558f5f6 Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期三, 05 六月 2019 14:33:22 +0800 Subject: [PATCH] 7117 【后端】装备分解每次获得的道具开出概率配置 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py | 31 ++++++++++++++++--------------- 1 files changed, 16 insertions(+), 15 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py index 9eddd9b..7d8dc41 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py @@ -97,25 +97,26 @@ PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_EquipDecomposeCnt, updDecomposeCnt%perDecomposeCnt) jsonItemList = [] giveCnt = 0 - if updDecomposeCnt >= perDecomposeCnt: - awardList = IpyGameDataPY.GetFuncCfg('EquipDecomposeAward', 2) - if not awardList: - return len(drDelItemList), giveCnt + if perDecomposeCnt and updDecomposeCnt >= perDecomposeCnt: + awardRateList = IpyGameDataPY.GetFuncEvalCfg('EquipDecomposeAward', 2) giveCnt = updDecomposeCnt/perDecomposeCnt giveItemIDDict = {} for _ in xrange(giveCnt): - itmeID = random.choice(awardList) + itmeID = GameWorld.GetResultByRandomList(awardRateList) + if not itmeID: + continue giveItemIDDict[itmeID] = giveItemIDDict.get(itmeID, 0) + 1 - for giveItemID, itemCnt in giveItemIDDict.items(): - jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1])) - needSpace = len(giveItemIDDict) - packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace) - if packSpace < needSpace: - prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()] - PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList) - else: - for giveItemID, itemCnt in giveItemIDDict.items(): - ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, 0, [IPY_GameWorld.rptItem]) + if giveItemIDDict: + for giveItemID, itemCnt in giveItemIDDict.items(): + jsonItemList.append(ItemCommon.GetJsonItem([giveItemID,itemCnt,1])) + needSpace = len(giveItemIDDict) + packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace) + if packSpace < needSpace: + prizeItemList = [[giveItemID, itemCnt, 1] for giveItemID, itemCnt in giveItemIDDict.items()] + PlayerControl.SendMailByKey("DefaultLackSpace", [curPlayer.GetPlayerID()], prizeItemList) + else: + for giveItemID, itemCnt in giveItemIDDict.items(): + ItemControler.GivePlayerItem(curPlayer, giveItemID, itemCnt, 0, [IPY_GameWorld.rptItem]) #同步客户端 Sync_EDLVInfo(curPlayer, jsonItemList) -- Gitblit v1.8.0