Implemented optional support for the ConfigList plugin. It will execute the "zr_post_exec" list right before post map configs if it exists. Example usage in randommode.cfg and swarm.cfg.
This commit is contained in:
parent
b5291329c9
commit
6de9b9de13
5
cstrike/cfg/sourcemod/zombiereloaded/classic.cfg
Normal file
5
cstrike/cfg/sourcemod/zombiereloaded/classic.cfg
Normal file
@ -0,0 +1,5 @@
|
||||
// Dummy config that's not doing anything so classic settings will be kept. It's
|
||||
// still possible to add stuff here for configuring classic mode if something
|
||||
// differ from the default configuration.
|
||||
|
||||
// Used by randommode.cfg.
|
@ -1,4 +1,4 @@
|
||||
// Place this in cfg/sourcemod/zombiereloaded to use it.
|
||||
|
||||
// Use survivor mode in cs_italy.
|
||||
exec sourcemod/zombiereloaded/survivor.cfg
|
||||
// Enable a random mode in cs_italy.
|
||||
exec sourcemod/zombiereloaded/randommode.cfg
|
||||
|
7
cstrike/cfg/sourcemod/zombiereloaded/randommode.cfg
Normal file
7
cstrike/cfg/sourcemod/zombiereloaded/randommode.cfg
Normal file
@ -0,0 +1,7 @@
|
||||
cfglist_create zr_modes
|
||||
cfglist_add zr_modes sourcemod/zombiereloaded/classic.cfg
|
||||
cfglist_add zr_modes sourcemod/zombiereloaded/nemesis.cfg
|
||||
cfglist_add zr_modes sourcemod/zombiereloaded/survivor.cfg
|
||||
cfglist_add zr_modes sourcemod/zombiereloaded/swarm.cfg
|
||||
cfglist_exec_random zr_modes
|
||||
cfglist_delete zr_modes
|
@ -23,3 +23,9 @@ zr_infect_mzombie_respawn 1
|
||||
// Disable respawning.
|
||||
zr_respawn 0
|
||||
zr_zspawn 0
|
||||
|
||||
// Use the ConfigList plugin to post execute swarm.post.cfg. ZR will detect this
|
||||
// plugin and execute the "zr_post_exec" list if it exists.
|
||||
cfglist_delete zr_post_exec
|
||||
cfglist_create zr_post_exec
|
||||
cfglist_add zr_post_exec sourcemod/zombiereloaded/swarm.post.cfg
|
||||
|
@ -174,6 +174,24 @@ public OnAllPluginsLoaded()
|
||||
{
|
||||
// Forward event to modules.
|
||||
WeaponsOnAllPluginsLoaded();
|
||||
ConfigOnAllPluginsLoaded();
|
||||
}
|
||||
|
||||
/**
|
||||
* A library was added.
|
||||
*/
|
||||
public OnLibraryAdded(const String:name[])
|
||||
{
|
||||
// Forward event to modules.
|
||||
ConfigOnLibraryAdded(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* A library was removed.
|
||||
*/
|
||||
public OnLibraryRemoved(const String:name[])
|
||||
{
|
||||
ConfigOnLibraryRemoved(name);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -170,6 +170,11 @@ enum ConfigData
|
||||
*/
|
||||
new g_ConfigData[ConfigFile][ConfigData];
|
||||
|
||||
/**
|
||||
* Stores status of the optional ConfigList plugin.
|
||||
*/
|
||||
new bool:g_ConfigListAvailable = false;
|
||||
|
||||
/**
|
||||
* Actions to use when working on key/values.
|
||||
*/
|
||||
@ -250,6 +255,14 @@ ConfigOnModulesLoaded()
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if ConfigList is available.
|
||||
if (g_ConfigListAvailable)
|
||||
{
|
||||
// Execute the zr_post_exec list before the map config file. This list
|
||||
// may not exist, but that's ok.
|
||||
ServerCommand("cfglist_exec_list zr_post_exec");
|
||||
}
|
||||
|
||||
// Execute config file.
|
||||
ServerCommand("exec %s", mapconfig);
|
||||
|
||||
@ -257,6 +270,38 @@ ConfigOnModulesLoaded()
|
||||
LogEvent(false, LogType_Normal, LOG_CORE_EVENTS, LogModule_Config, "Post Map Configs", "Executed post map config file: %s", path);
|
||||
}
|
||||
|
||||
/**
|
||||
* All plugins have finished loading.
|
||||
*/
|
||||
ConfigOnAllPluginsLoaded()
|
||||
{
|
||||
g_ConfigListAvailable = LibraryExists("configlist");
|
||||
}
|
||||
|
||||
/**
|
||||
* A library was added.
|
||||
*/
|
||||
ConfigOnLibraryAdded(const String:name[])
|
||||
{
|
||||
if (StrEqual(name, "configlist"))
|
||||
{
|
||||
// ConfigList loaded.
|
||||
g_ConfigListAvailable = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A library was removed.
|
||||
*/
|
||||
ConfigOnLibraryRemoved(const String:name[])
|
||||
{
|
||||
if (StrEqual(name, "configlist"))
|
||||
{
|
||||
// ConfigList was unloaded.
|
||||
g_ConfigListAvailable = false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Used by modules that rely on configs to register their config file info.
|
||||
* (Don't forget to set 'loaded' to 'true' (ConfigSetConfigLoaded) in config load function)
|
||||
|
Loading…
Reference in New Issue
Block a user