Hi everyone,
I need to modify CS:GO in order to intercept some game related events (like bomb is planted and ticking, player of either team dies and etc). I don't need to change the behavior, so we can assume that logging information to the file would be enough for my needs.
I have some c++ experience and I have absolutely no HL or Source Engine experience. So I was very confused with all those tools available in Steam (Source SDK, Source SDK Base 2006/2007, Source SDK Base 2013 Singleplayer/Multiplayer/Dedicated Server) and then also source code named source-sdk-2013 on github (
https://github.com/ValveSoftware/source-sdk-2013) and then hl2sdk-sdk2013 and hl2sdk-csgo (
https://github.com/alliedmodders/hl2sdk/tree/csgo) from alliedmodders and then MetaMode:Source source codes (
https://github.com/alliedmodders/metamod-source). So it looks like there is a lot of programmability options however I don't see how they all are connected and if any of them fit my needs.
Also it looks like CS:GO is not as "open" as other games (
https://developer.valvesoftware.com/...The_Source_SDK) so I guess it's not open-source and I can't build original CS:GO client.dll by myself, correct me if I'm wrong.
So far I was able to compile and install Metamod:Source plugin. And then modify, compile and launch sample_mm metamod-plugin (
https://github.com/alliedmodders/met...ster/sample_mm).
There I was able to intercept some of events using IGameEventManager2, but I catch all the events (when running CS:GO locally with bots), while I need only those that are related to my player. Also I was not able to find where I get information on, for example, which players are still alive and which are dead.
So my question would be:
1. Is this the right forum to ask such kind of questions?
2. Are there any tutorials or samples available for what I try to achieve (google helped, but I'm too confused with number of approaches)
3. I wonder if metamod-plugin IGameEventManager2 information that I get is in scope of client or server. It looks like it's server information, but I can't check because I can have only one instance running. If that is true then how do I access similar information on client (I understand that maybe not all information is available to the client application - that is OK).
Thank you!