On Tue, 18 Nov 2003 07:18:27 -0600 "Jeffrey \"botman\" Broome" <[EMAIL PROTECTED]> 
wrote:
>
> Since you don't have the source code to Counter-Strike, you have NO way
> of knowing what CS uses for CBaseEntity or CBasePlayer.  You probably
> assumeed that they were the same as in the SDK and that's a bad
> assumption.  Since you can't tell what the CBaseEntity or CBasePlayer
> classes look like in the Counter-Strike source code, you REALLY
> shouldn't be calling functions or setting variables inside those classes
> using the pointers you've created.
>

But you can find the function addresses for those classes, at least under
Linux.  You need to search through the symbol table for hlds at runtime.
I found some code to do this,
(http://www.securityfocus.com/archive/1/274283/2002-07-10/2002-07-16/2),
and I modified for c++ and fixed some various issues this morning.
Theres probably a way to do something comparable under Win32, but from the
sounds of it, this isnt a problem there....

There was a message on this list back at the end of august where someone was
asking for ways to call CBasePlayer::TakeDamage since we dont have the source
code for the particular version, I found a manual way to find the addresses,
but no automatic way until now.

There is still no way I know of to set variables on classes, though there
probably is a way through the symbol table as well..

Let me know if you want that code



_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to