| | |
| | | import PlayerMail
|
| | | import PlayerTask
|
| | | import CrossPlayer
|
| | | import PlayerTalk
|
| | | import DirtyList
|
| | | import DBDataMgr
|
| | | import DBFamily
|
| | |
| | | ## 玩家上线,游戏服跨服通用,流程上当做以前GameServer处理公会一样,处理后再通知地图(现在的游戏服)
|
| | | PlayerLoginRefreshFamily(crossPlayer)
|
| | | Sync_RequestAddFamilyInfo(crossPlayer, False)
|
| | | PlayerTalk.NotifyTalkCache(crossPlayer, [IPY_GameWorld.tcFamily]) # 公会聊天缓存
|
| | | #PlayerFamilyTaofa.OnPlayerLogin(curPlayer) 讨伐待修改
|
| | | return
|
| | |
|
| | |
| | | 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处理,这样本服跨服的公会管理通用
|