WndManager.cpp ⇒ CWndMgr::PutString
Scroll down to the very end of the function and change
Code:
if (dwStyle & TMS_DIALOG)
{
if (pObj->GetType() == OT_MOVER)
{
TCHAR* lpszChat = (TCHAR*)_tcschr(lpszString, _T(':'));
lpszChat += sizeof(TCHAR) * 2; // Skip ": "
g_DialogMsg.AddMessage(pObj, lpszChat, 0xffffffff, 0, dwPStyle);
}
}
with
Code:
if (dwStyle & TMS_DIALOG)
{
if (pObj->GetType() == OT_MOVER && ((CMover*)pObj)->IsPlayer())
{
TCHAR* lpszChat = (TCHAR*)_tcschr(lpszString, _T(':'));
lpszChat += sizeof(TCHAR) * 2; // Skip ": "
g_DialogMsg.AddMessage(pObj, lpszChat, 0xffffffff, 0, dwPStyle);
}
}
NPC Messages should be disabled this way and player messages are still enabled.
This is only client side if you want to make it optional for individual players by adding a settings option.
However, if you want to disable it completely (server side) then go to
scriptlib.cpp ⇒ int APIENTRY Speak and comment out everything but
return 1;