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