From 7e0ecb9fda366097e9cb0bc3a79cb52c03da67f5 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 15 十一月 2022 18:11:05 +0800
Subject: [PATCH] 9727 【BT7】【主干】【越南】【后端】查看玩家装备缓存扩展到20阶(支持查看射雕装备17阶)

---
 ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py                       |   75 ++++++++++++++++++
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py                 |   17 +++
 ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py                      |   74 ++++++++++++++++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChMapToGamePyPack.py |   74 ++++++++++++++++++
 4 files changed, 233 insertions(+), 7 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py
index a6c89e4..53677c0 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChMapToGamePyPack.py
@@ -705,6 +705,16 @@
     ItemData14 = ""    #(String ItemData14)
     ItemDataSize15 = 0    #(WORD ItemDataSize15)
     ItemData15 = ""    #(String ItemData15)
+    ItemDataSize16 = 0    #(WORD ItemDataSize16)
+    ItemData16 = ""    #(String ItemData16)
+    ItemDataSize17 = 0    #(WORD ItemDataSize17)
+    ItemData17 = ""    #(String ItemData17)
+    ItemDataSize18 = 0    #(WORD ItemDataSize18)
+    ItemData18 = ""    #(String ItemData18)
+    ItemDataSize19 = 0    #(WORD ItemDataSize19)
+    ItemData19 = ""    #(String ItemData19)
+    ItemDataSize20 = 0    #(WORD ItemDataSize20)
+    ItemData20 = ""    #(String ItemData20)
     data = None
 
     def __init__(self):
@@ -754,6 +764,16 @@
         self.ItemData14,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize14)
         self.ItemDataSize15,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.ItemData15,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize15)
+        self.ItemDataSize16,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData16,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize16)
+        self.ItemDataSize17,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData17,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize17)
+        self.ItemDataSize18,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData18,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize18)
+        self.ItemDataSize19,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData19,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize19)
+        self.ItemDataSize20,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData20,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize20)
         return _pos
 
     def Clear(self):
@@ -799,6 +819,16 @@
         self.ItemData14 = ""
         self.ItemDataSize15 = 0
         self.ItemData15 = ""
+        self.ItemDataSize16 = 0
+        self.ItemData16 = ""
+        self.ItemDataSize17 = 0
+        self.ItemData17 = ""
+        self.ItemDataSize18 = 0
+        self.ItemData18 = ""
+        self.ItemDataSize19 = 0
+        self.ItemData19 = ""
+        self.ItemDataSize20 = 0
+        self.ItemData20 = ""
         return
 
     def GetLength(self):
@@ -842,6 +872,16 @@
         length += len(self.ItemData14)
         length += 2
         length += len(self.ItemData15)
+        length += 2
+        length += len(self.ItemData16)
+        length += 2
+        length += len(self.ItemData17)
+        length += 2
+        length += len(self.ItemData18)
+        length += 2
+        length += len(self.ItemData19)
+        length += 2
+        length += len(self.ItemData20)
 
         return length
 
@@ -886,6 +926,16 @@
         data = CommFunc.WriteString(data, self.ItemDataSize14, self.ItemData14)
         data = CommFunc.WriteWORD(data, self.ItemDataSize15)
         data = CommFunc.WriteString(data, self.ItemDataSize15, self.ItemData15)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize16)
+        data = CommFunc.WriteString(data, self.ItemDataSize16, self.ItemData16)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize17)
+        data = CommFunc.WriteString(data, self.ItemDataSize17, self.ItemData17)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize18)
+        data = CommFunc.WriteString(data, self.ItemDataSize18, self.ItemData18)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize19)
+        data = CommFunc.WriteString(data, self.ItemDataSize19, self.ItemData19)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize20)
+        data = CommFunc.WriteString(data, self.ItemDataSize20, self.ItemData20)
         return data
 
     def OutputString(self):
@@ -928,7 +978,17 @@
                                 ItemDataSize14:%d,
                                 ItemData14:%s,
                                 ItemDataSize15:%d,
-                                ItemData15:%s
+                                ItemData15:%s,
+                                ItemDataSize16:%d,
+                                ItemData16:%s,
+                                ItemDataSize17:%d,
+                                ItemData17:%s,
+                                ItemDataSize18:%d,
+                                ItemData18:%s,
+                                ItemDataSize19:%d,
+                                ItemData19:%s,
+                                ItemDataSize20:%d,
+                                ItemData20:%s
                                 '''\
                                 %(
                                 self.Head.OutputString(),
@@ -969,7 +1029,17 @@
                                 self.ItemDataSize14,
                                 self.ItemData14,
                                 self.ItemDataSize15,
-                                self.ItemData15
+                                self.ItemData15,
+                                self.ItemDataSize16,
+                                self.ItemData16,
+                                self.ItemDataSize17,
+                                self.ItemData17,
+                                self.ItemDataSize18,
+                                self.ItemData18,
+                                self.ItemDataSize19,
+                                self.ItemData19,
+                                self.ItemDataSize20,
+                                self.ItemData20
                                 )
         return DumpString
 
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
index b857004..a40bc65 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
@@ -29,6 +29,7 @@
 import PyGameDataStruct
 import IpyGameDataPY
 import PyDataManager
+import ShareDefine
 import ChConfig
 
 import json
@@ -84,6 +85,16 @@
         if curBillboard.FindByID(playerID):
             return True
         
+    #跨服榜单上的默认保留
+    if GameWorld.IsCrossServer():
+        billboardMgr = PyDataManager.GetCrossBillboardManager()
+        for billboardType in ShareDefine.CrossBillboardTypeList:
+            groupList = billboardMgr.GetBillboardGroupList(billboardType)
+            for billboardType, groupValue1, groupValue2 in groupList:
+                billboardObj = billboardMgr.GetCrossBillboard(billboardType, groupValue1, groupValue2)
+                if billboardObj.FindByID(playerID):
+                    return True
+                
     return False
 
 def DelOutofTimeViewCacheData():
@@ -154,8 +165,8 @@
 #    WORD        ItemDataSize1;
 #    char        ItemData1[ItemDataSize1];    //1阶装备数据
 #    ...         ...
-#    WORD        ItemDataSize15;
-#    char        ItemData15[ItemDataSize15];
+#    WORD        ItemDataSize20;
+#    char        ItemData20[ItemDataSize20];
 #};
 def OnMGUpdatePlayerCache(routeIndex, mapID, curPackData, tick):
     playerID = curPackData.PlayerID
@@ -192,7 +203,7 @@
     #GameWorld.DebugLog("    更新Plus数据: size=%s, %s" % (curCache.PlusDataSize, curCache.PlusData), playerID)
     
     # 装备数据存储,不保存装备数据的话则清空
-    for classLV in xrange(1, 15 + 1):
+    for classLV in xrange(1, 20 + 1):
         if not isSaveAll:
             itemDataSize = 0
             itemData = ""
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
index 68a9d5b..0556db9 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/PyGameDataStruct.py
@@ -636,6 +636,16 @@
         ('ItemData14', ctypes.c_char_p),
         ('ItemDataSize15', ctypes.c_ushort),
         ('ItemData15', ctypes.c_char_p),
+        ('ItemDataSize16', ctypes.c_ushort),
+        ('ItemData16', ctypes.c_char_p),
+        ('ItemDataSize17', ctypes.c_ushort),
+        ('ItemData17', ctypes.c_char_p),
+        ('ItemDataSize18', ctypes.c_ushort),
+        ('ItemData18', ctypes.c_char_p),
+        ('ItemDataSize19', ctypes.c_ushort),
+        ('ItemData19', ctypes.c_char_p),
+        ('ItemDataSize20', ctypes.c_ushort),
+        ('ItemData20', ctypes.c_char_p),
         ('ADOResult', ctypes.c_ulong),
     ]
 
@@ -683,6 +693,16 @@
         self.ItemData14 = ''
         self.ItemDataSize15 = 0
         self.ItemData15 = ''
+        self.ItemDataSize16 = 0
+        self.ItemData16 = ''
+        self.ItemDataSize17 = 0
+        self.ItemData17 = ''
+        self.ItemDataSize18 = 0
+        self.ItemData18 = ''
+        self.ItemDataSize19 = 0
+        self.ItemData19 = ''
+        self.ItemDataSize20 = 0
+        self.ItemData20 = ''
 
     def readData(self, buf, pos = 0, length = 0):
         if not pos <= length:
@@ -747,6 +767,21 @@
         self.ItemDataSize15, pos = CommFunc.ReadWORD(buf, pos)
         tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize15)
         self.ItemData15 = ctypes.c_char_p(tmp)
+        self.ItemDataSize16, pos = CommFunc.ReadWORD(buf, pos)
+        tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize16)
+        self.ItemData16 = ctypes.c_char_p(tmp)
+        self.ItemDataSize17, pos = CommFunc.ReadWORD(buf, pos)
+        tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize17)
+        self.ItemData17 = ctypes.c_char_p(tmp)
+        self.ItemDataSize18, pos = CommFunc.ReadWORD(buf, pos)
+        tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize18)
+        self.ItemData18 = ctypes.c_char_p(tmp)
+        self.ItemDataSize19, pos = CommFunc.ReadWORD(buf, pos)
+        tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize19)
+        self.ItemData19 = ctypes.c_char_p(tmp)
+        self.ItemDataSize20, pos = CommFunc.ReadWORD(buf, pos)
+        tmp, pos = CommFunc.ReadString(buf, pos, self.ItemDataSize20)
+        self.ItemData20 = ctypes.c_char_p(tmp)
         return self.getLength()
 
     def getBuffer(self):
@@ -790,6 +825,16 @@
         buf = CommFunc.WriteString(buf, self.ItemDataSize14, self.ItemData14)
         buf = CommFunc.WriteWORD(buf, self.ItemDataSize15)
         buf = CommFunc.WriteString(buf, self.ItemDataSize15, self.ItemData15)
+        buf = CommFunc.WriteWORD(buf, self.ItemDataSize16)
+        buf = CommFunc.WriteString(buf, self.ItemDataSize16, self.ItemData16)
+        buf = CommFunc.WriteWORD(buf, self.ItemDataSize17)
+        buf = CommFunc.WriteString(buf, self.ItemDataSize17, self.ItemData17)
+        buf = CommFunc.WriteWORD(buf, self.ItemDataSize18)
+        buf = CommFunc.WriteString(buf, self.ItemDataSize18, self.ItemData18)
+        buf = CommFunc.WriteWORD(buf, self.ItemDataSize19)
+        buf = CommFunc.WriteString(buf, self.ItemDataSize19, self.ItemData19)
+        buf = CommFunc.WriteWORD(buf, self.ItemDataSize20)
+        buf = CommFunc.WriteString(buf, self.ItemDataSize20, self.ItemData20)
         return buf
 
     def getLength(self):
@@ -833,6 +878,16 @@
         length += self.ItemDataSize14
         length += sizeof(ctypes.c_ushort)
         length += self.ItemDataSize15
+        length += sizeof(ctypes.c_ushort)
+        length += self.ItemDataSize16
+        length += sizeof(ctypes.c_ushort)
+        length += self.ItemDataSize17
+        length += sizeof(ctypes.c_ushort)
+        length += self.ItemDataSize18
+        length += sizeof(ctypes.c_ushort)
+        length += self.ItemDataSize19
+        length += sizeof(ctypes.c_ushort)
+        length += self.ItemDataSize20
         return length
 
     def outputString(self):
@@ -876,6 +931,16 @@
             ItemData14 = %s,
             ItemDataSize15 = %s,
             ItemData15 = %s,
+            ItemDataSize16 = %s,
+            ItemData16 = %s,
+            ItemDataSize17 = %s,
+            ItemData17 = %s,
+            ItemDataSize18 = %s,
+            ItemData18 = %s,
+            ItemDataSize19 = %s,
+            ItemData19 = %s,
+            ItemDataSize20 = %s,
+            ItemData20 = %s,
             ADOResult = %s,
             '''%(
                 self.PlayerID,
@@ -917,6 +982,16 @@
                 self.ItemData14,
                 self.ItemDataSize15,
                 self.ItemData15,
+                self.ItemDataSize16,
+                self.ItemData16,
+                self.ItemDataSize17,
+                self.ItemData17,
+                self.ItemDataSize18,
+                self.ItemData18,
+                self.ItemDataSize19,
+                self.ItemData19,
+                self.ItemDataSize20,
+                self.ItemData20,
                 self.ADOResult,
             )
         return output
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChMapToGamePyPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChMapToGamePyPack.py
index a6c89e4..53677c0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChMapToGamePyPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChMapToGamePyPack.py
@@ -705,6 +705,16 @@
     ItemData14 = ""    #(String ItemData14)
     ItemDataSize15 = 0    #(WORD ItemDataSize15)
     ItemData15 = ""    #(String ItemData15)
+    ItemDataSize16 = 0    #(WORD ItemDataSize16)
+    ItemData16 = ""    #(String ItemData16)
+    ItemDataSize17 = 0    #(WORD ItemDataSize17)
+    ItemData17 = ""    #(String ItemData17)
+    ItemDataSize18 = 0    #(WORD ItemDataSize18)
+    ItemData18 = ""    #(String ItemData18)
+    ItemDataSize19 = 0    #(WORD ItemDataSize19)
+    ItemData19 = ""    #(String ItemData19)
+    ItemDataSize20 = 0    #(WORD ItemDataSize20)
+    ItemData20 = ""    #(String ItemData20)
     data = None
 
     def __init__(self):
@@ -754,6 +764,16 @@
         self.ItemData14,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize14)
         self.ItemDataSize15,_pos = CommFunc.ReadWORD(_lpData, _pos)
         self.ItemData15,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize15)
+        self.ItemDataSize16,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData16,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize16)
+        self.ItemDataSize17,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData17,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize17)
+        self.ItemDataSize18,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData18,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize18)
+        self.ItemDataSize19,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData19,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize19)
+        self.ItemDataSize20,_pos = CommFunc.ReadWORD(_lpData, _pos)
+        self.ItemData20,_pos = CommFunc.ReadString(_lpData, _pos,self.ItemDataSize20)
         return _pos
 
     def Clear(self):
@@ -799,6 +819,16 @@
         self.ItemData14 = ""
         self.ItemDataSize15 = 0
         self.ItemData15 = ""
+        self.ItemDataSize16 = 0
+        self.ItemData16 = ""
+        self.ItemDataSize17 = 0
+        self.ItemData17 = ""
+        self.ItemDataSize18 = 0
+        self.ItemData18 = ""
+        self.ItemDataSize19 = 0
+        self.ItemData19 = ""
+        self.ItemDataSize20 = 0
+        self.ItemData20 = ""
         return
 
     def GetLength(self):
@@ -842,6 +872,16 @@
         length += len(self.ItemData14)
         length += 2
         length += len(self.ItemData15)
+        length += 2
+        length += len(self.ItemData16)
+        length += 2
+        length += len(self.ItemData17)
+        length += 2
+        length += len(self.ItemData18)
+        length += 2
+        length += len(self.ItemData19)
+        length += 2
+        length += len(self.ItemData20)
 
         return length
 
@@ -886,6 +926,16 @@
         data = CommFunc.WriteString(data, self.ItemDataSize14, self.ItemData14)
         data = CommFunc.WriteWORD(data, self.ItemDataSize15)
         data = CommFunc.WriteString(data, self.ItemDataSize15, self.ItemData15)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize16)
+        data = CommFunc.WriteString(data, self.ItemDataSize16, self.ItemData16)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize17)
+        data = CommFunc.WriteString(data, self.ItemDataSize17, self.ItemData17)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize18)
+        data = CommFunc.WriteString(data, self.ItemDataSize18, self.ItemData18)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize19)
+        data = CommFunc.WriteString(data, self.ItemDataSize19, self.ItemData19)
+        data = CommFunc.WriteWORD(data, self.ItemDataSize20)
+        data = CommFunc.WriteString(data, self.ItemDataSize20, self.ItemData20)
         return data
 
     def OutputString(self):
@@ -928,7 +978,17 @@
                                 ItemDataSize14:%d,
                                 ItemData14:%s,
                                 ItemDataSize15:%d,
-                                ItemData15:%s
+                                ItemData15:%s,
+                                ItemDataSize16:%d,
+                                ItemData16:%s,
+                                ItemDataSize17:%d,
+                                ItemData17:%s,
+                                ItemDataSize18:%d,
+                                ItemData18:%s,
+                                ItemDataSize19:%d,
+                                ItemData19:%s,
+                                ItemDataSize20:%d,
+                                ItemData20:%s
                                 '''\
                                 %(
                                 self.Head.OutputString(),
@@ -969,7 +1029,17 @@
                                 self.ItemDataSize14,
                                 self.ItemData14,
                                 self.ItemDataSize15,
-                                self.ItemData15
+                                self.ItemData15,
+                                self.ItemDataSize16,
+                                self.ItemData16,
+                                self.ItemDataSize17,
+                                self.ItemData17,
+                                self.ItemDataSize18,
+                                self.ItemData18,
+                                self.ItemDataSize19,
+                                self.ItemData19,
+                                self.ItemDataSize20,
+                                self.ItemData20
                                 )
         return DumpString
 

--
Gitblit v1.8.0