Is there any website which displays all those filters/usermessages? Lance told me: "&Filter, 10" // 10 = shake. Is there a website with some other usermessages/filters? :)
Thnx, Frank ----- Original Message ----- From: "Frank Frieswijk" <[EMAIL PROTECTED]> To: <hlcoders@list.valvesoftware.com> Sent: Friday, February 18, 2005 1:55 PM Subject: Re: [hlcoders] Send user message > You rule, thanx ;-) > - Frank > -- > > > > Citeren Lance Vorgin <[EMAIL PROTECTED]>: > > ] Assuming you're starting from the empty server plugin, first include > ] /src/tier1/bitbuf.cpp into your project, then add this somewhere > ] > ] #include "IRecipientFilter.h" > ] #include "bitbuf.h" > ] #include "shake.h" > ] > ] class CNewRecipientFilter : public IRecipientFilter { > ] private: > ] CUtlVector<int> m_vRecipients; > ] > ] public: > ] virtual bool IsReliable() const { return true; } > ] virtual bool IsInitMessage() const { return false; } > ] > ] virtual int GetRecipientCount() const { return m_vRecipients.Count(); } > ] virtual int GetRecipientIndex(int iSlot) const { return > ] m_vRecipients[iSlot]; } > ] > ] bool Add(edict_t* pEdict){ if(!pEdict || pEdict->IsFree()) return > ] false; return Add(engine->IndexOfEdict(pEdict)); } > ] bool Add(int iIndex){ if(iIndex <= 0) return false; > ] m_vRecipients.AddToHead(iIndex); return true; } > ] }; > ] > ] > ] bool Shake(edict_t* pEdict){ > ] if(!pEdict || pEdict->IsFree()) > ] return false; > ] > ] CNewRecipientFilter Filter; > ] > ] if(!Filter.Add(pEdict)) > ] return false; > ] > ] bf_write* pBitBuf = engine->UserMessageBegin(&Filter, 10); //10 = > ] shake in css and hl2dm atm - use engine->GetUserMessageInfo to > ] enumerate > ] > ] if(!pBitBuf) > ] return false; > ] > ] pBitBuf->WriteByte(SHAKE_START); // shake command (SHAKE_START, > ] STOP, FREQUENCY, AMPLITUDE) > ] pBitBuf->WriteFloat(25); // shake magnitude/amplitude > ] pBitBuf->WriteFloat(150.0); // shake noise frequency > ] pBitBuf->WriteFloat(2.0); // shake lasts this long > ] > ] engine->MessageEnd(); > ] > ] engine->ClientPrintf(pEdict, "Shake, my minion!\n"); > ] > ] return true; > ] } > ] > ] Then just rig up down in ClientCommand > ] > ] else if(FStrEq(pcmd, "shakememofo")){ > ] Shake(pEntity); > ] > ] return PLUGIN_STOP; > ] } > ] > ] _______________________________________________ > ] To unsubscribe, edit your list preferences, or view the list archives, please > ] visit: > ] http://list.valvesoftware.com/mailman/listinfo/hlcoders > ] > ] > > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders