MapAdmin: Split configs per map, instead of one big one.
I'm more of a basic kind of guy. This is easier to manage.
This commit is contained in:
parent
d9cc25bb19
commit
485542f317
@ -5,7 +5,6 @@
|
||||
#include <sdktools>
|
||||
|
||||
KeyValues g_Config;
|
||||
bool g_Enabled = false;
|
||||
|
||||
public Plugin myinfo =
|
||||
{
|
||||
@ -20,16 +19,30 @@ public void OnPluginStart()
|
||||
{
|
||||
LoadTranslations("common.phrases");
|
||||
|
||||
RegAdminCmd("sm_adminroom", Command_AdminRoom, ADMFLAG_GENERIC, "sm_adminroom [#userid|name]");
|
||||
RegAdminCmd("sm_stage", Command_Stage, ADMFLAG_GENERIC, "sm_stage <stage>");
|
||||
}
|
||||
|
||||
public void OnMapStart()
|
||||
{
|
||||
if(g_Config)
|
||||
delete g_Config;
|
||||
|
||||
char sMapName[PLATFORM_MAX_PATH];
|
||||
GetCurrentMap(sMapName, sizeof(sMapName));
|
||||
|
||||
char sConfigFile[PLATFORM_MAX_PATH];
|
||||
BuildPath(Path_SM, sConfigFile, sizeof(sConfigFile), "configs/MapAdmin.cfg");
|
||||
BuildPath(Path_SM, sConfigFile, sizeof(sConfigFile), "configs/mapadmin/%s.cfg", sMapName);
|
||||
|
||||
if(!FileExists(sConfigFile))
|
||||
{
|
||||
SetFailState("Could not find config: \"%s\"", sConfigFile);
|
||||
LogMessage("Could not find mapconfig: \"%s\"", sConfigFile);
|
||||
return;
|
||||
}
|
||||
|
||||
g_Config = new KeyValues("maps");
|
||||
LogMessage("Found mapconfig: \"%s\"", sConfigFile);
|
||||
|
||||
g_Config = new KeyValues("mapadmin");
|
||||
if(!g_Config.ImportFromFile(sConfigFile))
|
||||
{
|
||||
delete g_Config;
|
||||
@ -37,26 +50,11 @@ public void OnPluginStart()
|
||||
return;
|
||||
}
|
||||
g_Config.Rewind();
|
||||
|
||||
RegAdminCmd("sm_adminroom", Command_AdminRoom, ADMFLAG_GENERIC, "sm_adminroom [#userid|name]");
|
||||
RegAdminCmd("sm_stage", Command_Stage, ADMFLAG_GENERIC, "sm_stage <stage>");
|
||||
}
|
||||
|
||||
public void OnMapStart()
|
||||
{
|
||||
g_Enabled = false;
|
||||
g_Config.Rewind();
|
||||
|
||||
char sMapName[PLATFORM_MAX_PATH];
|
||||
GetCurrentMap(sMapName, sizeof(sMapName));
|
||||
|
||||
if(g_Config.JumpToKey(sMapName, false))
|
||||
g_Enabled = true;
|
||||
}
|
||||
|
||||
public Action Command_AdminRoom(int client, int argc)
|
||||
{
|
||||
if(!g_Enabled)
|
||||
if(!g_Config)
|
||||
{
|
||||
ReplyToCommand(client, "[SM] The current map is not supported.");
|
||||
return Plugin_Handled;
|
||||
@ -118,7 +116,7 @@ public Action Command_AdminRoom(int client, int argc)
|
||||
|
||||
public Action Command_Stage(int client, int argc)
|
||||
{
|
||||
if(!g_Enabled)
|
||||
if(!g_Config)
|
||||
{
|
||||
ReplyToCommand(client, "[SM] The current map is not supported.");
|
||||
return Plugin_Handled;
|
||||
|
Loading…
Reference in New Issue
Block a user