Активный
- Тема Автор
- #1
Идея и назначение
Система сохраняет важные действия игроков в простой журнал в памяти.
Подходит для отладки и быстрой проверки недавних событий.
Суть реализации
1. Храним последние N записей лога в массиве строк.
2. Добавляем функцию добавления записи.
3. Команда /showlog показывает несколько последних строк.
Реализация
Дополнительные идеи
1. Записывать в лог входы, выходы и команды игроков.
2. Сохранять журнал в файл при рестарте.
3. Ограничить просмотр лога только администраторам.
Система сохраняет важные действия игроков в простой журнал в памяти.
Подходит для отладки и быстрой проверки недавних событий.
Суть реализации
1. Храним последние N записей лога в массиве строк.
2. Добавляем функцию добавления записи.
3. Команда /showlog показывает несколько последних строк.
Реализация
Код:
#define LOG_LINES 32
new LogBuffer[LOG_LINES][96];
new LogIndex;
stock AddLogEntry(const text[])
{
format(LogBuffer[LogIndex], sizeof LogBuffer[], "%s", text);
LogIndex++;
if(LogIndex >= LOG_LINES) LogIndex = 0;
}
CMD:showlog(playerid)
{
SendClientMessage(playerid, -1, "Последние строки журнала:");
new idx = LogIndex;
for(new i = 0; i < LOG_LINES; i++)
{
if(LogBuffer[idx][0] != '\0')
SendClientMessage(playerid, -1, LogBuffer[idx]);
idx++;
if(idx >= LOG_LINES) idx = 0;
}
return 1;
}
Дополнительные идеи
1. Записывать в лог входы, выходы и команды игроков.
2. Сохранять журнал в файл при рестарте.
3. Ограничить просмотр лога только администраторам.