Error 040 duplicate case label value 1

Ошибка: error 001: expected token: ";", but found "бла-бла" Решение: Идём на строку выше той, что указана в ошибке и ставим в конце ; (точку с запятой). Ошибка: error 021: symbol already defined: "бла-бла" или warning 219: local variable "бла-бла" shadows a variable at a preceding level...

Ошибка: error 001: expected token: «;», but found «бла-бла»

Решение: Идём на строку выше той, что указана в ошибке и ставим в конце ; (точку с запятой).

Ошибка: error 021: symbol already defined: «бла-бла» или warning 219: local variable «бла-бла» shadows a variable at a preceding level

Решение: Ошибка появляется, если вы несколько раз создали одну и ту же переменную,stock,public.Для решения вам просто требуется удалить дубликат.

Ошибка: error 024: «break» or «continue» is out of context

Решение: break,continue используется только в цикле (for), данная ошибка появляется, если вы использовали их не в цикле. Для решения вам нужно просто заменить их.

Ошибка: error 032: array index out of bounds (variable «cartek»)

Решение: Ошибка появляется, если у вас превышен индекс массива. Для решение вам просто надо увеличить ‘число’ в создании массива.

Ошибка: error 040: duplicate «case» label (value %d)

Решение: Ошибка появляется, если вы два раза используете case с одним и тем же параметром.

 

Ошибка: fatal error 100: cannot read from file: «бла-бла»

Решение: Ошибка появляется, если вы подключили инклуд и не добавили в папку pawno/include. Для решения вам просто надо добавить в папку данный инклуд.

Ошибка: warning 203: symbol is never used: «бла-бла»

Решение: Ошибка появляется, если созданная переменная нигде не используется. Для решения вам просто требуются ещё удалить.

Ошибка: warning 209: function «бла-бла» should return a value

Решение: Для решения проблемы в данной функции/команде вам следует добавить в конец return true/return false.

Ошибка: warning 217: loose indentation

Решение: Для решения проблемы выровняйте строки.

Ошибка: warning 235: public function lacks forward declaration (symbol «бла-бла»)

Решение: Ошибка появляется, если вы создали public,а forward нет. Для решения вам просто надо создать forward к public’y.

По мере возможности тема будет дополняться

Posts: 182
Threads: 85
Joined: Jan 2014

Reputation:

0

Код:

(740) : error 040: duplicate "case" label (value 1)

help, how to problem fix?

Код:

	    
                case DCLASS:
		{
		  if(!response) return ShowPlayerDialog(playerid,DCLASS,DIALOG_STYLE_LIST,"{0080AA}Vбlassz kategуriбt","AssaultnSnipernSupporter","Kivбlaszt","");
	  	  if(response)
                  {
	           if(listitem == 0)
	           {
	                        ResetPlayerWeapons(playerid);
	                        gClass[playerid] = ASSAULT;
				GivePlayerWeapon(playerid,24,150);
				GivePlayerWeapon(playerid,31,300);
				GivePlayerWeapon(playerid,29,200);
				SendClientMessage(playerid,COLOR_GREEN,"[INFO]: Kivбlasztott kategуria, Assault.");
				pInfo[playerid][pRank] = 0;
	          }
	        if(listitem == 1)
	        {
	            ResetPlayerWeapons(playerid);
	            gClass[playerid] = SNIPER;
	            GivePlayerWeapon(playerid,24,150);
	            GivePlayerWeapon(playerid,29,200);
	            GivePlayerWeapon(playerid,34,200);
                    SendClientMessage(playerid,COLOR_GREEN,"[INFO]: Kivбlasztott kategуria, Sniper.");
                    pInfo[playerid][pRank] = 1;
	        }
	        if(listitem == 2)
	        {
    			ResetPlayerWeapons(playerid);
				SendClientMessage(playerid,COLOR_GREEN,"[INFO]: Kivбlasztott kategуria, Support.");
				GivePlayerWeapon(playerid,25,200);
				GivePlayerWeapon(playerid,29,200);
				GivePlayerWeapon(playerid,24,150);
				gClass[playerid] = SUPPORT;
				pInfo[playerid][pRank] = 2;
	        }
   	       }
	    } <<<<<<<<<<<<<<ERROR
	  case DIALOG_VASARLAS:
	   {
 	      if(!response) return 1;
	      if(response)
              {
	        if(listitem == 0)
	        {
	            SetPlayerArmour(playerid,100);
				SendClientMessage(playerid,COLOR_GREEN,"[INFO]: Sikeres vбsбrlбs! Pбncйlzat megvйve!");
				pInfo[playerid][Penz] -= 15000;
	        }
	        if(listitem == 1)
	        {
	            SetPlayerHealth(playerid,100);
                SendClientMessage(playerid,COLOR_GREEN,"[INFO]: Sikeres vбsбrlбs! Йlet  megvйve!");
               	pInfo[playerid][Penz] -= 10000;
	        }
	        if(listitem == 2)
	        {
				GivePlayerWeapon(playerid,16,3);
				SendClientMessage(playerid,COLOR_GREEN,"[INFO]: Sikeres vбsбrlбs! Grбnбt megvйve!");
				pInfo[playerid][Penz] -= 30000;
	        }
	      }
 	    }  
            return 1;
}

Posts: 632
Threads: 24
Joined: Aug 2011

It’s a little bit hard to read your code as you used the [/code] instead of tags, but I think you have an extra } so try deleting it, not sure though as I can’t read it properly.

Posts: 145
Threads: 3
Joined: Nov 2012

Reputation:

0

It can be that both dialogs have the same value? Show us the place you define them please.

Posts: 182
Threads: 85
Joined: Jan 2014

Reputation:

0

Posts: 182
Threads: 85
Joined: Jan 2014

Reputation:

0

Posts: 145
Threads: 3
Joined: Nov 2012

Reputation:

0

There are not #define tags there, where are you defining those labels?

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») массивы, локальные переменные и аргументы функции не могут быть общедоступными (переменная «% 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» 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 pattern 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») Нельзя взять значение в массив %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») для функции %s уже определенна данная state 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 definitionn количество аргументов не совпадает с объявленными в функции


#1

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

Отправлено 06 февраля 2021 — 13:33

  • Прохожий

Делаю гугл аутентификатор, а вылазит ошибка error 040: duplicate «case» label (value 2) , но дубликата нету, что делать? скину что нужно

case DLG_SETTINGS:
{
switch(listitem)
{
case 0:
{

if(player_info[playerid][isauth] == 0)
{
SPD(playerid, DLG_GOOGLE_AUTH, DIALOG_STYLE_LIST, «{ff9300}Google-Authenticator», «{ffffff}1. Подключить {ff9300}Google-Authenticator», «Выбрать», «Отмена»);
}
else if(player_info[playerid][isauth] == 1)
{
SPD(playerid, DLG_GOOGLE_AUTH_MENU, DIALOG_STYLE_LIST, «{ff9300}Google-Authenticator», «{ffffff}1. Отключить {ff9300}Google-Authenticator{ffffff}n2. Настроить {ff9300}Google-Authenticator», «Выбрать», «Отмена»);
}
}
}
}

0



#2

Отправлено 06 февраля 2021 — 13:36

  • Эксперт

Глянь внимательнее, пытаешься второй раз одно и то же значение использовать в кейсе.

0



#3

Отправлено 06 февраля 2021 — 13:41

  • Прохожий

Просмотр сообщения20th century (06 февраля 2021 — 13:36) писал:

Глянь внимательнее, пытаешься второй раз одно и то же значение использовать в кейсе.

В плане? что именно?

0



#4

Отправлено 06 февраля 2021 — 13:42

  • Эксперт

Подозреваю, что case DLG_SETTINGS у тебя прописан второй раз.
Воспользуйся поиском (CTRL + F), либо на пастебин скинь весь OnDialogResponse.

0



#5

Отправлено 06 февраля 2021 — 13:48

  • Прохожий

Просмотр сообщения20th century (06 февраля 2021 — 13:42) писал:

Подозреваю, что case DLG_SETTINGS у тебя прописан второй раз.
Воспользуйся поиском (CTRL + F), либо на пастебин скинь весь OnDialogResponse.

нет он у меня 1 раз прописан

0



#6

Отправлено 06 февраля 2021 — 14:58

  • Знаток

В OnPlayerDialog используешь помимо элементов enum’a ещё и численные значения? Вполне возможно, что DLG_SETTINGS содержит в себе число, которое уже использовалось в одном из case

0



#7

Отправлено 06 февраля 2021 — 23:31

  • Эксперт

Научитесь вставлять код в специальные тэги. На этом форуме это: [ code] [/code] (без пробелов у скобок).

Касаемо проблемы: покажите весь обработчик диалогов (OnDialogResponse) и все макросы, которые определяют иды для диалогов.

0



#8

Отправлено 07 февраля 2021 — 09:19

  • Местный

У тебя есть дефайн DLG_SETTINGS, под которым у тебя ID диалога (а именно, 2). Вероятно, у тебя уже используется этот ID диалога. То есть, где-то в OnDialogResponse уже есть это:

case 2:
{

}

или это:

case DLG_SETTINGS:
{

}

просто замени ID дубликата (и не забудь его заменить в показе диалога (ShowPlayerDialog)) :happy:

0


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

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


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

Ошибка: error 001: expected token: «;», but found «]»(пример)

Решение: Идём на строку выше той, что указана в ошибке и ставим в конце: ;

Ошибка: error 021: symbol already defined: «понятно в общем» или warning 219: local variable «тоже» shadows a variable at a preceding level

Решение: Ошибка появляется, если вы несколько раз создали одну и ту же переменную, stock, public.Для решения вам просто требуется удалить дубликат.

Ошибка: error 024: «break» or «continue» is out of context

Решение: break, continue используется только в цикле (for), данная ошибка появляется, если вы использовали их не в цикле. Для решения вам нужно заменить их.

Ошибка: error 032: array index out of bounds (variable «cartek»)

Решение: Ошибка появляется, если у вас превышен индекс массива. Для решения вам просто надо увеличить число в создании массива.

Ошибка: error 040: duplicate «case» label (value %d)

Решение: Ошибка появляется, если вы два раза используете case с одним и тем же параметром.

Ошибка: fatal error 100: cannot read from file: «понятно»

Решение: Ошибка появляется, если вы подключили инклуд и не добавили в папку pawno/include. Для решения вам просто надо добавить в папку данный инклуд.

Ошибка: warning 203: symbol is never used: «гы»

Решение: Ошибка появляется, если созданная переменная нигде не используется. Для решения вам просто требуются ещё удалить.

Ошибка: warning 209: function «ясно» should return a value

Решение: Для решения проблемы в данной функции/команде вам следует добавить в конец return true/return false.

Ошибка: warning 217: loose indentation

Решение: Для решения проблемы выровняйте строки.

Ошибка: warning 235: public function lacks forward declaration (symbol «ясно»)

Решение: Ошибка появляется, если вы создали public,а forward нет. Для решения вам просто надо создать forward к public’y.

Ошибка: fatal error 107: too many error messages on one line

Решение: Исправьте ошибки, которые даны выше, в частности в 1 строке. Именно поэтому выходит такая ошибка.

Ошибка: fatal error 100: cannot read from file: «%s»

Решение: Возможно вы удалили какую-то строку/файл, которую нужно добавить и проблема будет решена, вместо %s вам будет дана это строка/файл. Насколько я помню

Автор: Transcend
Тему можно дополнять!

Автор: minimiller
Перевод и редактирование: DJ_WEST

Список ошибок:

Код: Выделить всё

/*001*/  "expected token: "%s", but found "%s"n",
/*002*/  "only a single statement (or expression) can follow each "case"n",
/*003*/  "declaration of a local variable must appear in a compound blockn",
/*004*/  "function "%s" is not implementedn",
/*005*/  "function may not have argumentsn",
/*006*/  "must be assigned to an arrayn",
/*007*/  "operator cannot be redefinedn",
/*008*/  "must be a constant expression; assumed zeron",
/*009*/  "invalid array size (negative or zero)n",
/*010*/  "invalid function or declarationn",
/*011*/  "invalid outside functionsn",
/*012*/  "invalid function call, not a valid addressn",
/*013*/  "no entry point (no public functions)n",
/*014*/  "invalid statement; not in switchn",
/*015*/  ""default" case must be the last case in switch statementn",
/*016*/  "multiple defaults in "switch"n",
/*017*/  "undefined symbol "%s"n",
/*018*/  "initialization data exceeds declared sizen",
/*019*/  "not a label: "%s"n",
/*020*/  "invalid symbol name "%s"n",
/*021*/  "symbol already defined: "%s"n",
/*022*/  "must be lvalue (non-constant)n",
/*023*/  "array assignment must be simple assignmentn",
/*024*/  ""break" or "continue" is out of contextn",
/*025*/  "function heading differs from prototypen",
/*026*/  "no matching "#if..."n",
/*027*/  "invalid character constantn",
/*028*/  "invalid subscript (not an array or too many subscripts): "%s"n",
/*029*/  "invalid expression, assumed zeron",
/*030*/  "compound statement not closed at the end of filen",
/*031*/  "unknown directiven",
/*032*/  "array index out of bounds (variable "%s")n",
/*033*/  "array must be indexed (variable "%s")n",
/*034*/  "argument does not have a default value (argument %d)n",
/*035*/  "argument type mismatch (argument %d)n",
/*036*/  "empty statementn",
/*037*/  "invalid string (possibly non-terminated string)n",
/*038*/  "extra characters on linen",
/*039*/  "constant symbol has no sizen",
/*040*/  "duplicate "case" label (value %d)n",
/*041*/  "invalid ellipsis, array size is not knownn",
/*042*/  "invalid combination of class specifiersn",
/*043*/  "character constant exceeds range for packed stringn",
/*044*/  "positional parameters must precede all named parametersn",
/*045*/  "too many function argumentsn",
/*046*/  "unknown array size (variable "%s")n",
/*047*/  "array sizes do not match, or destination array is too smalln",
/*048*/  "array dimensions do not matchn",
/*049*/  "invalid line continuationn",
/*050*/  "invalid rangen",
/*051*/  "invalid subscript, use "[ ]" operators on major dimensionsn",
/*052*/  "multi-dimensional arrays must be fully initializedn",
/*053*/  "exceeding maximum number of dimensionsn",
/*054*/  "unmatched closing bracen",
/*055*/  "start of function body without function headern",
/*056*/  "arrays, local variables and function arguments cannot be public (variable "%s")n",
/*057*/  "unfinished expression before compiler directiven",
/*058*/  "duplicate argument; same argument is passed twicen",
/*059*/  "function argument may not have a default value (variable "%s")n",
/*060*/  "multiple "#else" directives between "#if ... #endif"n",
/*061*/  ""#elseif" directive follows an "#else" directiven",
/*062*/  "number of operands does not fit the operatorn",
/*063*/  "function result tag of operator "%s" must be "%s"n",
/*064*/  "cannot change predefined operatorsn",
/*065*/  "function argument may only have a single tag (argument %d)n",
/*066*/  "function argument may not be a reference argument or an array (argument "%s")n",
/*067*/  "variable cannot be both a reference and an array (variable "%s")n",
/*068*/  "invalid rational number precision in #pragman",
/*069*/  "rational number format already definedn",
/*070*/  "rational number support was not enabledn",
/*071*/  "user-defined operator must be declared before use (function "%s")n",
/*072*/  ""sizeof" operator is invalid on "function" symbolsn",
/*073*/  "function argument must be an array (argument "%s")n",
/*074*/  "#define pattern must start with an alphabetic charactern",
/*075*/  "input line too long (after substitutions)n",
/*076*/  "syntax error in the expression, or invalid function calln",
/*077*/  "malformed UTF-8 encoding, or corrupted file: %sn",
/*078*/  "function uses both "return" and "return <value>"n",
/*079*/  "inconsistent return types (array & non-array)n",
/*080*/  "unknown symbol, or not a constant symbol (symbol "%s")n",
/*081*/  "cannot take a tag as a default value for an indexed array parameter (symbol "%s")n",
/*082*/  "user-defined operators and native functions may not have statesn",
/*083*/  "a function may only belong to a single automaton (symbol "%s")n",
/*084*/  "state conflict: one of the states is already assigned to another implementation (symbol "%s")n",
/*085*/  "no states are defined for function "%s"n",
/*086*/  "unknown automaton "%s"n",
/*087*/  "unknown state "%s" for automaton "%s"n",
/*088*/  "number of arguments does not match definitionn"

Разбор ошибок
Рассмотрим пример нахождения и самостоятельного решения ошибок при компиляции.
Допустим у нас есть ошибка:

C:AMXXexample.sma(107) : error 035: argument type mismatch (argument 2)

Теперь давайте попытаемся разобрать эту ошибку по частям:
1) C:AMXXexample.sma — это директория, где находится исходник (.sma) нашего плагина.
2) (107) — это номер строки, в которой есть ошибка. Большинство современных редакторов текста имеют панель с пронумерованными строками (Notepad++, AMXX-Studio и другие).
3) error 035 — это код ошибки (список ошибок указан выше).
4) argument type mismatch — это описание ошибки с кодом, указанным до этого. В данном случае нам говорится, что «аргумент имеет неверный тип».
5) (argument 2) — это более подробное описание ошибки. В данном случае нам указывается, что ошибка во 2 аргументе.

Итого, получаем: в файле example.sma, который находится в директории C:AMXX, в строке под номером 107 есть ошибка с кодом 035, которая означает, что аргумент 2 имеет неверный тип данных.

Решение ошибок
Теперь попытаемся исправить нашу ошибку. Идем в строку под номером 107 и видим следующий код:

Код: Выделить всё

client_print
(0, "Welcome to the server!")
 

Идем на Вы должны зарегистрироваться, чтобы видеть ссылки.

и читаем описание функции:

client_print — Sends a message to a player.

Syntax:
client_print ( index, type, const message[], … )

id is a player index from 1 to 32. If 0, the message will be sent to all players.

The type is one of three types:
print_chat — chat text
print_console — console message
print_notify — console in dev mode
print_center — center say

Смотрим синтаксис команды client_print и видим, что первый аргумент index — это номер игрока (id), который может быть от 1 до 32, если же он 0, то сообщение будет отсылаться всем игрокам на сервере. Второй аргумент type — это тип сообщения, который может быть:

print_chat — текст в чат
print_console — текст в консоль
print_notify — текст в консоль в режиме разработчика
print_center — текст по центру

Третий аргумент message — это и есть текст нашего сообщения. Теперь вернемся, к нашему, коду. Мы видим, что у нас нет второго аргумента (тип сообщения), а сразу идет текст сообщения, исправляем на:

client_print(0, print_center, «Welcome to the server!»)

Теперь компиляция прошла успешно.

Описание ошибок:
error 001: expected token: «X», but found «Y»
Ошибка означает, что не найден X, когда найден Y. Наиболее часто возникает, когда забывают поставить недостающие знаки ; { } ( ).
Пример ошибки:

Код: Выделить всё

public Function
(id)
{
    if (is_user_bot(id)
    return PLUGIN_HANDLED// код
    
    return PLUGIN_CONTINUE
}
 

error 017: undefined symbol «X»
Ошибка означает, что X — неизвестный сивол/команда/переменная/функция. Поэтому такую функцию или переменную нужно объявить перед использованием. Например, функция is_user_hacker не существует.
Пример ошибки:

Код: Выделить всё

public Function
(id)
{
    if (is_user_hacker(id))
    return PLUGIN_HANDLED// код
    
    return PLUGIN_CONTINUE
}
 

error 032: array index out of bounds (variable X)
Ошибка означает, что в мы вышли за предел размера массива X.
Пример ошибки:

Код: Выделить всё

new s_Name
[32]
s_Name[33] = "*"
 

error 033: array must be indexed (variable X)
Ошибка означает, что массив должен быть проиндексирован. Например, мы не указали размер массива при его объявлении.
Пример ошибки:

Код: Выделить всё

new s_String 
= "My string"
 

error 035: argument type mismatch (argument X)
Ошибка означает, что аргумент X имеет неверный тип данных. Например, когда вместо целочисленного аргумента передаем строку.
Пример ошибки:

Код: Выделить всё

public Function1
(id)
{
    Function2(id, "10")
}
public Function2(id, count)
{
    // код
}
 

error 040: duplicate «case» label (value X)
Ошибка означает, что имеется дубль оператора case со значением X.
Пример ошибки:

Код: Выделить всё

public Function
(id)
{
    switch(count)
    {
        case 1: count += 1
    case 2
: count += 2
    case 2
: count += 3
    
}
}
 

error 075: input line too long (after substitutions)
Ошибка означает, что указанная строка слишком длинная. Например, около 500 символов.
Пример ошибки:

Код: Выделить всё

public Function
(id)
{
    server_print("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
}
 

error 078: function uses both «return» and «return <value>»
Ошибка означает, что функция использует, как return, так и return <значение>.
Пример ошибки:

Код: Выделить всё

public Function
(id)
{
    if (is_user_alive(id))    
        return

        return PLUGIN_HANDLED

}
 

error 088: number of arguments does not match definition
Ошибка означает, что количество переданных аргументов не соответсвует количеству объявленных аргументов.
Пример ошибки:

Код: Выделить всё

public Function1
(id)
{
    Function2(id)
}
public Function2(id, count)
{
    // код
}
 

Не пишите мне в ЛС: если вам нужна помощь на бесплатной основе. Любые вопросы на форум.

Как исправить Error
Автор: neka

Значение Error можно посмотреть здесь.

error 040: duplicate «case» label (value 28)

Это означает что case стаким значением повторяется. Решение этой проблемы простое — нам нужно цифру 28 изменит на другую (в той строчке на которую жалуется )

error 032: array index out of bounds (variable «JoinPed»)

Это означает что индекс массива превышен (но не всегда, смотрим дальше) Пример:

131 — массив поигравшись с ним я понял что дело не в нем, а в чём же спросите вы? Пример данной ошибки:

Код: Выделить всё

else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[123][0]); SelectCharPlace[playerid] = 3; InviteSkin[playerid] = JoinPed[98][0]; 

как видим — JoinPed[123] сначало с таким значением, а потом JoinPed[98]. Решение простое: JoinPed[123] число в данных скобках должно быть одинаковым. Пример:

Код: Выделить всё

else if(SelectCharPlace[playerid] == 2) { SetPlayerSkin(playerid, JoinPed[123][0]); SelectCharPlace[playerid] = 3; InviteSkin[playerid] = JoinPed[123][0]; 

error 037: invalid string (possibly non-terminated string)

Это означает что строка неправильная, а точнее где то допущена ошибка:

Код: Выделить всё

else if(PlayerInfo[targetid][pRank] == 4) { rangz = "Зам.модера; }

как видим нам после слова «модера» не хватает «. Правим:

Код: Выделить всё

else if(PlayerInfo[targetid][pRank] == 4) { rangz = "Зам.модера"; }

error 001: expected token: «,», but found «;»

Это значит что мы пропустили знак или скобку (в данном примере скобку) Пример:

Код: Выделить всё

public SaveProdykts()
{
    new idx;
    new File: file2;
    while (idx < sizeof(ProdyktsInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%dn",
        ProdyktsInfo[idx][prSous],
        ProdyktsInfo[idx][prPizza],
        ProdyktsInfo[idx][prMilk],
        ProdyktsInfo[idx][prJuice],
        ProdyktsInfo[idx][prSpirt],
        ProdyktsInfo[idx][prChicken],
        ProdyktsInfo[idx][prKolbasa],
        ProdyktsInfo[idx][prFish],
        ProdyktsInfo[idx][prIceCream],
        ProdyktsInfo[idx][prChips],
        ProdyktsInfo[idx][prZamProd];
        if(idx == 0)
        {
            file2 = fopen("[prodykts]/prodykts.cfg", io_write);
        }
        else
        
{
            file2 = fopen("[prodykts]/prodykts.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    return 1;
}

смотрим на:

и вим что мы ппропустили )

Правим:

И в итоге:

Код: Выделить всё

public SaveProdykts()
{
    new idx;
    new File: file2;
    while (idx < sizeof(ProdyktsInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%dn",
        ProdyktsInfo[idx][prSous],
        ProdyktsInfo[idx][prPizza],
        ProdyktsInfo[idx][prMilk],
        ProdyktsInfo[idx][prJuice],
        ProdyktsInfo[idx][prSpirt],
        ProdyktsInfo[idx][prChicken],
        ProdyktsInfo[idx][prKolbasa],
        ProdyktsInfo[idx][prFish],
        ProdyktsInfo[idx][prIceCream],
        ProdyktsInfo[idx][prChips],
        ProdyktsInfo[idx][prZamProd]);< ----------- И вот наша скобка 
        if
(idx == 0)
        {
            file2 = fopen("[prodykts]/prodykts.cfg", io_write);
        }
        else
        
{
            file2 = fopen("[prodykts]/prodykts.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    return 1;

error 002: only a single statement (or expression) can follow each «case»

Это означает что у вас после «case» идет if(dialogid == ). Пример:

Код: Выделить всё

  case 7507: 
    
{ 
        if
(response) ClothesSex[playerid] = 1; 
        else ClothesSex
[playerid] = 2; 
        ShowPlayerDialog
(playerid,7504,2,"??????? ??????","{A0B0D0}?????????? ?????? {7CC000}300$n{A0B0D0}??????? ?????? {7CC000}300$n{A0B0D0}???????????? ?????? {7CC000}300$n{A0B0D0}?????","???????","?????"); 
        return 1
; 
    
} 
if(dialogid == 7504)  <------------------- вот наша и ошибка 
    
{ 
        if
(response) 
        
{ 
              SetCameraBehindPlayer
(playerid); TogglePlayerControllable(playerid, 1); 
              SetPlayerSkin
(playerid, PlayerInfo[playerid][pModel]); 
              ClothesRun
[playerid] = 0; 
            return 1
; 
        
}

Решение простое: if(dialogid == 7504) это нам нужно заменить на case как и последующий диалог !

Код: Выделить всё

case 7504:  <------------------- вот так это выглядит
    

        if(
response
        { 
              
SetCameraBehindPlayer(playerid); TogglePlayerControllable(playerid1); 
              
SetPlayerSkin(playeridPlayerInfo[playerid][pModel]); 
              
ClothesRun[playerid] = 0
            return 
1
        }  

error 004: function «%s» is not implemented

Это означает что мы пропустили скобку. Мой совет:

  • проверить весь код в ручную
  • на форуме был урок как найти не по ставленую скобку
  • Можно воспользоватся notepad++ там показы линии открытых скобок и тогда можно найти эту скобку

error 017: undefined symbol %s

Это означает что мы не поставили переменную new. Пример:

Решение — ко всем new добавим:

Что за ошибка?

error 040: duplicate «case» label (value 11)

case 3: ShowPlayerDialog(playerid, dAddNed+4, 1, "Добавить пикап", "ВАЖНО: Модель , Тип , ИмяnПРИМЕР: 1318 , 1, ПОЛИЦИЯ","Принять", "Отмена");
	case dAddNed+4:
		{
			if(!response) return true;
			new type, model, name[32], Float:x, Float:y, Float:z;
			if(sscanf(inputtext,"p<,>iis[32]",type,model,name)) return ShowPlayerDialog(playerid, dAddNed+2, 1, "Добавить пикап", "ВАЖНО: Модель , Тип , ИмяnПРИМЕР: 1318 , 1, ПОЛИЦИЯ","Принять", "Отмена");
			GetPlayerPos(playerid, x, y, z);
			format(coordc, sizeof(coordc), "%f, %f, %f, %d, %d, %d, %d, %s", x, y, z, model, type, GetPlayerInterior(playerid), 	  GetPlayerVirtualWorld(playerid), name);
			SendClientMessage(playerid, COLOR_LIGHTRED, "{5CACEE}[ & ]  {FFFFFF}Координаты созданы. Установите выходные координаты: /ppc");
 			format(totalstring,200,"{F86368}[A] %s %s[%d]: {ffffff}создал пикап",GetName(playerid),playerid);
			SendAdminMessage(COLOR_ORANGE,totalstring);
			PPC[playerid] = true;
		}

hrpyak

Начинающий

Регистрация
29 Янв 2021
Сообщения
36
Лучшие ответы
0
Репутация
0

  • #1

Всем привет облазил все не могу найти решение. Помогите прошу
P.S. Пишет что кейс используется но я его только что создал и он не используется

Код:

case DLG_DLG:
        {
            if(response)
            {
            
            }
            else
            {
                new str[128];
                format(str, sizeof(str),"%s отказался от ввода админ-пароля", pInfo[playerid][pName]);
                SAM(Color_Red, str);
            }
        }

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Error 037 invalid string possibly non terminated string
  • Error 036 павно
  • Error 036 empty statement amxx
  • Error 035 pawn
  • Error 033 array must be indexed variable unknown

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии