Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

ошибка error 035

Окт
12
0
Пользователь
Здравствуйте помогите пожалуйста исправить ошибку в скрипте
static Diver_ShowBoatMenu(playerid)
{
new dialog[512];
new line[128];

format(dialog, sizeof(dialog), "{FF0000}Гидроцикл\t{FFFFFF}%d руб\t{999999}Скоростной\n", DIVER_BOAT_PRICE_JETSKI);
format(line, (line), "{FF0000}Моторная лодка\t{FFFFFF}%d руб\t{999999}Надёжный\n", DIVER_BOAT_PRICE_MOTOR);
strcat(dialog, line);
format(line, (line), "{FF0000}Speedy Yacht\t{FFFFFF}%d руб\t{999999}Комфортный\n", DIVER_BOAT_PRICE_SPEEDY);
strcat(dialog, line);
format(line, (line), "{FF0000}Marine Yacht\t{FFFFFF}%d руб\t{999999}Премиальный\n", DIVER_BOAT_PRICE_MARINE);
strcat(dialog, line);
format(line, (line), "{FF0000}Sea Yacht\t{FFFFFF}%d руб\t{999999}Роскошный\n", DIVER_BOAT_PRICE_SEA);
strcat(dialog, line);
format(line, (line), "{FF0000}Ocean Yacht\t{FFFFFF}%d руб\t{999999}Элитный", DIVER_BOAT_PRICE_OCEAN);
strcat(dialog, line);

ShowPlayerDialog(playerid, DIALOG_DIVER_RENT_BOAT, DIALOG_STYLE_LIST, "{FF5252}Выберите тип лодки", dialog, "Арендовать", "Отмена");
}

ошибки

../gamemodes/vodo.pwn(353) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(354) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(355) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(356) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(357) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(358) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(359) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(360) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(361) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(362) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(363) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(387) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(387) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(388) : error 035: argument type mismatch (argument 2)
 
Янв
475
625
Пользователь
ну попробуй с sizeof(line)
Pawn:
static Diver_ShowBoatMenu(playerid)
{
    new dialog[512];
    new line[128];

    format(dialog, sizeof(dialog), "{FF0000}Гидроцикл\t{FFFFFF}%d руб\t{999999}Скоростной\n", DIVER_BOAT_PRICE_JETSKI);
    format(line, sizeof(line), "{FF0000}Моторная лодка\t{FFFFFF}%d руб\t{999999}Надёжный\n", DIVER_BOAT_PRICE_MOTOR);
    strcat(dialog, line);
    format(line, sizeof(line), "{FF0000}Speedy Yacht\t{FFFFFF}%d руб\t{999999}Комфортный\n", DIVER_BOAT_PRICE_SPEEDY);
    strcat(dialog, line);
    format(line, sizeof(line), "{FF0000}Marine Yacht\t{FFFFFF}%d руб\t{999999}Премиальный\n", DIVER_BOAT_PRICE_MARINE);
    strcat(dialog, line);
    format(line, sizeof(line), "{FF0000}Sea Yacht\t{FFFFFF}%d руб\t{999999}Роскошный\n", DIVER_BOAT_PRICE_SEA);
    strcat(dialog, line);
    format(line, sizeof(line), "{FF0000}Ocean Yacht\t{FFFFFF}%d руб\t{999999}Элитный", DIVER_BOAT_PRICE_OCEAN);
    strcat(dialog, line);

    ShowPlayerDialog(playerid, DIALOG_DIVER_RENT_BOAT, DIALOG_STYLE_LIST, "{FF5252}Выберите тип лодки", dialog, "Арендовать", "Отмена");
}
 
Окт
12
0
Пользователь
ну попробуй с sizeof(line)
Pawn:
static Diver_ShowBoatMenu(playerid)
{
    new dialog[512];
    new line[128];

    format(dialog, sizeof(dialog), "{FF0000}Гидроцикл\t{FFFFFF}%d руб\t{999999}Скоростной\n", DIVER_BOAT_PRICE_JETSKI);
    format(line, sizeof(line), "{FF0000}Моторная лодка\t{FFFFFF}%d руб\t{999999}Надёжный\n", DIVER_BOAT_PRICE_MOTOR);
    strcat(dialog, line);
    format(line, sizeof(line), "{FF0000}Speedy Yacht\t{FFFFFF}%d руб\t{999999}Комфортный\n", DIVER_BOAT_PRICE_SPEEDY);
    strcat(dialog, line);
    format(line, sizeof(line), "{FF0000}Marine Yacht\t{FFFFFF}%d руб\t{999999}Премиальный\n", DIVER_BOAT_PRICE_MARINE);
    strcat(dialog, line);
    format(line, sizeof(line), "{FF0000}Sea Yacht\t{FFFFFF}%d руб\t{999999}Роскошный\n", DIVER_BOAT_PRICE_SEA);
    strcat(dialog, line);
    format(line, sizeof(line), "{FF0000}Ocean Yacht\t{FFFFFF}%d руб\t{999999}Элитный", DIVER_BOAT_PRICE_OCEAN);
    strcat(dialog, line);

    ShowPlayerDialog(playerid, DIALOG_DIVER_RENT_BOAT, DIALOG_STYLE_LIST, "{FF5252}Выберите тип лодки", dialog, "Арендовать", "Отмена");
}
../gamemodes/vodo.pwn(354) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(354) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(355) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(356) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(356) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(357) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(358) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(358) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(359) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(360) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(360) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(361) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(362) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(362) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(363) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(387) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(387) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(388) : error 035: argument type mismatch (argument 2)
 
Фев
60
6
Пользователь
Привет! Ошибка argument type mismatch (несоответствие типов аргументов) в твоем коде возникает из-за неправильного использования функции format.
В чем проблема?
В строках с format(line, (line), ...) ты передаешь массив line во второй аргумент, где функция ожидает целое число (размер этого массива). Компилятор Pawn не понимает, зачем ты суешь ему строку там, где он ждет число.
Вместо (line) нужно использовать оператор sizeof(line).
Исправленный код
Вот рабочий вариант твоего скрипта:

static Diver_ShowBoatMenu(playerid)
{
new dialog[512];
new line[128];

// Первая строка записывается сразу в dialog
format(dialog, sizeof(dialog), "{FF0000}Гидроцикл\t{FFFFFF}%d руб\t{999999}Скоростной\n", DIVER_BOAT_PRICE_JETSKI);

// Для остальных строк используем sizeof(line)
format(line, sizeof(line), "{FF0000}Моторная лодка\t{FFFFFF}%d руб\t{999999}Надёжный\n", DIVER_BOAT_PRICE_MOTOR);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Speedy Yacht\t{FFFFFF}%d руб\t{999999}Комфортный\n", DIVER_BOAT_PRICE_SPEEDY);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Marine Yacht\t{FFFFFF}%d руб\t{999999}Премиальный\n", DIVER_BOAT_PRICE_MARINE);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Sea Yacht\t{FFFFFF}%d руб\t{999999}Роскошный\n", DIVER_BOAT_PRICE_SEA);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Ocean Yacht\t{FFFFFF}%d руб\t{999999}Элитный", DIVER_BOAT_PRICE_OCEAN);
strcat(dialog, line);

ShowPlayerDialog(playerid, DIALOG_DIVER_RENT_BOAT, DIALOG_STYLE_TABLIST, "{FF5252}Выберите тип лодки", dialog, "А
рендовать", "Отмена");
}
 
Окт
12
0
Пользователь
../gamemodes/vodo.pwn(357) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(357) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(358) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(360) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(360) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(361) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(363) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(363) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(364) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(366) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(366) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(367) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(369) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(369) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(370) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(394) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(394) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(395) : error 035: argument type mismatch (argument 2)
 
Фев
60
6
Пользователь
../gamemodes/vodo.pwn(357) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(357) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(358) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(360) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(360) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(361) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(363) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(363) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(364) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(366) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(366) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(367) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(369) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(369) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(370) : error 035: argument type mismatch (argument 2)
../gamemodes/vodo.pwn(394) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(394) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(395) : error 035: argument type mismatch (argument 2)
static Diver_ShowBoatMenu(playerid)
{
new dialog[1024]; // Увеличим размер на всякий случай

format(dialog, sizeof(dialog),
"{FF0000}Гидроцикл\t{FFFFFF}%d руб\t{999999}Скоростной\n\
{FF0000}Моторная лодка\t{FFFFFF}%d руб\t{999999}Надёжный\n\
{FF0000}Speedy Yacht\t{FFFFFF}%d руб\t{999999}Комфортный\n\
{FF0000}Marine Yacht\t{FFFFFF}%d руб\t{999999}Премиальный\n\
{FF0000}Sea Yacht\t{FFFFFF}%d руб\t{999999}Роскошный\n\
{FF0000}Ocean Yacht\t{FFFFFF}%d руб\t{999999}Элитный",
DIVER_BOAT_PRICE_JETSKI,
DIVER_BOAT_PRICE_MOTOR,
DIVER_BOAT_PRICE_SPEEDY,
DIVER_BOAT_PRICE_MARINE,
DIVER_BOAT_PRICE_SEA,
DIVER_BOAT_PRICE_OCEAN
);

ShowPlayerDialog(playerid, DIALOG_DIVER_RENT_BOAT, DIALOG_STYLE_TABLIST, "{FF5252}Выберите тип лодки", dialog, "Арендовать", "Отмена
");
return 1;
}
 
Окт
12
0
Пользователь
../gamemodes/vodo.pwn(367) : error 037: invalid string (possibly non-terminated string)
../gamemodes/vodo.pwn(369) : error 001: expected token: ";", but found "return"
../gamemodes/vodo.pwn(391) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(391) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(392) : error 035: argument type mismatch (argument 2)
 
Фев
60
6
Пользователь
../gamemodes/vodo.pwn(367) : error 037: invalid string (possibly non-terminated string)
../gamemodes/vodo.pwn(369) : error 001: expected token: ";", but found "return"
../gamemodes/vodo.pwn(391) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(391) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(392) : error 035: argument type mismatch (argument 2)
Ошибки изменились: теперь компилятор жалуется на «незакрытую строку» (invalid string) и пропущенные символы. Это часто случается в PAWN при использовании обратного слэша \ для переноса строк, если после него случайно затесался пробел или табуляция.
Давай сделаем максимально надежный вариант, который поймет любой (даже самый старый) компилятор. Мы разделим формирование диалога на отдельные шаги без использования переносов \.
Полностью исправленный и безопасный код:

static Diver_ShowBoatMenu(playerid)
{
new dialog[1024]; // Запас памяти для текста

// Формируем первую строку
format(dialog, sizeof(dialog), "{FF0000}Гидроцикл\t{FFFFFF}%d руб\t{999999}Скоростной\n", DIVER_BOAT_PRICE_JETSKI);

// Добавляем остальные строки через format и strcat
// Используем sizeof(dialog) - это критично
new line[128];

format(line, sizeof(line), "{FF0000}Моторная лодка\t{FFFFFF}%d руб\t{999999}Надёжный\n", DIVER_BOAT_PRICE_MOTOR);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Speedy Yacht\t{FFFFFF}%d руб\t{999999}Комфортный\n", DIVER_BOAT_PRICE_SPEEDY);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Marine Yacht\t{FFFFFF}%d руб\t{999999}Премиальный\n", DIVER_BOAT_PRICE_MARINE);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Sea Yacht\t{FFFFFF}%d руб\t{999999}Роскошный\n", DIVER_BOAT_PRICE_SEA);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Ocean Yacht\t{FFFFFF}%d руб\t{999999}Элитный", DIVER_BOAT_PRICE_OCEAN);
strcat(dialog, line);

// Вызываем диалог
ShowPlayerDialog(playerid, DIALOG_DIVER_RENT_BOAT, DIALOG_STYLE_TABLIST, "{FF5252}Выберите тип лодки", dialog, "Арендовать",
"Отмена");
return 1;
}

Почему возникали эти ошибки:
error 037 (invalid string): Скорее всего, при копировании прошлого кода между обратным слэшем \ и краем строки попал невидимый пробел. PAWN этого не прощает.
error 001 (expected token: ";"): Это следствие первой ошибки. Если строка "не закрыта", компилятор сходит с ума и перестает понимать, где заканчиваются команды.
error 035 (argument type mismatch): Если этот код всё равно выдает такую ошибку на строках с ценами, то 100% проблема в твоих дефайнах.
Проверь свои цены!
Найди в моде (обычно в начале мода), где созданы цены. Они должны выглядеть строго вот так:

#define DIVER_BOAT_PRICE_JETSKI 1000
#define DIVER_BOAT_PRICE_MOTOR 5000
// И так далее... БЕЗ КАВЫЧЕК!

Если там стоит что-то вроде #define DIVER_BOAT_PRICE_JETSKI "1000", то никакие правки в функции не помогут, пока ты не уберешь кавычки.
Попробуй вставить этот вариант, он самый "неубиваемый".
 
Фев
60
6
Пользователь
static Diver_ShowBoatMenu(playerid)
{
new dialog[1024]; // Запас памяти для текста

// Формируем первую строку
format(dialog, sizeof(dialog), "{FF0000}Гидроцикл\t{FFFFFF}%d руб\t{999999}Скоростной\n", DIVER_BOAT_PRICE_JETSKI);

// Добавляем остальные строки через format и strcat
// Используем sizeof(dialog) - это критично
new line[128];

format(line, sizeof(line), "{FF0000}Моторная лодка\t{FFFFFF}%d руб\t{999999}Надёжный\n", DIVER_BOAT_PRICE_MOTOR);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Speedy Yacht\t{FFFFFF}%d руб\t{999999}Комфортный\n", DIVER_BOAT_PRICE_SPEEDY);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Marine Yacht\t{FFFFFF}%d руб\t{999999}Премиальный\n", DIVER_BOAT_PRICE_MARINE);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Sea Yacht\t{FFFFFF}%d руб\t{999999}Роскошный\n", DIVER_BOAT_PRICE_SEA);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Ocean Yacht\t{FFFFFF}%d руб\t{999999}Элитный", DIVER_BOAT_PRICE_OCEAN);
strcat(dialog, line);

// Вызываем диалог
ShowPlayerDialog(playerid, DIALOG_DIVER_RENT_BOAT, DIALOG_STYLE_TABLIST, "{FF5252}Выберите тип лодки", dialog, "Арендовать", "Отмена");
return 1;
}
 
Фев
60
6
Пользователь
static Diver_ShowBoatMenu(playerid)
{
new dialog[1024]; // Запас памяти для текста

// Формируем первую строку
format(dialog, sizeof(dialog), "{FF0000}Гидроцикл\t{FFFFFF}%d руб\t{999999}Скоростной\n", DIVER_BOAT_PRICE_JETSKI);

// Добавляем остальные строки через format и strcat
// Используем sizeof(dialog) - это критично
new line[128];

format(line, sizeof(line), "{FF0000}Моторная лодка\t{FFFFFF}%d руб\t{999999}Надёжный\n", DIVER_BOAT_PRICE_MOTOR);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Speedy Yacht\t{FFFFFF}%d руб\t{999999}Комфортный\n", DIVER_BOAT_PRICE_SPEEDY);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Marine Yacht\t{FFFFFF}%d руб\t{999999}Премиальный\n", DIVER_BOAT_PRICE_MARINE);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Sea Yacht\t{FFFFFF}%d руб\t{999999}Роскошный\n", DIVER_BOAT_PRICE_SEA);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Ocean Yacht\t{FFFFFF}%d руб\t{999999}Элитный", DIVER_BOAT_PRICE_OCEAN);
strcat(dialog, line);

// Вызываем диалог
ShowPlayerDialog(playerid, DIALOG_DIVER_RENT_BOAT, DIALOG_STYLE_TABLIST, "{FF5252}Выберите тип лодки", dialog, "Арендовать", "Отмена");
return 1;
}
 
Окт
12
0
Пользователь
убрал невидумый пробел, оказывается ошибки теперь в другом.
static Diver_SellItems(playerid)
{
if(!g_PlayerDiver[playerid])
{
SendClientMessage(playerid, 0xFF0000FF, "Вы не работаете водолазом!");
return 0;
}

new dialog[2048];
format(dialog, sizeof(dialog), "{FFFFFF}Название\tКол-во\tЦена за шт.\n");

new count = 0;
for(new i = 0; i < g_DiverItemsCount; i++)
{
new item_id = g_DiverItems[DITEM_ITEMID];
new item_count = Diver_GetItemCount(playerid, item_id);
if(item_count > 0)
{
new line[128];
format(line, sizeof(line), "%s\t%d\t%d руб.\n", g_DiverItemNames, item_count, g_DiverItems[DITEM_PRICE]);
strcat(dialog, line);
count++;
}
}

if(count == 0)
{
SendClientMessage(playerid, 0xFF0000FF, "У вас нет найденных предметов для продажи!");
return 0;
}

ShowPlayerDialog(playerid, DIALOG_DIVER_SELL_ITEMS, DIALOG_STYLE_LIST,
"{FF5252}Продажа предметов", dialog, "Продать всё", "Отмена");
return 1;
}

в нем новые ошибки.
../gamemodes/vodo.pwn(391) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(391) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(392) : error 035: argument type mismatch (argument 2)


В прошлом модуле с таким кодом "
static Diver_ShowBoatMenu(playerid)
{
new dialog[1024]; // Увеличим размер на всякий случай

format(dialog, sizeof(dialog),
"{FF0000}Гидроцикл\t{FFFFFF}%d руб\t{999999}Скоростной\n\
{FF0000}Моторная лодка\t{FFFFFF}%d руб\t{999999}Надёжный\n\
{FF0000}Speedy Yacht\t{FFFFFF}%d руб\t{999999}Комфортный\n\
{FF0000}Marine Yacht\t{FFFFFF}%d руб\t{999999}Премиальный\n\
{FF0000}Sea Yacht\t{FFFFFF}%d руб\t{999999}Роскошный\n\
{FF0000}Ocean Yacht\t{FFFFFF}%d руб\t{999999}Элитный",
DIVER_BOAT_PRICE_JETSKI,
DIVER_BOAT_PRICE_MOTOR,
DIVER_BOAT_PRICE_SPEEDY,
DIVER_BOAT_PRICE_MARINE,
DIVER_BOAT_PRICE_SEA,
DIVER_BOAT_PRICE_OCEAN
);

ShowPlayerDialog(playerid, DIALOG_DIVER_RENT_BOAT, DIALOG_STYLE_TABLIST, "{FF5252}Выберите тип лодки", dialog, "Арендовать", "Отмена");
return 1;
}
" Ошибок нету.
 
Янв
475
625
Пользователь
Привет! Ошибка argument type mismatch (несоответствие типов аргументов) в твоем коде возникает из-за неправильного использования функции format.
В чем проблема?
В строках с format(line, (line), ...) ты передаешь массив line во второй аргумент, где функция ожидает целое число (размер этого массива). Компилятор Pawn не понимает, зачем ты суешь ему строку там, где он ждет число.
Вместо (line) нужно использовать оператор sizeof(line).
Исправленный код
Вот рабочий вариант твоего скрипта:

static Diver_ShowBoatMenu(playerid)
{
new dialog[512];
new line[128];

// Первая строка записывается сразу в dialog
format(dialog, sizeof(dialog), "{FF0000}Гидроцикл\t{FFFFFF}%d руб\t{999999}Скоростной\n", DIVER_BOAT_PRICE_JETSKI);

// Для остальных строк используем sizeof(line)
format(line, sizeof(line), "{FF0000}Моторная лодка\t{FFFFFF}%d руб\t{999999}Надёжный\n", DIVER_BOAT_PRICE_MOTOR);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Speedy Yacht\t{FFFFFF}%d руб\t{999999}Комфортный\n", DIVER_BOAT_PRICE_SPEEDY);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Marine Yacht\t{FFFFFF}%d руб\t{999999}Премиальный\n", DIVER_BOAT_PRICE_MARINE);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Sea Yacht\t{FFFFFF}%d руб\t{999999}Роскошный\n", DIVER_BOAT_PRICE_SEA);
strcat(dialog, line);

format(line, sizeof(line), "{FF0000}Ocean Yacht\t{FFFFFF}%d руб\t{999999}Элитный", DIVER_BOAT_PRICE_OCEAN);
strcat(dialog, line);

ShowPlayerDialog(playerid, DIALOG_DIVER_RENT_BOAT, DIALOG_STYLE_TABLIST, "{FF5252}Выберите тип лодки", dialog, "А
рендовать", "Отмена");
}
спасибо за ИИ ( на будущие , код в BB code - code вноси
 
Окт
12
0
Пользователь
static Diver_SellItems(playerid)
{
if(!g_PlayerDiver[playerid])
{
SendClientMessage(playerid, 0xFF0000FF, "Вы не работаете водолазом!");
return 0;
}

new dialog[2048];
format(dialog, sizeof(dialog), "{FFFFFF}Название\tКол-во\tЦена за шт.\n");

new count = 0;
for(new i = 0; i < g_DiverItemsCount; i++)
{
new item_id = g_DiverItems[DITEM_ITEMID];
new item_count = Diver_GetItemCount(playerid, item_id);
if(item_count > 0)
{
new line[128];
format(line, sizeof(line), "%s\t%d\t%d руб.\n", g_DiverItemNames, item_count, g_DiverItems[DITEM_PRICE]);
strcat(dialog, line);
count++;
}
}

if(count == 0)
{
SendClientMessage(playerid, 0xFF0000FF, "У вас нет найденных предметов для продажи!");
return 0;
}

ShowPlayerDialog(playerid, DIALOG_DIVER_SELL_ITEMS, DIALOG_STYLE_LIST,
"{FF5252}Продажа предметов", dialog, "Продать всё", "Отмена");
return 1;
}

в нем новые ошибки.
../gamemodes/vodo.pwn(391) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(391) : error 035: argument type mismatch (argument 1)
../gamemodes/vodo.pwn(392) : error 035: argument type mismatch (argument 2)
Как исправить?
 
Сверху