ff_u_log_chat
Player chat logging.
Logs all chat message, apart from player tells because of expected privacy.
Variables
ENABLE__FF_U_LOG_CHAT: (string) (opt-out) Set to “N” on module to disable unit.
Source code
// @code
#include "ff_i_core"
const string ENABLE__FF_U_LOG_CHAT = "ENABLE__FF_U_LOG_CHAT";
// -----------------------------------------------------------------------------
void OnChat();
void OnChat()
{
object oSpeaker = GetPCChatSpeaker();
string sMessage = GetPCChatMessage();
int nVolume = GetPCChatVolume();
sMessage = GetStringTrim(GetStringLowerCase(sMessage));
if (sMessage == "")
return;
string sLog = "chat: ";
switch (nVolume)
{
case TALKVOLUME_SILENT_TALK: return;
case TALKVOLUME_WHISPER: sLog += "[WHISPER]"; break;
case TALKVOLUME_TALK: sLog += "[TALK]"; break;
case TALKVOLUME_SHOUT: sLog += "[SHOUT]"; break;
case TALKVOLUME_SILENT_SHOUT: sLog += "[DM]"; break;
case TALKVOLUME_PARTY: sLog += "[PARTY]"; break;
}
sLog += " " + GetName(oSpeaker) + ": " + GetStringTrim(sMessage);
WriteTimestampedLogEntry(sLog);
}
// =============================================================================
void main()
{
if (!GetModuleFlag(ENABLE__FF_U_LOG_CHAT, TRUE))
return;
string sEvent = GetCurrentEvent();
if (sEvent == ON_REGISTER)
SubscribeToEvent(ON_DEFAULT_PLAYER_CHAT, __FILE__);
else if (sEvent == ON_DEFAULT_PLAYER_CHAT)
OnChat();
}