ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py
@@ -20,6 +20,7 @@
import GameWorld
import GameWorship
import GameXiangong
import PlayerControl
import NetPackCommon
import GameWorldArena
@@ -68,6 +69,9 @@
        return True
    
    if PyDataManager.GetDBPyFuncTeamManager().IsTeamPlayer(playerID):
        return True
    if GameXiangong.IsXiangongPlayer(playerID):
        return True
    
    if GameWorldSkyTower.IsSkyTowerPassPlayer(playerID):
@@ -189,28 +193,33 @@
        curCache.PropDataDict = eval(curCache.PropData)
    return curCache.PropDataDict
def GetShotCahceDict(playerID, withEquip=False):
def GetShotCacheDict(playerID, *exAttrs):
    ## 获取玩家简短的缓存信息字典
    viewCache = FindViewCache(playerID)
    cacheDict = GetCachePropDataDict(viewCache)
    if not cacheDict:
        return {}
    olMgr = ChPlayer.GetOnlinePlayerMgr()
    shotCacheDict = {
                     "PlayerID":playerID,
                     "Name":cacheDict["Name"], 
                     "Job":cacheDict["Job"], 
                     "LV":cacheDict["LV"], 
                     "RealmLV":cacheDict["RealmLV"], 
                     "FightPower":cacheDict["FightPower"],
                     "ServerID":GameWorld.GetAccIDServerID(cacheDict["AccID"]),
                     "OfflineValue":olMgr.GetOfflineValue(playerID, viewCache)
                     }
    if withEquip:
    if "PlayerID" in exAttrs:
        shotCacheDict["PlayerID"] = playerID
    if "FightPower" in exAttrs:
        shotCacheDict["FightPower"] = cacheDict["FightPower"]
    if "ServerID" in exAttrs:
        shotCacheDict["ServerID"] = GameWorld.GetAccIDServerID(cacheDict["AccID"])
    if "OfflineValue" in exAttrs:
        olMgr = ChPlayer.GetOnlinePlayerMgr()
        shotCacheDict["OfflineValue"] = olMgr.GetOfflineValue(playerID, viewCache)
    # 附带外观模型展示相关
    if "Model" in exAttrs:
        shotCacheDict.update({
                              "TitleID":cacheDict.get("TitleID", 0),
                              "EquipShowSwitch":cacheDict.get("EquipShowSwitch", 0),
                              "EquipShowID":cacheDict.get("EquipShowID", 0),
                              "EquipShowID":cacheDict.get("EquipShowID", []),
                              })
    return shotCacheDict
@@ -230,7 +239,7 @@
                 "TitleID":cacheDict.get("TitleID", 0),
                 "FightPower":PlayerControl.GetFightPower(curPlayer),
                 "EquipShowSwitch":cacheDict.get("EquipShowSwitch", 0),
                 "EquipShowID":cacheDict.get("EquipShowID", 0),
                 "EquipShowID":cacheDict.get("EquipShowID", []),
                 "ServerGroupID":PlayerControl.GetPlayerServerGroupID(curPlayer),
                 }
    return cacheBase