Files
2021-04-19 14:15:08 +02:00

41 lines
1.0 KiB
C#

using System.Text.RegularExpressions;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities.Logs.Chat;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Services;
namespace ReallifeGamemode.Server.Events
{
public class Chat : Script
{
[ServerEvent(Event.ChatMessage)]
public void ChatEvent(Player player, string message)
{
if(!player.IsLoggedIn())
{
return;
}
string serverMsg = Regex.Replace(message, "(~[a-zA-Z]~)|(!{(.*)})", "");
if (serverMsg.Trim().Length == 0) return;
using var dbContext = new DatabaseContext();
var logEntry = new LocalChatLogEntry()
{
Text = serverMsg,
UserId = player.GetUser(dbContext).Id
};
dbContext.LocalChatLogs.Add(logEntry);
dbContext.SaveChanges();
NAPI.Player.GetPlayersInRadiusOfPlayer(25, player).ForEach(p =>
{
ChatService.SendMessage(p, $"{player.Name} sagt: {serverMsg}");
});
}
}
}