Вопросы

Разриб
Новичок

1) вылазят варнинги

new query_string[800];
format(query_string, sizeof query_string, "SELECT * FROM `accs` WHERE `nick` = `%s`", GetPlayerName(playerid));


Варнинг:
warning 202: number of arguments does not match definition и ещё один такой же на одну и ту же строку

 

2) команда делаю ошибку в написании допустим не P_LVL, а P_LV, то при компиляции не пишет ошибки!

Спойлер

#define GetPlayerData(%0,%1) g_player[%0][%1]
#define SetPlayerData(%0,%1,%2) g_player[%0][%1] = %2
#define AddPlayerData(%0,%1,%2,%3) g_player[%0][%1] %2= %3
enum E_PLAYER_STRUCT
{
P_ACCID,
P_NICK,
P_LVL,
P_PASS,
P_SKIN,
P_EMAIL,
P_MONEY,
P_LOGIN,
P_ADM,
P_POL,
P_DONATE,
P_PRAVA,
P_NUMBER
}
new g_player[MAX_PLAYERS][E_PLAYER_STRUCT];

 

 

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

Заметка от keyl , создано

3.1. Заголовок темы должен отражать основную суть темы. Темы без информативного заголовка будут переименовываться, а автор может быть предупрежден (на усмотрение члена администрации). 

Устное предупреждение.

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


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

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

  • 0
Vlad0s1k
Освоившийся

@Разриб Предупреждения "warning 202: number of arguments does not match definition" означают, что количество аргументов, переданных в функцию format() или printf(), не соответствует их определению. 

 

В коде, который вы предоставили, вы используете функцию format() для создания строки запроса к базе данных. Однако, вы передаете GetPlayerName(playerid) как аргумент, и фразу `%s` как форматирующую строку. Вероятно, что функция GetPlayerName() возвращает необходимые данные, но вам нужно убедиться, что количество переданных аргументов и их типы соответствуют ожидаемым параметрам внутри функции format() или printf(). 

 

Относительно вашего второго вопроса об ошибках в написании команды, вы объявляете набор макросов и переменных для работы с данными игроков. Код, который вы предоставили, выглядит правильно, но если у вас есть опечатки в идентификаторах, например, P_LV вместо P_LVL, и компилятор не генерирует ошибку, возможно, это связано с особенностями вашего компилятора или его настроек. 

 

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

 

В целом, убедитесь, что ваш компилятор настроен правильно и удостоверьтесь, что передаваемые аргументы и их типы соответствуют ожидаемым для функций format() или printf().

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


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

@Vlad0s1k Если бы вы пользовались не ИИ, а памятью и опытом в своих ответах, возможно Вы бы верно указали ошибку в коде
@Разриб GetPlayerName не возвращает строку, а записывает имя игрока в строку, то есть:

new player_nname[MAX_PLAYER_NAME];
GetPlayerName(playerid, player_nname, MAX_PLAYER_NAME);
format(query_string, sizeof query_string, "SELECT * FROM `accs` WHERE `nick` = `%s`", player_nname);

По  поводу define'ов, думаю Add у Вас сделан неверно, из названия можно понять, что это будет добавление данных к переменной, возможно он должен быть таким:

#define AddPlayerData(%0,%1,%2) g_player[%0][%1] += %2

Если же ошибка продолжит вылезать - скиньте то, как и когда вы используете #define AddPlayerData

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


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

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

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

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

    • Helados
      От Helados
      Короче, мы протестировали наш GTA на другом хостинге — голосовой чат там работает, всё включается нормально. Также проверили на другом хостинге с нашим игровым модом — voice chat тоже работает.
      Но на нашем личном хостинге, который мы купили на OVH и установили панель, не получается запустить голосовой чат. Похоже, проблема связана с портами. После перезапуска сервер почему-то случайным образом выбирает порты сам и мы не можем это исправить.
      Если кто-то знает человека, который может помочь разобраться с этой проблемой, буду благодарен.
    • тимормо
      От тимормо
      Копия Diamond RP (основа State 99)
      Скачать файл Мод DIAMOND RP (ver. 1.0)
      Основа: State 99
      Автор мода: #TomSnow
      Вопросы/Баги: https://vk.com/etalon_dev
       
      Приветствую всех! На связи #TomSnow
       
      Я принял решение начать поэтапную разработку и восстановление легендарного мода Diamond RolePlay образца 2015–2017 годов, взяв за основу мод State 99 (оригинальная основа DRP).
       
      Каждая новая версия разрабатываемого мода будет публиковаться в открытом доступе для всех участников и подписчиков сообщества (https://vk.com/etalon_dev). Это позволит вам не только следить за процессом разработки, но и принимать непосредственное участие в развитии проекта: тестировать обновления, находить баги, сообщать о недоработках и помогать делать мод максимально качественным и стабильным.
       
      Если вам интересна данная тематика и вы хотите наблюдать за ходом разработки, подписывайтесь на нашу группу ВКонтакте (https://vk.com/etalon_dev) и ожидайте публикацию версий проекта.
       
      Спасибо всем за поддержку! Впереди нас ждёт много интересной работы и возвращение атмосферы классического Diamond RolePlay. 
       
      Информация о моде:
       
      Версия MySQL R 39-6
      Античит Nex-AC (Доработанный)
      Стример Streamer Plugin v2.9.4
      Командный процессор Pawn CMD
       
      Список обновлений мода
       
       
      Добавил тимормо Добавлено 07/15/26 Категория Моды Автор #TomSnow  
    • тимормо
      От тимормо
      Мод DIAMOND RP (ver. 1.0)
      Основа: State 99
      Автор мода: #TomSnow
      Вопросы/Баги: https://vk.com/etalon_dev
       
      Приветствую всех! На связи #TomSnow
       
      Я принял решение начать поэтапную разработку и восстановление легендарного мода Diamond RolePlay образца 2015–2017 годов, взяв за основу мод State 99 (оригинальная основа DRP).
       
      Каждая новая версия разрабатываемого мода будет публиковаться в открытом доступе для всех участников и подписчиков сообщества (https://vk.com/etalon_dev). Это позволит вам не только следить за процессом разработки, но и принимать непосредственное участие в развитии проекта: тестировать обновления, находить баги, сообщать о недоработках и помогать делать мод максимально качественным и стабильным.
       
      Если вам интересна данная тематика и вы хотите наблюдать за ходом разработки, подписывайтесь на нашу группу ВКонтакте (https://vk.com/etalon_dev) и ожидайте публикацию версий проекта.
       
      Спасибо всем за поддержку! Впереди нас ждёт много интересной работы и возвращение атмосферы классического Diamond RolePlay. 
       
      Информация о моде:
       
      Версия MySQL R 39-6
      Античит Nex-AC (Доработанный)
      Стример Streamer Plugin v2.9.4
      Командный процессор Pawn CMD
       
      Список обновлений мода