From 7c2d56ef91a59375d6b0423da71ac60ad1948755 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 20 九月 2018 14:49:20 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/Chat/ChatCenter.cs | 85 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 85 insertions(+), 0 deletions(-)
diff --git a/System/Chat/ChatCenter.cs b/System/Chat/ChatCenter.cs
index a6c8059..16f48d2 100644
--- a/System/Chat/ChatCenter.cs
+++ b/System/Chat/ChatCenter.cs
@@ -304,6 +304,11 @@
const string downloadUrl = "http://{0}.voice.2460web.com:53001/voice/download";
private void SendSpeech(byte[] encode, long _tick)
{
+ if (IsChatBanned)
+ {
+ SaveSpeech((int)PlayerDatas.Instance.PlayerId, _tick, encode);
+ return;
+ }
VoiceHttpRequest.Instance.Enqueue(encode, _tick, (int)PlayerDatas.Instance.PlayerId);
}
@@ -818,6 +823,86 @@
}
#endregion
+ #region 鑱婂ぉ榛戝悕鍗�
+
+ public string SetChatExtra()
+ {
+ var vipLevel = PlayerDatas.Instance.baseData.VIPLv;
+ var job = PlayerDatas.Instance.baseData.Job;
+ return StringUtility.Contact(vipLevel.ToString().PadLeft(2, '0'), 0, job);
+ }
+
+ public void HandleChatBanned(ChatInfoType channel, string message, int toPlayer)
+ {
+ if (IsChatBanned)
+ {
+ var playerId = PlayerDatas.Instance.baseData.PlayerID;
+ var playerName = UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName);
+ switch (channel)
+ {
+ case ChatInfoType.World:
+ ChatCtrl.Inst.RevChatInfo(new H0201_tagTalkGong()
+ {
+ Content = message,
+ Extras = SetChatExtra(),
+ PlayerID = playerId,
+ Name = playerName,
+ });
+ break;
+ case ChatInfoType.Area:
+ ChatCtrl.Inst.RevChatInfo(new H0207_tagTalkArea()
+ {
+ Content = message,
+ Extras = SetChatExtra(),
+ PlayerID = playerId,
+ SrcName = playerName,
+ });
+ break;
+ case ChatInfoType.Team:
+ ChatCtrl.Inst.RevChatInfo(new H0205_tagTalkDui()
+ {
+ PlayerID = playerId,
+ Name = playerName,
+ Content = message,
+ Extras = SetChatExtra(),
+ });
+ break;
+ case ChatInfoType.Fairy:
+ ChatCtrl.Inst.RevChatInfo(new H0203_tagTalkBang()
+ {
+ PlayerID = playerId,
+ Content = message,
+ Extras = SetChatExtra(),
+ Name = playerName,
+ });
+ break;
+ case ChatInfoType.Friend:
+ ChatCtrl.Inst.RevChatInfo(new H0206_tagTalkMi()
+ {
+ PlayerID = playerId,
+ SrcName = playerName,
+ Content = message,
+ Extras = SetChatExtra(),
+ ToPlayerID = (uint)toPlayer,
+ ToName = string.Empty,
+ TalkType = 1,
+ });
+ break;
+ }
+ }
+ }
+
+ public bool IsChatBanned
+ {
+ get
+ {
+ var value = PlayerDatas.Instance.extersion.forbidenTalk;
+ var serverBanned = value == 1;
+ return serverBanned;
+ }
+ }
+ #endregion
+
}
}
--
Gitblit v1.8.0