From cb452abc7bcda94073cfe0d136e831252374853d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期六, 07 二月 2026 19:30:57 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(NPC成长表增加等级字段;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
index c2c6d64..5c1faa5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFamily.py
@@ -31,6 +31,7 @@
 import PlayerMail
 import PlayerTask
 import CrossPlayer
+import PlayerTalk
 import DirtyList
 import DBDataMgr
 import DBFamily
@@ -164,6 +165,7 @@
     ## 玩家上线,游戏服跨服通用,流程上当做以前GameServer处理公会一样,处理后再通知地图(现在的游戏服)
     PlayerLoginRefreshFamily(crossPlayer)
     Sync_RequestAddFamilyInfo(crossPlayer, False)
+    PlayerTalk.NotifyTalkCache(crossPlayer, [IPY_GameWorld.tcFamily]) # 公会聊天缓存
     #PlayerFamilyTaofa.OnPlayerLogin(curPlayer) 讨伐待修改
     return
 
@@ -1739,6 +1741,7 @@
         leaderMember = family.FindMember(familyView.LeaderID)
         familyView.LeaderName = leaderMember.GetPlayerName() if leaderMember else ""
         familyView.LeaderNameLen = len(familyView.LeaderName)
+        familyView.LeaderServerID = leaderMember.GetServerID() if leaderMember else family.GetServerID()
         familyView.FamilyLV = family.GetLV()
         familyView.JoinReview = family.GetJoinReview()
         familyView.JoinLVMin = family.GetJoinLVMin()
@@ -1752,7 +1755,6 @@
         clientPack.FamilyCount = len(clientPack.FamilyList)
         if clientPack.FamilyCount >= showCount:
             break
-    clientPack.DataServerID = GameWorld.GetGameWorld().GetServerID()
     CrossPlayer.SendFakePack(crossPlayer, clientPack)
     return
 
@@ -2014,6 +2016,29 @@
     CrossPlayer.SendFakePackByFamily(familyID, clientPack)
     return
 
+def OnFamilyTalk(curPlayer, familyID, talkPack, tick):
+    clientData, tick = None, 0
+    reqDataEx = {"talkBuffer":talkPack.GetBuffer()}
+    FamilyPyPackForwarding(curPlayer, clientData, tick, "__OnFamilyTalk", reqCD=0, reqDataEx=reqDataEx)
+    return
+def __OnFamilyTalk(crossPlayer, clientData, tick, fromServerID=0, reqDataEx=None):
+    talkBuffer = reqDataEx["talkBuffer"]
+    playerID = crossPlayer.GetPlayerID()
+    familyID = crossPlayer.GetFamilyID()
+    if not familyID or not talkBuffer:
+        return
+    clientPack = ChPyNetSendPack.tagMCTalk()
+    clientPack.ReadData(talkBuffer)
+    
+    CrossPlayer.SendFakePackByFamily(familyID, clientPack)
+    
+    # 聊天缓存
+    channelType = clientPack.ChannelType
+    content = clientPack.Content
+    bubbleBox = clientPack.BubbleBox
+    PlayerTalk.DoTalkCache(channelType, playerID, content, bubbleBox, familyID)
+    return
+
 ## -------------------------------------- 游戏服本服处理 --------------------------------------------
 '''
 为方便本服、跨服互通公会逻辑统一,公会相关数据处理统一使用 CrossPlayer,视为以前的GameServer处理,这样本服跨服的公会管理通用

--
Gitblit v1.8.0