Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Система логирования действий

Negatived

Начинающий
Пользователь
Регистрация
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; }

Моя таблица
PHP:
--
-- Структура таблицы `logs`
--

CREATE TABLE IF NOT EXISTS `logs` (
  `Log` text NOT NULL,
  `Date` varchar(128) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
Сверху Снизу