From ad594347b6c23e081f1d631032cd6534f4191e0b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 04 十一月 2025 16:51:34 +0800
Subject: [PATCH] 332 【主界面】座骑系统-服务端(修复坐骑功能未开启时有0阶初始属性的bug;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCache.py |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 6 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCache.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCache.py
index 1201f24..d351da2 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCache.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerViewCache.py
@@ -194,6 +194,9 @@
     if not curCache:
         return
     
+    familyID = curPlayer.GetFamilyID()
+    family = DBDataMgr.GetFamilyMgr().FindFamily(familyID) if familyID else None
+    
     tick = GameWorld.GetGameWorld().GetTick()
     curPlayer.SetDict(Key_UpdViewCacheTick, tick)
     #GameWorld.DebugLog("更新玩家查看缓存数据! isOffline=%s" % isOffline, playerID)
@@ -205,10 +208,12 @@
     curCache.SetFace(curPlayer.GetFace())
     curCache.SetFacePic(curPlayer.GetFacePic())
     curCache.SetModelMark(curPlayer.GetModelMark())
-    curCache.SetFamilyID(curPlayer.GetFamilyID())
-    curCache.SetFamilyName(curPlayer.GetFamilyName())
-    curCache.SetFamilyEmblemID(PlayerControl.GetFamilyEmblemID(curPlayer))
+    curCache.SetEquipShowSwitch(curPlayer.GetEquipShowSwitch())
     curCache.SetTitleID(PlayerControl.GetTitleID(curPlayer))
+    curCache.SetFamilyID(familyID)
+    curCache.SetFamilyName(family.GetName() if family else "")
+    curCache.SetFamilyEmblemID(family.GetEmblemID() if family else 0)
+    curCache.SetFamilyEmblemWord(family.GetEmblemWord() if family else "")
     curCache.SetFightPowerTotal(PlayerControl.GetFightPower(curPlayer))
     curCache.SetServerID(GameWorld.GetPlayerServerID(curPlayer))
     if isOffline:
@@ -236,7 +241,7 @@
     
     # 其他
     
-    plusDict= {"Equip":equipDict, "Lineup":lineupDict}
+    plusDict = {"Equip":equipDict, "Lineup":lineupDict}
     curCache.SetPlusDict(plusDict)
     
     return curCache
@@ -263,15 +268,50 @@
     curCache.SetFace(dbPlayer.Face)
     curCache.SetFacePic(dbPlayer.FacePic)
     curCache.SetModelMark(dbPlayer.ModelMark)
+    curCache.SetEquipShowSwitch(dbPlayer.EquipShowSwitch)
+    curCache.SetTitleID(dbPlayer.ExAttr3)
     curCache.SetFamilyID(familyID)
-    family = DBDataMgr.GetFamilyMgr().FindFamily(familyID)
+    family = DBDataMgr.GetFamilyMgr().FindFamily(familyID) if familyID else None
     curCache.SetFamilyName(family.GetName() if family else "")
     curCache.SetFamilyEmblemID(family.GetEmblemID() if family else 0)
-    #curCache.SetTitleID(PlayerControl.GetTitleID(curPlayer))
+    curCache.SetFamilyEmblemWord(family.GetEmblemWord() if family else "")
     curCache.SetFightPowerTotal(dbPlayer.FightPowerEx * ChConfig.Def_PerPointValue + dbPlayer.FightPower)
     curCache.SetServerID(GameWorld.GetAccIDServerID(dbPlayer.AccID))
     curCache.SetOffTime(GameWorld.ChangeTimeStrToNum(dbPlayer.LogoffTime) if dbPlayer.LogoffTime else 0)
     return curCache
+
+def GetPlayerBaseViewInfo(playerID, curPlayer=None):
+    ## 获取玩家基础查看信息
+    baseInfo = {}
+    if not curPlayer:
+        curPlayer = GameWorld.GetPlayerManager().FindPlayerByID(playerID)
+    if curPlayer:
+        baseInfo = {
+                    "Name":curPlayer.GetPlayerName(),
+                    "LV":curPlayer.GetLV(),
+                    "Job":curPlayer.GetJob(),
+                    "RealmLV":curPlayer.GetOfficialRank(),
+                    "Face":curPlayer.GetFace(),
+                    "FacePic":curPlayer.GetFacePic(),
+                    "TitleID":PlayerControl.GetTitleID(curPlayer),
+                    "ServerID":GameWorld.GetPlayerServerID(curPlayer),
+                    "FightPower":PlayerControl.GetFightPower(curPlayer),
+                    }
+    else:
+        viewCache = FindViewCache(playerID)
+        if viewCache:
+            baseInfo = {
+                        "Name":viewCache.GetPlayerName(),
+                        "LV":viewCache.GetLV(),
+                        "Job":viewCache.GetJob(),
+                        "RealmLV":viewCache.GetRealmLV(),
+                        "Face":viewCache.GetFace(),
+                        "FacePic":viewCache.GetFacePic(),
+                        "TitleID":viewCache.GetTitleID(),
+                        "ServerID":viewCache.GetServerID(),
+                        "FightPower":viewCache.GetFightPowerTotal(),
+                        }
+    return baseInfo
 
 def GetRobotByViewCache(curCache):
     ## 根据缓存内容获取机器人数据
@@ -284,7 +324,9 @@
                  "RealmLV" : curCache.GetRealmLV(),
                  "Face" : curCache.GetFace(),
                  "FacePic" : curCache.GetFacePic(),
+                 "TitleID" : curCache.GetTitleID(),
                  "ModelMark" : curCache.GetModelMark(),
+                 "EquipShowSwitch" : curCache.GetEquipShowSwitch(),
                  "FightPower" : curCache.GetFightPowerTotal(),
                  "PlusData" : curCache.GetPlusDict(),
                  }
@@ -312,7 +354,9 @@
     curCache.SetRealmLV(robotInfo.get("RealmLV", 0))
     curCache.SetFace(robotInfo.get("Face", 0))
     curCache.SetFacePic(robotInfo.get("FacePic", 0))
+    curCache.SetTitleID(robotInfo.get("TitleID", 0))
     curCache.SetModelMark(robotInfo.get("ModelMark", 0))
+    curCache.SetEquipShowSwitch(robotInfo.get("EquipShowSwitch", 0))
     #机器人暂定没有仙盟、称号
     #curCache.SetFamilyID(familyID)
     #family = DBDataMgr.GetFamilyMgr().FindFamily(familyID)
@@ -364,6 +408,7 @@
     clientPack.Face = curCache.GetFace()
     clientPack.FacePic = curCache.GetFacePic()
     clientPack.ModelMark = curCache.GetModelMark()
+    clientPack.EquipShowSwitch = curCache.GetEquipShowSwitch()
     clientPack.TitleID = curCache.GetTitleID()
     clientPack.ServerID = curCache.GetServerID()
     clientPack.FightPower = curCache.GetFightPower()
@@ -371,6 +416,7 @@
     clientPack.FamilyID = curCache.GetFamilyID()
     clientPack.FamilyName = curCache.GetFamilyName()
     clientPack.FamilyEmblemID = curCache.GetFamilyEmblemID()
+    clientPack.FamilyEmblemWord = curCache.GetFamilyEmblemWord()
     clientPack.PlusData = curCache.GetPlusData()
     clientPack.PlusDataSize = len(clientPack.PlusData)
     return clientPack

--
Gitblit v1.8.0