- Регистрация
- 19 Дек 2018
- Сообщения
- 42
- Лучшие ответы
- 0
- Репутация
- 7
Здравствуйте, пользователи портала Pawno-Info!
Сейчас я хочу показать вам маленькую систему логирования действий(логов).
Принцип работы:
Например, Vasya_Pypkin купил транспорт за 400000$ с госа, это действие запишется в Базу Данных, где люди, имеющие доступ к базе данных смогут просмотреть данные действия.
Или же, администратор Karlik_Moor заблокировал аккаунт игрока Vasya_Pypkin с причиной "чит" на 30 дней.
Начинаем.
1. Создадим в нашей базе данных таблицу с логами.
2. В моде ищем нужную команду/функцию, после чего вписываем данный код в неё.
Возьму для примера команду /ban.
В начало команды:
PHP:
new log[500];
new hour,minute,seconde;
new day,month,year;
PHP:
gettime(hour,minute,seconde);
getdate(year,month,day);
format(log, sizeof(log), "INSERT INTO `logs` SET `Log` = '%s заблокировал %s по причине %s на %d дней', `Date` = '%d:%d:%d %d.%d.%d'", PN(playerid), PN(id), reason, time, hour, minute, seconde, day, month, year);
mysql_query(mysql, log);
gettime(hour,minute,seconde) - С помощью этой функции мы получаем час, минуту и секунду, которые в данный момент.
getdate(year,month,day) - С помощью этой функции мы получаем год, месяц и день, которые в данный момент.
PN(playerid) - Никнейм администратора.
PN(id) - Никнейм игрока.
reason - Причина блокировки аккаунта.
time - Кол-во дней, на которое был заблокирован аккаунт.
hour, minute, seconde - Час, минута, секунда, в которые был заблокирован аккаунт.
day, month, year - День, месяц, год, в которые был заблокирован аккаунт.
Моя функция получения ника
Моя таблица
Вставляем в любое место в моде.
stock PN(i) { new pl[24]; GetPlayerName(i, pl, 24); return pl; }
stock PN(i) { new pl[24]; GetPlayerName(i, pl, 24); return pl; }
Моя таблица
PHP:
--
-- Структура таблицы `logs`
--
CREATE TABLE IF NOT EXISTS `logs` (
`Log` text NOT NULL,
`Date` varchar(128) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;