diff --git a/scripting/config_loader.sp b/scripting/config_loader.sp index 3e81f62..ac8b3ee 100644 --- a/scripting/config_loader.sp +++ b/scripting/config_loader.sp @@ -1,70 +1,70 @@ -#include -#include -#include -// ^ tf2_stocks.inc itself includes sdktools.inc and tf2.inc - -#pragma semicolon 1 -#pragma newdecls required - -#define PLUGIN_VERSION "0.1" - -public Plugin myinfo = -{ - name = "Config Reminder", - author = "Rhizome", - description = "Hassles users until they exec", - version = PLUGIN_VERSION, - url = "https://rhizome.tf" -}; - -public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max) -{ - // No need for the old GetGameFolderName setup. - EngineVersion g_engineversion = GetEngineVersion(); - if (g_engineversion != Engine_TF2) - { - SetFailState("This plugin was made for use with Team Fortress 2 only."); - } -} - -public void OnPluginStart() -{ - /** - * @note For the love of god, please stop using FCVAR_PLUGIN. - * Console.inc even explains this above the entry for the FCVAR_PLUGIN define. - * "No logic using this flag ever existed in a released game. It only ever appeared in the first hl2sdk." - */ - CreateConVar("sm_pluginnamehere_version", PLUGIN_VERSION, "Standard plugin version ConVar. Please don't change me!", FCVAR_REPLICATED|FCVAR_NOTIFY|FCVAR_DONTRECORD); -} - -public void OnMapStart() -{ - /** - * @note Precache your models, sounds, etc. here! - * Not in OnConfigsExecuted! Doing so leads to issues. - */ - CreateTimer(15.0, PostReminder, 0, TIMER_REPEAT); - HookEvent("teamplay_restart_round", BlockStart, EventHookMode_Pre); - - char config_name[64]; - LoadConfig(config_name, sizeof(config_name)); -} - -Action PostReminder(Handle timer, any data) -{ - CPrintToChatAll("{red}No config is applied! Ensure config is applied before starting."); - return Plugin_Handled; -} - -Action BlockStart(Event event, const char[] name, bool dontBroadcast) -{ - ServerCommand("mp_tournament_restart"); - CPrintToChatAll("{red}Bad rollout! {default}(Did you forget to exec?)"); - return Plugin_Handled; -} - -bool LoadConfig(char[] config_name, int maxlength) -{ +#include +#include +#include +// ^ tf2_stocks.inc itself includes sdktools.inc and tf2.inc + +#pragma semicolon 1 +#pragma newdecls required + +#define PLUGIN_VERSION "0.1" + +public Plugin myinfo = +{ + name = "Config Reminder", + author = "Rhizome", + description = "Hassles users until they exec", + version = PLUGIN_VERSION, + url = "https://rhizome.tf" +}; + +public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max) +{ + // No need for the old GetGameFolderName setup. + EngineVersion g_engineversion = GetEngineVersion(); + if (g_engineversion != Engine_TF2) + { + SetFailState("This plugin was made for use with Team Fortress 2 only."); + } +} + +public void OnPluginStart() +{ + /** + * @note For the love of god, please stop using FCVAR_PLUGIN. + * Console.inc even explains this above the entry for the FCVAR_PLUGIN define. + * "No logic using this flag ever existed in a released game. It only ever appeared in the first hl2sdk." + */ + CreateConVar("sm_pluginnamehere_version", PLUGIN_VERSION, "Standard plugin version ConVar. Please don't change me!", FCVAR_REPLICATED|FCVAR_NOTIFY|FCVAR_DONTRECORD); +} + +public void OnMapStart() +{ + /** + * @note Precache your models, sounds, etc. here! + * Not in OnConfigsExecuted! Doing so leads to issues. + */ + CreateTimer(15.0, PostReminder, 0, TIMER_REPEAT); + HookEvent("teamplay_restart_round", BlockStart, EventHookMode_Pre); + + char config_name[64]; + LoadConfig(config_name, sizeof(config_name)); +} + +Action PostReminder(Handle timer, any data) +{ + CPrintToChatAll("{red}No config is applied! Ensure config is applied before starting."); + return Plugin_Handled; +} + +Action BlockStart(Event event, const char[] name, bool dontBroadcast) +{ + ServerCommand("mp_tournament_restart"); + CPrintToChatAll("{red}Bad rollout! {default}(Did you forget to exec?)"); + return Plugin_Handled; +} + +bool LoadConfig(char[] config_name, int maxlength) +{ char current_map[64]; GetCurrentMap(current_map, sizeof(current_map)); @@ -103,6 +103,7 @@ bool LoadConfig(char[] config_name, int maxlength) if (StrContains(current_map, current_key, false) != -1) { + map_configs.GoBack() map_configs.GetString(current_key, config_name, maxlength); PrintToServer("[AUTOCONFIG] Found applicable config: %s", config_name); return true;