void SM_ConfigsExecuted_Plugin(unsigned int serial) { IPluginIterator *iter = g_PluginSys.GetPluginIterator(); while (iter->MorePlugins()) { CPlugin *plugin = (CPlugin *)(iter->GetPlugin()); if (plugin->GetSerial() == serial) { SM_DoSingleExecFwds(plugin->GetBaseContext()); break; } iter->NextPlugin(); } iter->Release(); }
void SM_ExecuteForPlugin(IPluginContext *ctx) { CPlugin *plugin = (CPlugin *)g_PluginSys.GetPluginByCtx(ctx->GetContext()); unsigned int num = plugin->GetConfigCount(); if (!num) { SM_DoSingleExecFwds(ctx); } else { bool can_create = true; for (unsigned int i=0; i<num; i++) { can_create = SM_ExecuteConfig(plugin, plugin->GetConfig(i), can_create); } char cmd[255]; UTIL_Format(cmd, sizeof(cmd), "sm internal 2 %d\n", plugin->GetSerial()); engine->ServerCommand(cmd); } }