From 56091a5a2b3df0681996731982f812003daf85e9 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期四, 20 九月 2018 15:52:47 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/Chat/ChatCenter.cs | 100 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 94 insertions(+), 6 deletions(-)
diff --git a/System/Chat/ChatCenter.cs b/System/Chat/ChatCenter.cs
index 05adb6c..16f48d2 100644
--- a/System/Chat/ChatCenter.cs
+++ b/System/Chat/ChatCenter.cs
@@ -46,10 +46,12 @@
var _funcCfg = Config.Instance.Get<FuncConfigConfig>("BugleItem");
bugleItem = int.Parse(_funcCfg.Numerical1);
chatChannels = new List<ChatInfoType>();
- for (int i = (int)ChatInfoType.System; i <= (int)ChatInfoType.Friend; i++)
- {
- chatChannels.Add((ChatInfoType)i);
- }
+ chatChannels.Add(ChatInfoType.System);
+ chatChannels.Add(ChatInfoType.World);
+ chatChannels.Add(ChatInfoType.Area);
+ chatChannels.Add(ChatInfoType.Invite);
+ chatChannels.Add(ChatInfoType.Trumpet);
+ chatChannels.Add(ChatInfoType.Friend);
}
public event Action<string, bool, bool> UpdateChatValueEvent;
@@ -302,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);
}
@@ -755,10 +762,11 @@
return;
}
openChatAfterCollect = false;
- if (!WindowCenter.Instance.CheckOpen<ChatWin>())
+ if (!WindowCenter.Instance.CheckOpen<SocialWin>())
{
ChatCtrl.Inst.presentChatType = ChatInfoType.Fairy;
- WindowCenter.Instance.Open<ChatWin>();
+ WindowCenter.Instance.CloseImmediately<MainInterfaceWin>();
+ WindowCenter.Instance.Open<SocialWin>(false, 2);
}
}
#endregion
@@ -815,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