From 46f1b3554ca7c3eeea118aaf80fe756bebdfde93 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 09 二月 2026 13:46:54 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(修复武将修改皮肤战斗时不生效bug;Hero命令增加切换皮肤;)
---
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