| | |
| | | PlayerFamilyEmblem.OnChangeFamilyEmblem(curPlayer, changeEmblemID)
|
| | | return
|
| | |
|
| | | #// A4 14 查看目标仙盟 #tagCGViewTagFamily
|
| | | #
|
| | | #struct tagCGViewTagFamily
|
| | | #{
|
| | | # tagHead Head;
|
| | | # DWORD TagFamilyID; // 目标仙盟ID,支持查看跨服仙盟
|
| | | #};
|
| | | def OnViewTagFamily(index, clientData, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | tagFamilyID = clientData.TagFamilyID
|
| | | clientPack = __GetTagFamilyInfoPack(tagFamilyID)
|
| | | if not clientPack:
|
| | | # 发送跨服服务器查询,可能是跨服仙盟
|
| | | dataMsg = {"playerID":playerID, "tagFamilyID":tagFamilyID}
|
| | | CrossRealmMsg.SendMsgToCrossServer(ShareDefine.ClientServerMsg_QueryCrossFamily, dataMsg)
|
| | | return
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | | return
|
| | |
|
| | | def __GetTagFamilyInfoPack(tagFamilyID):
|
| | | ## 获取查看目标仙盟同步封包
|
| | | familyManager = GameWorld.GetFamilyManager()
|
| | | family = familyManager.FindFamily(tagFamilyID)
|
| | | if not family:
|
| | | return
|
| | | clientPack = ChPyNetSendPack.tagGCTagFamilyInfo()
|
| | | clientPack.FamilyID = tagFamilyID
|
| | | clientPack.FamilyName = family.GetName()
|
| | | clientPack.FamilyLV = family.GetLV()
|
| | | clientPack.Broadcast = family.GetBroadcast()
|
| | | clientPack.BroadcastLen = len(clientPack.Broadcast)
|
| | | clientPack.Member = []
|
| | | for index in range(family.GetCount()):
|
| | | curMember = family.GetAt(index)
|
| | | mem = ChPyNetSendPack.tagGCTagFamilyMember()
|
| | | mem.PlayerID = curMember.GetPlayerID()
|
| | | mem.Name = curMember.GetName()
|
| | | mem.NameLen = len(mem.Name)
|
| | | mem.FamilyLV = curMember.GetFamilyLV()
|
| | | mem.LV = curMember.GetLV()
|
| | | mem.Job = curMember.GetJob()
|
| | | mem.Face = curMember.GetFace()
|
| | | mem.FacePic = curMember.GetFacePic()
|
| | | mem.OfficialRank = curMember.GetOfficialRank()
|
| | | fightPower = GetMemberFightPower(curMember)
|
| | | mem.FightPower = fightPower % ChConfig.Def_PerPointValue
|
| | | mem.FightPowerEx = fightPower / ChConfig.Def_PerPointValue
|
| | | clientPack.Member.append(mem)
|
| | | clientPack.MemberCount = len(clientPack.Member)
|
| | | familyFightPower = GetFamilyTotalFightPower(family)
|
| | | clientPack.FightPower = familyFightPower % ChConfig.Def_PerPointValue
|
| | | clientPack.FightPowerEx = familyFightPower / ChConfig.Def_PerPointValue
|
| | | clientPack.EmblemID = GetFamilyEmblemID(family)
|
| | | clientPack.ServerID = family.GetServerID()
|
| | | return clientPack
|
| | |
|
| | | #class IPY_CFamilyChangeBroadcast
|
| | | #{
|
| | | #public:
|
| | |
| | |
|
| | | return
|
| | |
|
| | | def ClientServerMsg_QueryCrossFamily(serverGroupID, msgData):
|
| | | ## 子服查询跨服仙盟
|
| | | playerID = msgData["playerID"]
|
| | | tagFamilyID = msgData.get("tagFamilyID", 0)
|
| | | if tagFamilyID:
|
| | | clientPack = __GetTagFamilyInfoPack(tagFamilyID)
|
| | | if clientPack:
|
| | | NetPackCommon.SendFakePackByCross({playerID:serverGroupID}, clientPack)
|
| | | else:
|
| | | PlayerControl.NotifyCodeCross(serverGroupID, playerID, "TagFamilyNotExist")
|
| | | return
|
| | | |
| | | # 可扩展查看跨服仙盟列表信息...
|
| | | |
| | | return
|