void Chat(Fougerite.Player p, ref ChatString text) { string lang = Components.LanguageComponent.LanguageComponent.GetPlayerLangOrDefault(p); if (IsSpam(text)) { p.SendClientMessage(Components.LanguageComponent.LanguageComponent.getMessage("spam_not_allowed", lang)); text.NewText = string.Empty; return; } RustPP.Data.Entities.User user = RustPP.Data.Globals.GetInternalUser(p); if (user.TimeToChat >= 1) { p.SendClientMessage(string.Format(Components.LanguageComponent.LanguageComponent.getMessage("time_to_chat_wait", lang), user.TimeToChat)); text.NewText = string.Empty; return; } if (Core.IsEnabled() && Core.muteList.Contains(p.UID)) { text.NewText = ""; p.MessageFrom(Core.Name, Components.LanguageComponent.LanguageComponent.getMessage("you_are_muted", lang)); return; } user.TimeToChat += 5; var quotedName = Facepunch.Utility.String.QuoteSafe(p.Name); var quotedMessage = Facepunch.Utility.String.QuoteSafe(text); var chatstr = new ChatString(quotedMessage); string newchat = Facepunch.Utility.String.QuoteSafe(text.NewText.Substring(1, text.NewText.Length - 2)).Replace("\\\"", "" + '\u0022'); if (string.IsNullOrEmpty(newchat) || newchat.Length == 0) { return; } string initText = Regex.Replace(text, @"\[/?color\b.*?\]", string.Empty); string remplaze = Regex.Replace(initText, "\"", string.Empty); if (remplaze.Length <= 100) { string template = "-userName- dice: -userMessage-"; if (lang == "ES") { template = "-userName- dice: -userMessage-"; } else if (lang == "PT") { template = "-userName- diz: -userMessage-"; } string setname = Regex.Replace(template, "-userName-", p.Name); string final = Regex.Replace(setname, "-userMessage-", remplaze); Fougerite.Data.GetData().chat_history.Add(chatstr); Fougerite.Data.GetData().chat_history_username.Add(quotedName); p.SendMessageToNearUsers(final.Replace("\\", ""), 30.0f); //ConsoleNetworker.Broadcast(final); return; } string[] ns = Util.GetUtil().SplitInParts(newchat, 100).ToArray(); foreach (var x in ns) { Fougerite.Data.GetData().chat_history.Add(x); Fougerite.Data.GetData().chat_history_username.Add(quotedName); string rem = Regex.Replace(x, @"\[/?color\b.*?\]", string.Empty); string template = "chat.add \\n\\n \"-userName- dice: -userMessage-\""; if (lang == "ES") { template = "chat.add \\n\\n \"-userName- dice: -userMessage-\""; } else if (lang == "PT") { template = "chat.add \\n\\n \"-userName- diz: -userMessage-\""; } string setname = Regex.Replace(template, "-userName-", p.Name); string final = Regex.Replace(setname, "-userMessage-", rem); string message = Facepunch.Utility.String.QuoteSafe(final); ConsoleNetworker.Broadcast(message); } }