From 2302b1d177f432df31524077a71033e4c4bad4a1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 06 十一月 2019 17:08:31 +0800
Subject: [PATCH] 8321 【主干】【后端】GM工具优化(查看玩家信息、物品信息优化)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_PlayerItemInfo.py |  143 +++++++++++++++--------------------------------
 1 files changed, 46 insertions(+), 97 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_PlayerItemInfo.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_PlayerItemInfo.py
index ac632e1..cff8655 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_PlayerItemInfo.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_PlayerItemInfo.py
@@ -16,12 +16,12 @@
 # @change: "2012-06-29 21:30" wdb 返回信息是否过长
 # @change: "2015-12-29 11:00" hxp 开放其他背包查询
 #---------------------------------------------------------------------
-"""Version = 2015-12-29 11:00"""
+#"""Version = 2015-12-29 11:00"""
 #---------------------------------------------------------------------
 import IPY_GameWorld
 import GameWorld
-import ItemCommon
 import ShareDefine
+import GMCommon
 #---------------------------------------------------------------------
 
 # 显示说有背包类型
@@ -43,49 +43,26 @@
     packIndex = packCMDList[1]
     itemList = []
     
-#    # 查看的背包类型
-#    packTypes = (
-#                IPY_GameWorld.rptEquip,   #1 装备
-#                IPY_GameWorld.rptItem,   #2 物品
-#                IPY_GameWorld.rptRecycle,   #3 垃圾桶(回收站)
-#                IPY_GameWorld.rptWarehouse,   #5 仓库
-#                IPY_GameWorld.rptTitle,   #6 称号背包
-#                IPY_GameWorld.rptHorse,   #12 坐骑背包
-#                IPY_GameWorld.rptAnyWhere,   #13 万能背包
-#                IPY_GameWorld.rptCabinetDressCoat,   #16 衣服外套背包
-#                IPY_GameWorld.rptCabinetWeaponCoat,   #17 武器外套背包
-#                IPY_GameWorld.rptCabinetHorse,    #18 时装坐骑背包
-#                IPY_GameWorld.rptFineSoulSlot,   #21 精魄槽
-#                )
-    
     # 是否指定显示的背包类型
     if IPY_GameWorld.rptDeleted <= packIndex <= ShareDefine.rptMax:
         packTypes = [packIndex]
         
-    elif packIndex != ShowAllPack:
-        packTypes = []
+    elif packIndex == ShowAllPack:
+        return 'Not allowed to query all package items.'
     
     # 要查看的背包
     for packIndex in packTypes:
         # 遍历pack格子,获得物品信息
         packItemList = _GetPackItem(curPlayer, packIndex)
         itemList.extend(packItemList)
-
-    resultDict = {
-                  'LogoffTime':curPlayer.GetLogoffTime(), #离线时间
-                  'LoginTime':curPlayer.GetLoginTime(),  # 上线时间
-                  'OnlineTime':curPlayer.GetOnlineTime(),  # 累计上线时间
-                  'LoginIP':curPlayer.GetIP(),  #登入IP
-                  'ItemList':itemList,   # 物品装备列表
-                  }
-
-    
-    gmResult = 0
-    if len(resultDict) > pow(2, 14):
-        resultDict = ''
-        gmResult = 8  # 数据过大
-    
-    resultMsg = str([packCMDList[0], resultDict, 'GMT_PlayerItemInfo', gmResult])
+        
+    gmResult = GMCommon.Def_Success
+    resultMsg = {"PackIndex":packIndex, "ItemList":itemList}
+    if len(resultMsg) > pow(2, 14):
+        resultMsg = {}
+        gmResult = GMCommon.Def_MaxLimit # 数据过大
+        
+    resultMsg = str([packCMDList[0], resultMsg, 'GMT_PlayerItemInfo', gmResult])
     GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'GMToolResult', 
                                                               resultMsg, len(resultMsg))
     return ''
@@ -114,68 +91,40 @@
         if curItem.IsEmpty():
             continue
         
-        #分为装备和非装备
-        if not ItemCommon.CheckItemIsEquip(curItem):
-            # 获得具体信息
-            itemList.append(_GetItemInfo(curItem, packIndex, index))
-        else:
-            itemList.append(_GetEquipInfo(curItem, packIndex, index))
-            
+        itemList.append(_GetItemInfo(curItem))
+        
     return itemList
 
+def _GetItemInfo(curItem):
+#    "ItemGUID" : "096389AD-904F-4DAA-B7ED155B8663CE45",
+#    "ItemTypeID" : NumberLong(3901),
+#    "Count" : 100,
+#    "IsBind" : 0,
+#    "UserData" : "{}",
+#    "IsSuite" : 0,
+#    "RemainHour" : 0,
+#    "GearScore" : NumberLong(0),
+#    "CreateTime" : "2019-10-16 20:12:17"
+    
+#    "ItemPlaceIndex" : 1,
+#    "PlayerID" : NumberLong(268902),
+#    "ItemPlaceType" : 2,
+#    "UserDataLen" : NumberLong(2),
+#    "IsLocked" : 0,
+#    "SID" : -1135840175,
+#    "VerNO" : NumberLong(1),
+    
+    curItemInfo = {"ItemGUID":curItem.GetGUID(),
+                   "ItemTypeID":curItem.GetItemTypeID(),
+                   "ItemName":curItem.GetName().decode(ShareDefine.Def_Game_Character_Encoding).encode(GameWorld.GetCharacterEncoding()),
+                   "Count":curItem.GetCount(),
+                   "UserData":curItem.GetUserData(),
+                   "IsBind":curItem.GetIsBind(),
+                   "IsSuite":1 if curItem.GetSuiteID() else 0,
+                   "RemainHour":curItem.GetRemainHour(),
+                   "GearScore":curItem.GetGearScore(),
+                   "CreateTime":curItem.GetCreateTime(),
+                   }
+    
+    return curItemInfo
 
-## 获取背包字典
-#  @param curFindPlayer 当前玩家
-#  @param packIndex 背包索引
-#  @param index 物品位置
-#  @return None
-def _GetItemInfo(curItem, packType, index):
-    
-    itemInfo = {
-                'PackType':packType,  # 背包类型
-                'ItemIndex':index,   # 索引
-                'GUID':curItem.GetGUID(),   # guid
-                'Name':curItem.GetName(),   # 物品名
-                'ItemID':curItem.GetItemTypeID(), 
-    
-                'IsBand':curItem.GetIsBind(),  # 是否绑定
-                'ItemCnt':curItem.GetCount(),   # 数量
-                }
-    
-    return itemInfo
-
-
-## 获取背包字典
-#  @param curFindPlayer 当前玩家
-#  @param packIndex 背包索引
-#  @param index 物品位置
-#  @return None
-def _GetEquipInfo(curItem, packType, index):
-    itemInfo = {
-                'PackType':packType,  # 背包类型
-                'ItemIndex':index,   # 索引
-                'GUID':curItem.GetGUID(),   # guid
-                'Name':curItem.GetName(),   # 物品名
-                'IsBand':curItem.GetIsBind(),  # 是否绑定
-                'ItemID':curItem.GetItemTypeID(), 
-                'IsSuite':curItem.GetIsSuite(),  # 是否套装
-   
-                }
-    
-    return itemInfo
- 
-
-## 获取装备技能
-#  @param curEquip 装备
-#  @return addSkillList 技能列表
-def GetEquipSkill(curEquip):
-    
-    #该装备当前的灵纹属性列表
-    addSkillList = []  
-    
-    for i in range(0, curEquip.GetUserAttrCount(IPY_GameWorld.iudetEquipAddSkillList)):
-        
-        addSkillID = curEquip.GetUserAttrByIndex(IPY_GameWorld.iudetEquipAddSkillList, i)
-        addSkillList.append(addSkillID)
-        
-    return addSkillList

--
Gitblit v1.8.0