1.
cs2fixes.cpp de scos:
.h
discord
httpmanager -> add #include <steam/steam_gameserver.h> ?
leader
panoramavote
votemanager
zombiereborn

bool CS2Fixes::Load(
..
	/*g_pDiscordBotManager = new CDiscordBotManager();
	g_pZRPlayerClassManager = new CZRPlayerClassManager();*/
...
	/*g_pZRWeaponConfig = new ZRWeaponConfig();*/
...
	//g_pPanoramaVoteHandler = new CPanoramaVoteHandler();
..
	// Check hide distance
/*	new CTimer(0.5f, true, true, []()
	{
		g_playerManager->CheckHideDistances();
		return 0.5f;
	});*/

bool CS2Fixes::Unload(
..
/*
	if (g_pDiscordBotManager)
		delete g_pDiscordBotManager;
*/
...
/*
	if (g_pZRPlayerClassManager)
		delete g_pZRPlayerClassManager;

	if (g_pZRWeaponConfig)
		delete g_pZRWeaponConfig;*/
...
/*
	if (g_pPanoramaVoteHandler)
		delete g_pPanoramaVoteHandler;
*/

void CS2Fixes::Hook_StartupServer(
..
	//g_pPanoramaVoteHandler->Reset();
	//VoteManager_Init();

void CS2Fixes::Hook_ClientActive(
	//if (g_bVoteManagerEnable ) g_pMapVoteSystem->OnClientActive();

void CS2Fixes::Hook_ClientPutInServer(
...
/*
	if (g_bEnableZR)
		ZR_Hook_ClientPutInServer(slot, pszName, type, xuid);
*/

void CS2Fixes::Hook_ClientDisconnect(
...
	//if (g_bVoteManagerEnable ) g_pMapVoteSystem->OnClientDisconnect();

void CS2Fixes::Hook_GameFramePost(
...
/*
	if (g_bEnableZR)
		CZRRegenTimer::Tick();*/

    //EntityHandler_OnGameFramePost(simulating, gpGlobals->tickcount);

void CS2Fixes::Hook_CheckTransmit(
...
			//if ((pSelfZEPlayer->ShouldBlockTransmit(j) && (pOtherZEPlayer && !pOtherZEPlayer->IsLeader())) || !pPawn->IsAlive())
			if ((pSelfZEPlayer->ShouldBlockTransmit(j) && pOtherZEPlayer ) || !pPawn->IsAlive())

bool CS2Fixes::Hook_OnTakeDamage_Alive(
...
	//if (g_bEnableZR && ZR_Hook_OnTakeDamage_Alive(pInfoContainer->pInfo, pPawn))
		//RETURN_META_VALUE(MRES_SUPERCEDE, false);

void CS2Fixes::OnLevelInit(
...
	/*if (g_bEnableZR)
		ZR_OnLevelInit();*/



		//if (g_bEnableLeader)
			//Leader_PostEventAbstract_Source1LegacyGameEvent(clients, pData);


events.cpp

//#include "leader.h"
//add because remove leader
#include "utils/entity.h"
#include "networkstringtabledefs.h"
//#include "panoramavote.h"
#include "recipientfilters.h"
//#include "votemanager.h"
//#include "zombiereborn.h"

	//EntityHandler_OnRoundRestart();

	//if (g_bEnableZR)
		//ZR_OnRoundPrestart(pEvent);

	//if (g_bEnableZR)
		//ZR_OnPlayerSpawn(pController);

/*	if (g_bEnableZR)
		ZR_OnPlayerHurt(pEvent);
....
	pPlayer->SetTotalHits(pPlayer->GetTotalHits() + 1);*/

/*	if (g_bEnableZR)
		ZR_OnPlayerDeath(pEvent);
...
	pPlayer->SetTotalKills(pPlayer->GetTotalKills() + 1);*/

	/*g_pPanoramaVoteHandler->Init();

	if (g_bEnableZR)
		ZR_OnRoundStart(pEvent);

	if (g_bEnableLeader)
		Leader_OnRoundStart(pEvent);*/

/*	if (!g_bEnableTopDefender)
		return;

	for (int i = 0; i < gpGlobals->maxClients; i++)
	{
		ZEPlayer* pPlayer = g_playerManager->GetPlayer(i);

		if (!pPlayer)
			continue;

		pPlayer->SetTotalDamage(0);
		pPlayer->SetTotalHits(0);
		pPlayer->SetTotalKills(0);
	}*/

	/*if (g_bVoteManagerEnable)
	{
		ConVar* cvar = g_pCVar->GetConVar(g_pCVar->FindConVar("mp_timelimit"));
...
	}*/

/*	if (!g_bEnableTopDefender)
		return;

	CUtlVector<ZEPlayer*> sortedPlayers;
...
	}*/

	//if (g_bEnableZR)
		//ZR_OnRoundFreezeEnd(pEvent);

	//if (g_bEnableZR)
		//ZR_OnRoundTimeWarning(pEvent);

	//if (g_bEnableLeader)
		//Leader_BulletImpact(pEvent);

	//g_pPanoramaVoteHandler->VoteCast(pEvent);

gamesystem.cpp

//#include "leader.h"
//#include "zombiereborn.h"

	//ZR_Precache(pResourceManifest);
	//Leader_Precache(pResourceManifest);

	//EntityHandler_OnGameFramePre(gpGlobals->m_bInSimulation, gpGlobals->tickcount);

user_preferences.cpp

//#include "httpmanager.h"

/*g_HTTPManager.GET(...
..
	});*/

/*g_HTTPManager.POST(
...
	});*/

playermanager.cpp
//#include "leader.h"
//#include "map_votes.h"
//#include "panoramavote.h"

	//g_pMapVoteSystem->ClearPlayerInfo(slot.Get());
	//g_pMapVoteSystem->ClearInvalidNominations();

	//g_pUserPreferencesSystem->PushPreferences(slot.Get());
	//g_pUserPreferencesSystem->ClearPreferences(slot.Get());

	//g_pPanoramaVoteHandler->RemovePlayerFromVote(slot.Get());

//add
std::string g_strMarkParticlePath = "particles/cs2fixes/leader_defend_mark.vpcf";

	pKeyValues->SetString("effect_name", g_strMarkParticlePath.c_str());

adminsystem.cpp
//#include "discord.h"
//#include "map_votes.h"
//#include "votemanager.h"

/*
CON_COMMAND_CHAT_FLAGS(reload_discord_bots,
..
}*/

/*
CON_COMMAND_CHAT_FLAGS(extend,..
...}*/

add from removed.cpp

struct ColorPreset
{
	std::string strChatColor;
	Color color;
	bool bIsChatColor;
};
std::map<std::string, ColorPreset> mapColorPresets = {
	{"darkred",    ColorPreset("\x02", Color(255,   0,   0, 255), true)},
	{"red",        ColorPreset("\x07", Color(255,  64,  64, 255), true)},
	{"lightred",   ColorPreset("\x0F", Color(235,  75,  75, 255), true)},
	{"orange",     ColorPreset("\x10", Color(227, 175,  57, 255), true)}, // Default T color
	{"yellow",     ColorPreset("\x09", Color(236, 227, 122, 255), true)},
	{"lime",       ColorPreset("\x05", Color(190, 253, 146, 255), true)},
	{"lightgreen", ColorPreset("\x06", Color(190, 253, 146, 255), true)},
	{"green",      ColorPreset("\x04", Color( 64, 255,  61, 255), true)},
	{"lightblue",  ColorPreset("\x0B", Color( 94, 152, 216, 255), true)},
	{"blue",       ColorPreset("\x0C", Color( 76, 106, 255, 255), true)}, // Default if color finding func doesn't match any other color
	{"purple",     ColorPreset("\x0E", Color(211,  45, 231, 255), true)},
	{"gray",       ColorPreset("\x0A", Color(176, 194, 216, 255), true)},
	{"grey",       ColorPreset("\x08", Color(196, 201, 207, 255), true)},
	{"white",      ColorPreset("\x01", Color(255, 255, 255, 255), true)},
	{"pink",       ColorPreset(    "", Color(255, 192, 203, 255), false)}
};
// clang-format on
bool g_bLeaderCanTargetPlayers = false;

Color Leader_GetColor(std::string strColor, ZEPlayer* zpUser = nullptr, CCSPlayerController* pTarget = nullptr)
{
	std::transform(strColor.begin(), strColor.end(), strColor.begin(), [](unsigned char c) { return std::tolower(c); });

	if (strColor.length() > 0 && mapColorPresets.contains(strColor))
		return mapColorPresets.at(strColor).color;
	else if (zpUser && zpUser->IsLeader())
		return zpUser->GetLeaderColor();
	else if (pTarget && pTarget->m_iTeamNum == CS_TEAM_T)
		return mapColorPresets["orange"].color;

	return mapColorPresets["blue"].color;
}
//CON_COMMAND_CHAT_LEADER(glow, "[name] [color] - Toggle glow highlight on a player")
CON_COMMAND_CHAT_FLAGS(glow, "[name] [color] - Toggle glow highlight on a player", ADMFLAG_KICK)
{
	ZEPlayer* pPlayer = player ? player->GetZEPlayer() : nullptr;
	bool bIsAdmin = pPlayer ? pPlayer->IsAdminFlagSet(ADMFLAG_KICK) : true;
	const char* pszCommandPlayerName = player ? player->GetPlayerName() : CONSOLE_NAME;

	int iNumClients = 0;
	int pSlots[MAXPLAYERS];
	ETargetType nType;
	uint64 iTargetFlags = NO_DEAD;
	if (!bIsAdmin)
		iTargetFlags |= NO_MULTIPLE | NO_TERRORIST;
	const char* pszTarget = "@me";
	if (args.ArgC() >= 2 && (bIsAdmin || g_bLeaderCanTargetPlayers))
		pszTarget = args[1];

	if (!g_playerManager->CanTargetPlayers(player, pszTarget, iNumClients, pSlots, iTargetFlags, nType))
		return;

	for (int i = 0; i < iNumClients; i++)
	{
		CCSPlayerController* pTarget = CCSPlayerController::FromSlot(pSlots[i]);

		ZEPlayer* pPlayerTarget = pTarget->GetZEPlayer();

		if (iNumClients == 1 && player == pTarget)
			ClientPrint(player, HUD_PRINTTALK, CHAT_PREFIX "%s glow on yourself.",
						pPlayerTarget->GetGlowModel() ? "Disabled" : "Enabled");
		else if (iNumClients == 1)
			ClientPrintAll(HUD_PRINTTALK, CHAT_PREFIX "%s %s %s glow on %s.",
						   bIsAdmin ? "Admin" : "Leader",
						   pszCommandPlayerName,
						   pPlayerTarget->GetGlowModel() ? "disabled" : "enabled",
						   pTarget->GetPlayerName());

		if (!pPlayerTarget->GetGlowModel())
		{
			Color color = Leader_GetColor(args.ArgC() < 3 ? "" : args[2], pPlayer, pTarget);
			pPlayerTarget->StartGlow(color, 0);
		}
		else
			pPlayerTarget->EndGlow();
	}

	if (iNumClients > 1) // Can only hit this if bIsAdmin due to target flags
		PrintMultiAdminAction(nType, pszCommandPlayerName, "toggled glow on", "", CHAT_PREFIX);
}

//CON_COMMAND_CHAT_LEADER(beacon, "[name] [color] - Toggle beacon on a player")
CON_COMMAND_CHAT_FLAGS(beacon, "[name] [color] - Toggle beacon on a player", ADMFLAG_KICK)
{
	ZEPlayer* pPlayer = player ? player->GetZEPlayer() : nullptr;
	bool bIsAdmin = pPlayer ? pPlayer->IsAdminFlagSet(ADMFLAG_KICK) : true;
	const char* pszCommandPlayerName = player ? player->GetPlayerName() : CONSOLE_NAME;

	int iNumClients = 0;
	int pSlots[MAXPLAYERS];
	ETargetType nType;
	uint64 iTargetFlags = NO_DEAD;
	if (!bIsAdmin)
		iTargetFlags |= NO_TERRORIST | NO_MULTIPLE;
	const char* pszTarget = "@me";
	if (args.ArgC() >= 2 && (bIsAdmin || g_bLeaderCanTargetPlayers))
		pszTarget = args[1];

	if (!g_playerManager->CanTargetPlayers(player, pszTarget, iNumClients, pSlots, iTargetFlags, nType))
		return;

	for (int i = 0; i < iNumClients; i++)
	{
		CCSPlayerController* pTarget = CCSPlayerController::FromSlot(pSlots[i]);
		ZEPlayer* pPlayerTarget = pTarget->GetZEPlayer();

		if (iNumClients == 1 && player == pTarget)
			ClientPrint(player, HUD_PRINTTALK, CHAT_PREFIX "%s beacon on yourself.",
						pPlayerTarget->GetBeaconParticle() ? "Disabled" : "Enabled");
		else if (iNumClients == 1)
			ClientPrintAll(HUD_PRINTTALK, CHAT_PREFIX "%s %s %s beacon on %s.",
						   bIsAdmin ? "Admin" : "Leader",
						   pszCommandPlayerName,
						   pPlayerTarget->GetBeaconParticle() ? "disabled" : "enabled",
						   pTarget->GetPlayerName());

		if (!pPlayerTarget->GetBeaconParticle())
		{
			Color color = Leader_GetColor(args.ArgC() < 3 ? "" : args[2], pPlayer, pTarget);
			pPlayerTarget->StartBeacon(color, pPlayer ? pPlayer->GetHandle() : 0);
		}
		else
			pPlayerTarget->EndBeacon();
	}

	if (iNumClients > 1) // Can only hit this if bIsAdmin due to target flags
		PrintMultiAdminAction(nType, pszCommandPlayerName, "toggled beacon on", "", CHAT_PREFIX);
}

detours.cpp
//#include "map_votes.h"
//#include "zombiereborn.h"

//extern CMapVoteSystem* g_pMapVoteSystem;

	//if (g_bEnableZR && !ZR_Detour_CCSPlayer_WeaponServices_CanUse(pWeaponServices, pPlayerWeapon))
		//return false;

	//if (g_bEnableZR)
		//ZR_Detour_CEntityIdentity_AcceptInput(pThis, pInputName, pActivator, pCaller, value, nOutputID);

AMBuilder
..
    #'src/panoramavote.cpp',
..
    #'src/votemanager.cpp',
    #'src/httpmanager.cpp',
    #'src/discord.cpp',
    #'src/map_votes.cpp',

    #'src/zombiereborn.cpp',

    #'src/leader.cpp',
    #'src/buttonwatch.cpp',

command.h
//#include "leader.h"
//add because remove leader
#define FLAG_LEADER (ADMFLAG_GENERIC | 1 << 31)
//#define CON_COMMAND_CHAT_LEADER(name, description) CON_COMMAND_CHAT_FLAGS(name, description, FLAG_LEADER)

commands.cpp
//#include "discord.h"
//#include "httpmanager.h"
//#include "leader.h"
//#include "zombiereborn.h"

		//if (!g_bEnableLeader)
			//return false;

			/*else if (g_bLeaderActionsHumanOnly && pPlayer->m_iTeamNum != CS_TEAM_CT)
			{
			}*/

/*
void HttpCallback(
...
}*/
#endif // _DEBUG


2.

din adminsystem.cpp de scos tot ce tine beacon si glow, oricum beacon nu mai merge din cauza precache-ului
de scos din ambuilder
src/user_preferences.cpp si tot ce tine de el de prin alte module
src/customio.cpp
src/buttonwatch.cpp

cs2fixes.h
	/*void Hook_CheckTransmit(CCheckTransmitInfo** ppInfoList, int infoCount, CBitVec<16384>& unionTransmitEdicts,
							const Entity2Networkable_t** pNetworkables, const uint16* pEntityIndicies, int nEntities, bool bEnablePVSBits);*/
cs2fixes.cpp
//#include "user_preferences.h"

//SH_DECL_HOOK7_void(ISource2GameEntities, CheckTransmit, SH_NOATTRIB, 0, CCheckTransmitInfo**, int, CBitVec<16384>&, const Entity2Networkable_t**, const uint16*, int, bool);

	//SH_ADD_HOOK(ISource2GameEntities, CheckTransmit, g_pSource2GameEntities, SH_MEMBER(this, &CS2Fixes::Hook_CheckTransmit), true);

	//g_pUserPreferencesSystem = new CUserPreferencesSystem();
	//g_pUserPreferencesStorage = new CUserPreferencesREST();

	//SH_REMOVE_HOOK(ISource2GameEntities, CheckTransmit, g_pSource2GameEntities, SH_MEMBER(this, &CS2Fixes::Hook_CheckTransmit), true)

	/*if (g_pUserPreferencesSystem)
		delete g_pUserPreferencesSystem;

	if (g_pUserPreferencesStorage)
		delete g_pUserPreferencesStorage;*/

/*void CS2Fixes::Hook_CheckTransmit(CCheckTransmitInfo*
.......
}*/

	/*NetMessageInfo_t* info = pEvent->GetNetMessageInfo();
.....
			*(uint64*)clients &= ~g_playerManager->GetNoShakeMask();
	}*/

gamesystem.cpp
//extern std::string g_sBurnParticle;
	//PrecacheBeaconParticle(pResourceManifest);
	//pResourceManifest->AddResource(g_sBurnParticle.c_str());

	//g_playerManager->FlashLightThink();

playermanager.cpp
//#include "user_preferences.h"

	//g_pUserPreferencesSystem->PullPreferences(GetPlayerSlot().Get());

	return 0;//g_pUserPreferencesSystem->GetPreferenceInt(m_slot.Get(), HIDE_DISTANCE_PREF_KEY_NAME, 0);

	//g_pUserPreferencesSystem->SetPreferenceInt(m_slot.Get(), BUTTON_WATCH_PREF_KEY_NAME, m_iButtonWatchMode);

	return 0;//g_pUserPreferencesSystem->GetPreferenceInt(m_slot.Get(), BUTTON_WATCH_PREF_KEY_NAME, m_iButtonWatchMode);

	//g_pUserPreferencesSystem->SetPreferenceInt(slot, SOUND_STATUS_PREF_KEY_NAME, iStopPreferenceStatus + iSilencePreferenceStatus);

	//g_pUserPreferencesSystem->SetPreferenceInt(slot, SOUND_STATUS_PREF_KEY_NAME, iStopPreferenceStatus + iSilencePreferenceStatus);

	//g_pUserPreferencesSystem->SetPreferenceInt(slot, DECAL_PREF_KEY_NAME, iDecalPreferenceStatus);

	//g_pUserPreferencesSystem->SetPreferenceInt(m_slot.Get(), HIDE_DISTANCE_PREF_KEY_NAME, distance);

	//g_pUserPreferencesSystem->SetPreferenceInt(slot, NO_SHAKE_PREF_KEY_NAME, iNoShakePreferenceStatus);

detours.cpp
//#include "buttonwatch.h"

			return false;//CustomIO_HandleInput(pThis->m_pInstance, value->m_pszString, pActivator, pCaller);

		//if (pPawn->IsPawn() && IgnitePawn(pPawn, flDuration, pPawn, pPawn))

3.
Ambuilder     
#'src/entities.cpp',

cs2fixes.cpp
//#include "entities.h"
	//CGamePlayerEquipHandler::Use(META_IFACEPTR(CGamePlayerEquip), pInput);

	//EntityHandler_OnGameFramePost(simulating, gpGlobals->tickcount);

gamesystem.cpp
//#include "entities.h"
	//EntityHandler_OnGameFramePre(gpGlobals->m_bInSimulation, gpGlobals->tickcount);

eventlistener.cpp
//#include "entities.h"
	//EntityHandler_OnEntitySpawned(reinterpret_cast<CBaseEntity*>(pEntity));

events.cpp
//#include "entities.h"
	//EntityHandler_OnRoundRestart();

detours.h
//void FASTCALL Detour_CGamePlayerEquip_InputTriggerForAllPlayers(CGamePlayerEquip*, InputData_t*);
//void FASTCALL Detour_CGamePlayerEquip_InputTriggerForActivatedPlayer(CGamePlayerEquip*, InputData_t*);
/*
#ifdef PLATFORM_WINDOWS
Vector* FASTCALL Detour_CBasePlayerPawn_GetEyePosition(CBasePlayerPawn*, Vector*);
QAngle* FASTCALL Detour_CBasePlayerPawn_GetEyeAngles(CBasePlayerPawn*, QAngle*);
#else
Vector FASTCALL Detour_CBasePlayerPawn_GetEyePosition(CBasePlayerPawn*);
QAngle FASTCALL Detour_CBasePlayerPawn_GetEyeAngles(CBasePlayerPawn*);
#endif
*/

detours.cpp
//#include "entities.h"

//DECLARE_DETOUR(CGamePlayerEquip_InputTriggerForAllPlayers, Detour_CGamePlayerEquip_InputTriggerForAllPlayers);
//DECLARE_DETOUR(CGamePlayerEquip_InputTriggerForActivatedPlayer, Detour_CGamePlayerEquip_InputTriggerForActivatedPlayer);

//DECLARE_DETOUR(CBasePlayerPawn_GetEyePosition, Detour_CBasePlayerPawn_GetEyePosition);
//DECLARE_DETOUR(CBasePlayerPawn_GetEyeAngles, Detour_CBasePlayerPawn_GetEyeAngles);

/*
void FASTCALL Detour_CGamePlayerEquip_InputTriggerForAllPlayers(CGamePlayerEquip* pEntity, InputData_t* pInput)
{
	CGamePlayerEquipHandler::TriggerForAllPlayers(pEntity, pInput);
	CGamePlayerEquip_InputTriggerForAllPlayers(pEntity, pInput);
}
void FASTCALL Detour_CGamePlayerEquip_InputTriggerForActivatedPlayer(CGamePlayerEquip* pEntity, InputData_t* pInput)
{
	if (CGamePlayerEquipHandler::TriggerForActivatedPlayer(pEntity, pInput))
		CGamePlayerEquip_InputTriggerForActivatedPlayer(pEntity, pInput);
}
*/

	/*else if (const auto pGameUI = reinterpret_cast<CBaseEntity*>(pThis->m_pInstance)->AsGameUI())
	{
		if (!V_strcasecmp(pInputName->String(), "Activate"))
			return CGameUIHandler::OnActivate(pGameUI, reinterpret_cast<CBaseEntity*>(pActivator));
		if (!V_strcasecmp(pInputName->String(), "Deactivate"))
			return CGameUIHandler::OnDeactivate(pGameUI, reinterpret_cast<CBaseEntity*>(pActivator));
	}
	else if (const auto pViewControl = reinterpret_cast<CPointViewControl*>(pThis->m_pInstance)->AsPointViewControl())
	{
		if (!V_strcasecmp(pInputName->String(), "EnableCamera"))
			return CPointViewControlHandler::OnEnable(pViewControl, reinterpret_cast<CBaseEntity*>(pActivator));
		if (!V_strcasecmp(pInputName->String(), "DisableCamera"))
			return CPointViewControlHandler::OnDisable(pViewControl, reinterpret_cast<CBaseEntity*>(pActivator));
		if (!V_strcasecmp(pInputName->String(), "EnableCameraAll"))
			return CPointViewControlHandler::OnEnableAll(pViewControl);
		if (!V_strcasecmp(pInputName->String(), "DisableCameraAll"))
			return CPointViewControlHandler::OnDisableAll(pViewControl);
	}*/

/*
#ifdef PLATFORM_WINDOWS
Vector* FASTCALL Detour_CBasePlayerPawn_GetEyePosition(CBasePlayerPawn* pPawn, Vector* pRet)
{
	if (pPawn->IsAlive() && CPointViewControlHandler::IsViewControl(reinterpret_cast<CCSPlayerPawn*>(pPawn)))
	{
		const auto& origin = pPawn->GetEyePosition();
		pRet->Init(origin.x, origin.y, origin.z);
		return pRet;
	}

	return CBasePlayerPawn_GetEyePosition(pPawn, pRet);
}
QAngle* FASTCALL Detour_CBasePlayerPawn_GetEyeAngles(CBasePlayerPawn* pPawn, QAngle* pRet)
{
	if (pPawn->IsAlive() && CPointViewControlHandler::IsViewControl(reinterpret_cast<CCSPlayerPawn*>(pPawn)))
	{
		const auto& angles = pPawn->v_angle();
		pRet->Init(angles.x, angles.y, angles.z);
		return pRet;
	}

	return CBasePlayerPawn_GetEyeAngles(pPawn, pRet);
}
#else
Vector FASTCALL Detour_CBasePlayerPawn_GetEyePosition(CBasePlayerPawn* pPawn)
{
	if (pPawn->IsAlive() && CPointViewControlHandler::IsViewControl(reinterpret_cast<CCSPlayerPawn*>(pPawn)))
	{
		const auto& origin = pPawn->GetEyePosition();
		return origin;
	}

	return CBasePlayerPawn_GetEyePosition(pPawn);
}
QAngle FASTCALL Detour_CBasePlayerPawn_GetEyeAngles(CBasePlayerPawn* pPawn)
{
	if (pPawn->IsAlive() && CPointViewControlHandler::IsViewControl(reinterpret_cast<CCSPlayerPawn*>(pPawn)))
	{
		const auto& angles = pPawn->v_angle();
		return angles;
	}

	return CBasePlayerPawn_GetEyeAngles(pPawn);
}
#endif
*/

4.
cleanup functions and classes
adminsystem.cpp - remove ent.. cmds: entfire,entfirepawn,entfirecontroller
/*
CON_COMMAND_CHAT_FLAGS(entfire, "<name>
...
}/*

commands.cpp - remove "fun" cmds/options: stopsound,toggledecals,noshake,hide and all from debug
//#include "entity/ccsweaponbase.h"
//#include "entity/cparticlesystem.h"
//#include "entity/lights.h"

//#include "vendor/nlohmann/json.hpp"

//using json = nlohmann::json;

/*
CON_COMMAND_CHAT(stopsound, "- Toggle weapon sounds")
...
*/
bool g_bEnableNoShake = false;
/*CON_COMMAND_CHAT(noshake, "- toggle noshake")
{
...
}/*
..
/*CON_COMMAND_CHAT(hide, "<distance> - Hide nearby players")
{
...
}/*

fara weaponchatcmd
/*
void ParseWeaponCommand(const CCommand& args, CCSPlayerController* player)
{
...
	ParseWeaponCommand(args, pController);
}
*/
void RegisterWeaponCommands()
{
	/*for (int i = 0; i < sizeof(WeaponMap) / sizeof(*WeaponMap); i++)
	{
		WeaponMapEntry_t weaponEntry = WeaponMap[i];

		for (std::string alias : weaponEntry.aliases)
		{
			new CChatCommand(alias.c_str(), ParseWeaponCommand, "- Buys this weapon", ADMFLAG_NONE, CMDFLAG_NOHELP);
			ConCommandRefAbstract ref;

			char cmdName[64];
			V_snprintf(cmdName, sizeof(cmdName), "%s%s", COMMAND_PREFIX, alias.c_str());

			new ConCommand(&ref, cmdName, WeaponCommandCallback, "Buys this weapon", FCVAR_RELEASE | FCVAR_CLIENT_CAN_EXECUTE | FCVAR_LINKED_CONCOMMAND);
		}
	}*/
}

			/*if (!pZEPlayer->IsLeader())
			{
				ClientPrint(pPlayer, HUD_PRINTTALK, CHAT_PREFIX "You must be a leader to use this command.");
				return false;
			}*/

cs2fixes.cpp
	//RegisterWeaponCommands();

	//g_playerManager->SetupInfiniteAmmo();

playermanager.h
//#include "entity/cparticlesystem.h" --> add #include "entity/cbaseentity.h" 
//#include "entity/lights.h"

/*#define DECAL_PREF_KEY_NAME "hide_decals"
#define HIDE_DISTANCE_PREF_KEY_NAME "hide_distance"
#define SOUND_STATUS_PREF_KEY_NAME "sound_status"
#define NO_SHAKE_PREF_KEY_NAME "no_shake"
#define BUTTON_WATCH_PREF_KEY_NAME "button_watch"*/

		//m_iHideDistance = 0;

		/*m_iTotalDamage = 0;
		m_iTotalHits = 0;
		m_iTotalKills = 0;
		m_bVotedRTV = false;
		m_bVotedExtend = false;
		m_bIsInfected = false;
		m_flRTVVoteTime = -60.0f;
		m_flExtendVoteTime = 0;*/

		//m_iMZImmunity = 0; // out of 100
		//m_flNominateTime = -60.0f;

		/*m_bIsLeader = false;
		m_handleMark = nullptr;
		m_colorLeader = Color(0, 0, 0, 0);
		m_colorTracer = Color(0, 0, 0, 0);
		m_colorGlow = Color(0, 0, 0, 0);
		m_colorBeacon = Color(0, 0, 0, 0);
		m_flLeaderVoteTime = -30.0f;*/

		/*m_pActiveZRClass = nullptr;
		m_pActiveZRModel = nullptr;
		m_iButtonWatchMode = 0;*/

		/*CBarnLight* pFlashLight = m_hFlashLight.Get();

		if (pFlashLight)
			pFlashLight->Remove();*/

	/*void SetTransmit(int index, bool shouldTransmit) { shouldTransmit ? m_shouldTransmit.Set(index) : m_shouldTransmit.Clear(index); }
	void ClearTransmit() { m_shouldTransmit.ClearAll(); }
	void SetHideDistance(int distance);
	void SetTotalDamage(int damage) { m_iTotalDamage = damage; }
	void SetTotalHits(int hits) { m_iTotalHits = hits; }
	void SetTotalKills(int kills) { m_iTotalKills = kills; }
	void SetRTVVote(bool bRTVVote) { m_bVotedRTV = bRTVVote; }
	void SetRTVVoteTime(float flCurtime) { m_flRTVVoteTime = flCurtime; }
	void SetExtendVote(bool bExtendVote) { m_bVotedExtend = bExtendVote; }
	void SetInfectState(bool bInfectState) { m_bIsInfected = bInfectState; }
	void SetExtendVoteTime(float flCurtime) { m_flExtendVoteTime = flCurtime; }*/

	/*void SetImmunity(int iMZImmunity) { m_iMZImmunity = iMZImmunity; }
	void SetNominateTime(float flCurtime) { m_flNominateTime = flCurtime; }
	void SetFlashLight(CBarnLight* pLight) { m_hFlashLight.Set(pLight); }
	void SetBeaconParticle(CParticleSystem* pParticle) { m_hBeaconParticle.Set(pParticle); }*/

	/*void SetLeader(bool bIsLeader) { m_bIsLeader = bIsLeader; }
	void CreateMark(float fDuration, Vector vecOrigin);
	void SetLeaderColor(Color colorLeader) { m_colorLeader = colorLeader; }
	void SetTracerColor(Color colorTracer) { m_colorTracer = colorTracer; }
	void SetGlowColor(Color colorGlow) { m_colorGlow = colorGlow; }
	void SetBeaconColor(Color colorBeacon) { m_colorBeacon = colorBeacon; }
	void SetLeaderVoteTime(float flCurtime) { m_flLeaderVoteTime = flCurtime; }
	void SetGlowModel(CBaseModelEntity* pModel) { m_hGlowModel.Set(pModel); }*/

	//void CycleButtonWatch();

	//void SetActiveZRClass(std::shared_ptr<ZRClass> pZRModel) { m_pActiveZRClass = pZRModel; }
	//void SetActiveZRModel(std::shared_ptr<ZRModelEntry> pZRClass) { m_pActiveZRModel = pZRClass; }

	/*bool ShouldBlockTransmit(int index) { return m_shouldTransmit.Get(index); }
	int GetHideDistance();*/

	/*int GetTotalDamage() { return m_iTotalDamage; }
	int GetTotalHits() { return m_iTotalHits; }
	int GetTotalKills() { return m_iTotalKills; }
	bool GetRTVVote() { return m_bVotedRTV; }
	float GetRTVVoteTime() { return m_flRTVVoteTime; }
	bool GetExtendVote() { return m_bVotedExtend; }
	bool IsInfected() { return m_bIsInfected; }
	float GetExtendVoteTime() { return m_flExtendVoteTime; }*/

	/*int GetImmunity() { return m_iMZImmunity; }
	float GetNominateTime() { return m_flNominateTime; }
	CBarnLight* GetFlashLight() { return m_hFlashLight.Get(); }
	CParticleSystem* GetBeaconParticle() { return m_hBeaconParticle.Get(); }*/

	/*bool IsLeader() { return m_bIsLeader; }
	Color GetLeaderColor() { return m_colorLeader; }
	Color GetTracerColor() { return m_colorTracer; }
	Color GetGlowColor() { return m_colorGlow; }
	Color GetBeaconColor() { return m_colorBeacon; }
	int GetLeaderVoteCount();
	bool HasPlayerVotedLeader(ZEPlayer* pPlayer);
	float GetLeaderVoteTime() { return m_flLeaderVoteTime; }
	CBaseModelEntity* GetGlowModel() { return m_hGlowModel.Get(); }*/

	/*std::shared_ptr<ZRClass> GetActiveZRClass() { return m_pActiveZRClass; }
	std::shared_ptr<ZRModelEntry> GetActiveZRModel() { return m_pActiveZRModel; }
	int GetButtonWatchMode();*/

	/*void SpawnFlashLight();
	void ToggleFlashLight();
	void StartBeacon(Color color, ZEPlayerHandle Giver = 0);
	void EndBeacon();
	void AddLeaderVote(ZEPlayer* pPlayer);
	void PurgeLeaderVotes();
	void StartGlow(Color color, int duration);
	void EndGlow();*/

	/*int m_iHideDistance;
	CBitVec<MAXPLAYERS> m_shouldTransmit;
	int m_iTotalDamage;
	int m_iTotalHits;
	int m_iTotalKills;
	bool m_bVotedRTV;
	float m_flRTVVoteTime;
	bool m_bVotedExtend;
	bool m_bIsInfected;
	float m_flExtendVoteTime;*/

	/*int m_iMZImmunity;
	float m_flNominateTime;
	CHandle<CBarnLight> m_hFlashLight;
	CHandle<CParticleSystem> m_hBeaconParticle;*/

	/*bool m_bIsLeader;
	CHandle<CBaseEntity> m_handleMark;
	Color m_colorLeader;
	Color m_colorTracer;
	Color m_colorGlow;
	Color m_colorBeacon;
	CUtlVector<ZEPlayerHandle> m_vecLeaderVotes;
	float m_flLeaderVoteTime;
	CHandle<CBaseModelEntity> m_hGlowModel;*/

	/*std::shared_ptr<ZRClass> m_pActiveZRClass;
	std::shared_ptr<ZRModelEntry> m_pActiveZRModel;
	int m_iButtonWatchMode;*/

		/*m_nUsingStopSound = -1; // On by default
		m_nUsingSilenceSound = 0;
		m_nUsingStopDecals = -1; // On by default
		m_nUsingNoShake = 0;*/

	/*void FlashLightThink();
	void CheckHideDistances();
	void SetupInfiniteAmmo();*/

	/*uint64 GetStopSoundMask() { return m_nUsingStopSound; }
	uint64 GetSilenceSoundMask() { return m_nUsingSilenceSound; }
	uint64 GetStopDecalsMask() { return m_nUsingStopDecals; }
	uint64 GetNoShakeMask() { return m_nUsingNoShake; }

	void SetPlayerStopSound(int slot, bool set);
	void SetPlayerSilenceSound(int slot, bool set);
	void SetPlayerStopDecals(int slot, bool set);
	void SetPlayerNoShake(int slot, bool set);

	void ResetPlayerFlags(int slot);

	bool IsPlayerUsingStopSound(int slot) { return m_nUsingStopSound & ((uint64)1 << slot); }
	bool IsPlayerUsingSilenceSound(int slot) { return m_nUsingSilenceSound & ((uint64)1 << slot); }
	bool IsPlayerUsingStopDecals(int slot) { return m_nUsingStopDecals & ((uint64)1 << slot); }
	bool IsPlayerUsingNoShake(int slot) { return m_nUsingNoShake & ((uint64)1 << slot); }*/

	/*uint64 m_nUsingStopSound;
	uint64 m_nUsingSilenceSound;
	uint64 m_nUsingStopDecals;
	uint64 m_nUsingNoShake;*/

//void PrecacheBeaconParticle(IEntityResourceManifest* pResourceManifest);

playermanager.cpp


/*
int ZEPlayer::GetHideDistance()
{
	return 0;//g_pUserPreferencesSystem->GetPreferenceInt(m_slot.Get(), HIDE_DISTANCE_PREF_KEY_NAME, 0);
....
	pLight->AcceptInput(pLight->m_bEnabled() ? "Disable" : "Enable");
}
*/

//static std::string g_sBeaconParticle = "particles/cs2fixes/player_beacon.vpcf";

//FAKE_STRING_CVAR(cs2f_beacon_particle, ".vpcf file to be precached and used for beacon", g_sBeaconParticle, false)

/*
void PrecacheBeaconParticle(IEntityResourceManifest* pResourceManifest)
{
	pResourceManifest->AddResource(g_sBeaconParticle.c_str());
}

void ZEPlayer::StartBeacon(Color color, ZEPlayerHandle hGiver *//* = 0*//*)
{
....
	return 0;//g_pUserPreferencesSystem->GetPreferenceInt(m_slot.Get(), BUTTON_WATCH_PREF_KEY_NAME, m_iButtonWatchMode);
}
*/

	//ResetPlayerFlags(slot.Get());

	//ResetPlayerFlags(slot.Get());

/*
static bool g_bFlashLightEnable = false;
...
					player->SetTransmit(j, pTargetPawn->GetAbsOrigin().DistToSqr(vecPosition) <= hideDistance * hideDistance);
			}
		}
	}
}
*/

//extern bool g_bEnableHide;

			//if (g_bEnableHide)
				//Message("Player %s changed states from %s to %s\n", pController->GetPlayerName(), g_szPlayerStates[iPreviousPlayerState], g_szPlayerStates[iCurrentPlayerState]);

			/*if (g_bEnableHide && (iCurrentPlayerState == STATE_OBSERVER_MODE || iPreviousPlayerState == STATE_OBSERVER_MODE))
			{
				CServerSideClient* pClient = GetClientBySlot(i);

				if (pClient)
					pClient->ForceFullUpdate();
			}*/

/*
static bool g_bInfiniteAmmo = false;
...
		return 5.0f;
	});
}
*/

/*
void CPlayerManager::SetPlayerStopSound(int slot, bool set)
{
....
	SetPlayerNoShake(slot, false);
}
*/


5.
de scos tot ce nu e de folos, parte din ele sunt ca si cum ar fi sv_cheats 1 (ServerMovementUnlock,GetTouchingList,CheckMovingGround,...)
Ambuilder, e aidlemanager.cpp
    #'src/idlemanager.cpp',

cs2fixes.h
//struct CTakeDamageInfoContainer;
//class CCSPlayer_MovementServices;
//struct TouchLinked_t;

	//void Hook_CGamePlayerEquipUse(class InputData_t*);

	/*void Hook_CreateWorkshopMapGroup(const char* name, const CUtlStringList& mapList);
	void Hook_GoToIntermission(bool bAbortedMatch);
	bool Hook_OnTakeDamage_Alive(CTakeDamageInfoContainer* pInfoContainer);
	void Hook_PhysicsTouchShuffle(CUtlVector<TouchLinked_t>* pList, bool unknown);
#ifdef PLATFORM_WINDOWS
	Vector* Hook_GetEyePosition(Vector*);
	QAngle* Hook_GetEyeAngles(QAngle*);
#else
	Vector Hook_GetEyePosition();
	QAngle Hook_GetEyeAngles();
#endif
	void Hook_CheckMovingGround(double frametime);*/

cs2fixes.cpp
//#include "idlemanager.h"

//SH_DECL_MANUALHOOK1_void(CGamePlayerEquipUse, 0, 0, 0, InputData_t*);
//SH_DECL_MANUALHOOK2_void(CreateWorkshopMapGroup, 0, 0, 0, const char*, const CUtlStringList&);
//SH_DECL_MANUALHOOK1(OnTakeDamage_Alive, 0, 0, 0, bool, CTakeDamageInfoContainer*);
//SH_DECL_MANUALHOOK1_void(CheckMovingGround, 0, 0, 0, double);

//SH_DECL_MANUALHOOK1_void(GoToIntermission, 0, 0, 0, bool);
//SH_DECL_MANUALHOOK2_void(PhysicsTouchShuffle, 0, 0, 0, CUtlVector<TouchLinked_t>*, bool);

/*int g_iCGamePlayerEquipUseId = -1;
int g_iCreateWorkshopMapGroupId = -1;
int g_iOnTakeDamageAliveId = -1;
int g_iCheckMovingGroundId = -1;*/

//int g_iGoToIntermissionId = -1;
//int g_iPhysicsTouchShuffle = -1;

	//int offset = g_GameConfig->GetOffset("IGameTypes_CreateWorkshopMapGroup");
	//SH_MANUALHOOK_RECONFIGURE(CreateWorkshopMapGroup, offset, 0, 0);

	//g_iCreateWorkshopMapGroupId = SH_ADD_MANUALVPHOOK(CreateWorkshopMapGroup, g_pGameTypes, SH_MEMBER(this, &CS2Fixes::Hook_CreateWorkshopMapGroup), false);

	/*const auto pCGamePlayerEquipVTable = modules::server->FindVirtualTable("CGamePlayerEquip");
....
	g_iPhysicsTouchShuffle = SH_ADD_MANUALDVPHOOK(PhysicsTouchShuffle, pCVPhys2WorldVTable, SH_MEMBER(this, &CS2Fixes::Hook_PhysicsTouchShuffle), true);*/

		snprintf(error, maxlen, "One or more address lookups, patches or detours failed, please refer to startup logs for more information");
		//return false; --> ca sa nu crape srv-ul daca lipseste vreo semnatura

	/*auto pCCSGameRulesVTable = modules::server->FindVirtualTable("CCSGameRules");
....
	g_iGoToIntermissionId = SH_ADD_MANUALDVPHOOK(GoToIntermission, pCCSGameRulesVTable, SH_MEMBER(this, &CS2Fixes::Hook_GoToIntermission), false);*/

	//g_pIdleSystem = new CIdleSystem();

	// Check for the expiration of infractions like mutes or gags
	/*new CTimer(30.0f, true, true, []() {
		g_playerManager->CheckInfractions();
		return 30.0f;
	});

	// Check for idle players and kick them if permitted by cs2f_idle_kick_* 'convars'
	new CTimer(5.0f, true, true, []() {
		g_pIdleSystem->CheckForIdleClients();
		return 5.0f;
	});*/

	/*SH_REMOVE_HOOK_ID(g_iCreateWorkshopMapGroupId);
	SH_REMOVE_HOOK_ID(g_iOnTakeDamageAliveId);
	SH_REMOVE_HOOK_ID(g_iCheckMovingGroundId);
	SH_REMOVE_HOOK_ID(g_iPhysicsTouchShuffle);

	if (g_iGoToIntermissionId != -1)
		SH_REMOVE_HOOK_ID(g_iGoToIntermissionId);*/

	//if (g_pIdleSystem)
		//delete g_pIdleSystem;

	//if (g_iCGamePlayerEquipUseId != -1)
		//SH_REMOVE_HOOK_ID(g_iCGamePlayerEquipUseId);

	//g_pIdleSystem->Reset();

/*
class CGamePlayerEquip;
void CS2Fixes::Hook_CGamePlayerEquipUse(InputData_t* pInput)
{
	//CGamePlayerEquipHandler::Use(META_IFACEPTR(CGamePlayerEquip), pInput);
	RETURN_META(MRES_IGNORED);
}
*/

	/*if (g_fIdleKickTime > 0.0f)
	{
		ZEPlayer* pPlayer = g_playerManager->GetPlayer(slot);

		if (pPlayer)
			pPlayer->UpdateLastInputTime();
	}*/

//extern bool g_bFlashLightTransmitOthers;

/*
void CS2Fixes::Hook_CreateWorkshopMapGroup(const char* name, const CUtlStringList& mapList)
...
	aPlayerTicks[iSlot] = gpGlobals->tickcount;

	RETURN_META(MRES_IGNORED);
}
*/

gamesystem.h
	//GS_EVENT(BuildGameSessionManifest);

/*class IEntityResourceManifest
{
...
};*/

patches.cpp
		//CMemPatch("ServerMovementUnlock", "ServerMovementUnlock"),

		//CMemPatch("ClientMovementUnlock", "ClientMovementUnlock"),

/*
bool g_bEnableMovementUnlocker = true;
....
			g_CommonPatches[0].UndoPatch(); -->e ServerMovementUnlock i=0
	}
}
*/


gamesystem.cpp
//#include "idlemanager.h"

/*
GS_EVENT_MEMBER(CGameSystem, BuildGameSessionManifest)
....
}*/

	//g_pIdleSystem->UpdateIdleTimes();

cbaseplayerpawn.h
//extern bool g_bDropMapWeapons;

		//if (g_bDropMapWeapons) -->fortez la suicide sa faca drop la arme

events.cpp
//#include "commands.h" --> nu mai folosesc aici clientprint dar trebuie adaugat 
#include "entity/ccsplayercontroller.h"

//bool g_bPurgeEntityNames = false;
//FAKE_BOOL_CVAR(cs2f_purge_entity_strings, "Whether to purge the EntityNames stringtable on new rounds", g_bPurgeEntityNames, false, false);

//extern void FullUpdateAllClients();

	/*if (g_bPurgeEntityNames)
	{
...
		//ZR_OnRoundPrestart(pEvent);*/

//static bool g_bEnableTopDefender = false;
//FAKE_BOOL_CVAR(cs2f_topdefender_enable, "Whether to use TopDefender", g_bEnableTopDefender, false, false)

scot eventurile nefolosite, suntdeclarate callback-uri aiurea?
/*
GAME_EVENT_F(round_freeze_end)
...
	//g_pPanoramaVoteHandler->VoteCast(pEvent);
}*/

adminsystem.cpp
//#include "entity/cparticlesystem.h"

/*if (flDamage > 0)
		{
...
			pPawn->TakeDamage(info);
		}*/

commands.h
//#define FLAG_LEADER (ADMFLAG_GENERIC | 1 << 31)

//extern bool g_bEnableHide;
//extern bool g_bEnableStopSound;
//extern bool g_bEnableNoShake;
//extern float g_flMaxShakeAmp;

/*
struct WeaponMapEntry_t
...
void RegisterWeaponCommands();*/

commands.cpp
//extern ISteamHTTP* g_http;

/*WeaponMapEntry_t WeaponMap[] = {
.....
...
	return totalGrenades;
}
*/

//void RegisterWeaponCommands()
//{
...
//}

//bool g_bEnableStopSound = false;
//FAKE_BOOL_CVAR(cs2f_stopsound_enable, "Whether to enable stopsound", g_bEnableStopSound, false, false)

/*bool g_bEnableNoShake = false;
FAKE_BOOL_CVAR(cs2f_noshake_enable, "Whether to enable noshake command", g_bEnableNoShake, false, false)
float g_flMaxShakeAmp = -1.0;
FAKE_FLOAT_CVAR(cs2f_maximum_shake_amplitude, "Shaking Amplitude bigger than this will be clamped", g_flMaxShakeAmp, -1.0, false)*/

/*bool g_bEnableHide = false;
...
FAKE_INT_CVAR(cs2f_hide_distance_max, "The max distance for hide", g_iMaxHideDistance, 2000, false)*/

detours.h
//#include "cs2_sdk/entityio.h"
//bool SetupFireOutputInternalDetour();
//extern std::map<std::string, std::function<void(const CEntityIOOutput*, CEntityInstance*, CEntityInstance*, const CVariant*, float)>> mapIOFunctions;

//void FASTCALL Detour_UTIL_SayTextFilter(IRecipientFilter&, const char*, CCSPlayerController*, uint64);
//void FASTCALL Detour_UTIL_SayText2Filter(IRecipientFilter&, CCSPlayerController*, uint64, const char*, const char*, const char*, const char*, const char*);

//void FASTCALL Detour_TriggerPush_Touch(CTriggerPush* pPush, CBaseEntity* pOther);
//void FASTCALL Detour_CBaseEntity_TakeDamageOld(CBaseEntity* pThis, CTakeDamageInfo* inputInfo);
//bool FASTCALL Detour_CCSPlayer_WeaponServices_CanUse(CCSPlayer_WeaponServices*, CBasePlayerWeapon*);

//void FASTCALL Detour_CGamePlayerEquip_InputTriggerForAllPlayers(CGamePlayerEquip*, InputData_t*);
//void FASTCALL Detour_CGamePlayerEquip_InputTriggerForActivatedPlayer(CGamePlayerEquip*, InputData_t*);

//bool FASTCALL Detour_TraceFunc(int64*, int*, float*, uint64);
//bool FASTCALL Detour_TraceShape(int64*, int64, int64, int64, CTraceFilter*, int64);
//void FASTCALL Detour_CEntityIOOutput_FireOutputInternal(const CEntityIOOutput* pThis, CEntityInstance* pActivator, CEntityInstance* pCaller, const CVariant* value, float flDelay);

//int64 FASTCALL Detour_FindUseEntity(CCSPlayer_UseServices* pThis, float);

detours.cpp
//#include "customio.h"
//#include "entity/ccsweaponbase.h"
//#include "entity/cenvhudhint.h"
//#include "entity/cpointviewcontrol.h"
//#include "entity/ctakedamageinfo.h"
//#include "entity/ctriggerpush.h"

//DECLARE_DETOUR(UTIL_SayTextFilter, Detour_UTIL_SayTextFilter);
//DECLARE_DETOUR(UTIL_SayText2Filter, Detour_UTIL_SayText2Filter);

/*DECLARE_DETOUR(TriggerPush_Touch, Detour_TriggerPush_Touch);
DECLARE_DETOUR(CBaseEntity_TakeDamageOld, Detour_CBaseEntity_TakeDamageOld);
DECLARE_DETOUR(CCSPlayer_WeaponServices_CanUse, Detour_CCSPlayer_WeaponServices_CanUse);*/

//DECLARE_DETOUR(FindUseEntity, Detour_FindUseEntity);
//DECLARE_DETOUR(TraceFunc, Detour_TraceFunc);
//DECLARE_DETOUR(TraceShape, Detour_TraceShape);

/*static bool g_bBlockMolotovSelfDmg = false;
....
	CBaseEntity_TakeDamageOld(pThis, inputInfo);
}*/

/*static bool g_bLogPushes = false;
....
	pOther->m_fFlags(flags);
}*/

/*void SayChatMessageWithTimer(IRecipientFilter& filter, const char* pText, CCSPlayerController* pPlayer, uint64 eMessageType)
{
....
...
	return CCSPlayer_WeaponServices_CanUse(pWeaponServices, pPlayerWeapon);
}*/

	/*else if (!V_strcasecmp(pInputName->String(), "SetMessage"))
	{
		if (const auto pHudHint = reinterpret_cast<CBaseEntity*>(pThis->m_pInstance)->AsHudHint())
		{
			if ((value->m_type == FIELD_CSTRING || value->m_type == FIELD_STRING) && value->m_pszString)
				pHudHint->m_iszMessage(GameEntitySystem()->AllocPooledString(value->m_pszString));
			return true;
		}
	}*/

/*bool g_bPreventUsingPlayers = false;
...
...
	CEntityIOOutput_FireOutputInternal->EnableDetour();
	return true;
}*/

cbaseentity.h
//#include "ctakedamageinfo.h"

	//SCHEMA_FIELD(bool, m_bTakesDamage)
	//SCHEMA_FIELD(TakeDamageFlags_t, m_nTakeDamageFlags)

	/*void TakeDamage(CTakeDamageInfo& info)
	{
		Detour_CBaseEntity_TakeDamageOld(this, &info);
	}*/

/*void EmitSound(const char* pszSound, int nPitch = 100, float flVolume = 1.0, float flDelay = 0.0)
	{
....
		addresses::CBaseEntity_SetParent(this, pNewParent, MakeStringToken(""), nullptr);
	}*/

	/*[[nodiscard]] CEnvHudHint* AsHudHint()
	{
		if (V_strcasecmp(GetClassname(), "env_hudhint") == 0)
			return reinterpret_cast<CEnvHudHint*>(this);

		return nullptr;
	}

	[[nodiscard]] CPointViewControl* AsPointViewControl()
	{
		if (V_strcasecmp(GetClassname(), "logic_relay") != 0)
			return nullptr;

		const auto tag = m_iszPrivateVScripts.IsValid() ? m_iszPrivateVScripts.String() : nullptr;

		if (tag && V_strcasecmp(tag, "point_viewcontrol") == 0)
			return reinterpret_cast<CPointViewControl*>(this);

		return nullptr;
	}*/

6.
de scos semnaturile ce nu sunt de folos
addresses.h
//class CBaseModelEntity;
/*class IEntityFindFilter;
...
struct SndOpEventGuid_t;*/

	//inline void(FASTCALL* SetGroundEntity)(CBaseEntity* ent, CBaseEntity* ground, CBaseEntity* unk3);

	//inline void(FASTCALL* CBasePlayerController_SetPawn)(CBasePlayerController* pController, CCSPlayerPawn* pPawn, bool a3, bool a4, bool a5);
	//inline void(FASTCALL* CBaseModelEntity_SetModel)(CBaseModelEntity* pModel, const char* szModel);

	/*inline void(FASTCALL* CEntitySystem_AddEntityIOEvent)(CEntitySystem* pEntitySystem, CEntityInstance* pTarget, const char* pszInput,
														  CEntityInstance* pActivator, CEntityInstance* pCaller, variant_t* value, float flDelay, int outputID);*/

	/*inline CBaseEntity*(FASTCALL* CGameEntitySystem_FindEntityByClassName)(CEntitySystem* pEntitySystem, CEntityInstance* pStartEntity, const char* szName);
....
	inline void(FASTCALL* DispatchSpawn)(CBaseEntity* pEntity, CEntityKeyValues* pEntityKeyValues);*/

	/*inline void(FASTCALL* CBaseEntity_EmitSoundParams)(CBaseEntity* pEntity, const char* pszSound, int nPitch, float flVolume, float flDelay);
....
	inline SndOpEventGuid_t(FASTCALL* CBaseEntity_EmitSoundFilter)(IRecipientFilter& filter, CEntityIndex ent, const EmitSound_t& params);*/

	/*inline void(FASTCALL* CTakeDamageInfo_Constructor)(CTakeDamageInfo* pThis, CBaseEntity* pInflictor, CBaseEntity* pAttacker, CBaseEntity* pAbility,
													   const Vector* vecDamageForce, const Vector* vecDamagePosition, float flDamage, int bitsDamageType, int iCustomDamage, void* a10);
	inline void(FASTCALL* CNetworkStringTable_DeleteAllStrings)(INetworkStringTable* pThis);*/

addresses.cpp
	//RESOLVE_SIG(g_GameConfig, "SetGroundEntity", addresses::SetGroundEntity);

	//RESOLVE_SIG(g_GameConfig, "CBasePlayerController_SetPawn", addresses::CBasePlayerController_SetPawn);
	//RESOLVE_SIG(g_GameConfig, "CBaseModelEntity_SetModel", addresses::CBaseModelEntity_SetModel);

	//RESOLVE_SIG(g_GameConfig, "CEntitySystem_AddEntityIOEvent", addresses::CEntitySystem_AddEntityIOEvent);

	/*RESOLVE_SIG(g_GameConfig, "CGameEntitySystem_FindEntityByClassName", addresses::CGameEntitySystem_FindEntityByClassName);
....
	RESOLVE_SIG(g_GameConfig, "DispatchSpawn", addresses::DispatchSpawn);*/

	/*RESOLVE_SIG(g_GameConfig, "CBaseEntity_EmitSoundParams", addresses::CBaseEntity_EmitSoundParams);
....
	RESOLVE_SIG(g_GameConfig, "CBaseEntity_EmitSoundFilter", addresses::CBaseEntity_EmitSoundFilter);*/

	//RESOLVE_SIG(g_GameConfig, "CTakeDamageInfo", addresses::CTakeDamageInfo_Constructor);
	//RESOLVE_SIG(g_GameConfig, "CNetworkStringTable_DeleteAllStrings", addresses::CNetworkStringTable_DeleteAllStrings);

utils/entity.h
//#include "../addresses.h"

//class IEntityFindFilter;

/*CBaseEntity* UTIL_FindEntityByClassname(CEntityInstance* pStart, const char* name);
....
						   variant_t value = variant_t(""), float flDelay = 0.0f);*/

utils/entity.cpp
//#include "../addresses.h"
//#include "entitysystem.h"

/*CBaseEntity* UTIL_FindEntityByClassname(CEntityInstance* pStartEntity, const char* szName)
...
	addresses::CEntitySystem_AddEntityIOEvent(g_pEntitySystem, pTarget, pszInput, pActivator, pCaller, &value, flDelay, 0);
}*/

cs2_sdk/entity/cgamerules.h
//enum CSRoundEndReason
//{
//	TargetBombed = 1,	  /**< Target Successfully Bombed! */
//	VIPEscaped,			  /**< The VIP has escaped! - Doesn't exist on CS:GO */
//	VIPKilled,			  /**< VIP has been assassinated! - Doesn't exist on CS:GO */
//	TerroristsEscaped,	  /**< The terrorists have escaped! */
//	CTStoppedEscape,	  /**< The CTs have prevented most of the terrorists from escaping! */
//	TerroristsStopped,	  /**< Escaping terrorists have all been neutralized! */
//	BombDefused,		  /**< The bomb has been defused! */
//	CTWin,				  /**< Counter-Terrorists Win! */
//	TerroristWin,		  /**< Terrorists Win! */
//	Draw,				  /**< Round Draw! */
//	HostagesRescued,	  /**< All Hostages have been rescued! */
//	TargetSaved,		  /**< Target has been saved! */
//	HostagesNotRescued,	  /**< Hostages have not been rescued! */
//	TerroristsNotEscaped, /**< Terrorists have not escaped! */
//	VIPNotEscaped,		  /**< VIP has not escaped! - Doesn't exist on CS:GO */
//	GameStart,			  /**< Game Commencing! */
//	TerroristsSurrender,  /**< Terrorists Surrender */
//	CTSurrender,		  /**< CTs Surrender */
//	TerroristsPlanted,	  /**< Terrorists Planted the bomb */
//	CTsReachedHostage,	  /**< CTs Reached the hostage */
//	SurvivalWin,
//	SurvivalDraw
//};

	/*void TerminateRound(float flDelay, CSRoundEndReason reason)
	{
		addresses::CGameRules_TerminateRound(this, flDelay, reason, 0, 0);
	}*/

cs2_sdk/entity/cbaseentity.h

//class CEnvHudHint;
//class CPointViewControl;

	/*void DispatchSpawn(CEntityKeyValues* pEntityKeyValues = nullptr)
	{
		addresses::DispatchSpawn(this, pEntityKeyValues);
	}*/

	/*void SetGroundEntity(CBaseEntity* pGround)
	{
		addresses::SetGroundEntity(this, pGround, nullptr);
	}*/

cs2_sdk/entity/cbasemodelentity.h
	/*void SetModel(const char* szModel)
	{
		addresses::CBaseModelEntity_SetModel(this, szModel);
	}*/

cs2_sdk/entity/cbaseplayercontroller.h
	/*void SetPawn(CCSPlayerPawn* pawn)
	{
		addresses::CBasePlayerController_SetPawn(this, pawn, true, false, false);
	}*/

cs2_sdk/entity/ccsplayercontroller.h
	/*void Respawn()
	{
		CCSPlayerPawn* pPawn = GetPlayerPawn();
		if (!pPawn || pPawn->IsAlive())
			return;

		SetPawn(pPawn);
		static int offset = g_GameConfig->GetOffset("CCSPlayerController_Respawn");
		CALL_VIRTUAL(void, offset, this);
	}*/

detours.cpp
	/*else if (!V_strcasecmp(pInputName->String(), "SetModel"))
	{
		if (const auto pModelEntity = reinterpret_cast<CBaseEntity*>(pThis->m_pInstance)->AsBaseModelEntity())
		{
			if ((value->m_type == FIELD_CSTRING || value->m_type == FIELD_STRING) && value->m_pszString)
				pModelEntity->SetModel(value->m_pszString);
			return true;
		}
	}*/

adminsystem.cpp
/*CON_COMMAND_CHAT_FLAGS(endround, "- Immediately ends the round, client-side variant of endround", ADMFLAG_RCON)
{
	g_pGameRules->TerminateRound(0.0f, CSRoundEndReason::Draw);
}*/
