From 6465c43fe9382107afb7a9a047e8b0fcc2da9081 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 05 六月 2019 15:11:07 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py               |    6 +++---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py |   31 ++++++++++++++++---------------
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py               |    2 +-
 PySysDB/PySysDBPY.h                                                                                |    2 +-
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyRedPacket.py                     |    3 ++-
 5 files changed, 23 insertions(+), 21 deletions(-)

diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 55693eb..b82a80a 100644
--- a/PySysDB/PySysDBPY.h
+++ b/PySysDB/PySysDBPY.h
@@ -1827,7 +1827,7 @@
 	list		WorldLV;	//世界等级
 	list		Rank;	//排名
 	list		Award1;	//奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
-	dict		Award2;	//饼图奖励{随机次数:[(概率,[物品ID,数量,是否拍品]),..]}
+	list		Award2;	//饼图奖励  [[(概率,[物品ID,数量,是否拍品]),..]]
 };
 
 //缥缈仙域表
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyRedPacket.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyRedPacket.py
index ebb8939..4693671 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyRedPacket.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyRedPacket.py
@@ -635,7 +635,8 @@
             strValue1 = universalRecData.GetStrValue1()
             strValue1List = strValue1.split('|')
             playerID = strValue1List[0]
-            if playerID:
+            getWay = int(strValue1List[3])
+            if playerID and getWay is ShareDefine.RedPackType_GoldPacket:
                 playerID = int(playerID)
                 grabRecordDict = __GetGrabRecord(redPacketID)
                 outNum = sum([a[0] for a in grabRecordDict.values()]) #已被抢的钱
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 782cf3e..d765ac4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1410,7 +1410,7 @@
                         ("list", "WorldLV", 0),
                         ("list", "Rank", 0),
                         ("list", "Award1", 0),
-                        ("dict", "Award2", 0),
+                        ("list", "Award2", 0),
                         ),
 
                 "FairyDomain":(
@@ -4364,14 +4364,14 @@
         self.WorldLV = []
         self.Rank = []
         self.Award1 = []
-        self.Award2 = {}
+        self.Award2 = []
         return
         
     def GetLineID(self): return self.LineID #  线路ID
     def GetWorldLV(self): return self.WorldLV # 世界等级
     def GetRank(self): return self.Rank # 排名
     def GetAward1(self): return self.Award1 # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..]
-    def GetAward2(self): return self.Award2 # 饼图奖励{随机次数:[(概率,[物品ID,数量,是否拍品]),..]}
+    def GetAward2(self): return self.Award2 # 饼图奖励  [[(概率,[物品ID,数量,是否拍品]),..]]
 
 # 缥缈仙域表
 class IPY_FairyDomain():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
index a161e5d..04951b4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -496,7 +496,7 @@
         
         if ItemCommon.GetIsEquip(itemData):
             for _ in xrange(itemCount):
-                curItem = ItemControler.GetOutPutItemObj(itemID, itemCount, isAuctionItem, curPlayer=curPlayer)
+                curItem = ItemControler.GetOutPutItemObj(itemID, 1, isAuctionItem, curPlayer=curPlayer)
                 if curItem:
                     needSpace += 1
                     prizeItemList.append(curItem)
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