ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
@@ -79,11 +79,14 @@
class tagDBAuctionRecord(Structure):
    _pack_ = 1
    _fields_ = [
        ('ItemGUID', ctypes.c_char * 40),
        ('PlayerID', ctypes.c_ulong),
        ('FamilyID', ctypes.c_ulong),
        ('RecordType', ctypes.c_ubyte),
        ('RecordResult', ctypes.c_ubyte),
        ('RecordTime', ctypes.c_char * 19),
        ('RecordPrice', ctypes.c_ulong),
        ('BidderPrice', ctypes.c_ulong),
        ('BidderName', ctypes.c_char * 33),
        ('ItemID', ctypes.c_ulong),
        ('Count', ctypes.c_ushort),
        ('UserDataLen', ctypes.c_ushort),
@@ -96,11 +99,14 @@
        self.clear()
    def clear(self):
        self.ItemGUID = ''
        self.PlayerID = 0
        self.FamilyID = 0
        self.RecordType = 0
        self.RecordResult = 0
        self.RecordTime = ''
        self.RecordPrice = 0
        self.BidderPrice = 0
        self.BidderName = ''
        self.ItemID = 0
        self.Count = 0
        self.UserDataLen = 0
@@ -112,11 +118,14 @@
        if len(buf) < pos + self.getLength():
            return -1
        self.clear()
        self.ItemGUID, pos = CommFunc.ReadString(buf, pos, 40)
        self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
        self.FamilyID, pos = CommFunc.ReadDWORD(buf, pos)
        self.RecordType, pos = CommFunc.ReadBYTE(buf, pos)
        self.RecordResult, pos = CommFunc.ReadBYTE(buf, pos)
        self.RecordTime, pos = CommFunc.ReadString(buf, pos, 19)
        self.RecordPrice, pos = CommFunc.ReadDWORD(buf, pos)
        self.BidderPrice, pos = CommFunc.ReadDWORD(buf, pos)
        self.BidderName, pos = CommFunc.ReadString(buf, pos, 33)
        self.ItemID, pos = CommFunc.ReadDWORD(buf, pos)
        self.Count, pos = CommFunc.ReadWORD(buf, pos)
        self.UserDataLen, pos = CommFunc.ReadWORD(buf, pos)
@@ -126,11 +135,14 @@
    def getBuffer(self):
        buf = ''
        buf = CommFunc.WriteString(buf, sizeof(ctypes.c_char) * 40, self.ItemGUID)
        buf = CommFunc.WriteDWORD(buf, self.PlayerID)
        buf = CommFunc.WriteDWORD(buf, self.FamilyID)
        buf = CommFunc.WriteBYTE(buf, self.RecordType)
        buf = CommFunc.WriteBYTE(buf, self.RecordResult)
        buf = CommFunc.WriteString(buf, sizeof(ctypes.c_char) * 19, self.RecordTime)
        buf = CommFunc.WriteDWORD(buf, self.RecordPrice)
        buf = CommFunc.WriteDWORD(buf, self.BidderPrice)
        buf = CommFunc.WriteString(buf, sizeof(ctypes.c_char) * 33, self.BidderName)
        buf = CommFunc.WriteDWORD(buf, self.ItemID)
        buf = CommFunc.WriteWORD(buf, self.Count)
        buf = CommFunc.WriteWORD(buf, self.UserDataLen)
@@ -139,11 +151,14 @@
    def getLength(self):
        length = 0
        length += sizeof(ctypes.c_char) * 40
        length += sizeof(ctypes.c_ulong)
        length += sizeof(ctypes.c_ulong)
        length += sizeof(ctypes.c_ubyte)
        length += sizeof(ctypes.c_ubyte)
        length += sizeof(ctypes.c_char) * 19
        length += sizeof(ctypes.c_ulong)
        length += sizeof(ctypes.c_char) * 33
        length += sizeof(ctypes.c_ulong)
        length += sizeof(ctypes.c_ushort)
        length += sizeof(ctypes.c_ushort)
@@ -152,22 +167,28 @@
    def outputString(self):
        output = '''// 拍卖记录表 #tagDBAuctionRecord:
            ItemGUID = %s,
            PlayerID = %s,
            FamilyID = %s,
            RecordType = %s,
            RecordResult = %s,
            RecordTime = %s,
            RecordPrice = %s,
            BidderPrice = %s,
            BidderName = %s,
            ItemID = %s,
            Count = %s,
            UserDataLen = %s,
            UserData = %s,
            ADOResult = %s,
            '''%(
                self.ItemGUID,
                self.PlayerID,
                self.FamilyID,
                self.RecordType,
                self.RecordResult,
                self.RecordTime,
                self.RecordPrice,
                self.BidderPrice,
                self.BidderName,
                self.ItemID,
                self.Count,
                self.UserDataLen,
@@ -177,11 +198,23 @@
        return output
    #Char数组类型Set接口,使用该接口对此类型数据赋值,防止赋值的数据过长报错
    def SetItemGUID(self,Str):
        if len(Str)<=40:
            self.ItemGUID = Str
        else:
            self.ItemGUID = Str[:40]
    def SetRecordTime(self,Str):
        if len(Str)<=19:
            self.RecordTime = Str
        else:
            self.RecordTime = Str[:19]
    def SetBidderName(self,Str):
        if len(Str)<=33:
            self.BidderName = Str
        else:
            self.BidderName = Str[:33]
            
# 拍卖物品表 #tagDBAuctionItem
@@ -572,14 +605,22 @@
    def clear(self):
        memset(addressof(self), 0, self.getLength())
    def readData(self, buf, pos = 0, length = 0):
        if not pos <= length:
            return -1
        if len(buf) < pos + self.getLength():
            return -1
        self.clear()
        memmove(addressof(self), buf[pos:], self.getLength())
        self.ZoneID, pos = CommFunc.ReadBYTE(buf, pos)
        self.SeasonID, pos = CommFunc.ReadBYTE(buf, pos)
        self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
        self.PlayerName, pos = CommFunc.ReadString(buf, pos, 33)
        self.Job, pos = CommFunc.ReadBYTE(buf, pos)
        self.FightPower, pos = CommFunc.ReadDWORD(buf, pos)
        self.RealmLV, pos = CommFunc.ReadWORD(buf, pos)
        self.PKScore, pos = CommFunc.ReadDWORD(buf, pos)
        self.DanLV, pos = CommFunc.ReadBYTE(buf, pos)
        self.Time, pos = CommFunc.ReadDWORD(buf, pos)
        return self.getLength()
@@ -625,7 +666,7 @@
            self.PlayerName = Str
        else:
            self.PlayerName = Str[:33]
#仙魔之争记录表#tagDBPyXMZZ
class tagDBPyXMZZ(Structure):
@@ -762,14 +803,15 @@
    def clear(self):
        memset(addressof(self), 0, self.getLength())
    def readData(self, buf, pos = 0, length = 0):
        if not pos <= length:
            return -1
        if len(buf) < pos + self.getLength():
            return -1
        self.clear()
        memmove(addressof(self), buf[pos:], self.getLength())
        self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
        self.LineID, pos = CommFunc.ReadBYTE(buf, pos)
        self.Rank, pos = CommFunc.ReadWORD(buf, pos)
        return self.getLength()
@@ -794,7 +836,6 @@
                self.ADOResult,
            )
        return output
#Boss关注记录表#tagDBPyBossAttention
@@ -857,7 +898,6 @@
        return output
#交易所物品最近成交单价表#tagDBPyBourseItemLastPrice
class tagDBPyBourseItemLastPrice(Structure):
    _pack_ = 1
@@ -875,14 +915,14 @@
    def clear(self):
        memset(addressof(self), 0, self.getLength())
    def readData(self, buf, pos = 0, length = 0):
        if not pos <= length:
            return -1
        if len(buf) < pos + self.getLength():
            return -1
        self.clear()
        memmove(addressof(self), buf[pos:], self.getLength())
        self.ItemID, pos = CommFunc.ReadDWORD(buf, pos)
        self.LastPrice, pos = CommFunc.ReadDWORD(buf, pos)
        return self.getLength()
@@ -1068,7 +1108,6 @@
            )
        return output
#玩家黑名单 #tagDBPyPlayerBlack
class tagDBPyPlayerBlack(Structure):
    _pack_ = 1
@@ -1086,14 +1125,14 @@
    def clear(self):
        memset(addressof(self), 0, self.getLength())
    def readData(self, buf, pos = 0, length = 0):
        if not pos <= length:
            return -1
        if len(buf) < pos + self.getLength():
            return -1
        self.clear()
        memmove(addressof(self), buf[pos:], self.getLength())
        self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
        self.TagID, pos = CommFunc.ReadDWORD(buf, pos)
        return self.getLength()
@@ -1135,14 +1174,15 @@
    def clear(self):
        memset(addressof(self), 0, self.getLength())
    def readData(self, buf, pos = 0, length = 0):
        if not pos <= length:
            return -1
        if len(buf) < pos + self.getLength():
            return -1
        self.clear()
        memmove(addressof(self), buf[pos:], self.getLength())
        self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
        self.TagID, pos = CommFunc.ReadDWORD(buf, pos)
        self.Timestamp, pos = CommFunc.ReadDWORD(buf, pos)
        return self.getLength()
@@ -1185,14 +1225,14 @@
    def clear(self):
        memset(addressof(self), 0, self.getLength())
    def readData(self, buf, pos = 0, length = 0):
        if not pos <= length:
            return -1
        if len(buf) < pos + self.getLength():
            return -1
        self.clear()
        memmove(addressof(self), buf[pos:], self.getLength())
        self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
        self.TagID, pos = CommFunc.ReadDWORD(buf, pos)
        return self.getLength()
@@ -1216,6 +1256,7 @@
            )
        return output
#玩家仇人表#tagPlayerEnemy
class tagPlayerEnemy(Structure):
    _pack_ = 1
@@ -1234,14 +1275,15 @@
    def clear(self):
        memset(addressof(self), 0, self.getLength())
    def readData(self, buf, pos = 0, length = 0):
        if not pos <= length:
            return -1
        if len(buf) < pos + self.getLength():
            return -1
        self.clear()
        memmove(addressof(self), buf[pos:], self.getLength())
        self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
        self.TagID, pos = CommFunc.ReadDWORD(buf, pos)
        self.Timestamp, pos = CommFunc.ReadDWORD(buf, pos)
        return self.getLength()
@@ -1268,7 +1310,6 @@
        return output
#个人社交总表 #tagPersonalSocial
class tagPersonalSocial(Structure):
    _pack_ = 1
@@ -1291,14 +1332,19 @@
    def clear(self):
        memset(addressof(self), 0, self.getLength())
    def readData(self, buf, pos = 0, length = 0):
        if not pos <= length:
            return -1
        if len(buf) < pos + self.getLength():
            return -1
        self.clear()
        memmove(addressof(self), buf[pos:], self.getLength())
        self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos)
        self.PlayerName, pos = CommFunc.ReadString(buf, pos, 33)
        self.Job, pos = CommFunc.ReadBYTE(buf, pos)
        self.LV, pos = CommFunc.ReadWORD(buf, pos)
        self.RealmLV, pos = CommFunc.ReadWORD(buf, pos)
        self.OnlineType, pos = CommFunc.ReadBYTE(buf, pos)
        self.RefCount, pos = CommFunc.ReadDWORD(buf, pos)
        return self.getLength()
@@ -1339,5 +1385,4 @@
        else:
            self.PlayerName = Str[:33]