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.
|
// Place this in cfg/sourcemod/zombiereloaded to use it.
|
||||||
|
|
||||||
// Use survivor mode in cs_italy.
|
// Enable a random mode in cs_italy.
|
||||||
exec sourcemod/zombiereloaded/survivor.cfg
|
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.
|
// Disable respawning.
|
||||||
zr_respawn 0
|
zr_respawn 0
|
||||||
zr_zspawn 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.
|
// Forward event to modules.
|
||||||
WeaponsOnAllPluginsLoaded();
|
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];
|
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.
|
* Actions to use when working on key/values.
|
||||||
*/
|
*/
|
||||||
|
@ -250,6 +255,14 @@ ConfigOnModulesLoaded()
|
||||||
return;
|
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.
|
// Execute config file.
|
||||||
ServerCommand("exec %s", mapconfig);
|
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);
|
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.
|
* 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)
|
* (Don't forget to set 'loaded' to 'true' (ConfigSetConfigLoaded) in config load function)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user