diff --git a/amxmodx/CPlugin.cpp b/amxmodx/CPlugin.cpp index 375b3125..ca64bc57 100755 --- a/amxmodx/CPlugin.cpp +++ b/amxmodx/CPlugin.cpp @@ -449,15 +449,19 @@ void CPluginMngr::CPlugin::AddConfig(bool create, const char *name, const char * // Do a check for duplicates to prevent double-execution for (size_t i = 0; i < m_configs.length(); ++i) { - auto config = m_configs[i]; + AutoConfig *config = m_configs[i]; - if (config->autocfg.compare(name) == 0 && config->folder.compare(folder) == 0 && config->create == create) + if (config->autocfg.compare(name) == 0 && config->folder.compare(folder) == 0) { + if (!config->create) + { + config->create = create; + } return; } } - AutoConfig *c = new AutoConfig; + auto c = new AutoConfig; c->autocfg = name; c->folder = folder; diff --git a/amxmodx/CPlugin.h b/amxmodx/CPlugin.h index 8fe8e75a..9336acb3 100755 --- a/amxmodx/CPlugin.h +++ b/amxmodx/CPlugin.h @@ -71,7 +71,7 @@ public: bool m_Debug; cell* m_pNullStringOfs; cell* m_pNullVectorOfs; - ke::Vector m_configs; + ke::Vector> m_configs; public: inline const char* getName() { return name.chars();} inline const char* getVersion() { return version.chars();} diff --git a/amxmodx/CoreConfig.cpp b/amxmodx/CoreConfig.cpp index e424f8f9..564e6b83 100644 --- a/amxmodx/CoreConfig.cpp +++ b/amxmodx/CoreConfig.cpp @@ -15,7 +15,7 @@ CoreConfig CoreCfg; const char *MainConfigFile = "amxx.cfg"; -const char *AutoConfigDir = "/plugin"; +const char *AutoConfigDir = "/plugins"; const char *MapConfigDir = "/maps"; const char *CommandFormat = "exec %s\n"; @@ -163,7 +163,16 @@ bool CoreConfig::ExecuteAutoConfig(CPluginMngr::CPlugin *plugin, AutoConfig *con if (fp) { fprintf(fp, "// This file was auto-generated by AMX Mod X (v%s)\n", AMXX_VERSION); - fprintf(fp, "// Cvars for plugin \"%s\"\n", plugin->getName()); + + if (*plugin->getTitle() && *plugin->getAuthor() && *plugin->getVersion()) + { + fprintf(fp, "// Cvars for plugin \"%s\" by \"%s\" (%s, v%s)\n", plugin->getTitle(), plugin->getAuthor(), plugin->getName(), plugin->getVersion()); + } + else + { + fprintf(fp, "// Cvars for plugin \"%s\"\n", plugin->getName()); + } + fprintf(fp, "\n\n"); for (auto iter = list->begin(); iter != list->end(); iter++) diff --git a/plugins/include/amxmodx.inc b/plugins/include/amxmodx.inc index c58234fe..c1e94aa0 100755 --- a/plugins/include/amxmodx.inc +++ b/plugins/include/amxmodx.inc @@ -3226,7 +3226,7 @@ forward OnAutoConfigsBuffered(); * information from the plugin's registered cvars. * @param name Name of the config file, excluding the .cfg extension. * If empty, is assumed. - * @param folder Folder under plugin/ to use. + * @param folder Folder under plugins/ to use. * * @noreturn */