void SM_ExecuteAllConfigs() { if (g_bGotServerStart) { return; } engine->ServerCommand("exec sourcemod/sourcemod.cfg\n"); IPluginIterator *iter = g_PluginSys.GetPluginIterator(); while (iter->MorePlugins()) { CPlugin *plugin = (CPlugin *)(iter->GetPlugin()); unsigned int num = plugin->GetConfigCount(); bool can_create = true; for (unsigned int i=0; i<num; i++) { can_create = SM_ExecuteConfig(plugin, plugin->GetConfig(i), can_create); } iter->NextPlugin(); } iter->Release(); g_bGotServerStart = true; CheckAndFinalizeConfigs(); }
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); } }