View Single Post
Old and Slow
Senior Member
Join Date: May 2005
Location: Arlington, Texas
Old 08-26-2012 , 05:32   Re: MRecipient Filter for CS:GO
Reply With Quote #3

Code:
make -f Makefile dmg_mm
MRecipientFilter.cpp: In member function virtual int MRecipientFilter::GetRecipientCount() const:
MRecipientFilter.cpp:17: error: const class CUtlVector<int, CUtlMemory<int, int> > has no member named Size
MRecipientFilter.cpp: In member function void MRecipientFilter::AddAllPlayers():
MRecipientFilter.cpp:37: error: class IVEngineServer has no member named PEntityOfEntIndex
MRecipientFilter.cpp: In member function void MRecipientFilter::AddRecipient(int):
MRecipientFilter.cpp:57: error: class IVEngineServer has no member named PEntityOfEntIndex
make[1]: *** [Debug.csgo/MRecipientFilter.o] Error 1
make: *** [all] Error 2
Your fix should take care of the last 2. Not sure about the "Size" one - I didn't see any differences in public/irecipientfilter.h and this compiled using the CSS HL2SDK...

Also, how did you resolve the "Say" message? It appears that engine->UserMesageBegin() has changed. Did its use change as well?

I used this:

Code:
void DmgPlugin::SayText (                       //say text to individual player
    int         aIndex,                         //player index, 1::max
    const char  *aSzMsg)                        //message
{
    char *message = NULL;
    message = (char*) malloc(strlen(aSzMsg)+4);
    sprintf(message, "%s \n", aSzMsg);

    MRecipientFilter mrf;
    mrf.AddRecipient(aIndex);
    int msg_type = 3;                           //SayText
    bf_write *msg = engine->UserMessageBegin((IRecipientFilter *)&mrf, msg_type);

    msg->WriteByte(aIndex);
    msg->WriteString(message);
    msg->WriteByte(0);
    engine->MessageEnd();
    free(message);
}
Is it still valid?

Thanks for your help.
__________________
.......Chuck |TxA| Old and Slow [AARP]

Last edited by Old and Slow; 08-26-2012 at 05:33.
Old and Slow is offline