@Ronny mmmm GAMEEVENTSMANAGER001??, but the API says that DONT USE IT! haha this is igameevents.h
#define INTERFACEVERSION_GAMEEVENTSMANAGER "GAMEEVENTSMANAGER001" // old game event manager, don't use it! #define INTERFACEVERSION_GAMEEVENTSMANAGER2 "GAMEEVENTSMANAGER002" // new game event manager, why use GAMEEVENTSMANAGER001???.....mmmmmmmmmmm also, i'm using too VEngineClient013, so that no diferent from me.... exept that i'm using GAMEEVENTSMANAGER002 2009/12/12 Ronny Schedel <[email protected]> > > 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 > > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

