Improved error reporting in basebans custom reasons loading.
This commit is contained in:
parent
b979d707db
commit
eab6ac748f
@ -58,22 +58,12 @@ new String:g_BanReasonsPath[PLATFORM_MAX_PATH];
|
||||
|
||||
#include "basebans/ban.sp"
|
||||
|
||||
public APLRes:AskPluginLoad2(Handle:myself, bool:late, String:error[], err_max)
|
||||
{
|
||||
BuildPath(Path_SM, g_BanReasonsPath, sizeof(g_BanReasonsPath), "configs/banreasons.txt");
|
||||
if(LoadBanReasons())
|
||||
{
|
||||
return APLRes_Success;
|
||||
}
|
||||
else
|
||||
{
|
||||
Format(error, err_max, "Couldn't load file %s: See log for details.", g_BanReasonsPath);
|
||||
return APLRes_Failure;
|
||||
}
|
||||
}
|
||||
|
||||
public OnPluginStart()
|
||||
{
|
||||
BuildPath(Path_SM, g_BanReasonsPath, sizeof(g_BanReasonsPath), "configs/banreasons.txt");
|
||||
|
||||
LoadBanReasons();
|
||||
|
||||
LoadTranslations("common.phrases");
|
||||
LoadTranslations("basebans.phrases");
|
||||
LoadTranslations("core.phrases");
|
||||
@ -106,14 +96,7 @@ public OnPluginEnd()
|
||||
public OnMapStart()
|
||||
{
|
||||
//(Re-)Load BanReasons
|
||||
if(g_hKvBanReasons != INVALID_HANDLE)
|
||||
{
|
||||
CloseHandle(g_hKvBanReasons);
|
||||
}
|
||||
if(!LoadBanReasons())
|
||||
{
|
||||
SetFailState("Error trying to load or parse %s: See logfile for details", g_BanReasonsPath);
|
||||
}
|
||||
LoadBanReasons();
|
||||
}
|
||||
|
||||
public OnClientDisconnect(client)
|
||||
@ -121,32 +104,32 @@ public OnClientDisconnect(client)
|
||||
g_IsWaitingForChatReason[client] = false;
|
||||
}
|
||||
|
||||
public bool:LoadBanReasons()
|
||||
LoadBanReasons()
|
||||
{
|
||||
if (g_hKvBanReasons != INVALID_HANDLE)
|
||||
{
|
||||
CloseHandle(g_hKvBanReasons);
|
||||
}
|
||||
|
||||
g_hKvBanReasons = CreateKeyValues("banreasons");
|
||||
|
||||
if(FileToKeyValues(g_hKvBanReasons, g_BanReasonsPath))
|
||||
{
|
||||
decl String:sectionName[255];
|
||||
if(!KvGetSectionName(g_hKvBanReasons, sectionName, sizeof(sectionName)))
|
||||
{
|
||||
LogMessage("Error in %s: File corrupt or in the wrong format", g_BanReasonsPath);
|
||||
return false;
|
||||
return SetFailState("Error in %s: File corrupt or in the wrong format", g_BanReasonsPath);
|
||||
}
|
||||
|
||||
if(strcmp(sectionName, "banreasons") != 0)
|
||||
{
|
||||
LogMessage("Error in %s: Couldn't find 'banreasons'", g_BanReasonsPath);
|
||||
return false;
|
||||
return SetFailState("Error in %s: Couldn't find 'banreasons'", g_BanReasonsPath);
|
||||
}
|
||||
|
||||
//Reset kvHandle
|
||||
KvRewind(g_hKvBanReasons);
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
LogMessage("Error in %s: File not found, corrupt or in the wrong format", g_BanReasonsPath);
|
||||
return false;
|
||||
} else {
|
||||
return SetFailState("Error in %s: File not found, corrupt or in the wrong format", g_BanReasonsPath);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user