• 0
Максимкин

[закрыто] warning 219: local variable "string" shadows a variable at a preceding level.

Вопросы

Решил я значит написать команду Баг-Репорта,как выскакивает 2 варнинга в этих строках:

Спойлер

    new string[sizeof(bug_str)+MAX_PLAYER_NAME+144]; // Warning в первой кмд.
/*Много строк*/
    new string[sizeof(sug_str)+MAX_PLAYER_NAME+144]; // Warning во второй кмд.

Варнинг:  warning 219: local variable "string" shadows a variable at a preceding level
Я начинающий в pawno.
Мой Баг-Репорт разделен на 2-е кмд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 ответа на этот вопрос

  • 0

@Максимкин в конце команды перед } поставь return true; 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
Спойлер

CMD:bug(playerid, params[])
{
    static const str_usage[] = !"Èñïîëüçîâàíèå: /bug [îïèñàíèå áàãà]";
    if(isnull(params))
        return SendClientMessage(playerid, -1, str_usage);
    if(CheckBugReportCooldown(playerid))
        return 1;
    static    const bug_str[] = " ñîîáùèë î áàãå: ";
    new string[sizeof(bug_str)+MAX_PLAYER_NAME+144];
    GetPlayerName(playerid, string, sizeof(string));
    strcat(string, bug_str), strcat(string, params);
    new File:bug_report_file = fopen(!BUG_REPORT_FILE_NAME, io_append);
    static const str_couldnt_open_file[] =
        !"Îøèáêà: Íå óäàëîñü îòêðûòü ôàéë \"" BUG_REPORT_FILE_NAME "\" !";
    if(_:bug_report_file == 0)
        return SendClientMessage(playerid, -1, str_couldnt_open_file);
    fwrite(bug_report_file, string);
    fclose(bug_report_file);
    SendClientMessage(playerid, -1, !"Âû óñïåøíî ñîîáùèëè î áàãå. Ñïàñèáî!");
    string[0] = ' ', string[1] = '\0', strcat(string, params);
    return SendClientMessage(playerid, -1, string);
}

//
CMD:sug(playerid, params[])
{
    static const str_usage[]= !"Èñïîëüçîâàíèå: /sug [ïðåäëîæåíèå ïî óëó÷øåíèþ]";
    if(isnull(params))
        return SendClientMessage(playerid, -1, str_usage);
    if(CheckBugReportCooldown(playerid))
        return 1;
    static    const sug_str[] = " ïðåäëîæèë: ";
    new string[sizeof(sug_str)+MAX_PLAYER_NAME+144];
    GetPlayerName(playerid, string, sizeof(string));
    strcat(string, sug_str), strcat(string, params);
    new File:suggestion_file = fopen(!SUGGESTION_FILE_NAME, io_append);
    static const str_couldnt_open_file[] =
        !"Îøèáêà: Íå óäàëîñü îòêðûòü ôàéë \"" SUGGESTION_FILE_NAME "\" !";
    if(_:suggestion_file == 0)
        return SendClientMessage(playerid, -1, str_couldnt_open_file);
    fwrite(suggestion_file, string);
    fclose(suggestion_file);
    SendClientMessage(
        playerid, -1,
        !"Âû óñïåøíî íàïèñàëè ïðåäëîæåíèå ïî óëó÷øåíèþ. Ñïàñèáî!"
    );
    string[0] = ' ', string[1] = '\0', strcat(string, params);
    return SendClientMessage(playerid, -1, string);
}

Вот две этих КМД,мне кажется в конце где } - это закрывает саму кмд,получается туда надо поставить retrun true;? Мне кажется бред..
Ну или я не особо одаренный.
@DEST

Цитата

@Максимкин в конце команды перед } поставь return true; 

 

Отредактировано пользователем Максимкин

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

@Максимкин тогда замените в одной из команд string на другое название

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • SheikhMAN
      От SheikhMAN
      Приветствую коллеги, столкнулся с проблемой считаю что решить её достаточно легко (но мой мозг отказывается думать). 
      Пытаюсь загрузить "Password" в итоге он не загружается по каким-то причинам. Вот сам код.
      new rows;     cache_get_row_count(rows);     cache_get_value_name(0, "Password", player_info[playerid][S_PASSWORD], 32);     if(rows) ShowLogin(playerid);     else ShowRegistration(playerid) Ошибка находится в
       
      public OnPlayerConnect(playerid) {     GetPlayerName(playerid, player_info[playerid][S_NAME], MAX_PLAYER_NAME);     static const fmt_query[] = "SELECT `id` FROM `users` WHERE `name` = '%s'";     new query[sizeof(fmt_query)+(-2+MAX_PLAYER_NAME)];     format(query, sizeof(query), fmt_query, player_info[playerid][S_NAME]);     mysql_tquery(dbHandle, query, "CheckRegistration", "i", playerid);     return 1; }     new rows;     cache_get_row_count(rows);     cache_get_value_name(0, "Password", player_info[playerid][S_PASSWORD], 32);     if(rows) ShowLogin(playerid);     else ShowRegistration(playerid);  
      cache_get_value_name(0, "Password", player_info[playerid][S_PASSWORD], 32); Код ошибки 
      [04/28/24 12:46:40] [ERROR] cache_get_value_name: field 'Password' not found Буду рад всем помогающим, желаю всем добра!
    • Доналдо Фарекелка
      От Доналдо Фарекелка


      Скачать файл Arizona RolePlay || Ser
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать только через MYSQL ( BD ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):
       
      Добавил Доналдо Фарекелка Добавлено 13.04.2023 Категория Моды Автор shenol (vk.com/donaldo_farekelka)  
    • SheikhMAN
      От SheikhMAN
      Цель: Хочу сделать систему авторизации, нужно сделать чтобы шла проверка через mysql игрока т.е какой пароль у данного игрока так-же узнавался пароль, если данный пароль не совпадает тогда пишет что "Пароль не верен!"
      Что нужно сделать: Нашёл данный скрипт, помогите решить проблему (прикрепил файлик)
          new db_password[sizeof(player_info[playerid][S_PASSWORD])];     cache_get_field_content(0, "password", db_password, dbHandle);     new resultat = !strcmp(inputtext, db_password);     if(resultat) SCM(playerid, COLOR_WHITE, "Пароль верный!"), SpawnPlayer(playerid);     else SCM(playerid, COLOR_RED, "Не верный!"), ShowLogin(playerid);  Проблема находится в  -
      new db_password[sizeof(player_info[playerid][S_PASSWORD])]; Сама ошибка - 
      error 001: expected token: "]", but found "-identifier-" warning 215: expression has no effect error 001: expected token: ";", but found "]" error 029: invalid expression, assumed zero  fatal error 107: too many error messages on one line Коллеги прошу помощи, мне кажется здесь не столь так тяжело, возможно я устал мне нужен отдых, но очень хочу дописать скрипт.