rendered paste body// MAIN.Hclass AdminInterfaceListner {public: virtual void OnAdminInterfaceUnload() = 0; virtual void Client_Authorized(int id) = 0;};class AdminInterface {public: virtual bool RegisterFlag(const char *Class, const char *Flag, const char *Description) = 0; virtual bool IsClient(int id) = 0; virtual bool HasFlag(int id, const char *Flag) = 0; virtual int GetInterfaceVersion() = 0; virtual const char* GetModName() = 0; virtual void AddEventListner(AdminInterfaceListner *ptr) = 0; virtual void RemoveListner(AdminInterfaceListner *ptr) = 0;};class CESP : public ISmmPlugin, public IMetamodListener, public AdminInterfaceListner { ...public: void OnAdminInterfaceUnload() { m_AdminManager = NULL; }; void Client_Authorized(int id) { }; ...public: AdminInterface *m_AdminManager;};// MAIN.CPPvoid CESP::AllPluginsLoaded() { if(m_AdminManager) return; void *addr = g_SMAPI->MetaFactory("AdminInterface", NULL, NULL); if(addr) { m_AdminManager = (AdminInterface *)addr; m_AdminManager->AddEventListner(this); }}// PLAYER.CPPvoid CPlayer::Active(edict_t *pEntity) { ... // HERE IT CRASHES WITHOUT BAT (I DON'T KNOW IF IT CRASHES WITH BAT TOO) // BUT IT CRASHES NOT FOR ALL PEOPLE if(!this->m_bIsAdmin && !this->m_bIsBot && g_ESP.m_AdminManager) { const int index = g_ESP.m_Engine->IndexOfEdict(pEntity); if(g_ESP.m_AdminManager->HasFlag(index, "kick")) { this->m_bIsAdmin = true; } }}