From edf5674b9d6a4812b1a36b32e0e1bfd5b0cb968e Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 15 十月 2025 09:19:42 +0800
Subject: [PATCH] 263 【主界面】头像系统(内政-幻境阁系统)-服务端(形象、头像、头像框、气泡、称号)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Face.py |   35 +++++++++++------------------------
 1 files changed, 11 insertions(+), 24 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Face.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Face.py
index e31234d..ebf9feb 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Face.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GM/Commands/Face.py
@@ -52,10 +52,6 @@
             for index in range(ipyDataMgr.GetPlayerFaceCount()):
                 ipyData = ipyDataMgr.GetPlayerFaceByIndex(index)
                 faceID = ipyData.GetFaceID()
-                if ipyData.GetUnlockDefault():
-                    continue
-                if ipyData.GetCustomPlayerID():
-                    continue
                 if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_FaceState, faceID):
                     continue
                 GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_PDict_FaceState, faceID, 0)
@@ -67,12 +63,6 @@
             if not ipyData:
                 GameWorld.DebugAnswer(curPlayer, "该头像不存在:%s" % faceID)
                 return
-            if ipyData.GetUnlockDefault():
-                GameWorld.DebugAnswer(curPlayer, "该头像默认激活:%s" % faceID)
-                return
-            if ipyData.GetCustomPlayerID():
-                GameWorld.DebugAnswer(curPlayer, "定制头像不处理:%s" % faceID)
-                return
             GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_PDict_FaceState, faceID, 0)
             PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FaceEndTime % faceID, 0)
             PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FaceStar % faceID, 0)
@@ -83,21 +73,22 @@
     elif value1 == "f1":
         faceID = msgList[1] if len(msgList) > 1 else 0
         expireTimes = msgList[2] if len(msgList) > 2 else None
-        if PlayerFace.AddFace(curPlayer, faceID, expireTimes):
+        if PlayerFace.AddFace(curPlayer, faceID, expireTimes, True):
             endTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FaceEndTime % faceID)
             endTimeStr = "永久" if not endTime else GameWorld.ChangeTimeNumToStr(endTime)
             GameWorld.DebugAnswer(curPlayer, "添加头像成功:%s,到期:%s" % (faceID, endTimeStr))
         else:
             GameWorld.DebugAnswer(curPlayer, "添加头像失败:%s" % (faceID))
-                    
+            
     # 头像星级
     elif value1 == "fs":
         faceID = msgList[1] if len(msgList) > 1 else 0
         faceStar = msgList[2] if len(msgList) > 2 else 0
-        starIpyData = IpyGameDataPY.GetIpyGameData("PlayerFaceStar", faceID, faceStar)
-        if not starIpyData:
-            GameWorld.DebugAnswer(curPlayer, "头像星级不存在:%s,star:%s" % (faceID, faceStar))
+        ipyData = IpyGameDataPY.GetIpyGameData("PlayerFace", faceID)
+        if not ipyData:
+            GameWorld.DebugAnswer(curPlayer, "该头像不存在:%s" % faceID)
             return
+        faceStar = min(faceStar, ipyData.GetStarMax())
         GameWorld.DebugAnswer(curPlayer, "设置头像星级:%s,星:%s" % (faceID, faceStar))
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FaceStar % faceID, faceStar)
         syncFaceIDList.append(faceID)
@@ -109,8 +100,6 @@
             for index in range(ipyDataMgr.GetPlayerFacePicCount()):
                 ipyData = ipyDataMgr.GetPlayerFacePicByIndex(index)
                 facePicID = ipyData.GetFacePicID()
-                if ipyData.GetUnlockDefault():
-                    continue
                 if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_FacePicState, facePicID):
                     continue
                 GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_PDict_FacePicState, facePicID, 0)
@@ -122,9 +111,6 @@
             if not ipyData:
                 GameWorld.DebugAnswer(curPlayer, "该头像框不存在:%s" % facePicID)
                 return
-            if ipyData.GetUnlockDefault():
-                GameWorld.DebugAnswer(curPlayer, "该头像框默认激活:%s" % facePicID)
-                return
             GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_PDict_FacePicState, facePicID, 0)
             PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FacePicEndTime % facePicID, 0)
             PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FacePicStar % facePicID, 0)
@@ -135,7 +121,7 @@
     elif value1 == "p1":
         facePicID = msgList[1] if len(msgList) > 1 else 0
         expireTimes = msgList[2] if len(msgList) > 2 else None
-        if PlayerFace.AddFacePic(curPlayer, facePicID, expireTimes):
+        if PlayerFace.AddFacePic(curPlayer, facePicID, expireTimes, True):
             endTime = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FacePicEndTime % facePicID)
             endTimeStr = "永久" if not endTime else GameWorld.ChangeTimeNumToStr(endTime)
             GameWorld.DebugAnswer(curPlayer, "添加头像框成功:%s,到期:%s" % (facePicID, endTimeStr))
@@ -146,10 +132,11 @@
     elif value1 == "ps":
         facePicID = msgList[1] if len(msgList) > 1 else 0
         facePicStar = msgList[2] if len(msgList) > 2 else 0
-        starIpyData = IpyGameDataPY.GetIpyGameData("PlayerFacePicStar", facePicID, facePicStar)
-        if not starIpyData:
-            GameWorld.DebugAnswer(curPlayer, "头像框星级不存在:%s,star:%s" % (facePicID, facePicStar))
+        ipyData = IpyGameDataPY.GetIpyGameData("PlayerFacePic", facePicID)
+        if not ipyData:
+            GameWorld.DebugAnswer(curPlayer, "该头像框不存在:%s" % facePicID)
             return
+        facePicStar = min(facePicStar, ipyData.GetStarMax())
         GameWorld.DebugAnswer(curPlayer, "设置头像框星级:%s,星:%s" % (facePicID, facePicStar))
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FacePicStar % facePicID, facePicStar)
         syncFacePicIDList.append(facePicID)

--
Gitblit v1.8.0