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

Перевод из R39 на R37

Frend Williams

Умник
Делал систему логирования действий взял из одного мануалу основу. Но, там используется R39. Из-за чего возникает проблема, того что пишет, что аккаунт не найден.
C++:
forward findNickName(playerid, name_player[]);
public findNickName(playerid, name_player[]) {
    new
        rows,
        str[72];

    cache_get_row_count(rows);
    if(rows) {
        cache_get_field_content_int(0, "pID", select_id_acc[playerid]); //'id' замените на имя своего столбца с ID аккаунта что  у вас в таблице игрока


        format(str, sizeof str, "Список действий игрока %s", name_player);
        ShowPlayerDialog(playerid, D_RESULT_LOGS, DIALOG_STYLE_TABLIST_HEADERS, str, "Список действий:\nАдминистратор\nНедвижимость\nБизнес\nДеньги\nФракция", "Выбрать", "Выход");
    } else {
        format(str, sizeof str, "Аккаунт с именем %s не создан.", name_player);
        SendClientMessage(playerid, -1, str);
    }
    return 1;
}

forward UploadLogsPlayer(playerid, type);
public UploadLogsPlayer(playerid, type)
{
    new
        rows,
        total_string[2048],
        name_player[MAX_PLAYER_NAME],
        action[64],
        date[24];


    cache_get_row_count(rows);

    for(new u; u < rows; u++) {
        cache_get_field_content(u, "name", name_player, MAX_PLAYER_NAME);
        cache_get_field_content(u, "action", action, 64);
        cache_get_field_content(u, "date", date, 24);
        format(total_string, sizeof total_string, "%s{d3d3d3}Дата: {ffffff}%s\t{ff9d14}Действие: {ffffff}%s\n", total_string, date, action);
     }

    if(!rows)//Если список пуст
        total_string = "Никаких действий не совершал";


    switch(type) { //Названия для шапки диалога
        case 0: action = "Администратор";
        case 1: action = "Дом";
        case 2: action = "Бизнес";
        case 3: action = "Финансы";
        case 4: action = "Фракция";
    }
    format(action, sizeof action, "{ffffff}Логи {ff9d14}%s {ffffff}| %s", name_player, action);
    ShowPlayerDialog(playerid, 0000 ,DIALOG_STYLE_MSGBOX, action, total_string, "Закрыть", "");
    //Показываем и обнуляем Имя
    select_id_acc[playerid] = INVALID_PLAYER_ID;
    return 1;
}

stock writeLog(playerid, type, logs_fmt[]) {
    new
        mysql_fmt[256];

    GetPlayerName(playerid, mysql_fmt, MAX_PLAYER_NAME);

    format(mysql_fmt, sizeof mysql_fmt, "INSERT INTO `%s` (`name`, `id_account`, `action`) VALUES ('%s', '%d', '%s')", table_name_logs[type], mysql_fmt, pID, logs_fmt);
    return mysql_tquery(connects, mysql_fmt, "", "");
}
 
Сверху Снизу