• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Лог которые должен видеть определенный игрок, видят все вводя команду

Создал лог нарушения игрока чтобы он мог видеть кто ему выдал варн, виден всем, сделал через команду /playerlogs. каждый игрок может ввести лог и видеть нарушение одного игрока.


Сделал следующим образом

в команде /warn
format(stringer1, sizeof(stringer1), "выдал предупреждение");
PlayerLogs(playerid,stringer1, params[1]);


C++:
stock PlayerLogs(playerid, const type[], const reason[])
{
    const max_name_type = 140,max_lenght_reason = 30;

       new year, month,day, hour,minuite,second;
    getdate(year, month, day);
    gettime(hour,minuite,second);

    static const fmt_str[] = "INSERT INTO `player_logs` (`date`, `admin_name`, `type`, `reason`) VALUES ('%02d/%02d/%d %02d:%02d:%02d', '%s' ,'%s', '%s')";
     new string[sizeof(fmt_str) + (- 2 + MAX_PLAYER_NAME) * 2 + (- 2 + max_name_type) + (- 2 + max_lenght_reason)];

    format(string, sizeof(string),fmt_str, day,month,year,hour,minuite,second,PlayerInfo[playerid][pNames],type,reason);
    mysql_function_query(connects, string, false, "", "");
}

CMD:playerlogs(playerid)
{
    DeletePVar(playerid, "PlayerLogsLoading");
     PlayerLoadingLogs(playerid);
    return 1;
}
PlayerLoadingLogs(playerid)
{
    mysql_format(connects, mysql_query_, sizeof(mysql_query_),"SELECT * FROM `player_logs` LIMIT %i", PlayerInfo[playerid][pID], GetPVarInt(playerid, "PlayerLogsLoading") * 15 + 15);
    mysql_function_query(connects, mysql_query_, true, "PlayerLoges", "i", playerid);
    return 1;
}

publics: PlayerLoges(playerid)
{
    new rows = cache_num_rows(), page = GetPVarInt(playerid, "PlayerLogsLoading");
    if(rows)
    {
        new year, month,day, hour,minuite,second;
        getdate(year, month, day);
        gettime(hour,minuite,second);

        new tmp,admin_name[25], type[128],reason[30],date[20], stringall[2000];

        format(stringall, 50, "дата\tадмин\tтекст\tпричина\t\n");
        for(new i = page * 15; i < rows; i++)
         {
             cache_get_field_content(i, "date", date, connects, 30);
            cache_get_field_content(i, "admin_name", admin_name, connects, 25);
            cache_get_field_content(i, "type", type, connects, 144);
            cache_get_field_content(i, "reason", reason, connects, 50);
            format(stringall, 2000, "%s%02d/%02d/%d %02d:%02d:%02d\t%s\t%s\t%s\n", stringall,day,month,year,hour,minuite,second,admin_name,type,reason);
            tmp++;
        }
        if(tmp)
        {
            format(stringall, 2000, "%sСледующая страница\n", stringall);
            if(page)
            {
                format(stringall, 2000, "%sПредыдущая страница", stringall);
            }
            new string[50];
            format(string, 50, "{FFCC00}Все логи %i", page + 1);
            SPD(playerid, 207, DIALOG_STYLE_TABLIST_HEADERS, string, stringall, "Далее", "Отмена");
        }
        else
        {
            if(page)
             {
                 new string[50];
                format(string, 50, "{FFCC00}Все логи %i", page + 1);
                 SPD(playerid, 208, DSM, string, "{FFFFFF}На этой странице не найдены.", "Назад", "Закрыть");
            }
        }
     }
     else
     {
         if(page)
         {
             new string[50];
            format(string, 50,"{FFCC00}Все логи %i", page + 1);
             SPD(playerid, 208, DSM, string, "{FFFFFF}На этой странице не найдены.", "Назад", "Закрыть");
        }
    }
     return 1;
}
 
Сверху Снизу