Варнинг 202 как исправить павно

Список часто встречаемых ошибок в 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 ПОСЛЕ
}

Добавить комментарий