Список часто встречаемых ошибок в pawno
Данная тема содержет наиболее распространенные ошибки и предупреждения в pawno при создании скриптов sa-mp
Когда компилятор находит ошибку в файле, то выводится сообщение, в таком порядке:
- Имя файла
- номер строки компилятора были обнаружены ошибки в скобках, непосредственно за именем
- класс error (ошибка, фатальная ошибка или предупреждение)
- номер ошибки
- описание ошибки
Например:
hello.pwn(3) : error 001: expected token: ";", but found "{"
Примечание: эта ошибка может быть на линии, над линией, что показано, так как компилятор не всегда может установить ошибку перед проанализировав полное выражение.
Категории ошибок
Ошибки разделяются на три класса:
Ошибки (errors)
- Описание ситуации когда компилятор не может скомпилировать код
- Ошибки номеруются от 1 до 99
Критические ошибки (Fatal errors)
- Критические ошибки и описание, от которых компилятор не может восстановиться.
- Парсинг прерывается (нет отклика программы).
- Критические ошибки номеруются от 100 до 199.
Предупреждения ( Warings )
- Предупреждения указывают на возможную причину возникновения багов, вылетов.
- Предупреждения номеруются от 200 до 299.
Распространенные ошибки
001: expected token (ожидаемый знак)
Обязательный знак отсутствует
Пример:
error 001: expected token: ";", but found "return" main() { print("test") // тут должна быть точка с запятой ";" return 1; }
002: only a single statement (or expression) can follow each “case” (только одно выражение может быть в одной строке с “case”
В каждом case оператора switch без фигурных скобок может содержаться только один оператор если больше нужно ставить скобки.
Пример:
error 002: only a single statement (or expression) can follow each "case"
main() { switch(x) { case 0: print("hello"); print("hello"); } return 1; }
Так же могут быть еще и предупреждения и дополнительные ошибки:
error 002: only a single statement (or expression) can follow each "case" warning 215: expression has no effect error 010: invalid function or declaration
Вот так это можно исправить:
main() { switch(x) { case 0: { print("hello"); print("hello"); } } return 1; }
004: function “x” is not implemented (Функция “x” не используется
Часто бывает что в функции выше пропущена скобка.
025: function heading differs from prototype
Это проиходит когда в функции не совпадают аргументы.
К примеру:
forward MyFunction(playerid); public MyFunction(player, vehicleid);
Исправляем:
forward MyFunction(playerid, vehicleid); public MyFunction(playerid, vehicleid);
035: argument type mismatch (argument x) (не совпадение типов аргумента(ов)
К примеру когда в место playerid – integer аргумента стоит “playerid” – string или 0.5 – float
Пример:
error 035: argument type mismatch (argument 1)
Kick("playerid"); // Как видите в место целого числа (integer) стоит строка
Исправляем:
Kick(playerid);
046: unknown array size (variable x)
Не указан размер массива.
Пример:
new string[]; string = "pawno";
Исправляем:
new string[6]; string = "pawno";
047: array sizes do not match, or destination array is too small
Размер массива мал или не совпадает.
- Многомерные массивы должны иметь одинаковый размер
- Одномерные массив к которому присваивают(правый должен иметь больше размер чем левый.
new destination[8]; new msg[] = "Hello World!"; destination = msg;
В приведенном выше коде размер строки “Hello world!” ровна 12 байт а массив к которому присваиваем имеет размер 8 байт из этого и складывается ошибка.
Если увеличить размер массива destination до 13 байт то ошибка исправится.
new destination[13]; new msg[] = "Hello World!"; destination = msg;
055: start of function body without function header
Начало тела функции без функции заголовка.
Критические ошибки (FATAL ERRORS)
100: cannot read from file: "<file>"
Компилятор не может найти или прочитать указанный файл, убедитесь что он находится по адресу (<папка с сервером>pawnoinclude).
Пример:
#include <a_sam>
Исправляем:
#include <a_samp>
Совет
Не нужно открывать ваш код дважды, не нужно тыкать несколько раз на файл. Откройте сначала редактор, потом ваш проект.
Предупреждения( Warnings )
202: number of arguments does not match definition
Описание ошибки довольно понятное, это значит что вы используете слишком мало или слишком много аргументов в функции, обычно это признак того что функция используется не правильно, обратитесь к документации.
Функция GetPlayerHealth согласно официальному источнику wiki.sa-mp.com имеет два аргумента playerid и Float:health ссылка
Пример:
GetPlayerHealth(playerid);
Исправляем:
new Float:health; GetPlayerHealth(playerid, health);
203: symbol is never used: “symbol”
Вы создали переменную или функцию и она ни где не используется тогда ищите в окне компилятора это предупреждение, это не как не влияет на код и не угражает ему, так что если вы удалите переменную или функцию которая не используется, то вы сэкономите память.
Пример:
stock SomeFunction() { // Blah }
204: symbol is assigned a value that is never used: “symbol”
Это предупреждение аналогично к предыдущему, разница в том что к переменной что то присвоено и оно не как не используется, это безопасно 🙂
209: function should return a value
Функция ничего не возвращает, вы создали её:
SomeFunction() { // Blah }
Решили её присвоить к чему нибудь к примеру:
new result = SomeFunction(); // ожидает 1
Вот так исправить
SomeFunction() { // Blah return 1; }
211: possibly unintended assignment
Если вы введете оператор присваивания в условии и оно не будет в круглых скобках то будет предупреждение
if(vehicle = GetPlayerVehicleID(playerid)) // ошибка if(vehicle == GetPlayerVehicleID(playerid)) // все норм if((vehicle = GetPlayerVehicleID(playerid))) // все норм, так значение функции присвоится к переменной потом выражение вычесляется { то есть это как if(IsPlayerConnected(playerid)}
213: tag mismatch ( несовпадение тегов)
Это происходит когда:
- Тип переменной указан не верно или не имеет его
- Выражения по обе стороны бинарного оператора имеют разные теги
- В пременную возвращен не верный тип переменной или не имеющий его.
- Индексирование массива, который требует тегами индекс без тега или неправильное имя тега
Часто это бывает на 3d текстах или тексдравах Text3D, Text
Не правильно:
new health; GetPlayerHealth(playerid, health);
Правильно:
new Float:health; GetPlayerHealth(playerid, health);
217: loose indentation
Компилятор выдаст ошибку если не соблюдены отступы.
Правильно:
if(condition) { action(); result(); }
Не правильно:
if(condition) { action(); result(); }
Отступы делаются по нажатью кнопки TAB это практика в программировании для удобного чтения кода.
219: local variable “foo” shadows a variable at a preceding level
Локальная переменная в тени глобальной то есть над локальной переменной создана точно такая же глобальная. В практике программирования префиксом глобальной переменной является “g” в начале переменной к примеру
new gPlayerMoney
любыми способами избегайте их.
К примеру:
new team[MAX_PLAYERS]; // объявляем глобальную переменную function(playerid) { new team[MAX_PLAYERS]; // создаем еще одну, и получаем статью 219 кодекса ошибок :D team[playerid] = random(5); }
Решение:
Просто переименуйте локальную переменную team.
225: unreachable code ( недоступный код )
Это происходит тогда когда вы пишите какой нибудь код после return, после return’а код не выполняется и он считается бесполезным
Пример:
#include <zcmd.inc>
CMD:jetpack(playerid, params[]) { #pragma unused params if(IsPlayerAdmin(playerid)) { SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK); return 1; // завершаем процесс } else { SendClientMessage(playerid, -1, "Вы не администратор"); return 1; // завершаем процесс } SendClientMessage(playerid, -1, "Вы ввели команду /jp"); // Этот код не доступен он не будет выполнятся. }
Решение:
CMD:jetpack(playerid, params[]) { #pragma unused params if(IsPlayerAdmin(playerid)) { SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK); } else { SendClientMessage(playerid, -1, "Вы не администратор"); } SendClientMessage(playerid, -1, "Вы ввели команду /jp"); // этот код запустится return 1; // завершаем процесс }
235: public function lacks forward declaration (symbol “symbol”)
Отсутствует forward.
Не правильно:
public MyFunction() { }
Правильно:
forward MyFunction(); public MyFunction() { }
Надеюсь эта статья поможет вам в языке программирования, желаю вам не повторять ошибок дважды и что бы ваш код был быстрым, надежным!
Оставляйте ваши отзывы, ставьте плюсы, пишите недостатки ошибки, недостатки статьи или их недочеты. Удачи в мире PAWNO!
CMD:checknomer(playerid, params[])
{
extract params -> new model_id; else return SendClientMessage(playerid, 0xCECECEFF, “Èñïîëüçóéòå: /checknomer [id ìîäåëè]”);
new query[90],
Cache: result,
rows;
mysql_format(dbHandle, query, sizeof query, “SELECT * FROM nomer_nastroyki_bd WHERE Model_ID=%d LIMIT 1”, model_id);
result = mysql_query(dbHandle, query, true);
rows = cache_num_rows();
if(rows)
{
nomera_settings[model_id][c_model_id] = cache_get_value_name_int(0, “Model_ID”);
nomera_settings[model_id][nomer_xpered] = cache_get_value_name_float(0, “x_p”);
nomera_settings[model_id][nomer_ypered] = cache_get_value_name_float(0, “y_p”);
nomera_settings[model_id][nomer_zpered] = cache_get_value_name_float(0, “z_p”);
nomera_settings[model_id][nomer_xrpered] = cache_get_value_name_float(0, “xr_p”);
nomera_settings[model_id][nomer_yrpered] = cache_get_value_name_float(0, “yr_p”);
nomera_settings[model_id][nomer_zrpered] = cache_get_value_name_float(0, “zr_p”);
nomera_settings[model_id][nomer_xzad] = cache_get_value_name_float(0, “x_z”);
nomera_settings[model_id][nomer_yzad] = cache_get_value_name_float(0, “y_z”);
nomera_settings[model_id][nomer_zzad] = cache_get_value_name_float(0, “z_z”);
nomera_settings[model_id][nomer_xrzad] = cache_get_value_name_float(0, “xr_z”);
nomera_settings[model_id][nomer_yrzad] = cache_get_value_name_float(0, “yr_z”);
nomera_settings[model_id][nomer_zrzad] = cache_get_value_name_float(0, “zr_z”);
new string1[256], string2[256];
format(string1, sizeof(string1), “Model: %d, xp: %f, yp: %f, zp: %f, xrp: %f, yrp: %f, zrp: %f”, nomera_settings[model_id][c_model_id], nomera_settings[model_id][nomer_xpered],
nomera_settings[model_id][nomer_ypered], nomera_settings[model_id][nomer_zpered], nomera_settings[model_id][nomer_xrpered], nomera_settings[model_id][nomer_yrpered], nomera_settings[model_id][nomer_zrpered]);
SendClientMessage(playerid, -1, string1);
format(string2, sizeof(string2), “Model: %d, xz: %f, yz: %f, zz: %f, xrz: %f, yrz: %f, zrz: %f”, nomera_settings[model_id][c_model_id], nomera_settings[model_id][nomer_xzad],
nomera_settings[model_id][nomer_yzad], nomera_settings[model_id][nomer_zzad], nomera_settings[model_id][nomer_xrzad], nomera_settings[model_id][nomer_yrzad], nomera_settings[model_id][nomer_zrzad]);
SendClientMessage(playerid, -1, string2);
}
else SendClientMessage(playerid, 0xCECECEFF, “Íîìåðîâ äëÿ äàííîãî àâòî íåò”);
cache_delete(result);
return 1;
}
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4334) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4335) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4336) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4337) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4338) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4339) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4340) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4341) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4342) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4343) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4344) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4345) : warning 202: number of arguments does not match definition
C:Userscrowsk1ckDesktopPawno Rusgamemodesnew.pwn(4346) : warning 202: number of arguments does not match definition
Pawn compiler 3.10.10 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 16012 bytes
Code size: 986216 bytes
Data size: 12071752 bytes
Stack/heap size: 16384 bytes; estimated max. usage=2036 cells (8144 bytes)
Total requirements:13090364 bytes
13 Warnings.
tmpobjid = CreateDynamicObject(19419,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.1,300.1);
AttachDynamicObjectToVehicle(tmpobjid, LSPDCar[14], 0.000, -0.170, 0.810, 0.000, 0.000, 0.000);
tmpobjid = CreateDynamicObject(19483,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.1,300.1);
SetDynamicObjectMaterial(tmpobjid, 0, 19162, "newpolicehats", "policehatmap1", 0);
SetDynamicObjectMaterialText(tmpobjid, 0, "Taxi", 140, "Ariel", 50, 0, -1, 0, 1);
AttachDynamicObjectToVehicle(tmpobjid, Car[14], 0.000, 1.380, 0.232, -0.099, -18.700, -178.100);
tmpobjid = CreateDynamicObject(19483,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.1,300.1);
SetDynamicObjectMaterialText(tmpobjid, 0, "Taxi", 140, "Ariel", 50, 0, -1, 0, 1);
AttachDynamicObjectToVehicle(tmpobjid, Car[14], 0.000, 1.380, 0.232, -179.700, 162.299, 178.100);
tmpobjid = CreateDynamicObject(19483,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
SetDynamicObjectMaterial(tmpobjid, 0, 19162, "newpolicehats", "policehatmap1", 0);
SetDynamicObjectMaterialText(tmpobjid, 0, "PormO", 140, "Ariel", 50, 0, -1, 0, 1);
AttachDynamicObjectToVehicle(tmpobjid, Car[14], 0.000, -1.679, 0.221, 1.199, -15.999, -178.300);
tmpobjid = CreateDynamicObject(19483,0.0,0.0,-1000.0,0.0,0.0,0.0,-1,-1,-1,300.0,300.0);
SetDynamicObjectMaterial(tmpobjid, 0, 19162, "newpolicehats", "policehatmap1", 0);
SetDynamicObjectMaterialText(tmpobjid, 0, "PormOn", 140, "Ariel", 50, 0, -1, 0, 1);
AttachDynamicObjectToVehicle(tmpobjid, Car[14], 0.000, -1.679, 0.221, 0.299, -12.200, -1.799);
Доброго времени суток форумчане! У меня в моде при компиляции выдает 202 warning. Пробовал по разному исправить, не получилось.
Вот warning`s:
PHP:
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54388) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54389) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54390) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54392) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54393) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54395) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54411) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54412) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54413) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54415) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54416) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54418) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54435) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54436) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54437) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54439) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54440) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54442) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54458) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54459) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54460) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54462) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54463) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54465) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54482) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54483) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54484) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54486) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54487) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54489) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54505) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54506) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54507) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54509) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54510) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54512) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54528) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54529) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54530) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54532) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54533) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54535) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54551) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54552) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54553) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54555) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54556) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54558) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54578) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54579) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54580) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54582) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54583) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54585) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54601) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54602) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54603) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54605) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54606) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54608) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54624) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54625) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54626) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54628) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54629) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54631) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54670) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54671) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54672) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54674) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54675) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54677) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54693) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54694) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54695) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54697) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54698) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54700) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54716) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54717) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54718) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54720) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54721) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54723) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54739) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54740) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54741) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54743) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54744) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54746) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54762) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54763) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54764) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54766) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54767) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54769) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54785) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54786) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54787) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54789) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54790) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54792) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54808) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54809) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54810) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54812) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54813) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54815) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54834) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54835) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54836) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54838) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54839) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54841) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54857) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54858) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54859) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54861) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54862) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54864) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54880) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54881) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54882) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54884) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54885) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54886) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54888) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54904) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54905) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54906) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54908) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54909) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54911) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54927) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54928) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54929) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54931) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54932) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54934) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54950) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54951) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54952) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54954) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54955) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54957) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54973) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54974) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54975) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54977) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54978) : warning 202: number of arguments does not match definition
D:UsersAdminDesktopìîä ìóñêóëRealiTY RPgamemodesGame-RealiTY.pwn(54980) : warning 202: number of arguments does not match definition
А вот строки в который warning`s:
PHP:
ip[0] = strtok(word,index,',');
ip[1] = strtok(word,index,',');
ip[2] = strtok(word,index,',');
Вот сам код (с этими строками):
PHP:
stock ZP(word[])
{
if(strlen(word)>22) return 0;
if(strfind(word,",", true)==-1) return 0;
new ip[5][256],index;
ip[0] = strtok(word,index,',');
ip[1] = strtok(word,index,',');
ip[2] = strtok(word,index,',');
if(strfind(word,":",true)>0){
ip[3] = strtok(word,index,':');
if(strfind(word,",",true)>0) ip[4] = strtok(word,index,',');else ip[4] = strtok(word,index);
} else {
if(strfind(word,",",true)==strlen(word)) ip[3] = strtok(word,index,',');else ip[3] = strtok(word,index);
valstr(ip[4],0);
}
if(!IsNumeric(ip[0])||!IsNumeric(ip[1])||!IsNumeric(ip[2])||!IsNumeric(ip[3])||!IsNumeric(ip[4])
||!strlen(ip[0])||!strlen(ip[1])||!strlen(ip[2])||!strlen(ip[3])||!strlen(ip[4])
||(strval(ip[0])==192&&strval(ip[1])==168)
||(strval(ip[0])==172&&strval(ip[1])>=16&&strval(ip[1])<=31)
||strval(ip[0])==10||(strval(ip[0])==127&&strval(ip[1])==0&&strval(ip[2])==0&&strval(ip[3])==1)) return 0;
return 1;
}
И таких варингов у меня много! Как исправить данную проблему?
Как исправить Warning
Значение Warning можно посмотреть .
warning 219 писал(а):warning 219: local variable “%s” shadows a variable at a preceding level
Это значит что переменная дважды объявлена. Пример:
Что делать?
1. мы можем одну из них удалить;
2. можем изменить;
Но не стоит забывать что при изменении переменной нам нужно заменить все что её касается. Пример правильного изменения:
Код: Выделить всё
new fast1;
fast1 = CreatePickup(1239, 2, 1380.3220,-1771.3235,13.5469);
warning 217 писал(а):warning 217: loose indentation
Это значит что код не табулирован (не построен лесенкой) Пример:
Код: Выделить всё
stock LSNews(color,const string[])
{
for(new i = 0; i < MAX_PLAYERS; i++){
if(IsPlayerConnected(i)){
if(!lNews[i]){
SendClientMessage(i, color, string);}}}
Пример правильного табулирования:
Код: Выделить всё
stock LSNews(color,const string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!lNews[i])
{
SendClientMessage(i, color, string);
}
}
}
}
Можем выровнять все вручную или поставить:
или при помощи все исправить. pragma tabsize – просто маскирует эти warning и не более.
warning 235 писал(а):warning 235: public function lacks forward declaration %s
Это означает что у функции нет forward Например Вы создали паблик:
И увас появляется этот варинг что же делать? Просто добавляем forward:
Если вы не хотите каждый раз писать forward то можно сделать так:
Код: Выделить всё
#define public:%1(%2) forward %1(%2);
public %1(%2)
И тогда новые паблики мы делаем так:
warning 216 писал(а):warning 216: nested comment ;
Вот так это выглядит:
исправление:
warning 213 писал(а):warning 213: tag mismatch
Это означает не совпадения аргументов вот допустим самый простой случай:
Код: Выделить всё
#define CreateObject CreateDynamicObject
#define MoveObject MoveDynamicObject
решение:
Код: Выделить всё
#define CreateObject, CreateDynamicObject
#define MoveObject, MoveDynamicObject
warning 201 писал(а):warning 201: redefinition of constant/macro
Двойное определение одинаковой константы define:
Код: Выделить всё
#define OnPlayerEnterRaceCheckpoint
#define OnPlayerEnterRaceCheckpoint
исправление – одну удалить:
warning 200 писал(а):warning 200: symbol “%s” is truncated to 31 characters
Это обозначает что мы при создании переменной ввели больше 31 символа. Пример:
Решение – сменить название или укоротить.
warning 202 писал(а):warning 202: number of arguments does not match definition
Это значит что у нас не совпадают аргументы. Возьмем самый простой пример:
Код: Выделить всё
Create3DTextLabel(" Текст .",0xFFA500FF,.0120,456.2717,35.1719,20.0);
Наша ошибка:
Код: Выделить всё
-2041.0120,456.2717,35.1719,20.0
-2041.0120,456.2717,35.1719--------- это на ша координата (она нас не интересует)
20.0--------вот наша ошибка (20----это расстояние с которого наш текст будет виден)
а вот 0 это у нас testLOS- линия видимости
Нам 0 нужно заменить на 1
Код: Выделить всё
Create3DTextLabel(" Текст .",0xFFA500FF,1111.1111,111.1111,11.1111,20.1);
warning 203 писал(а):warning 203: symbol is never used: %s
Это означает что данный символ нигде не используется. Пример – создадим переменную:
И тут у нас возникает вопрос?:
Код: Выделить всё
(2378) warning 203: symbol is never used: "respon"
Что же делать? Ответ прост – найти эту переменную и удалить.
warning 204 писал(а):warning 204: symbol is assigned a value that is never used %s
Это значит что создали переменную и массив, а он негде не используется:
Решение – просто удалить.
warning 209 писал(а):warning 209: function “%s” should return a value
Это значит что наша функция не возвращается (простыми словами нет return 1; или return 0;). Пример:
Код: Выделить всё
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys == 1024)
{
OnPlayerCommandText(playerid,"/Blablabal");
return 1; <========Вот наш return ДО
}
}
Решение:
Код: Выделить всё
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys == 1024)
{
OnPlayerCommandText(playerid,"/Blablabal");
}
return 1; <========Вот наш return ПОСЛЕ
}