Multiple inheritance is killing me:( The engine calls CGameClient::Disconnect, but we've only hooked IClient::Disconnect, which uses a seperate vtable. Our own SourceTV_KickClient native calls the IClient variant though, so we need to hook both on linux to catch all cases. |
||
|---|---|---|
| .gitignore | ||
| AMBuilder | ||
| AMBuildScript | ||
| configure.py | ||
| extension.cpp | ||
| extension.h | ||
| forwards.cpp | ||
| forwards.h | ||
| hltvclientwrapper.cpp | ||
| hltvclientwrapper.h | ||
| hltvdirectorwrapper.cpp | ||
| hltvdirectorwrapper.h | ||
| hltvserverwrapper.cpp | ||
| hltvserverwrapper.h | ||
| ihltvdemorecorder.h | ||
| LICENSE | ||
| natives.cpp | ||
| natives.h | ||
| PackageScript | ||
| README.md | ||
| smsdk_config.h | ||
| sourcetv_test.sp | ||
| sourcetvmanager.games.txt | ||
| sourcetvmanager.inc | ||
SourceTV Manager
Interface to interact with the SourceTV server from SourcePawn.
This is a SourceMod extension providing an API for plugins to access the SourceTV server instance(s).
API
There are natives and forwards to access
- Basic SourceTV information (stats, delay, active)
- Interacting with spectators (chat/console messages, kick, ip, name)
- Forcing camera shots on the director
- Demo recording (filename, recording tick, print message to demo console)
Have a look at the include file.
status command fixes
There are several quirks around recording the status command output in a SourceTV demo.
While this extension is running, you're going to be able to do
FakeClientCommand(SourceTV_GetBotIndex(), "status");
and have the output recorded in the demo. This can help quickly identifying the players in the demo while playing it back.
Note: Doesn't run on relay proxies yet.