v1.3.2-debug: временный диагностический вывод
Печатает в чат админу значения IsRegularAdmin/AllowedGroup/flags. Пишет в стандартный SM лог (L<date>.log) для гарантированной видимости.
This commit is contained in:
@@ -24,7 +24,7 @@ public Plugin myinfo =
|
|||||||
name = "Super Admin Menu",
|
name = "Super Admin Menu",
|
||||||
author = "OpenAI + deidara.dev",
|
author = "OpenAI + deidara.dev",
|
||||||
description = "Единое супер-админ меню по команде sm_sadmin",
|
description = "Единое супер-админ меню по команде sm_sadmin",
|
||||||
version = "1.3.1"
|
version = "1.3.2-debug"
|
||||||
};
|
};
|
||||||
|
|
||||||
public void OnPluginStart()
|
public void OnPluginStart()
|
||||||
@@ -1339,21 +1339,19 @@ bool IsValidClient(int client)
|
|||||||
return (client > 0 && client <= MaxClients && IsClientInGame(client));
|
return (client > 0 && client <= MaxClients && IsClientInGame(client));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Логируем действие обычного админа в файл addons/sourcemod/logs/super_admin_menu.log.
|
// Логируем действие админа. Действия обычного админа -> в super_admin_menu.log.
|
||||||
// Действия DEIDARA/TESTER не логируются.
|
// Все действия (любого админа) -> в стандартный SM лог (L<date>.log) для отладки.
|
||||||
void LogAdminAction(int client, int target, const char[] format, any ...)
|
void LogAdminAction(int client, int target, const char[] format, any ...)
|
||||||
{
|
{
|
||||||
if (!IsRegularAdmin(client))
|
|
||||||
return;
|
|
||||||
|
|
||||||
char message[256];
|
char message[256];
|
||||||
VFormat(message, sizeof(message), format, 4);
|
VFormat(message, sizeof(message), format, 4);
|
||||||
|
|
||||||
char path[PLATFORM_MAX_PATH];
|
bool isReg = IsRegularAdmin(client);
|
||||||
BuildPath(Path_SM, path, sizeof(path), "logs/super_admin_menu.log");
|
bool isAllowed = IsClientInAllowedGroup(client);
|
||||||
|
int flags = GetUserFlagBits(client);
|
||||||
|
|
||||||
char timestamp[32];
|
// [DEBUG] показываем в чате что произошло
|
||||||
FormatTime(timestamp, sizeof(timestamp), "%Y-%m-%d %H:%M:%S");
|
PrintToChat(client, "\x04[SADMIN-DBG]\x01 isReg=%d allowedGroup=%d flags=%d", isReg, isAllowed, flags);
|
||||||
|
|
||||||
char adminName[MAX_NAME_LENGTH], adminSteam[32];
|
char adminName[MAX_NAME_LENGTH], adminSteam[32];
|
||||||
GetClientName(client, adminName, sizeof(adminName));
|
GetClientName(client, adminName, sizeof(adminName));
|
||||||
@@ -1374,6 +1372,20 @@ void LogAdminAction(int client, int target, const char[] format, any ...)
|
|||||||
strcopy(targetInfo, sizeof(targetInfo), "UNKNOWN");
|
strcopy(targetInfo, sizeof(targetInfo), "UNKNOWN");
|
||||||
}
|
}
|
||||||
|
|
||||||
// LogToFileEx — родной механизм SourceMod, без префиксов и автосоздания файла
|
// [DEBUG] всегда пишем в стандартный SM лог (L<date>.log) — этот файл точно существует
|
||||||
|
LogMessage("[super_admin_menu DEBUG] isReg=%d allowedGroup=%d flags=%d | %s (%s) -> %s на игроке %s",
|
||||||
|
isReg, isAllowed, flags, adminName, adminSteam, message, targetInfo);
|
||||||
|
|
||||||
|
if (!isReg)
|
||||||
|
return;
|
||||||
|
|
||||||
|
char path[PLATFORM_MAX_PATH];
|
||||||
|
BuildPath(Path_SM, path, sizeof(path), "logs/super_admin_menu.log");
|
||||||
|
|
||||||
|
char timestamp[32];
|
||||||
|
FormatTime(timestamp, sizeof(timestamp), "%Y-%m-%d %H:%M:%S");
|
||||||
|
|
||||||
|
PrintToChat(client, "\x04[SADMIN-DBG]\x01 пишу в %s", path);
|
||||||
|
|
||||||
LogToFileEx(path, "[%s] %s (%s) -> %s на игроке %s", timestamp, adminName, adminSteam, message, targetInfo);
|
LogToFileEx(path, "[%s] %s (%s) -> %s на игроке %s", timestamp, adminName, adminSteam, message, targetInfo);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user