Clear recipients instead of blocking - allow server logging
This commit is contained in:
@@ -17,18 +17,19 @@ public class CHRANIBotTNG : IModApi
|
||||
[HarmonyPatch(typeof(GameManager), "ChatMessageServer")]
|
||||
public class ChatMessagePatch
|
||||
{
|
||||
static bool Prefix(ClientInfo _cInfo, string _msg, List<int> _recipientEntityIds)
|
||||
static void Prefix(string _msg, ref List<int> _recipientEntityIds)
|
||||
{
|
||||
if (_msg != null && _msg.StartsWith("/bot "))
|
||||
{
|
||||
string playerName = _cInfo != null ? _cInfo.playerName : "Server";
|
||||
|
||||
// Write to server log (visible in telnet)
|
||||
Console.WriteLine($"Chat (from '{playerName}', entity id '{(_cInfo != null ? _cInfo.entityId.ToString() : "-1")}', to '{(_recipientEntityIds != null && _recipientEntityIds.Count > 0 ? "players" : "all")}'): '{_msg}'");
|
||||
|
||||
// Block in-game chat display
|
||||
return false;
|
||||
// Clear recipients so no players see it in-game, but server still logs it
|
||||
if (_recipientEntityIds == null)
|
||||
{
|
||||
_recipientEntityIds = new List<int>();
|
||||
}
|
||||
else
|
||||
{
|
||||
_recipientEntityIds.Clear();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user