Павно ошибка 213


#1

Пользователь офлайн
 

Отправлено 18 августа 2019 — 23:50

  • Прохожий

При компилировании pawn ругается на строчку «new speed = SpeedVehicle(playerid) * 1.25;»
Ошибка warning 213: tag mismatch: expected tag none («_»), but found «Float»
Как исправить эту ошибку? Если можно, то не можете дать небольшое объяснение как её правильно исправлять, а не просто скинуть исправленную строчку.

0



#2

Отправлено 19 августа 2019 — 08:58

  • Evil Scripter

Ну у тебя же чёрным по белому написано, что компилятор обнаружил несовпадение тегов: на данной строке ожидался тег «_» (целочисленный, грубо говоря), а у тебя там есть переменные с тегом «Float». Чтоб исправить, нужно привести всё к одному тегу. Тут нужно уже по остальному коду смотреть, чтоб понять как всё должно было быть.

Правильнее всего было бы так:

new Float:speed = SpeedVehicle(playerid) * 1.25;

Но во всяких говномодах скорость записывают целым числом и тогда стоит попробовать сделать так:

new speed = floatround(SpeedVehicle(playerid) * 1.25);

Сообщение отредактировал DeimoS: 19 августа 2019 — 08:58

0



#3

Отправлено 19 августа 2019 — 13:30

  • Прохожий

Просмотр сообщенияDeimoS (19 августа 2019 — 08:58) писал:

Нажмите сюда, чтобы прочитать это сообщение. [

Показать

]

Спасибо большое. Теперь заработало

Сообщение отредактировал [email protected]: 19 августа 2019 — 13:34

0


  • ← Предыдущая тема
  • Вопросы по скриптингу
  • Следующая тема →

  • Вы не можете создать новую тему
  • Тема закрыта


1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей

Доброго дня, пишу мод с нуля не первый раз и сталкиваюсь постоянно вот с такой ошибкой, вроде бы ей внимания не предавал, как ее решить?

Сами ошибки:

C:UserspcDesktopTestgamemodestest.pwn(89) : warning 213: tag mismatch
C:UserspcDesktopTestgamemodestest.pwn(264) : warning 213: tag mismatch

Строчки, код

[89] mysql_tquery(dbHandle, query, "CheckReg", "i", playerid);

[264] dbHandle = mysql_connect(MYSQL_HOST, MYSQL_DB, MYSQL_PASS, MYSQL_USER);

В базе данных так же появились ошибки и нет подключения:

[03:08:38 12/11/22] [ERROR] mysql_connect - empty connection data specified
[03:08:38 12/11/22] [ERROR] mysql_errno - invalid connection handle (id: 1)
[03:08:38 12/11/22] [ERROR] mysql_set_charset - invalid connection handle (id: 1)

Отредактировано 10 декабря, 2022 пользователем Alex_Morenno

error 001: expected token: "%s", but found "%s" - ожидался символ: "%s", но был найден "%s";
error 002: only a single statement (or expression) can follow each "case" - только одно заявление (или выражение) могут следовать за "case";
error 003: declaration of a local variable must appear in a compound block - объявленная локальная переменная должна использоваться в этом же блоке;
error 004: function "%s" is not implemented - функция %s не реализована;
error 005: function may not have arguments - функция не имеет аргументов;
error 006: must be assigned to an array - должен быть присвоен массив;
error 007: operator cannot be redefined - оператор не может быть установлен еще раз;
error 008: must be a constant expression; assumed zero - должно быть постоянным выражением; равным нулю;
error 009: invalid array size (negative or zero) - неверный размер массива (отрицательный или 0);
error 010: invalid function or declaration - неизвестная функция или декларация;
error 011: invalid outside functions - неверно вне функции;
error 012: invalid function call, not a valid address - неверный вызов функции, неверный адрес;
error 013: no entry point (no public functions) - нет точки входа (не public функция);
error 014: invalid statement; not in switch - неверный оператор; не в switch;
error 015: "default" case must be the last case in switch statement - "default" должен быть последним условием в switch;
error 016: multiple defaults in "switch" - несколько "default" в switch;
error 017: undefined symbol "%s" - неизвестный символ "%s";
error 018: initialization data exceeds declared size - данные массива превышают его размер;
error 019: not a label: %s" - не метка "%s";
error 020: invalid symbol name "%s" - неверное имя символа "%s";
error 021: symbol already defined: %s" - символ уже объявлен: "%s";
error 022: must be lvalue (non-constant) - должно быть левосторонним (нет постоянной);
error 023: array assignment must be simple assignment - назначение массива должно быть простым;
error 024: "break" or "continue" is out of context - "break" или "continue" вне контекста;
error 025: function heading differs from prototype - функция заголовка отличается от прототипа;
error 026: no matching "#if..." - не найдено "#if...";
error 027: invalid character constant - недопустимый символ в постоянной;
error 028: invalid subscript (not an array or too many subscripts): "%s" - неверный индекс (это не массив или слишком много индексов): "%s";
error 029: invalid expression, assumed zero - неверное выражение, нет результата;
error 030: compound statement not closed at the end of file - составной оператор не закрыт в конце файла;
error 031: unknown directive - неизвестная директива;
error 032: array index out of bounds (variable "%s") - индекс массива превышен;
error 033: array must be indexed (variable "%s") - массив должен быть проиндексирован;
error 034: argument does not have a default value (argument %d) - аргумент не имеет начального значения (аргумент %d);
error 035: argument type mismatch (argument %d) - несоответствие типа аргумента (аргумент %d);
error 036: empty statement - пустой оператор;
error 037: invalid string (possibly non-terminated string) - неправильная строка;
error 038: extra characters on line - лишние символы в строке;
error 039: constant symbol has no size - символьная константа не имеет размера;
error 040: duplicate "case" label (value %d) - несколько раз объявлен "case" с одним тем же параметром;
error 041: invalid ellipsis, array size is not known - размер массива неизвестен;
error 042: invalid combination of class specifiers - недопустимое сочетание класса;
error 043: character constant exceeds range for packed string - символьная константа превышает размер строки;
error 044: positional parameters must precede all named parameters - позиционные параметры должны предшествовать всем именованным параметрам;
error 045: too many function arguments - слишком много аргументов у функции;
error 046: unknown array size (variable "%s") - неизвестный размер массива;
error 047: array sizes do not match, or destination array is too small - размеры массива конфликтуют, либо целевой массив слишком маленький;
error 048: array dimensions do not match - размеры массива не совпадают;
error 049: invalid line continuation - неправильное продолжение строки;
error 050: invalid range - неверный диапазон;
error 051: invalid subscript, use "[ ]" operators on major dimensions - неправильный индекс, используйте "[]";
error 052: multi-dimensional arrays must be fully initialized - много-размерные массивы должны быть полностью определены;
error 053: exceeding maximum number of dimensions - превышение максимального числа измерений;
error 054: unmatched closing brace - не найдена закрывающаяся скобка;
error 055: start of function body without function header - начало функции без заголовка;
error 056: arrays, local variables and function arguments cannot be public (variable "%s") - массивы, локальные переменные и аргументы функции не могут быть общедоступными;
error 057: unfinished expression before compiler directive - незавершенное выражение для компилятора;
error 058: duplicate argument; same argument is passed twice - дублирование аргумента; Аргумент передается несколько раз;
error 059: function argument may not have a default value (variable "%s") - аргумент не может иметь значение по-умолчанию;
error 060: multiple "#else" directives between "#if ... #endif" - Несколько "#else" между "#if ... #endif" - несколько "#else" между "#if и #endif";
error 061: "#elseif" directive follows an "#else" directive - "#else" перед "#elseif";
error 062: number of operands does not fit the operator - количество операндов не соответствует оператору;
error 063: function result tag of operator "%s" must be "%s" - Результат функции %s должен быть %s;
error 064: cannot change predefined operators - невозможно изменить уже определенные операторы;
error 065: function argument may only have a single tag (argument %d) - в этой функции может быть только один аргумент;
error 066: function argument may not be a reference argument or an array (argument "%s") - аргумент функции не может быть ссылкой или массивом;
error 067: variable cannot be both a reference and an array (variable "%s") - Переменная не может быть как массив или ссылка;
error 068: invalid rational number precision in #pragma - неверное число в #pragma;
error 069: rational number format already defined - формат рационального числа уже определен;
error 070: rational number support was not enabled - рациональное число не поддерживается;
error 071: user-defined operator must be declared before use (function "%s") - объявленный оператор должен быть перед использованием;
error 072: "sizeof" operator is invalid on "function" symbols - оператор "sizeof" не может быть использован для символов функции;
error 073: function argument must be an array (argument "%s") - аргумент %s должен быть массивом;
error 074: #define %s must start with an alphabetic character - #define должен начинаться с буквы;
error 075: input line too long (after substitutions - введенная строка слишком длинная;
error 076: syntax *error in the expression, or invalid function call - неправильный синтаксис или неправильный вызов функции;
error 077: malformed UTF-8 encoding, or corrupted file: %s - плохая кодировка UTF-8 или плохой файл: %s;
error 078: function uses both "return" and "return <value>" - функция использует "return" и "return <значение>";
error 079: inconsistent return types (array & non-array) - несовместимость типов возвращенных результатов;
error 080: unknown symbol, or not a constant symbol (symbol "%s") - неизвестный или непостоянный символ: %s;
error 081: cannot take a tag as a default value for an indexed array parameter (symbol "%s") - не может принимать тег в качестве значения по умолчанию для параметра индексированного массива;
error 082: user-defined operators and native functions may not have states - созданные функции или операторы не имеют состояния;
error 083: a function may only belong to a single automaton (symbol "%s") - функция может принадлежать только к одной автоматизации;
error 084: state conflict: one of the states is already assigned to another implementation (symbol "%s") - конфликт состояния: одно из состояний уже назначено на другую реализацию;
error 085: no states are defined for function "%s" - нет состояний, определенных для функции "%s";
error 086: unknown automaton "%s" - неизвестная автоматизация "%s";
error 087: unknown state "%s" for automaton "%s" - неизвестное состояние "%s" в автоматизации "%s";
error 088: number of arguments does not match definition - количество аргументов не совпадает с объявленными в функции;

new Float:zones_points_0[] = { // Координаты X,Y, которые создают динамическую зону на карте, которая в свою очередь описывают круг вокруг Лос-Сантос
        -1025.0,-89.0,-941.0,99.0,-825.0,295.0,-521.0,359.0,-177.0,359.0,147.0,291.0,403.
0,415.0,879.0,543.0,1067.0,635.0,1287.0,607.0,
        1635.0,523.0,2303.0,471.0,2691.0,495.0,2959.0,351.0,2995.0,-561.0,3015.0,-1529.0,
2991.0,-2457.0,2939.0,-2921.0,1927.0,-3005.0,807.0,-2917.0,
        223.0,-2897.0,-45.0,-2173.0,-45.0,-1689.0,23.0,-1565.0,19.0,-1433.0,19.0,-1093.0,
-17.0,-917.0,-121.0,-885.0,-257.0,-761.0,-321.0,-413.0,
        -369.0,-333.0,-705.0,-337.0,-1017.0,-345.0,-1025.0,-89.0
        };

Как исправить 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 ПОСЛЕ
}

Понравилась статья? Поделить с друзьями:
  • Павно ошибка 033
  • Павно ошибка 002
  • Павлик рос круглой сиротой исправьте ошибки
  • Павел синицын бекас ошибка резидента
  • П1602 ошибка лада приора