From fa10596d9f3abf523f8e900d7b920e4af8ea6bc5 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 07 三月 2019 14:45:41 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py | 153 ++++++++++++++++++++++----------------------------
1 files changed, 68 insertions(+), 85 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py
index fac69d7..b83e73d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerTalk.py
@@ -20,6 +20,7 @@
#import ReadChConfig
import ShareDefine
import ChPyNetSendPack
+import CrossRealmPlayer
import NetPackCommon
import EventReport
import PlayerSuccess
@@ -53,7 +54,7 @@
#如果在普通地图, 就广播, 如果在副本就单个通知
- if GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.fbtNull:
+ if GameWorld.GetMap().GetMapFBType() == IPY_GameWorld.fbtNull and not GameWorld.IsCrossServer():
#广播
extras = GetTalkExtraValue(curPlayer)
curPlayer.ChatArea(content, 0, extras)
@@ -104,7 +105,8 @@
extras = GetTalkExtraValue(curPlayer)
curPlayer.ChatGong(content, 0, extras)
#世界频道发言成就
- PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_TalkWorld, 1)
+ #PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_TalkWorld, 1)
+ PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_FeastRedPack_TalkWorld, 1)
return
## 国家频道(封包参数)
@@ -113,44 +115,29 @@
# @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
## 联盟家族频道(封包参数)
@@ -261,7 +248,7 @@
def __CheckTalk(curPlayer, content, length, tick, checkGMForbidenTalk = True, checkSameMsg = True):
if checkGMForbidenTalk and GetGMToolForbidTalk(curPlayer):
#GeRen_chenxin_921745 对不起,您已被GM禁言,发送信息失败
- PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_921745")
+ #PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_921745")
return False
#间隔时间
@@ -365,8 +352,6 @@
vipLv = objTalk.GetVIPLv() # 玩家vip等级
GMLevel = objTalk.GetGMLevel()
job = objTalk.GetJob()
- #mergeWarRank = PlayerControl.GetMergeWarRank(objTalk)
- #freshmanGuiderDay = PlayerFreshmanGuide.GetFreshmanGuiderDay(objTalk)
extraValueStr = ""
# vip等级
@@ -375,14 +360,12 @@
extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_GM)% (GMLevel > 0)
# job
extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_JOB)% job
-
- # 跨服预选赛排位(称呼)
- #extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_MergeWarRank)%mergeWarRank
- # 新手指导员
- #extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_NewGuider)% (freshmanGuiderDay > 0)
- # QQ会员
- #operateInfo = int(objTalk.GetOperateInfo())
- #extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_QQOperate)% (operateInfo)
+ # 气泡框
+ extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_BubbleBox) % PlayerControl.GetChatBubbleBox(objTalk)
+ # 服务器组ID
+ extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_ServerGroupID) % PlayerControl.GetPlayerServerGroupID(objTalk)
+ # 等级
+ extraValueStr += GetTalkExtraValueStar(ShareDefine.Def_TalkExtraValue_Bit_LV) % objTalk.GetLV()
return extraValueStr
@@ -554,39 +537,39 @@
# };
#===============================================================================
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
--
Gitblit v1.8.0