void UTIL_HudMessage( int EntIdx, const hudtextparms_t &textparms, const char *pMessage ) { int MsgIdx = UserMessageIndex("HudMsg"); MRecipientFilter mrf; mrf.AddPlayer(EntIdx); bf_write *bf; bf = m_Engine->UserMessageBegin( &mrf, MsgIdx ); bf->WriteByte ( textparms.channel & 0xFF ); bf->WriteFloat( textparms.x ); bf->WriteFloat( textparms.y ); bf->WriteByte( textparms.r1 ); bf->WriteByte( textparms.g1 ); bf->WriteByte( textparms.b1 ); bf->WriteByte( textparms.a1 ); bf->WriteByte( textparms.r2 ); bf->WriteByte( textparms.g2 ); bf->WriteByte( textparms.b2 ); bf->WriteByte( textparms.a2 ); bf->WriteByte( textparms.effect ); bf->WriteFloat( textparms.fadeinTime ); bf->WriteFloat( textparms.fadeoutTime ); bf->WriteFloat( textparms.holdTime ); bf->WriteFloat( textparms.fxTime ); bf->WriteString( pMessage ); m_Engine->MessageEnd(); } // lookup index for user messages int UserMessageIndex(const char *messageName) { char name[128] = ""; int sizereturn = 0; bool boolrtn = false; for(int x=1; x<27; x++) { boolrtn = m_ServerDll->GetUserMessageInfo(x, name, 128, sizereturn); if(name && strcmp(messageName, name) == 0) { return x; } } return -1; }