From d7293ef9af151c66c4c24aca807b2d2e1b3ee2b9 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 26 四月 2019 19:36:58 +0800 Subject: [PATCH] 6628 【2.0】【后端】查看玩家装备和查看玩家战力功能(增加py表) --- ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py | 329 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 329 insertions(+), 0 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py index 3b6241c..383f78c 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py @@ -15,6 +15,335 @@ from ctypes import (Structure, memset, memmove, sizeof, addressof, create_string_buffer, string_at) import CommFunc +# 玩家数据查看缓存表Py #tagPlayerViewCachePy +class tagPlayerViewCachePy(Structure): + _pack_ = 1 + _fields_ = [ + ('PlayerID', ctypes.c_ulong), + ('GeTuiIDSize', ctypes.c_ubyte), + ('GeTuiID', ctypes.c_char_p), + ('LV', ctypes.c_ushort), + ('OffTime', ctypes.c_ulong), + ('PropDataSize', ctypes.c_ushort), + ('PropData', ctypes.c_char_p), + ('PlusDataSize', ctypes.c_ushort), + ('PlusData', ctypes.c_char_p), + ('ItemDataSize1', ctypes.c_ushort), + ('ItemData1', ctypes.c_char_p), + ('ItemDataSize2', ctypes.c_ushort), + ('ItemData2', ctypes.c_char_p), + ('ItemDataSize3', ctypes.c_ushort), + ('ItemData3', ctypes.c_char_p), + ('ItemDataSize4', ctypes.c_ushort), + ('ItemData4', ctypes.c_char_p), + ('ItemDataSize5', ctypes.c_ushort), + ('ItemData5', ctypes.c_char_p), + ('ItemDataSize6', ctypes.c_ushort), + ('ItemData6', ctypes.c_char_p), + ('ItemDataSize7', ctypes.c_ushort), + ('ItemData7', ctypes.c_char_p), + ('ItemDataSize8', ctypes.c_ushort), + ('ItemData8', ctypes.c_char_p), + ('ItemDataSize9', ctypes.c_ushort), + ('ItemData9', ctypes.c_char_p), + ('ItemDataSize10', ctypes.c_ushort), + ('ItemData10', ctypes.c_char_p), + ('ItemDataSize11', ctypes.c_ushort), + ('ItemData11', ctypes.c_char_p), + ('ItemDataSize12', ctypes.c_ushort), + ('ItemData12', ctypes.c_char_p), + ('ItemDataSize13', ctypes.c_ushort), + ('ItemData13', ctypes.c_char_p), + ('ItemDataSize14', ctypes.c_ushort), + ('ItemData14', ctypes.c_char_p), + ('ItemDataSize15', ctypes.c_ushort), + ('ItemData15', ctypes.c_char_p), + ('ADOResult', ctypes.c_ulong), + ] + + def __init__(self): + Structure.__init__(self) + self.clear() + + def clear(self): + self.PlayerID = 0 + self.GeTuiIDSize = 0 + self.GeTuiID = '' + self.LV = 0 + self.OffTime = 0 + self.PropDataSize = 0 + self.PropData = '' + self.PlusDataSize = 0 + self.PlusData = '' + self.ItemDataSize1 = 0 + self.ItemData1 = '' + self.ItemDataSize2 = 0 + self.ItemData2 = '' + self.ItemDataSize3 = 0 + self.ItemData3 = '' + self.ItemDataSize4 = 0 + self.ItemData4 = '' + self.ItemDataSize5 = 0 + self.ItemData5 = '' + self.ItemDataSize6 = 0 + self.ItemData6 = '' + self.ItemDataSize7 = 0 + self.ItemData7 = '' + self.ItemDataSize8 = 0 + self.ItemData8 = '' + self.ItemDataSize9 = 0 + self.ItemData9 = '' + self.ItemDataSize10 = 0 + self.ItemData10 = '' + self.ItemDataSize11 = 0 + self.ItemData11 = '' + self.ItemDataSize12 = 0 + self.ItemData12 = '' + self.ItemDataSize13 = 0 + self.ItemData13 = '' + self.ItemDataSize14 = 0 + self.ItemData14 = '' + self.ItemDataSize15 = 0 + self.ItemData15 = '' + + def readData(self, buf, pos = 0, length = 0): + if not pos <= length: + return -1 + if len(buf) < pos + self.getLength(): + return -1 + self.clear() + self.PlayerID, pos = CommFunc.ReadDWORD(buf, pos) + self.GeTuiIDSize, pos = CommFunc.ReadBYTE(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.GeTuiIDSize) + self.GeTuiID = ctypes.c_char_p(tmp) + self.LV, pos = CommFunc.ReadWORD(buf, pos) + self.OffTime, pos = CommFunc.ReadDWORD(buf, pos) + self.PropDataSize, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.PropDataSize) + self.PropData = ctypes.c_char_p(tmp) + self.PlusDataSize, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.PlusDataSize) + self.PlusData = ctypes.c_char_p(tmp) + self.ItemDataSize1, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize1) + self.ItemData1 = ctypes.c_char_p(tmp) + self.ItemDataSize2, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize2) + self.ItemData2 = ctypes.c_char_p(tmp) + self.ItemDataSize3, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize3) + self.ItemData3 = ctypes.c_char_p(tmp) + self.ItemDataSize4, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize4) + self.ItemData4 = ctypes.c_char_p(tmp) + self.ItemDataSize5, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize5) + self.ItemData5 = ctypes.c_char_p(tmp) + self.ItemDataSize6, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize6) + self.ItemData6 = ctypes.c_char_p(tmp) + self.ItemDataSize7, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize7) + self.ItemData7 = ctypes.c_char_p(tmp) + self.ItemDataSize8, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize8) + self.ItemData8 = ctypes.c_char_p(tmp) + self.ItemDataSize9, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize9) + self.ItemData9 = ctypes.c_char_p(tmp) + self.ItemDataSize10, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize10) + self.ItemData10 = ctypes.c_char_p(tmp) + self.ItemDataSize11, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize11) + self.ItemData11 = ctypes.c_char_p(tmp) + self.ItemDataSize12, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize12) + self.ItemData12 = ctypes.c_char_p(tmp) + self.ItemDataSize13, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize13) + self.ItemData13 = ctypes.c_char_p(tmp) + self.ItemDataSize14, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize14) + self.ItemData14 = ctypes.c_char_p(tmp) + self.ItemDataSize15, pos = CommFunc.ReadWORD(buf, pos) + tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize15) + self.ItemData15 = ctypes.c_char_p(tmp) + return self.getLength() + + def getBuffer(self): + buf = '' + buf = CommFunc.WriteDWORD(buf, self.PlayerID) + buf = CommFunc.WriteBYTE(buf, self.GeTuiIDSize) + buf = CommFunc.WriteString(buf, self.GeTuiIDSize, self.GeTuiID) + buf = CommFunc.WriteWORD(buf, self.LV) + buf = CommFunc.WriteDWORD(buf, self.OffTime) + buf = CommFunc.WriteWORD(buf, self.PropDataSize) + buf = CommFunc.WriteString(buf, self.PropDataSize, self.PropData) + buf = CommFunc.WriteWORD(buf, self.PlusDataSize) + buf = CommFunc.WriteString(buf, self.PlusDataSize, self.PlusData) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize1) + buf = CommFunc.WriteString(buf, self.ItemDataSize1, self.ItemData1) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize2) + buf = CommFunc.WriteString(buf, self.ItemDataSize2, self.ItemData2) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize3) + buf = CommFunc.WriteString(buf, self.ItemDataSize3, self.ItemData3) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize4) + buf = CommFunc.WriteString(buf, self.ItemDataSize4, self.ItemData4) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize5) + buf = CommFunc.WriteString(buf, self.ItemDataSize5, self.ItemData5) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize6) + buf = CommFunc.WriteString(buf, self.ItemDataSize6, self.ItemData6) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize7) + buf = CommFunc.WriteString(buf, self.ItemDataSize7, self.ItemData7) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize8) + buf = CommFunc.WriteString(buf, self.ItemDataSize8, self.ItemData8) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize9) + buf = CommFunc.WriteString(buf, self.ItemDataSize9, self.ItemData9) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize10) + buf = CommFunc.WriteString(buf, self.ItemDataSize10, self.ItemData10) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize11) + buf = CommFunc.WriteString(buf, self.ItemDataSize11, self.ItemData11) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize12) + buf = CommFunc.WriteString(buf, self.ItemDataSize12, self.ItemData12) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize13) + buf = CommFunc.WriteString(buf, self.ItemDataSize13, self.ItemData13) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize14) + buf = CommFunc.WriteString(buf, self.ItemDataSize14, self.ItemData14) + buf = CommFunc.WriteWORD(buf, self.ItemDataSize15) + buf = CommFunc.WriteString(buf, self.ItemDataSize15, self.ItemData15) + return buf + + def getLength(self): + length = 0 + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ubyte) + length += self.GeTuiIDSize + length += sizeof(ctypes.c_ushort) + length += sizeof(ctypes.c_ulong) + length += sizeof(ctypes.c_ushort) + length += self.PropDataSize + length += sizeof(ctypes.c_ushort) + length += self.PlusDataSize + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize1 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize2 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize3 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize4 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize5 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize6 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize7 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize8 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize9 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize10 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize11 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize12 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize13 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize14 + length += sizeof(ctypes.c_ushort) + length += self.ItemDataSize15 + return length + + def outputString(self): + output = '''// 玩家数据查看缓存表Py #tagPlayerViewCachePy: + PlayerID = %s, + GeTuiIDSize = %s, + GeTuiID = %s, + LV = %s, + OffTime = %s, + PropDataSize = %s, + PropData = %s, + PlusDataSize = %s, + PlusData = %s, + ItemDataSize1 = %s, + ItemData1 = %s, + ItemDataSize2 = %s, + ItemData2 = %s, + ItemDataSize3 = %s, + ItemData3 = %s, + ItemDataSize4 = %s, + ItemData4 = %s, + ItemDataSize5 = %s, + ItemData5 = %s, + ItemDataSize6 = %s, + ItemData6 = %s, + ItemDataSize7 = %s, + ItemData7 = %s, + ItemDataSize8 = %s, + ItemData8 = %s, + ItemDataSize9 = %s, + ItemData9 = %s, + ItemDataSize10 = %s, + ItemData10 = %s, + ItemDataSize11 = %s, + ItemData11 = %s, + ItemDataSize12 = %s, + ItemData12 = %s, + ItemDataSize13 = %s, + ItemData13 = %s, + ItemDataSize14 = %s, + ItemData14 = %s, + ItemDataSize15 = %s, + ItemData15 = %s, + ADOResult = %s, + '''%( + self.PlayerID, + self.GeTuiIDSize, + self.GeTuiID, + self.LV, + self.OffTime, + self.PropDataSize, + self.PropData, + self.PlusDataSize, + self.PlusData, + self.ItemDataSize1, + self.ItemData1, + self.ItemDataSize2, + self.ItemData2, + self.ItemDataSize3, + self.ItemData3, + self.ItemDataSize4, + self.ItemData4, + self.ItemDataSize5, + self.ItemData5, + self.ItemDataSize6, + self.ItemData6, + self.ItemDataSize7, + self.ItemData7, + self.ItemDataSize8, + self.ItemData8, + self.ItemDataSize9, + self.ItemData9, + self.ItemDataSize10, + self.ItemData10, + self.ItemDataSize11, + self.ItemData11, + self.ItemDataSize12, + self.ItemData12, + self.ItemDataSize13, + self.ItemData13, + self.ItemDataSize14, + self.ItemData14, + self.ItemDataSize15, + self.ItemData15, + self.ADOResult, + ) + return output + + # 拍卖关注表 #tagDBAuctionAttention class tagDBAuctionAttention(Structure): _pack_ = 1 -- Gitblit v1.8.0