wow Orange!, .... thank you for your answer
but.... i don't understand it ):
actually i have this:
void CEmptyServerPlugin::LevelInit( char const *pMapName )
{
gameeventmanager->AddListener( this, "player_death", false);
}
are you trying to tell me do this?
bool CEmptyServerPlugin::Load( CreateInterfaceFn interfaceFactory,
CreateInterfaceFn gameServerFactory )
{
//... interfaces loadings....
gameeventmanager->AddListener( this, "player_death", false);
}
also... i'm using GAMEEVENTSMANAGER002..... to make this work, it's
mandatory isung GAMEEVENTSMANAGER001?, like you?
thanks for your reply :D
2009/12/12 Busy orange <[email protected]>
> Orange author of Pov-Record
>
> gameeventmanager->AddListener(this,false);
> move it to Load func
>
> 2009/12/12 JoeX <[email protected]>
>
> > @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
> >
> >
> _______________________________________________
> 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