From 388823edfe6308cba6f76ca6dc4f20022c5cb2be Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 30 六月 2025 19:03:50 +0800
Subject: [PATCH] 10431 【英文】看广告获得限时代金券

---
 ServerPython/db/PyMongoDataServer/GMToolLogicProcess/Commands/GMT_GetPlayerInfo.py |   57 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 38 insertions(+), 19 deletions(-)

diff --git a/ServerPython/db/PyMongoDataServer/GMToolLogicProcess/Commands/GMT_GetPlayerInfo.py b/ServerPython/db/PyMongoDataServer/GMToolLogicProcess/Commands/GMT_GetPlayerInfo.py
index 9fb2db9..e8b83cf 100644
--- a/ServerPython/db/PyMongoDataServer/GMToolLogicProcess/Commands/GMT_GetPlayerInfo.py
+++ b/ServerPython/db/PyMongoDataServer/GMToolLogicProcess/Commands/GMT_GetPlayerInfo.py
@@ -90,6 +90,10 @@
     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
@@ -101,6 +105,24 @@
         # 回复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,  # 账号状态
@@ -109,39 +131,36 @@
                   '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
 
 

--
Gitblit v1.8.0