10361 【越南】【英语】【BT】【砍树】仙匠大会 - 服务端(榜单奖励增加积分达标额外奖励;)
8个文件已修改
208 ■■■■ 已修改文件
PySysDB/PySysDBG.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBPY.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActLianqi.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActLianqi.py 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBG.h
@@ -789,6 +789,7 @@
    BYTE        Rank;    //名次
    list        AwardItemList;    //奖励物品列表[[物品ID,个数,是否拍品], ...]
    DWORD        NeedScore;    //上榜所需积分
    dict        ScoreAwardEx;    //达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...}
};
//仙匣秘境活动时间表
PySysDB/PySysDBPY.h
@@ -2090,6 +2090,7 @@
    BYTE        Rank;    //名次
    list        AwardItemList;    //奖励物品列表[[物品ID,个数,是否拍品], ...]
    DWORD        NeedScore;    //上榜所需积分
    dict        ScoreAwardEx;    //达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...}
};
//仙匣秘境活动时间表
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -44345,11 +44345,70 @@
        return DumpString
class  tagMCCrossActLianqiAwardEx(Structure):
    NeedScore = 0    #(DWORD NeedScore)// 额外奖励所需积分
    Count = 0    #(BYTE Count)// 额外奖励物品数
    AwardItemList = list()    #(vector<tagMCCrossActLianqiItem> AwardItemList)// 额外奖励物品列表
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temAwardItemList = tagMCCrossActLianqiItem()
            _pos = temAwardItemList.ReadData(_lpData, _pos)
            self.AwardItemList.append(temAwardItemList)
        return _pos
    def Clear(self):
        self.NeedScore = 0
        self.Count = 0
        self.AwardItemList = list()
        return
    def GetLength(self):
        length = 0
        length += 4
        length += 1
        for i in range(self.Count):
            length += self.AwardItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteDWORD(data, self.NeedScore)
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                NeedScore:%d,
                                Count:%d,
                                AwardItemList:%s
                                '''\
                                %(
                                self.NeedScore,
                                self.Count,
                                "..."
                                )
        return DumpString
class  tagMCCrossActLianqiBillard(Structure):
    Rank = 0    #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
    Count = 0    #(BYTE Count)// 奖励物品数
    AwardItemList = list()    #(vector<tagMCCrossActLianqiItem> AwardItemList)// 奖励物品列表
    NeedScore = 0    #(DWORD NeedScore)// 上榜所需积分
    CountEx = 0    #(BYTE CountEx)// 额外奖励数
    AwardItemExList = list()    #(vector<tagMCCrossActLianqiAwardEx> AwardItemExList)// 额外奖励列表
    data = None
    def __init__(self):
@@ -44365,6 +44424,11 @@
            _pos = temAwardItemList.ReadData(_lpData, _pos)
            self.AwardItemList.append(temAwardItemList)
        self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.CountEx,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.CountEx):
            temAwardItemExList = tagMCCrossActLianqiAwardEx()
            _pos = temAwardItemExList.ReadData(_lpData, _pos)
            self.AwardItemExList.append(temAwardItemExList)
        return _pos
    def Clear(self):
@@ -44372,6 +44436,8 @@
        self.Count = 0
        self.AwardItemList = list()
        self.NeedScore = 0
        self.CountEx = 0
        self.AwardItemExList = list()
        return
    def GetLength(self):
@@ -44381,6 +44447,9 @@
        for i in range(self.Count):
            length += self.AwardItemList[i].GetLength()
        length += 4
        length += 1
        for i in range(self.CountEx):
            length += self.AwardItemExList[i].GetLength()
        return length
@@ -44391,6 +44460,9 @@
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
        data = CommFunc.WriteDWORD(data, self.NeedScore)
        data = CommFunc.WriteBYTE(data, self.CountEx)
        for i in range(self.CountEx):
            data = CommFunc.WriteString(data, self.AwardItemExList[i].GetLength(), self.AwardItemExList[i].GetBuffer())
        return data
    def OutputString(self):
@@ -44398,13 +44470,17 @@
                                Rank:%d,
                                Count:%d,
                                AwardItemList:%s,
                                NeedScore:%d
                                NeedScore:%d,
                                CountEx:%d,
                                AwardItemExList:%s
                                '''\
                                %(
                                self.Rank,
                                self.Count,
                                "...",
                                self.NeedScore
                                self.NeedScore,
                                self.CountEx,
                                "..."
                                )
        return DumpString
ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -643,6 +643,7 @@
                        ("BYTE", "Rank", 0),
                        ("list", "AwardItemList", 0),
                        ("DWORD", "NeedScore", 0),
                        ("dict", "ScoreAwardEx", 0),
                        ),
                "ActXianXiaMJ":(
@@ -2138,6 +2139,7 @@
    def GetRank(self): return self.attrTuple[1] # 名次 BYTE
    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品列表[[物品ID,个数,是否拍品], ...] list
    def GetNeedScore(self): return self.attrTuple[3] # 上榜所需积分 DWORD
    def GetScoreAwardEx(self): return self.attrTuple[4] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
# 仙匣秘境活动时间表
class IPY_ActXianXiaMJ():
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActLianqi.py
@@ -226,7 +226,7 @@
    for ipyData in orderIpyDataList:
        rank = ipyData.GetRank()
        needScore = ipyData.GetNeedScore()
        scoreAwardEx = {} #ipyData.GetScoreAwardEx()
        scoreAwardEx = ipyData.GetScoreAwardEx()
        scoreAwardExList = scoreAwardEx.keys()
        scoreAwardExList.sort()
        awardItemList = ipyData.GetAwardItemList()
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -44345,11 +44345,70 @@
        return DumpString
class  tagMCCrossActLianqiAwardEx(Structure):
    NeedScore = 0    #(DWORD NeedScore)// 额外奖励所需积分
    Count = 0    #(BYTE Count)// 额外奖励物品数
    AwardItemList = list()    #(vector<tagMCCrossActLianqiItem> AwardItemList)// 额外奖励物品列表
    data = None
    def __init__(self):
        self.Clear()
        return
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.Count,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.Count):
            temAwardItemList = tagMCCrossActLianqiItem()
            _pos = temAwardItemList.ReadData(_lpData, _pos)
            self.AwardItemList.append(temAwardItemList)
        return _pos
    def Clear(self):
        self.NeedScore = 0
        self.Count = 0
        self.AwardItemList = list()
        return
    def GetLength(self):
        length = 0
        length += 4
        length += 1
        for i in range(self.Count):
            length += self.AwardItemList[i].GetLength()
        return length
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteDWORD(data, self.NeedScore)
        data = CommFunc.WriteBYTE(data, self.Count)
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
        return data
    def OutputString(self):
        DumpString = '''
                                NeedScore:%d,
                                Count:%d,
                                AwardItemList:%s
                                '''\
                                %(
                                self.NeedScore,
                                self.Count,
                                "..."
                                )
        return DumpString
class  tagMCCrossActLianqiBillard(Structure):
    Rank = 0    #(DWORD Rank)// 名次,1-代表第一名;支持夸段,如1,3 代表第1名,第2~3名
    Count = 0    #(BYTE Count)// 奖励物品数
    AwardItemList = list()    #(vector<tagMCCrossActLianqiItem> AwardItemList)// 奖励物品列表
    NeedScore = 0    #(DWORD NeedScore)// 上榜所需积分
    CountEx = 0    #(BYTE CountEx)// 额外奖励数
    AwardItemExList = list()    #(vector<tagMCCrossActLianqiAwardEx> AwardItemExList)// 额外奖励列表
    data = None
    def __init__(self):
@@ -44365,6 +44424,11 @@
            _pos = temAwardItemList.ReadData(_lpData, _pos)
            self.AwardItemList.append(temAwardItemList)
        self.NeedScore,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.CountEx,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.CountEx):
            temAwardItemExList = tagMCCrossActLianqiAwardEx()
            _pos = temAwardItemExList.ReadData(_lpData, _pos)
            self.AwardItemExList.append(temAwardItemExList)
        return _pos
    def Clear(self):
@@ -44372,6 +44436,8 @@
        self.Count = 0
        self.AwardItemList = list()
        self.NeedScore = 0
        self.CountEx = 0
        self.AwardItemExList = list()
        return
    def GetLength(self):
@@ -44381,6 +44447,9 @@
        for i in range(self.Count):
            length += self.AwardItemList[i].GetLength()
        length += 4
        length += 1
        for i in range(self.CountEx):
            length += self.AwardItemExList[i].GetLength()
        return length
@@ -44391,6 +44460,9 @@
        for i in range(self.Count):
            data = CommFunc.WriteString(data, self.AwardItemList[i].GetLength(), self.AwardItemList[i].GetBuffer())
        data = CommFunc.WriteDWORD(data, self.NeedScore)
        data = CommFunc.WriteBYTE(data, self.CountEx)
        for i in range(self.CountEx):
            data = CommFunc.WriteString(data, self.AwardItemExList[i].GetLength(), self.AwardItemExList[i].GetBuffer())
        return data
    def OutputString(self):
@@ -44398,13 +44470,17 @@
                                Rank:%d,
                                Count:%d,
                                AwardItemList:%s,
                                NeedScore:%d
                                NeedScore:%d,
                                CountEx:%d,
                                AwardItemExList:%s
                                '''\
                                %(
                                self.Rank,
                                self.Count,
                                "...",
                                self.NeedScore
                                self.NeedScore,
                                self.CountEx,
                                "..."
                                )
        return DumpString
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1662,6 +1662,7 @@
                        ("BYTE", "Rank", 0),
                        ("list", "AwardItemList", 0),
                        ("DWORD", "NeedScore", 0),
                        ("dict", "ScoreAwardEx", 0),
                        ),
                "ActXianXiaMJ":(
@@ -5009,6 +5010,7 @@
    def GetRank(self): return self.attrTuple[1] # 名次 BYTE
    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品列表[[物品ID,个数,是否拍品], ...] list
    def GetNeedScore(self): return self.attrTuple[3] # 上榜所需积分 DWORD
    def GetScoreAwardEx(self): return self.attrTuple[4] # 达标积分额外奖励 {积分:[[物品ID,个数,是否拍品], ...], ...} dict
# 仙匣秘境活动时间表
class IPY_ActXianXiaMJ():
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActLianqi.py
@@ -610,26 +610,26 @@
        rankInfo.Count = len(rankInfo.AwardItemList)
        rankInfo.NeedScore = tempIpyData.GetNeedScore()
        
#        rankInfo.AwardItemExList = []
#        scoreAwardEx = tempIpyData.GetScoreAwardEx()
#        scoreExList = scoreAwardEx.keys()
#        scoreExList.sort()
#        for scoreEx in scoreExList:
#            itemExList = scoreAwardEx[scoreEx]
#            awardEx = ChPyNetSendPack.tagMCActLianqiAwardEx()
#            awardEx.NeedScore = scoreEx
#            awardEx.AwardItemList = []
#            for itemID, itemCount, isAuctionItem in itemExList:
#                item = ChPyNetSendPack.tagMCActLianqiItem()
#                item.Clear()
#                item.ItemID = itemID
#                item.ItemCount = itemCount
#                item.IsBind = isAuctionItem
#                awardEx.AwardItemList.append(item)
#            awardEx.Count = len(awardEx.AwardItemList)
#
#            rankInfo.AwardItemExList.append(awardEx)
#        rankInfo.CountEx = len(rankInfo.AwardItemExList)
        rankInfo.AwardItemExList = []
        scoreAwardEx = tempIpyData.GetScoreAwardEx()
        scoreExList = scoreAwardEx.keys()
        scoreExList.sort()
        for scoreEx in scoreExList:
            itemExList = scoreAwardEx[scoreEx]
            awardEx = ChPyNetSendPack.tagMCCrossActLianqiAwardEx()
            awardEx.NeedScore = scoreEx
            awardEx.AwardItemList = []
            for itemID, itemCount, isAuctionItem in itemExList:
                item = ChPyNetSendPack.tagMCCrossActLianqiItem()
                item.Clear()
                item.ItemID = itemID
                item.ItemCount = itemCount
                item.IsBind = isAuctionItem
                awardEx.AwardItemList.append(item)
            awardEx.Count = len(awardEx.AwardItemList)
            rankInfo.AwardItemExList.append(awardEx)
        rankInfo.CountEx = len(rankInfo.AwardItemExList)
        
        packBillList.append(rankInfo)
    return packBillList