You can use the CEmptyServerPlugin as a base, but, you have to change it to match all the server functions with similar client functions. I never tried this, so, it's on you to find these client functions in the SDK. If you can't find appropriate functions, it will not work with Valves API.
Take a look on the prec.dll from the program, you will see some strings which will give you some hints, like: IEngineSoundClient003 GAMEEVENTSMANAGER001 VEngineClient013 ... > than you Saul, as always... for your wise answer..... > > and Ronny..... that's why i'm asking this to you, people with experiencie > programming using VALVe's API..... if that plugin is not using hooked > functions.... what strategy do you think it is using?..... maybe... we can > learn something new in this discussion. > > if u had the challenge of detecting when a player dies (client-side)... > how > could you do it without using hooks and only using the VALVe's API?... (or > it's impossible?) > > thank Ronny, for your time, and thanks again Saul, for helping me again > this > time > > PD: i gonna ask for the programmer.... for 4th time (he's not answering > nothing).... > > 2009/12/12 Saul Rennison <[email protected]> > >> I'm not 100% sure what triggers VAC, but I'm 100% sure that it modifies >> memory when you hook something. Aslong as you don't change return values, >> passed arguments etc., then I'm sure you'll be fine. >> >> Thanks, >> - Saul. >> >> >> 2009/12/12 Ronny Schedel <[email protected]> >> >> > >> > Learn to read. No one said it uses hooked functions. We don't know how >> > it >> > is >> > done, because we don't have the source code. Ask the author of this >> > program. >> > >> > >> > > that's means that using this plugin: >> > > http://www.gotfrag.com/tf2/forums/thread/411952/ >> > > >> > > can VAC ban you?? >> > > >> > > if that's the case...... wow, that would be a problem..... it has >> > > over >> > > 3000 >> > > downloads! >> > > >> > > >> > > >> > > 2009/12/12 Saul Rennison <[email protected]> >> > > >> > >> Hooking functions modifies the client's memory space and VAC will go >> > >> ballistic, it'll start fretting over what the fuck you're trying to >> > >> do >> > >> and >> > >> why you're doing it. First guess: cheating. >> > >> >> > >> If you wanna take the risk then hook * >> > >> IGameEventManager2::FireEventClientSide*. >> > >> >> > >> Thanks, >> > >> - Saul. >> > >> >> > >> >> > >> 2009/12/12 Ronny Schedel <[email protected]> >> > >> >> > >> > >> > >> > Sure, everything is possible with software. The question is: is it >> > >> possible >> > >> > with the provided API by Valve or is it possible with hooked >> > functions. >> > >> The >> > >> > last option is used by cheats. >> > >> > >> > >> > >> > >> > > actually.... i found a plugin that can capture game events like >> > >> > > "player_death"... >> > >> > > >> > >> > > see this.... http://www.gotfrag.com/tf2/forums/thread/411952/ >> > >> > > >> > >> > > in that page..... it says, the plugin can "monitor kill steaks", >> to >> > >> help >> > >> > > people recording demos, knows what happens in that demo file.... >> > >> > > >> > >> > > but you told me that's impossible to capture game events in a >> CLIENT >> > >> SIDE >> > >> > > plugin......, not only that.... also it can be VAC banned! >> > >> > > >> > >> > > this plugin proves 1 or 2 facts.... >> > >> > > >> > >> > > 1) is not impossible capture game events in a client side plugin >> > like >> > >> > > "player_death" >> > >> > > 2) using this plugin can VAC ban you? >> > >> > > >> > >> > > what do you think?, detecting game events from client side >> > >> > > plugin >> is >> > >> not >> > >> > > possible?...... how this plugin manage to detect kill steaks? >> > >> > > >> > >> > > 2009/12/11 Joel R. <[email protected]> >> > >> > > >> > >> > >> Protection service for cheat server plugins? Sounds like a >> > >> > >> scam. >> > >> > >> >> > >> > >> >> > >> > >> On Fri, Dec 11, 2009 at 9:25 AM, Ronny Schedel >> > >> > >> <[email protected] >> > >> > >> >wrote: >> > >> > >> >> > >> > >> > No one said a server plugin cannot be used for cheating, the >> > fact, >> > >> it >> > >> > >> > is >> > >> > >> > used frequently for cheating and this is a problem. Some game >> > >> > >> > server >> > >> > >> > companies offers you a protection service about cheat server >> > >> plugins. >> > >> > >> > >> > >> > >> > >> > >> > >> > > wow...... i really tought that client side events detection >> > were >> > >> > >> > > factible.... (bad inglish mode ON) >> > >> > >> > > >> > >> > >> > > if that was true.... about VAC banned...... why a >> > >> > >> > > client-side >> > >> plugin >> > >> > >> can >> > >> > >> > > be >> > >> > >> > > a cheating plugin, and a server-side plugin not?...... >> > >> > >> > > >> > >> > >> > > i just wanted to make a client-side plugin to make easier >> > record >> > >> > >> > > demos..... >> > >> > >> > > and when a player dies..... stop it..... and record with >> other >> > >> name >> > >> > >> > > automatically..... so, it's impossible? ): >> > >> > >> > > >> > >> > >> > > >> > >> > >> > > 2009/12/11 Jacob Heidt <[email protected]> >> > >> > >> > > >> > >> > >> > >> True indeed. The way that those dirty cheaters tend to get >> > >> > >> > >> their >> > >> > >> > >> hands >> > >> > >> > on >> > >> > >> > >> the internals, events etc, is through vfunc hooks - take a >> > look >> > >> at >> > >> > >> > >> the >> > >> > >> > >> SourceHook library in MetaMod:Source. >> > >> > >> > >> However, I would like to advise against client side >> mods/hooks >> > >> > >> > >> on >> > >> > >> > >> mods/games >> > >> > >> > >> that are not yours. You may be VAC banned for detection of >> > >> > >> > >> client >> > >> > >> > >> side >> > >> > >> > >> hooks, since 99.9999% of 3rd party client side hooks are >> from >> > >> dirty >> > >> > >> > >> rotten >> > >> > >> > >> cheaters. >> > >> > >> > >> >> > >> > >> > >> .jheidt >> > >> > >> > >> >> > >> > >> > >> -----Original Message----- >> > >> > >> > >> From: [email protected] >> > >> > >> > >> [mailto:[email protected]] On Behalf >> Of >> > >> > Ronny >> > >> > >> > >> Schedel >> > >> > >> > >> Sent: Friday, December 11, 2009 10:02 AM >> > >> > >> > >> To: Discussion of Half-Life Programming >> > >> > >> > >> Subject: Re: [hlcoders] client-side game events >> > >> > >> > >> >> > >> > >> > >> >> > >> > >> > >> I don't think it's possible with the provided interface >> system >> > >> > >> > >> by >> > >> > >> Valve, >> > >> > >> > >> two >> > >> > >> > >> >> > >> > >> > >> reasons: >> > >> > >> > >> >> > >> > >> > >> 1. Valve don't want to have their mods altered again. >> > >> > >> > >> 2. No one likes cheats. >> > >> > >> > >> >> > >> > >> > >> >> > >> > >> > >> > too bad!, i liked so much bananas! ): >> > >> > >> > >> > >> > >> > >> > >> > this is how i defined CEmptyServerPlugin: >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > class CEmptyServerPlugin: public IServerPluginCallbacks, >> > >> > >> > >> > public >> > >> > >> > >> > IGameEventListener2 >> > >> > >> > >> > { >> > >> > >> > >> > [...] >> > >> > >> > >> > } >> > >> > >> > >> > >> > >> > >> > >> > but there's not any "IClientPluginCallbacks" maybe i >> > >> > >> > >> > need >> an >> > >> > >> > >> > include >> > >> > >> > >> > that >> > >> > >> > >> > is >> > >> > >> > >> > not come with the example? >> > >> > >> > >> > >> > >> > >> > >> > what should i do to capture CLIENT events? >> > >> > >> > >> > >> > >> > >> > >> > PD: please..... i'm not an experienced programmer..... >> dont >> > >> > laught >> > >> > >> of >> > >> > >> > >> > me ): >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > 2009/12/11 Ronny Schedel <[email protected]> >> > >> > >> > >> > >> > >> > >> > >> >> One million dollar question: what is the >> CEmptyServerPlugin >> > >> for? >> > >> > >> > >> >> >> > >> > >> > >> >> 1) servers >> > >> > >> > >> >> 2) clients >> > >> > >> > >> >> 3) bananas >> > >> > >> > >> >> >> > >> > >> > >> >> If it is too difficult for you, here is a hint: it's >> > >> > >> > >> >> not >> > >> number >> > >> > >> > >> >> 3. >> > >> > >> > >> >> >> > >> > >> > >> >> >> > >> > >> > >> >> > hello again! >> > >> > >> > >> >> > >> > >> > >> > >> >> > i'm a bit confused about how events are managed in >> > >> > >> > >> >> > game >> > >> (team >> > >> > >> > >> >> > fortress >> > >> > >> > >> >> > 2) >> > >> > >> > >> >> > >> > >> > >> > >> >> > actually, i'm coding a CLIENT SIDE plugin, in wich i >> need >> > >> > >> > >> >> > to >> > >> > >> detect >> > >> > >> > >> the >> > >> > >> > >> >> > "player_death" event... >> > >> > >> > >> >> > >> > >> > >> > >> >> > this is what i got... >> > >> > >> > >> >> > >> > >> > >> > >> >> > void CEmptyServerPlugin::FireGameEvent( IGameEvent * >> > >> > >> > >> >> > event ) >> > >> > >> > >> >> > { >> > >> > >> > >> >> > const char* eventName = event->GetName(); >> > >> > >> > >> >> > int _short; >> > >> > >> > >> >> > >> > >> > >> > >> >> > if( FStrEq( eventName, "player_death")) >> > >> > >> > >> >> > { >> > >> > >> > >> >> > _short = event->GetInt( "userid"); >> > >> > >> > >> >> > >> > >> > >> > >> >> > player_info_t pinfo; >> > >> > >> > >> >> > >> > >> > >> engineclient->GetPlayerInfo(engineclient->GetLocalPlayer(), >> > >> > >> > >> >> > &pinfo); >> > >> > >> > >> >> > >> > >> > >> > >> >> > //verifify that client dies >> > >> > >> > >> >> > if( _short == pinfo.userID) >> > >> > >> > >> >> > { >> > >> > >> > >> >> > //code here >> > >> > >> > >> >> > } >> > >> > >> > >> >> > } >> > >> > >> > >> >> > } >> > >> > >> > >> >> > >> > >> > >> > >> >> > >> > >> > >> > >> >> > this work well, when i create a server in the >> > >> > >> > >> >> > game..... >> > >> > >> > >> >> > but >> > >> > >> > >> >> > when >> > >> > >> i >> > >> > >> > >> play >> > >> > >> > >> >> in >> > >> > >> > >> >> > public servers..... it doesn't work.... >> > >> > >> > >> >> > >> > >> > >> > >> >> > and this is what confuse me: >> > >> > >> > >> >> > to make this code work in public servers..... first i >> > have >> > >> to >> > >> > >> > create >> > >> > >> > >> my >> > >> > >> > >> >> > own >> > >> > >> > >> >> > server, and then connect to other i want >> > >> > >> > >> >> > >> > >> > >> > >> >> > why this happen?, what should i do?..... i'm really >> > >> > >> > >> >> > confused >> > >> > >> > >> >> > here............ >> > >> > >> > >> >> > >> > >> > >> > >> >> > >> > >> > >> > >> >> > my own investigations in google, told me that using >> > >> > >> > >> >> > "CEmptyServerPlugin" >> > >> > >> > >> >> > is >> > >> > >> > >> >> > the problem,..... i don't know.... >> > >> > >> > >> >> > >> > >> > >> > >> >> > >> > >> > >> > >> >> > nice to met you all!, and greetings from Chile! :D >> > >> > >> > >> >> > >> > >> > >> > >> >> > PD: sorry for my bad english >> > >> > >> > >> >> > _______________________________________________ >> > >> > >> > >> >> > 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 >> > >> > >> > >> > >> > >> > >> > >> >> > >> > >> > >> >> > >> > >> > >> _______________________________________________ >> > >> > >> > >> 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 >> > >> > >> > > >> > >> > >> > >> > >> > >> > >> > >> > >> > _______________________________________________ >> > >> > >> > 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 >> > >> > > >> > >> > >> > >> > >> > >> > _______________________________________________ >> > >> > 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 >> > > >> > >> > >> > _______________________________________________ >> > 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 > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

