v1.3.2: убран debug-вывод, оставлен чистый LogToFileEx
This commit is contained in:
@@ -74,11 +74,11 @@ addons/sourcemod/logs/super_admin_menu.log
|
|||||||
|
|
||||||
## Версия
|
## Версия
|
||||||
|
|
||||||
`1.3.1` — Автор: OpenAI + deidara.dev
|
`1.3.2` — Автор: OpenAI + deidara.dev
|
||||||
|
|
||||||
### Changelog
|
### Changelog
|
||||||
|
|
||||||
- **1.3.1**
|
- **1.3.2**
|
||||||
- Логирование переведено с `OpenFile` на `LogToFileEx` — родной механизм SourceMod, надёжно работает на shared-хостингах (MyArena и т.п.)
|
- Логирование переведено с `OpenFile` на `LogToFileEx` — родной механизм SourceMod, надёжно работает на shared-хостингах (MyArena и т.п.)
|
||||||
- **1.3**
|
- **1.3**
|
||||||
- Разграничение прав: обычные админы (флаги `a`–`j`, без `z`) теперь имеют доступ только к меню «Эффекты игрока»
|
- Разграничение прав: обычные админы (флаги `a`–`j`, без `z`) теперь имеют доступ только к меню «Эффекты игрока»
|
||||||
|
|||||||
@@ -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.2-debug"
|
version = "1.3.2"
|
||||||
};
|
};
|
||||||
|
|
||||||
public void OnPluginStart()
|
public void OnPluginStart()
|
||||||
@@ -1339,20 +1339,16 @@ bool IsValidClient(int client)
|
|||||||
return (client > 0 && client <= MaxClients && IsClientInGame(client));
|
return (client > 0 && client <= MaxClients && IsClientInGame(client));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Логируем действие админа. Действия обычного админа -> в super_admin_menu.log.
|
// Логируем действие обычного админа в файл addons/sourcemod/logs/super_admin_menu.log.
|
||||||
// Все действия (любого админа) -> в стандартный SM лог (L<date>.log) для отладки.
|
// Действия DEIDARA/TESTER не логируются.
|
||||||
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);
|
||||||
|
|
||||||
bool isReg = IsRegularAdmin(client);
|
|
||||||
bool isAllowed = IsClientInAllowedGroup(client);
|
|
||||||
int flags = GetUserFlagBits(client);
|
|
||||||
|
|
||||||
// [DEBUG] показываем в чате что произошло
|
|
||||||
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));
|
||||||
if (!GetClientAuthId(client, AuthId_Steam2, adminSteam, sizeof(adminSteam)))
|
if (!GetClientAuthId(client, AuthId_Steam2, adminSteam, sizeof(adminSteam)))
|
||||||
@@ -1372,20 +1368,11 @@ void LogAdminAction(int client, int target, const char[] format, any ...)
|
|||||||
strcopy(targetInfo, sizeof(targetInfo), "UNKNOWN");
|
strcopy(targetInfo, sizeof(targetInfo), "UNKNOWN");
|
||||||
}
|
}
|
||||||
|
|
||||||
// [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];
|
char path[PLATFORM_MAX_PATH];
|
||||||
BuildPath(Path_SM, path, sizeof(path), "logs/super_admin_menu.log");
|
BuildPath(Path_SM, path, sizeof(path), "logs/super_admin_menu.log");
|
||||||
|
|
||||||
char timestamp[32];
|
char timestamp[32];
|
||||||
FormatTime(timestamp, sizeof(timestamp), "%Y-%m-%d %H:%M:%S");
|
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