diff --git a/scripting/super_admin_menu.sp b/scripting/super_admin_menu.sp index c90f633..e1d2f22 100644 --- a/scripting/super_admin_menu.sp +++ b/scripting/super_admin_menu.sp @@ -24,7 +24,7 @@ public Plugin myinfo = name = "Super Admin Menu", author = "OpenAI + deidara.dev", description = "Единое супер-админ меню по команде sm_sadmin", - version = "1.3.1" + version = "1.3.2-debug" }; public void OnPluginStart() @@ -1339,21 +1339,19 @@ bool IsValidClient(int client) return (client > 0 && client <= MaxClients && IsClientInGame(client)); } -// Логируем действие обычного админа в файл addons/sourcemod/logs/super_admin_menu.log. -// Действия DEIDARA/TESTER не логируются. +// Логируем действие админа. Действия обычного админа -> в super_admin_menu.log. +// Все действия (любого админа) -> в стандартный SM лог (L.log) для отладки. void LogAdminAction(int client, int target, const char[] format, any ...) { - if (!IsRegularAdmin(client)) - return; - char message[256]; VFormat(message, sizeof(message), format, 4); - char path[PLATFORM_MAX_PATH]; - BuildPath(Path_SM, path, sizeof(path), "logs/super_admin_menu.log"); + bool isReg = IsRegularAdmin(client); + bool isAllowed = IsClientInAllowedGroup(client); + int flags = GetUserFlagBits(client); - char timestamp[32]; - FormatTime(timestamp, sizeof(timestamp), "%Y-%m-%d %H:%M:%S"); + // [DEBUG] показываем в чате что произошло + PrintToChat(client, "\x04[SADMIN-DBG]\x01 isReg=%d allowedGroup=%d flags=%d", isReg, isAllowed, flags); char adminName[MAX_NAME_LENGTH], adminSteam[32]; GetClientName(client, adminName, sizeof(adminName)); @@ -1374,6 +1372,20 @@ void LogAdminAction(int client, int target, const char[] format, any ...) strcopy(targetInfo, sizeof(targetInfo), "UNKNOWN"); } - // LogToFileEx — родной механизм SourceMod, без префиксов и автосоздания файла + // [DEBUG] всегда пишем в стандартный SM лог (L.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); } \ No newline at end of file