[Урок] Система логов наказания - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Phoenixxx_Czar, Getbackthere, [CM]OlegEhtler  
Форум » Pawno программирование SAMP » Уроки | FAQ » [Урок] Система логов наказания (Лог для слежения действий администрации на сервере.)
[Урок] Система логов наказания
DimasikSk Дата: Четверг, 01.04.2021, 16:50 | Сообщение # 1
Новичок
Сообщений: 18
Статус: Offline

Итак, хотел бы вам показать как сделать логи у себя на сервере. На данный момент логи по выдачи наказаний.

Покажу лог на примере пару админ команд.

Для начала нам нужно сделать саму таблицу где будут наши логи. Перейдите в базу данных вашего мода, и добавьте log с полями.

База данных

После того как вы добавили таблицу идём в мод. Ищем команду допустим mute и вставляем запрос.
Код
CMD:mute(playerid, params[])
{
        new time;
        new qString[250];
        new string[124];
        new hours,minutes,seconds;
        gettime(hours,minutes,seconds);
        new year, month, day;
        getdate(year, month, day);
        if(pInfo[playerid][pAdmin] < 1) return nodostup
        if(sscanf(params, "uds[128]", params[0], time, params[2])) return SCM(playerid, 0xC0C0C0FF, "Используйте: /mute [id] [время] [причина]");
        if(!IsPlayerConnected(params[0])) return SCM(playerid, 0xC0C0C0FF, "Игрок не подключен к серверу");
        if(time < 1 ||time > 3000) return SCM(playerid, 0xC0C0C0FF, "Время мута не может быть меньше 1 и больше 2000.");
        if(pInfo[params[0]][pMute_time] > 0)
        {
            SCM(playerid, 0xC0C0C0FF, "У данного игрока уже есть мут.");
            return 1;
        }
        if(pInfo[params[0]][pAdmin] > pInfo[playerid][pAdmin])
        {
                format(string, sizeof(string), "{b63e2d}AA:{6E6E6E} [Анти-Слив] [ID: %d] %s снят с админки за попытку выдачи наказания админу выше уровня.", playerid, pInfo[playerid][pName]);
                SendAdminMessage(0x6E6E6E00, string);
                pInfo[playerid][pAdmin] = 0;
            format(qString, sizeof(qString), "UPDATE `users` SET `admin` = '%d' WHERE `name` = %s", pInfo[playerid][pAdmin], pInfo[playerid][pName]);
                mysql_tquery(DBconnectID, qString, "", "");
                return 1;
        }
        pInfo[params[0]][pMute_time] = time * 60;
        format(string, sizeof(string), "A: Администратор %s выдал мут %s на %d минуты: %s", pInfo[playerid][pName], pInfo[params[0]][pName], time, params[1]);
        SendAdminMessage(0xF85E43AA, string);
        format(string, sizeof(string), "A: Администратор %s выдал вам бан чата на %d минут. Причина: %s", pInfo[playerid][pName], time, params[1]);
        SCM(params[0], 0xF85E43AA, string);
        new time_two = pInfo[params[0]][pMute_time];
       //Вот идёт запрос.
        format(qString, sizeof(qString), "INSERT INTO `log` (`day`, `month`, `year`,`hour`, `min`, `sec`,`name_admin`, `name_user`, `reason`, `Mark`, `srok`) VALUES ('%d','%d','%d','%d','%d','%d','
%s', '%s', '%s','M', '%d')", day, month, year, hours, minutes, seconds, pInfo[playerid][pName], pInfo[params[0]][pName], params[2], floatround(time_two / 60));
        mysql_tquery(DBconnectID, qString, "", "");
        return 1;
}

После того как у вас все отправляется нам же нужно где-то выводить. Я использую опен сервер.

Создаете папку в domains и в папке index.php и вставляете код что ниже

Вот сам код вывода на страницу:
Код
<!DOCTYPE html>
<html>
<head>
    <title>Тест</title>
    <style type="text/css">
        body {
                background: #1d1d1d;
        }
        div {
                color: white;
        }
        #found {
                text-align: center;
        }
    </style>
</head>
<body>
        <div id="found">Список выданых наказаний администраторами. Для быстрого поиска введите CTRL + F</div>
    <?php
        $mysqli = new mysqli('localhost', 'root', '', 'emerald');//Замените на свое
        $mysqli->query("SET NAMES 'utf8'");

        $result = $mysqli->query("SELECT * FROM `log` ORDER BY id DESC");

        while($row = $result->fetch_assoc()) {
                if($row['Mark'] == "K")
                {
                    echo "<br>";
                    echo '<div id="test">';
                    echo '<div>'."[".$row['day']."."
.$row['month'].".".$row['year']
."]"." "."K: "."Администратор ".$row['name_admin'].' кикнул игрока '.$row['name_user'].". "."Причина: ". $row['reason'].'</div>';
                    echo '</div>';
                }
                else if($row['Mark'] == "M")
                {
                    echo "<br>";
                    echo '<div id="test">';
                    echo '<div>'."[".$row['day']."."
.$row['month'].".".$row['year']
."]"." "."M: "." "."Администратор ".$row['name_admin'].' заблокировал чат игрока '.$row['name_user']." на ".$row['srok']."минут. "."Причина: ". $row['reason'].'</div>';
                    echo '</div>';                      
                }
                else if($row['Mark'] == "UM")
                {
                    echo "<br>";
                    echo '<div id="test">';
                    echo '<div>'."[".$row['day']."."
.$row['month'].".".$row['year']
."]"." "."M: "."Администратор ".$row['name_admin'].' разблокировал чат игрока '.$row['name_user'].'</div>';
                    echo '</div>';                      
                }
                else if($row['Mark'] == "J")
                {
                    echo "<br>";
                    echo '<div id="test">';
                    echo '<div>'."[".$row['day']."."
.$row['month'].".".$row['year']
."]"." "."J: "."Администратор ".$row['name_admin'].' посадил игрока '.$row['name_user']." в админ-тюрьму на ".$row['srok']." минут. "."Причина: ". $row['reason'].'</div>';
                    echo '</div>';                      
                }
                else if($row['Mark'] == "UJ")
                {
                    echo "<br>";
                    echo '<div id="test">';
                    echo '<div>'."[".$row['day']."."
.$row['month'].".".$row['year']
."]"." "."J: "."Администратор ".$row['name_admin'].' освободил игрока '.$row['name_user'].' с админ-тюрьмы'.'</div>';
                    echo '</div>';              
                }
        }
    ?>
</body>
</html>


---->Пример результата<----



Верификация QIWI кошельков, 25 рублей, время выполнения 30 минут. Писать в ЛС.
Прокачка аккаунтов Diamind RP | Цена - 150 р
Промокод на DRP Ruby - DimasikSk


Сообщение отредактировал DimasikSk - Пятница, 02.04.2021, 18:53
Форум » Pawno программирование SAMP » Уроки | FAQ » [Урок] Система логов наказания (Лог для слежения действий администрации на сервере.)
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Лучшие пользователи
АК_47 [37370]

GеNius [7210]

[CM]Russel [5557]

romka619 [5010]

[CM]AGRESSOR [4638]

Snake_Firm [4452]

Сэс [4416]

Artem_Buero [4224]

[CM]Durman [3204]

[CM]Рафаэль [3079]

iMaddy [2855]

sky_Woker [2854]

-Masson- [2776]

Новые пользователи
abor80180 [17:47]

Hiperx1234 [17:45]

taruncraft [17:43]

sheva17052005 [17:40]

mdzhibabov [17:37]

Reshetnikovgleb1999 [17:34]

comdima [17:31]

Rkdbdisvddidb999202o [17:28]

huylinda [17:18]

kapotilovm [17:12]

akimka2282 [17:12]

kemrantop008 [16:59]

Azamat2007 [16:53]