| | |
| | | #import ReadChConfig
|
| | | import ShareDefine
|
| | | import ChPyNetSendPack
|
| | | import CrossRealmPlayer
|
| | | import NetPackCommon
|
| | | import EventReport
|
| | | import PlayerSuccess
|
| | |
| | | # @return None
|
| | | # @remarks 函数详细说明.
|
| | | def TalkCountry(index, tick):
|
| | | #===========================================================================
|
| | | # #20150918 hxp目前作为跨服阵营聊天频道
|
| | | # #20151009 hxp增加py自定义聊天频道
|
| | | # return
|
| | | # curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | # |
| | | # |
| | | # #等级判断
|
| | | # #if curPlayer.GetLV() < ChConfig.Def_PlayerTalkCountryLV:
|
| | | # # PlayerControl.NotifyCode(curPlayer, "PlayerCall_Error_NoCountry")
|
| | | # # return
|
| | | # |
| | | # #获得国家频封包
|
| | | # sendPack = IPY_GameWorld.IPY_CTalkCountry()
|
| | | # #玩家聊天内容
|
| | | # content = sendPack.GetContent()
|
| | | # |
| | | # #通用判断
|
| | | # if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick):
|
| | | # return
|
| | | # |
| | | # #国王说话免费
|
| | | # #if PlayerCountry.CheckIsCountryKing(curPlayer.GetCountry() , curPlayer.GetID()):
|
| | | # # PlayerControl.NotifyCode(curPlayer , "C16615EF-FDBC-49AF-9285668F7C8930AA")
|
| | | # #else:
|
| | | # # moneyType = curPlayer.GetUseSilverType()
|
| | | # # #金钱判定
|
| | | # # if not PlayerControl.PayMoney(curPlayer, moneyType, ChConfig.Def_PlayerTalkCoutryMoney):
|
| | | # # return False
|
| | | # |
| | | # #通用设置
|
| | | # SetTalkTime(curPlayer, content, IPY_GameWorld.tcCountry, tick)
|
| | | # |
| | | # #说话
|
| | | # extraValue = GetTalkExtraValue(curPlayer)
|
| | | # extras = ''
|
| | | # curPlayer.ChatCountry(content, extraValue, extras)
|
| | | #===========================================================================
|
| | | ## 跨服世界频道
|
| | | if GameWorld.IsCrossServer():
|
| | | return
|
| | | |
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | |
| | | if not CrossRealmPlayer.IsCrossServerOpen():
|
| | | PlayerControl.NotifyCode(curPlayer, "CrossMatching18")
|
| | | return
|
| | | |
| | | sendPack = IPY_GameWorld.IPY_CTalkCountry()
|
| | | #玩家聊天内容
|
| | | content = sendPack.GetContent()
|
| | | |
| | | #通用检测
|
| | | if not __CheckTalk(curPlayer, content, sendPack.GetLen(), tick, checkSameMsg = False):
|
| | | return
|
| | | |
| | | #通用设置
|
| | | SetTalkTime(curPlayer, content, IPY_GameWorld.tcCountry, tick)
|
| | | #发送聊天内容
|
| | | extras = GetTalkExtraValue(curPlayer)
|
| | | curPlayer.ChatCountry(content, 0, extras)
|
| | | return
|
| | |
|
| | | ## 联盟家族频道(封包参数)
|
| | |
| | | extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_JOB)% job
|
| | | # 气泡框
|
| | | extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_BubbleBox) % PlayerControl.GetChatBubbleBox(objTalk)
|
| | | |
| | | # 新手指导员
|
| | | #extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_NewGuider)% (freshmanGuiderDay > 0)
|
| | | # QQ会员
|
| | | #operateInfo = int(objTalk.GetOperateInfo())
|
| | | #extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_QQOperate)% (operateInfo)
|
| | | # 服务器组ID
|
| | | extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_ServerGroupID) % PlayerControl.GetPlayerServerGroupID(objTalk)
|
| | | # 等级
|
| | | extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_LV) % objTalk.GetLV()
|
| | | return extraValueStr
|
| | |
|
| | |
|
| | |
| | | # };
|
| | | #===============================================================================
|
| | | def OnVoiceChat(index, clientPack, tick):
|
| | | curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | if GetGMToolForbidTalk(curPlayer):
|
| | | return
|
| | | if clientPack.ChannelType != ShareDefine.Def_ChannelChat_Area:
|
| | | return
|
| | | sendPack = ChPyNetSendPack.tagGCVoiceChat()
|
| | | sendPack.Clear()
|
| | | sendPack.ChannelType = clientPack.ChannelType
|
| | | sendPack.SrcName = curPlayer.GetName()
|
| | | sendPack.SrcNameLen = len(curPlayer.GetName())
|
| | | sendPack.PlayerID = curPlayer.GetID()
|
| | | sendPack.Len = clientPack.Len
|
| | | sendPack.Content = clientPack.Content
|
| | | sendPack.Extras = GetTalkExtraValue(curPlayer)
|
| | | sendPack.ExtraValue = len(sendPack.Extras)
|
| | | |
| | | # 区域频道
|
| | | |
| | | #如果在普通地图, 就广播, 如果在副本就单个通知
|
| | | if GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.fbtNull:
|
| | | curPlayer.BroadCastAll(sendPack.GetBuffer(), len(sendPack.GetBuffer()))
|
| | | else:
|
| | | playerManager = GameWorld.GetMapCopyPlayerManager()
|
| | | |
| | | for index in range(0 , playerManager.GetPlayerCount()):
|
| | | #广播玩家
|
| | | tempPlayer = playerManager.GetPlayerByIndex(index)
|
| | | if not tempPlayer.GetPlayerID():
|
| | | continue
|
| | | |
| | | if PlayerTJG.GetIsTJG(tempPlayer):
|
| | | continue
|
| | | |
| | | NetPackCommon.SendFakePack(tempPlayer, sendPack)
|
| | | # curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
|
| | | # if GetGMToolForbidTalk(curPlayer):
|
| | | # return
|
| | | # if clientPack.ChannelType != ShareDefine.Def_ChannelChat_Area:
|
| | | # return
|
| | | # sendPack = ChPyNetSendPack.tagGCVoiceChat()
|
| | | # sendPack.Clear()
|
| | | # sendPack.ChannelType = clientPack.ChannelType
|
| | | # sendPack.SrcName = curPlayer.GetName()
|
| | | # sendPack.SrcNameLen = len(curPlayer.GetName())
|
| | | # sendPack.PlayerID = curPlayer.GetID()
|
| | | # sendPack.Len = clientPack.Len
|
| | | # sendPack.Content = clientPack.Content
|
| | | # sendPack.Extras = GetTalkExtraValue(curPlayer)
|
| | | # sendPack.ExtraValue = len(sendPack.Extras)
|
| | | # |
| | | # # 区域频道
|
| | | # |
| | | # #如果在普通地图, 就广播, 如果在副本就单个通知
|
| | | # if GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.fbtNull:
|
| | | # curPlayer.BroadCastAll(sendPack.GetBuffer(), len(sendPack.GetBuffer()))
|
| | | # else:
|
| | | # playerManager = GameWorld.GetMapCopyPlayerManager()
|
| | | # |
| | | # for index in range(0 , playerManager.GetPlayerCount()):
|
| | | # #广播玩家
|
| | | # tempPlayer = playerManager.GetPlayerByIndex(index)
|
| | | # if not tempPlayer.GetPlayerID():
|
| | | # continue
|
| | | # |
| | | # if PlayerTJG.GetIsTJG(tempPlayer):
|
| | | # continue
|
| | | # |
| | | # NetPackCommon.SendFakePack(tempPlayer, sendPack)
|
| | | return
|
| | |
|