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

Логирование административных команд

VSYSTEM

Ученик
Всех приветствую. Недавно попробовал сделать административные логи, но увы, столкнулся с проблемой, логи то работают, но при переходе на следующую страницу ничего не происходит.

Помогите решить данную проблему. Каждому благодарен. Код:


C++:
CMD:logs(playerid,params[])
{
    new target[MAX_PLAYER_NAME], mysql_query__[500];
    if(sscanf(params, "s[24]d", target)) return SendClientMessage(playerid, -1, "Используйте /logs [ник]");
    format(mysql_query__, sizeof ( mysql_query__ ), "SELECT * FROM `logs` WHERE `Name` = '%s'", target);
    return mysql_tquery(connects, mysql_query__, "LogAdmin", "isi", playerid, target, 1);

C++:
publics: LogAdmin(playerid, username[], page)
{
    new rows, fields, playeract[200], date[50], global_string[4200] = "Ник\t\tДействие\t\tДата\n{FF6F00}Следующая страница\nПредыдущая страница\n",
    cache_get_data(rows, fields);
    page_identifier[playerid][0] = 0, page_number[playerid] = 0;
    if(!rows) return SCM(playerid, -1, "Информация не найдена");
    for(new i; i < rows; i++)
    {
        cache_get_field_content(i, "Act", playeract, connects, 200);
        cache_get_field_content(i, "Date", date, connects, 200);
        if(!strcmp(playeract, "NULL")) continue;
        format(temporary, sizeof(temporary), "%s\t\t%s\t\t%s\n", username, playeract, date);
        strcat(global_string, temporary);
    }
    SetPVarInt(playerid, #page_str, page);
    format(stringer, sizeof(stringer), "Лог %s", username);
    return ShowPlayerDialog(playerid, 7766, DIALOG_STYLE_TABLIST_HEADERS, stringer, global_string, "Закрыть", "");

C++:
        case 7766:
            {
                  if(!response) return DeletePVar(playerid, #page_str);
                  if(listitem == 0 || listitem == 1) {
                    new page, target[MAX_PLAYER_NAME];
                    if(!listitem) page = GetPVarInt(playerid, #page_str)*50;
                    else page = (GetPVarInt(playerid, #page_str)-2)*50;

                    if(listitem == 1 && page == -50) return SendClientMessage(playerid,-1,"• {AC0000}[Ошибка] {ffffff}Страниц больше нет!");
                    mysql_format(connects, mysql_query_, sizeof(mysql_query_) , "SELECT FROM `logs` WHERE `Name` = '%s' DESC LIMIT %d,50", target, page);
                    if(!listitem) mysql_tquery(connects, mysql_query_, "LogsShow", "isi", playerid, target, GetPVarInt(playerid, #page_str)+1);
                    else if(page != 0) mysql_tquery(connects, mysql_query_, "LogsShow", "isi", playerid, target, GetPVarInt(playerid, #page_str)-1);
                    else mysql_tquery(connects, mysql_query_, "LogsShow", "isi", playerid, target, page+1);
                }
                else {
                    return SendClientMessage(playerid, -1, "");
                }
                return true;
Переменная temporary если что создана
 
Сверху Снизу