10185 【越南】【港台】【主干】BOSS凭证修改(去除排行榜查询CD;优化排行榜查看指定ID;)
6个文件已修改
130 ■■■■ 已修改文件
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBillboard.py 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -1085,7 +1085,7 @@
                  ("Type", c_ubyte),    #类型 TBillboardType
                  ("StartIndex", c_int),    #查看的起始名次索引, 默认0
                  ("WatchCnt", c_ubyte),    #查看条数,默认20,最大不超过100
                  ("IsWatchSelf", c_ubyte),    #是否查看自己名次前后,默认10条数据
                  ("WatchID", c_int),    #查看指定ID名次前后,如玩家ID、家族ID等
                  ]
    def __init__(self):
@@ -1105,7 +1105,7 @@
        self.Type = 0
        self.StartIndex = 0
        self.WatchCnt = 0
        self.IsWatchSelf = 0
        self.WatchID = 0
        return
    def GetLength(self):
@@ -1121,7 +1121,7 @@
                                Type:%d,
                                StartIndex:%d,
                                WatchCnt:%d,
                                IsWatchSelf:%d
                                WatchID:%d
                                '''\
                                %(
                                self.Cmd,
@@ -1129,7 +1129,7 @@
                                self.Type,
                                self.StartIndex,
                                self.WatchCnt,
                                self.IsWatchSelf
                                self.WatchID
                                )
        return DumpString
@@ -4615,7 +4615,7 @@
                  ("GroupValue2", c_ubyte),    # 分组值2,与分组值1组合归为同组榜单数据
                  ("StartIndex", c_int),    #查看的起始名次索引, 默认0
                  ("WatchCnt", c_ubyte),    #查看条数,默认20,最大不超过100
                  ("IsWatchSelf", c_ubyte),    #是否查看自己名次前后,默认10条数据
                  ("WatchID", c_int),    #查看指定ID名次前后,如玩家ID、家族ID等
                  ]
    def __init__(self):
@@ -4637,7 +4637,7 @@
        self.GroupValue2 = 0
        self.StartIndex = 0
        self.WatchCnt = 0
        self.IsWatchSelf = 0
        self.WatchID = 0
        return
    def GetLength(self):
@@ -4655,7 +4655,7 @@
                                GroupValue2:%d,
                                StartIndex:%d,
                                WatchCnt:%d,
                                IsWatchSelf:%d
                                WatchID:%d
                                '''\
                                %(
                                self.Cmd,
@@ -4665,7 +4665,7 @@
                                self.GroupValue2,
                                self.StartIndex,
                                self.WatchCnt,
                                self.IsWatchSelf
                                self.WatchID
                                )
        return DumpString
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetSendPack.py
@@ -4608,7 +4608,7 @@
class  tagPYBillboardData(Structure):
    Head = tagHead()
    IsWatchSelf = 0    #(BYTE IsWatchSelf)
    WatchID = 0    #(DWORD WatchID)//查看指定ID名次前后,如玩家ID、家族ID等
    BillboardCount = 0    #(BYTE BillboardCount)
    Type = 0    #(BYTE Type)//排行榜类型
    Billboard = list()    #(vector<tagPYBillboardInfo> Billboard)//size = BillboardCount
@@ -4623,7 +4623,7 @@
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.IsWatchSelf,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.WatchID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.BillboardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.BillboardCount):
@@ -4637,7 +4637,7 @@
        self.Head.Clear()
        self.Head.Cmd = 0xA9
        self.Head.SubCmd = 0xA2
        self.IsWatchSelf = 0
        self.WatchID = 0
        self.BillboardCount = 0
        self.Type = 0
        self.Billboard = list()
@@ -4646,7 +4646,7 @@
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 4
        length += 1
        length += 1
        for i in range(self.BillboardCount):
@@ -4657,7 +4657,7 @@
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.IsWatchSelf)
        data = CommFunc.WriteDWORD(data, self.WatchID)
        data = CommFunc.WriteBYTE(data, self.BillboardCount)
        data = CommFunc.WriteBYTE(data, self.Type)
        for i in range(self.BillboardCount):
@@ -4667,14 +4667,14 @@
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                IsWatchSelf:%d,
                                WatchID:%d,
                                BillboardCount:%d,
                                Type:%d,
                                Billboard:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.IsWatchSelf,
                                self.WatchID,
                                self.BillboardCount,
                                self.Type,
                                "..."
@@ -14946,7 +14946,7 @@
    Type = 0    #(BYTE Type)//榜单类型
    GroupValue1 = 0    #(BYTE GroupValue1)// 分组值1
    GroupValue2 = 0    #(BYTE GroupValue2)// 分组值2,与分组值1组合归为同组榜单数据
    IsWatchSelf = 0    #(BYTE IsWatchSelf)
    WatchID = 0    #(DWORD WatchID)//查看指定ID名次前后,如玩家ID、家族ID等
    BillboardCount = 0    #(BYTE BillboardCount)
    CrossBillboardDataList = list()    #(vector<tagGCCrossBillboardData> CrossBillboardDataList)
    data = None
@@ -14963,7 +14963,7 @@
        self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.GroupValue1,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.GroupValue2,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.IsWatchSelf,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.WatchID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.BillboardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.BillboardCount):
            temCrossBillboardDataList = tagGCCrossBillboardData()
@@ -14979,7 +14979,7 @@
        self.Type = 0
        self.GroupValue1 = 0
        self.GroupValue2 = 0
        self.IsWatchSelf = 0
        self.WatchID = 0
        self.BillboardCount = 0
        self.CrossBillboardDataList = list()
        return
@@ -14990,7 +14990,7 @@
        length += 1
        length += 1
        length += 1
        length += 1
        length += 4
        length += 1
        for i in range(self.BillboardCount):
            length += self.CrossBillboardDataList[i].GetLength()
@@ -15003,7 +15003,7 @@
        data = CommFunc.WriteBYTE(data, self.Type)
        data = CommFunc.WriteBYTE(data, self.GroupValue1)
        data = CommFunc.WriteBYTE(data, self.GroupValue2)
        data = CommFunc.WriteBYTE(data, self.IsWatchSelf)
        data = CommFunc.WriteDWORD(data, self.WatchID)
        data = CommFunc.WriteBYTE(data, self.BillboardCount)
        for i in range(self.BillboardCount):
            data = CommFunc.WriteString(data, self.CrossBillboardDataList[i].GetLength(), self.CrossBillboardDataList[i].GetBuffer())
@@ -15015,7 +15015,7 @@
                                Type:%d,
                                GroupValue1:%d,
                                GroupValue2:%d,
                                IsWatchSelf:%d,
                                WatchID:%d,
                                BillboardCount:%d,
                                CrossBillboardDataList:%s
                                '''\
@@ -15024,7 +15024,7 @@
                                self.Type,
                                self.GroupValue1,
                                self.GroupValue2,
                                self.IsWatchSelf,
                                self.WatchID,
                                self.BillboardCount,
                                "..."
                                )
ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBillboard.py
@@ -328,7 +328,7 @@
#    BYTE        GroupValue2;    // 分组值2,与分组值1组合归为同组榜单数据
#    DWORD        StartIndex;    //查看的起始名次索引, 默认0
#    BYTE        WatchCnt;    //查看条数,默认20,最大不超过100
#    BYTE        IsWatchSelf;    //是否查看自己名次前后,默认10条数据
#    DWORD        WatchID;        //查看指定ID名次前后,如玩家ID、家族ID等
#};
def OnViewCrossBillboard(index, clientData, tick):
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
@@ -338,7 +338,7 @@
    billboardType, groupValue1, groupValue2 = clientData.Type, clientData.GroupValue1, clientData.GroupValue2
    startIndex = clientData.StartIndex
    watchCnt = clientData.WatchCnt
    isWatchSelf = clientData.IsWatchSelf
    watchID = clientData.WatchID
    
    if billboardType not in ShareDefine.CrossBillboardTypeList:
        return
@@ -349,7 +349,7 @@
    
    # 请求查询跨服服务器
    dataMsg = {"BillboardType":billboardType, "GroupValue1":groupValue1, "GroupValue2":groupValue2,
               "QueryData":{"EventName":"View", "PlayerID":playerID, "StartIndex":startIndex, "WatchCnt":watchCnt, "IsWatchSelf":isWatchSelf}}
               "QueryData":{"EventName":"View", "PlayerID":playerID, "StartIndex":startIndex, "WatchCnt":watchCnt, "WatchID":watchID}}
    CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_QueryBillboard, dataMsg)
    return
@@ -378,16 +378,16 @@
    
    # 有查询数据时才同步榜单数据列表,否则只同步数据版本号
    if queryData:
        playerID = queryData.get("PlayerID", 0)
        #playerID = queryData.get("PlayerID", 0)
        startIndex = queryData.get("StartIndex", 0)
        watchCnt = queryData.get("WatchCnt", 0)
        isWatchSelf = queryData.get("IsWatchSelf", 0)
        watchID = queryData.get("WatchID", 0)
        
        count = billboardObj.GetCount()
        endIndex = 0
        # 查看自己前后名次
        if isWatchSelf:
            playerIndex = billboardObj.IndexOfByID(playerID)
        if watchID:
            playerIndex = billboardObj.IndexOfByID(watchID)
            if playerIndex != -1:
                # 前5后4,首尾补足10条记录
                endIndex = min(playerIndex + 5, count)
@@ -463,8 +463,8 @@
        return
    
    if eventName == "View":        
        isWatchSelf = queryData.get("IsWatchSelf", 0)
        SyncCrossBillboardToPlayer(queryPlayer, billboardType, groupValue1, groupValue2, syncBillboardList, isWatchSelf)
        watchID = queryData.get("WatchID", 0)
        SyncCrossBillboardToPlayer(queryPlayer, billboardType, groupValue1, groupValue2, syncBillboardList, watchID)
    #else:
    #    idOrderDict = billboardObj.GetIDOrderDict()
    #    order = idOrderDict.get(queryPlayerID, 0)
@@ -473,13 +473,13 @@
        
    return
def SyncCrossBillboardToPlayer(curPlayer, billboardType, groupValue1, groupValue2, billboardList, isWatchSelf):
def SyncCrossBillboardToPlayer(curPlayer, billboardType, groupValue1, groupValue2, billboardList, watchID):
    ## 同步给玩家跨服榜单
    billboardInfo = ChPyNetSendPack.tagGCCrossBillboardInfo()
    billboardInfo.Type = billboardType
    billboardInfo.GroupValue1 = groupValue1
    billboardInfo.GroupValue2 = groupValue2
    billboardInfo.IsWatchSelf = isWatchSelf
    billboardInfo.WatchID = watchID
    billboardInfo.CrossBillboardDataList = []
    for dataInfo in billboardList:
        index, ID, ID2, Name1, Name2, Type2, Value1, Value2, CmpValue, CmpValue2, CmpValue3, Value3, Value4, Value5, Value6, Value7, Value8, UserData = dataInfo
ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerBillboard.py
@@ -375,7 +375,7 @@
#    BYTE        Type;        //类型 TBillboardType
#    DWORD        StartIndex;    //查看的起始名次索引, 默认0
#    BYTE        WatchCnt;    //查看条数,默认20,最大不超过100
#    BYTE        IsWatchSelf;    //是否查看自己名次前后,默认10条数据
#    DWORD        WatchID;        //查看指定ID名次前后,如玩家ID、家族ID等
#};
def Client_PYWatchBillboard(index, clientData, tick):
    
@@ -386,14 +386,14 @@
    packType = clientData.Type
    startIndex = clientData.StartIndex
    watchCnt = clientData.WatchCnt
    isWatchSelf = clientData.IsWatchSelf
    if not __CheckWatchCD(curPlayer, packType, tick):
        return
    watchID = clientData.WatchID
    #if not __CheckWatchCD(curPlayer, packType, tick):
    #    return
    
    Sync_BillboardEx(curPlayer, packType, isWatchSelf, startIndex, watchCnt)
    Sync_BillboardEx(curPlayer, packType, watchID, startIndex, watchCnt)
    return
def Sync_BillboardEx(curPlayer, bbType, isWatchSelf=False, startIndex=0, watchCnt=20):
def Sync_BillboardEx(curPlayer, bbType, watchID=0, startIndex=0, watchCnt=20):
    if bbType < 0 or bbType >= ShareDefine.Def_BT_Max:
        return
    
@@ -402,12 +402,12 @@
        GameWorld.ErrLog("找不到排行榜数据!bbType=%s" % (bbType))
        return
    
    playerID = curPlayer.GetPlayerID()
    #playerID = curPlayer.GetPlayerID()
    count = billBoard.GetCount()
    endIndex = 0
    # 查看自己前后名次
    if isWatchSelf:
        playerIndex = billBoard.IndexOfByID(playerID)
    if watchID:
        playerIndex = billBoard.IndexOfByID(watchID)
        if playerIndex != -1:
            # 前5后4,首尾补足10条记录
            endIndex = min(playerIndex + 5, count)
@@ -425,7 +425,7 @@
        
    billBoardData = ChPyNetSendPack.tagPYBillboardData()
    billBoardData.Clear()
    billBoardData.IsWatchSelf = isWatchSelf
    billBoardData.WatchID = watchID
    billBoardData.Type = bbType
    billBoardData.Billboard = []    
    for index in xrange(startIndex, endIndex):
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -1085,7 +1085,7 @@
                  ("Type", c_ubyte),    #类型 TBillboardType
                  ("StartIndex", c_int),    #查看的起始名次索引, 默认0
                  ("WatchCnt", c_ubyte),    #查看条数,默认20,最大不超过100
                  ("IsWatchSelf", c_ubyte),    #是否查看自己名次前后,默认10条数据
                  ("WatchID", c_int),    #查看指定ID名次前后,如玩家ID、家族ID等
                  ]
    def __init__(self):
@@ -1105,7 +1105,7 @@
        self.Type = 0
        self.StartIndex = 0
        self.WatchCnt = 0
        self.IsWatchSelf = 0
        self.WatchID = 0
        return
    def GetLength(self):
@@ -1121,7 +1121,7 @@
                                Type:%d,
                                StartIndex:%d,
                                WatchCnt:%d,
                                IsWatchSelf:%d
                                WatchID:%d
                                '''\
                                %(
                                self.Cmd,
@@ -1129,7 +1129,7 @@
                                self.Type,
                                self.StartIndex,
                                self.WatchCnt,
                                self.IsWatchSelf
                                self.WatchID
                                )
        return DumpString
@@ -4615,7 +4615,7 @@
                  ("GroupValue2", c_ubyte),    # 分组值2,与分组值1组合归为同组榜单数据
                  ("StartIndex", c_int),    #查看的起始名次索引, 默认0
                  ("WatchCnt", c_ubyte),    #查看条数,默认20,最大不超过100
                  ("IsWatchSelf", c_ubyte),    #是否查看自己名次前后,默认10条数据
                  ("WatchID", c_int),    #查看指定ID名次前后,如玩家ID、家族ID等
                  ]
    def __init__(self):
@@ -4637,7 +4637,7 @@
        self.GroupValue2 = 0
        self.StartIndex = 0
        self.WatchCnt = 0
        self.IsWatchSelf = 0
        self.WatchID = 0
        return
    def GetLength(self):
@@ -4655,7 +4655,7 @@
                                GroupValue2:%d,
                                StartIndex:%d,
                                WatchCnt:%d,
                                IsWatchSelf:%d
                                WatchID:%d
                                '''\
                                %(
                                self.Cmd,
@@ -4665,7 +4665,7 @@
                                self.GroupValue2,
                                self.StartIndex,
                                self.WatchCnt,
                                self.IsWatchSelf
                                self.WatchID
                                )
        return DumpString
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetSendPack.py
@@ -4608,7 +4608,7 @@
class  tagPYBillboardData(Structure):
    Head = tagHead()
    IsWatchSelf = 0    #(BYTE IsWatchSelf)
    WatchID = 0    #(DWORD WatchID)//查看指定ID名次前后,如玩家ID、家族ID等
    BillboardCount = 0    #(BYTE BillboardCount)
    Type = 0    #(BYTE Type)//排行榜类型
    Billboard = list()    #(vector<tagPYBillboardInfo> Billboard)//size = BillboardCount
@@ -4623,7 +4623,7 @@
    def ReadData(self, _lpData, _pos=0, _Len=0):
        self.Clear()
        _pos = self.Head.ReadData(_lpData, _pos)
        self.IsWatchSelf,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.WatchID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.BillboardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.BillboardCount):
@@ -4637,7 +4637,7 @@
        self.Head.Clear()
        self.Head.Cmd = 0xA9
        self.Head.SubCmd = 0xA2
        self.IsWatchSelf = 0
        self.WatchID = 0
        self.BillboardCount = 0
        self.Type = 0
        self.Billboard = list()
@@ -4646,7 +4646,7 @@
    def GetLength(self):
        length = 0
        length += self.Head.GetLength()
        length += 1
        length += 4
        length += 1
        length += 1
        for i in range(self.BillboardCount):
@@ -4657,7 +4657,7 @@
    def GetBuffer(self):
        data = ''
        data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
        data = CommFunc.WriteBYTE(data, self.IsWatchSelf)
        data = CommFunc.WriteDWORD(data, self.WatchID)
        data = CommFunc.WriteBYTE(data, self.BillboardCount)
        data = CommFunc.WriteBYTE(data, self.Type)
        for i in range(self.BillboardCount):
@@ -4667,14 +4667,14 @@
    def OutputString(self):
        DumpString = '''
                                Head:%s,
                                IsWatchSelf:%d,
                                WatchID:%d,
                                BillboardCount:%d,
                                Type:%d,
                                Billboard:%s
                                '''\
                                %(
                                self.Head.OutputString(),
                                self.IsWatchSelf,
                                self.WatchID,
                                self.BillboardCount,
                                self.Type,
                                "..."
@@ -14946,7 +14946,7 @@
    Type = 0    #(BYTE Type)//榜单类型
    GroupValue1 = 0    #(BYTE GroupValue1)// 分组值1
    GroupValue2 = 0    #(BYTE GroupValue2)// 分组值2,与分组值1组合归为同组榜单数据
    IsWatchSelf = 0    #(BYTE IsWatchSelf)
    WatchID = 0    #(DWORD WatchID)//查看指定ID名次前后,如玩家ID、家族ID等
    BillboardCount = 0    #(BYTE BillboardCount)
    CrossBillboardDataList = list()    #(vector<tagGCCrossBillboardData> CrossBillboardDataList)
    data = None
@@ -14963,7 +14963,7 @@
        self.Type,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.GroupValue1,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.GroupValue2,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.IsWatchSelf,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        self.WatchID,_pos = CommFunc.ReadDWORD(_lpData, _pos)
        self.BillboardCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
        for i in range(self.BillboardCount):
            temCrossBillboardDataList = tagGCCrossBillboardData()
@@ -14979,7 +14979,7 @@
        self.Type = 0
        self.GroupValue1 = 0
        self.GroupValue2 = 0
        self.IsWatchSelf = 0
        self.WatchID = 0
        self.BillboardCount = 0
        self.CrossBillboardDataList = list()
        return
@@ -14990,7 +14990,7 @@
        length += 1
        length += 1
        length += 1
        length += 1
        length += 4
        length += 1
        for i in range(self.BillboardCount):
            length += self.CrossBillboardDataList[i].GetLength()
@@ -15003,7 +15003,7 @@
        data = CommFunc.WriteBYTE(data, self.Type)
        data = CommFunc.WriteBYTE(data, self.GroupValue1)
        data = CommFunc.WriteBYTE(data, self.GroupValue2)
        data = CommFunc.WriteBYTE(data, self.IsWatchSelf)
        data = CommFunc.WriteDWORD(data, self.WatchID)
        data = CommFunc.WriteBYTE(data, self.BillboardCount)
        for i in range(self.BillboardCount):
            data = CommFunc.WriteString(data, self.CrossBillboardDataList[i].GetLength(), self.CrossBillboardDataList[i].GetBuffer())
@@ -15015,7 +15015,7 @@
                                Type:%d,
                                GroupValue1:%d,
                                GroupValue2:%d,
                                IsWatchSelf:%d,
                                WatchID:%d,
                                BillboardCount:%d,
                                CrossBillboardDataList:%s
                                '''\
@@ -15024,7 +15024,7 @@
                                self.Type,
                                self.GroupValue1,
                                self.GroupValue2,
                                self.IsWatchSelf,
                                self.WatchID,
                                self.BillboardCount,
                                "..."
                                )