Raised This Month: $32 Target: $400
 8% 

L4D SDK calls?


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Fyren
FyrenFyrenFyrenFyrenFyren FyrenFyrenFyrenFyrenFyren FyrenFyrenFyrenFyrenFyren FyrenFyrenFyrenFyrenFyren
Join Date: Feb 2106
Old 12-06-2008 , 23:48   L4D SDK calls?
Reply With Quote #1

So, I was poking around while thinking about making a plugin to make competitive play in L4D more, well, competitive and less random and saw a couple functions in the server binaries:

ZombieManager::SpawnWitch(Vector const&, QAngle const&)
ZombieManager::SpawnTank(Vector const&, QAngle const&)

I can take the mangled function names out of the objdump (which is where I found these in the first place) and stick them into a gameconf file, but they're members of ZombieManager and not CBaseEntity/CBasePlayer/etc.

Is there any hope of calling these functions? Is there some kludge I can perform to use an unusual SDK call type?

I'm looking around the source to SourceMod itself to see what it does in regards to finding the actual instance of the class whose function you want to call, but not having much luck.
Fyren is offline
BAILOPAN
Join Date: Jan 2004
Old 12-06-2008 , 23:58   Re: L4D SDK calls?
Reply With Quote #2

Does ZombieManager inherit from anything interesting? For example, in most games the "team manager" is in fact just an entity.
__________________
egg
BAILOPAN is offline
Fyren
FyrenFyrenFyrenFyrenFyren FyrenFyrenFyrenFyrenFyren FyrenFyrenFyrenFyrenFyren FyrenFyrenFyrenFyrenFyren
Join Date: Feb 2106
Old 12-07-2008 , 02:19   Re: L4D SDK calls?
Reply With Quote #3

Quote:
Originally Posted by BAILOPAN View Post
Does ZombieManager inherit from anything interesting? For example, in most games the "team manager" is in fact just an entity.
I don't know how to find out what it inherits from without the source. I guess I could trace the server as it runs and see which constructors get called, but that's probably difficult.
Fyren is offline
DS
SourceMod Developer
Join Date: Sep 2004
Location: WI, USA
Old 12-07-2008 , 02:46   Re: L4D SDK calls?
Reply With Quote #4

Code:
104C4008h: possible vtable (1 methods)
(SI)
0000: ZombieManager
0004:     CMemZeroOnNew
It looks like it's not an entity. However there is a variable named 'TheZombieManager' which appears to hold the instance of this class. You'd have to write an extension to use it.
__________________
エル・プサイ・コングルゥ
DS is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 17:13.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode