| | |
| | | if data == '%s'%GMCommon.Def_GMKey_PlayerName:
|
| | | return GMCommon.Def_DoQueryLogDB, playerAccID
|
| | |
|
| | | accountData = DataServerPlayerData.tagDSAccount()
|
| | | accountData.ACCID = playerAccID
|
| | | accountData.adoLoad(userdb[UCN_DSAccount])
|
| | | |
| | | collection = userdb[UCN_DBPlayer]
|
| | | dbPlayer = DataServerPlayerData.tagDBPlayer()
|
| | | dbPlayer.IsDeleted = 0
|
| | |
| | | # 回复gm
|
| | | return GMCommon.Def_NoTag, ''
|
| | |
|
| | | roleDict = {}
|
| | | moneyMinusDict = {}
|
| | | collection = userdb[UCN_RoleNomalDict]
|
| | | docs = collection.find({'PlayerID':dbPlayer.PlayerID})
|
| | | if docs.count():
|
| | | obj = DataServerPlayerData.tagRoleNomalDict()
|
| | | doc = list(docs)[0]
|
| | | #有数据
|
| | | if doc.has_key('__PackSave'):
|
| | | for i in xrange(doc['Count']):
|
| | | obj.readRecord(doc['%s'%(i+1)])
|
| | | if obj.DictName.startswith("MoneyMinus_") and obj.DictValue > 0:
|
| | | moneyMinusDict[int(obj.DictName[len("MoneyMinus_"):])] = -obj.DictValue # 货币负值
|
| | | if 1 in moneyMinusDict and 2 in moneyMinusDict and 4 in moneyMinusDict:
|
| | | break
|
| | | if obj.DictValue > 0:
|
| | | roleDict[obj.DictName] = obj.DictValue
|
| | | |
| | | playerInfo = {
|
| | | 'AccID':dbPlayer.AccID, # 账号
|
| | | 'AccState':dbPlayer.AccState, # 账号状态
|
| | |
| | | 'GMLV':dbPlayer.GMLevel, #gm等级
|
| | |
|
| | | 'Job':dbPlayer.Job, # ְҵ
|
| | | 'Sex':dbPlayer.Sex, # 性别
|
| | | 'LV':dbPlayer.LV, #玩家等级
|
| | | 'LVEx':dbPlayer.LVEx, #转生等级
|
| | | 'LV2':dbPlayer.LV2, #大师等级
|
| | | 'ReincarnationLv':dbPlayer.ReincarnationLv, #转生次数
|
| | | 'FightPower':dbPlayer.FightPower, #战斗力
|
| | | 'OfficialRank':dbPlayer.OfficialRank, #境界
|
| | | 'FightPower':dbPlayer.FightPowerEx * 100000000 + dbPlayer.FightPower, #战斗力
|
| | | 'VIPLV':dbPlayer.VIPLv, # vip等级
|
| | | 'TotalExp':dbPlayer.TotalExp, # 总经验值
|
| | |
|
| | | 'MapID':dbPlayer.MapID, #当前地图id
|
| | | 'PosX':dbPlayer.PosX, # 当前坐标
|
| | | 'PosY':dbPlayer.PosY, |
| | | 'Gold':dbPlayer.Gold, # 元宝
|
| | | 'GoldPaper':dbPlayer.GoldPaper, # 绑钻
|
| | | 'Gold':moneyMinusDict[1] if 1 in moneyMinusDict else dbPlayer.Gold, # 元宝
|
| | | 'GoldPaper':moneyMinusDict[2] if 2 in moneyMinusDict else dbPlayer.GoldPaper, # 绑钻
|
| | | 'Silver':dbPlayer.Silver, # 银两
|
| | | 'SilverPaper':moneyMinusDict[4] if 4 in moneyMinusDict else dbPlayer.SilverPaper, # 神玉
|
| | |
|
| | | 'ZhenQi':dbPlayer.ExAttr5, # 真气
|
| | | 'FamilyName':dbPlayer.FamilyName, # 家族名称
|
| | |
|
| | | 'STR':dbPlayer.STR, #力量
|
| | | 'PNE':dbPlayer.PNE, #真元
|
| | | 'PHY':dbPlayer.PHY, #筋骨
|
| | | 'CON':dbPlayer.CON, #体魄
|
| | | 'FreePoint':dbPlayer.FreePoint, # 剩余点数 |
| | | |
| | | 'LogoffTime':dbPlayer.LogoffTime, #离线时间
|
| | | 'LoginTime':dbPlayer.LoginTime, # 上线时间
|
| | | 'OnlineTime':dbPlayer.OnlineTime, # 累计上线时间
|
| | | 'LoginIP':dbPlayer.LoginIP, #登入IP
|
| | | 'ClientVersion':accountData.ClientVersion, #客户端版本号
|
| | |
|
| | | 'WarehousePsw':dbPlayer.WarehousePsw, #仓库密码
|
| | | 'Online':0,
|
| | | }
|
| | |
|
| | | # 需要额外同步的自定义货币
|
| | | CurrencyValueDict = {}
|
| | | for moneyType in [99, 98]:
|
| | | if moneyType == 99:
|
| | | moneyValue = dbPlayer.ExAttr11
|
| | | else:
|
| | | moneyValue = roleDict.get("PlayerCurrency_%s" % moneyType, 0)
|
| | | CurrencyValueDict['PlayerCurrency_%s' % moneyType] = moneyValue
|
| | | playerInfo.update(CurrencyValueDict)
|
| | | return GMCommon.Def_Success, playerInfo
|
| | |
|
| | |
|