void SendTriggerMsgToObject(LPBASECLASS pSender, HOBJECT hObj, HSTRING hMsg) { HMESSAGEWRITE hMessage; char *pSendName, *pRecvName, *pFilter; char* szMessage = g_pLTServer->GetStringData(hMsg); // Process the message as a command if it is a valid command... if (g_pCmdMgr->IsValidCmd(szMessage)) { g_pCmdMgr->Process(szMessage); return; } hMessage = g_pLTServer->StartMessageToObject(pSender, hObj, MID_TRIGGER); if (hMessage) { if (g_ShowTriggersTrack.GetFloat() != 0.0f) { if (pSender) pSendName = g_pLTServer->GetObjectName(pSender->m_hObject); else pSendName = "Command Manager"; pRecvName = g_pLTServer->GetObjectName(hObj); pFilter = g_ShowTriggersFilter.GetStr(); // Filter out displaying any unwanted messages... LTBOOL bPrintMsg = (!pFilter || !pFilter[0]); if (!bPrintMsg) { bPrintMsg = (szMessage ? !strstr(pFilter, szMessage) : LTTRUE); } if (bPrintMsg) { g_pLTServer->CPrint("Message: %s", szMessage ? szMessage : "NULL"); g_pLTServer->CPrint(" Sent from '%s', to '%s'", pSendName, pRecvName); } } g_pLTServer->WriteToMessageDWord(hMessage, (uint32)g_pLTServer->GetStringData(hMsg)); g_pLTServer->EndMessage(hMessage); } }