#1
Отправлено 20 августа 2017 — 20:40
-
- Новичок
-
Здравствуйте! Поомгите пожалуйста, при компиляции выскочило следующие:
error 001: expected token: «-string end-«, but found «-identifier-«
Ошибка произошла в коде: if(GetPVarInt(playerid,»RobAtm» != 1)) return true;
Вот весь код:
CMD:robbank(playerid, params[])
{
if(!IsAGang(playerid)) return SendClientMessage(playerid, COLOR_GREY, YouCanNot);
else if(TextResetCMD[playerid] > gettime()) return SendClientMessage(playerid, COLOR_GREY, «?? ?????»);
else if(pInfo[playerid][pRank] < 6) return SendClientMessage(playerid, COLOR_GREY, «??????? ????? ????? ? 6 ?????!»);
if(pInfo[playerid][pPhoneNumber] <= 1) return SendClientMessage(playerid, COLOR_GREY, «? ??? ???? ????????.»);
{
if(!IsPlayerInRangeOfPoint(playerid,1.3,-19.1494,1488.8000,16.8570)) return SendClientMessage(playerid, COLOR_GREY, «?? ?????? ????????? ? ?????? ?????????? ????????»);
{
if(GetPVarInt(playerid,»RobAtm» != 1)) return true;
SendClientMessage(playerid, 0xFFFFFFAA, «?? ??? ??????? ????????!»), SetPVarInt(playerid,»Robatm»,1),SetPVarInt(playerid,»RobAtm»,gettime()+10),SetPVarInt(playerid,
«atmrob»,gettime()+90);
if(GetPVarInt(playerid,»RobAtm») > gettime()) RobAtm();
if(GetPVarInt(playerid,»atmrob») > gettime()) DeletePVar(playerid,»Robatm»), SendClientMessage(playerid, 0xFFFFFFAA, «?? ????? ?????? ??????? ????????!»);
}
}
return 1;
}
Так же вот такая ошибка warning 202: number of arguments does not match definition
Вот тут: if(GetPVarInt(playerid,»RobAtm») > gettime()) RobAtm();
0
#2
Отправлено 20 августа 2017 — 20:48
-
- Worst
-
Объясни мне, зачеем так делать?
Function; { }
Что открывает данные скобки?
warning 202: number of arguments does not match definition — Несовпадение аргументов в ф-ии.
if(GetPVarInt(playerid,"RobAtm") != 1) return true;
0
#3
Отправлено 20 августа 2017 — 20:57
-
- Новичок
-
Skiffi (20 августа 2017 — 20:48) писал:
Объясни мне, зачеем так делать?
Function; { }
Что открывает данные скобки?
warning 202: number of arguments does not match definition — Несовпадение аргументов в ф-ии.
if(GetPVarInt(playerid,"RobAtm") != 1) return true;
Ты сейчас будешь посты набивать?
-2
#4
Отправлено 20 августа 2017 — 21:22
-
- Island
-
if(pInfo[playerid][pPhoneNumber] <= 1) return SendClientMessage(playerid, COLOR_GREY, «? ??? ???? ????????.»);
{
Убавлю немного прозрачность с сообщения скиффи, так более понятно?
0
#5
Отправлено 20 августа 2017 — 21:25
-
- Новичок
-
Quentino (20 августа 2017 — 21:22) писал:
if(pInfo[playerid][pPhoneNumber] <= 1) return SendClientMessage(playerid, COLOR_GREY, «? ??? ???? ????????.»);
{
Убавлю немного прозрачность с сообщения скиффи, так более понятно?
Ну я убрал эти скобки, а что делать с теми ошибками, которые при компиляции?
0
#6
Отправлено 20 августа 2017 — 21:26
-
- Знаток
-
error 001: expected token: «-string end-«, but found «-identifier-«
Для исправления вот эту строку:
if(GetPVarInt(playerid,"RobAtm" != 1)) return true;
Измени на эту:
if(GetPVarInt(playerid,"RobAtm") != 1) return true;
warning 202: number of arguments does not match definition
Тут компилятор жалуется на несовпадение аргументов, вероятнее всего функции RobAtm();
Посмотри операнды той функции и скорректируй.
1
#7
Отправлено 20 августа 2017 — 21:33
-
- Новичок
-
Const (20 августа 2017 — 21:26) писал:
error 001: expected token: «-string end-«, but found «-identifier-«
Для исправления вот эту строку:
if(GetPVarInt(playerid,"RobAtm" != 1)) return true;
Измени на эту:
if(GetPVarInt(playerid,"RobAtm") != 1) return true;
warning 202: number of arguments does not match definition
Тут компилятор жалуется на несовпадение аргументов, вероятнее всего функции RobAtm();
Посмотри операнды той функции и скорректируй.
Спасибо что помог с решением первой проблемы!
0
#8
Отправлено 20 августа 2017 — 21:34
-
- Знаток
-
Mr_Frikan (20 августа 2017 — 21:33) писал:
Спасибо что помог с решением первой проблемы!
Скинь функцию RobAtm, тогда и со второй поможем.
0
#9
Отправлено 20 августа 2017 — 21:38
-
- Новичок
-
Const (20 августа 2017 — 21:34) писал:
Скинь функцию RobAtm, тогда и со второй поможем.
Если не ошибась, то ты про это. Если нет, напиши что именно
RobAtm(playerid)
{
SendClientMessage(playerid, COLOR_RED, «Вы грабите банкомат! У вас повышен уровень розыска!»);
SetPlayerWantedLevel(playerid, 4);
pInfo[playerid][pWanted] = 4;
TogglePlayerControllable(playerid,1);
switch(random(16))
{
case 0: return GivePlayerMoney(playerid,100);
case 1: return GivePlayerMoney(playerid,300);
case 2: return GivePlayerMoney(playerid,500);
case 3: return GivePlayerMoney(playerid,700);
case 4: return GivePlayerMoney(playerid,900);
case 5: return GivePlayerMoney(playerid,1100);
case 6: return GivePlayerMoney(playerid,1300);
case 7: return GivePlayerMoney(playerid,1500);
case 8: return GivePlayerMoney(playerid,1700);
case 9: return GivePlayerMoney(playerid,1900);
case 10: return GivePlayerMoney(playerid,2100);
case 11: return GivePlayerMoney(playerid,2300);
case 12: return GivePlayerMoney(playerid,2500);
case 13: return GivePlayerMoney(playerid,2700);
case 14: return GivePlayerMoney(playerid,2900);
case 15: return GivePlayerMoney(playerid,3100);
}
return 1;
}
0
#10
Отправлено 20 августа 2017 — 21:52
-
- Знаток
-
Да, про это. Как видишь у данной функции есть параметр: playerid. Но при вызове функции ты его не указываешь, поэтому предупреждение и выскакивает.
warning 202: number of arguments does not match definition
Для исправления эту строку:
if(GetPVarInt(playerid,"RobAtm") > gettime()) RobAtm();
Измени на эту:
if(GetPVarInt(playerid,"RobAtm") > gettime()) RobAtm(playerid);
0
Содержание
- Форум Pawn.Wiki — Воплоти мечту в реальность!: Ошибки 001, 017, 029 — Форум Pawn.Wiki — Воплоти мечту в реальность!
- Форум Pawn.Wiki — Воплоти мечту в реальность!: Все о ошибках и их устранении — Форум Pawn.Wiki — Воплоти мечту в реальность!
- Форум Pawn.Wiki — Воплоти мечту в реальность!: error 001: expected token: «-string end-«, but fou — Форум Pawn.Wiki — Воплоти мечту в реальность!
Форум Pawn.Wiki — Воплоти мечту в реальность!: Ошибки 001, 017, 029 — Форум Pawn.Wiki — Воплоти мечту в реальность!
- Pawn скриптинг
- Первая помощь
- Проблемы с компилированием
- Правила форума
- Просмотр новых публикаций
- (3 Страниц)
- 1
- 2
- 3
- >
- Вы не можете создать новую тему
Тема закрыта
- Группа: Активные пользователи
- Сообщений: 71
- Регистрация: 24 мая 15
Помогите, вот ошибки и их строчки
error 001: expected token: «>», but found «-identifier-«
error 017: undefined symbol «PlayerInfo»
error 001: expected token: «;», but found «]»
error 029: invalid expression, assumed zero
- Группа: Активные пользователи
- Сообщений: 275
- Регистрация: 24 декабря 14
Замени всё на мой код
Если помог — + го
Сообщение отредактировал 4TecH: 25 мая 2015 — 16:37
- Группа: Активные пользователи
- Сообщений: 244
- Регистрация: 16 мая 15
- Группа: Активные пользователи
- Сообщений: 71
- Регистрация: 24 мая 15
4TecH (25 мая 2015 — 16:36) писал:
Замени всё на мой код
Если помог — + го
Не помогло, образовало новые ошибки
Сообщение отредактировал NOOBinator: 25 мая 2015 — 16:43
- Группа: Активные пользователи
- Сообщений: 244
- Регистрация: 16 мая 15
- Группа: Активные пользователи
- Сообщений: 71
- Регистрация: 24 мая 15
Ах, да, вот еще ошибка:
fatal error 107: too many error messages on one line
Всё в тех же строках
darge (25 мая 2015 — 16:42) писал:
Хм. Сделал всё как у тебя, на одну ошибку меньше
Сообщение отредактировал NOOBinator: 25 мая 2015 — 16:51
- Группа: Активные пользователи
- Сообщений: 244
- Регистрация: 16 мая 15
NOOBinator (25 мая 2015 — 16:49) писал:
Ах, да, вот еще ошибка:
fatal error 107: too many error messages on one line
Всё в тех же строках
Хм. Сделал всё как у тебя, на одну ошибку меньше
Скинь весь лог ошибок.
- Группа: Активные пользователи
- Сообщений: 71
- Регистрация: 24 мая 15
darge (25 мая 2015 — 17:01) писал:
- Группа: Активные пользователи
- Сообщений: 71
- Регистрация: 24 мая 15
Итак, я добавил систему администрации и вскочило 2 ошибки, с одной справился самостоятельно, с 3-ей помогли.
Вот лог и строчки:
E:ХламMordovia RPgamemodesMordovia-rp.pwn(123) : error 028: invalid subscript (not an array or too many subscripts): «pInfo»
E:ХламMordovia RPgamemodesMordovia-rp.pwn(123) : error 001: expected token: «;», but found «]»
E:ХламMordovia RPgamemodesMordovia-rp.pwn(123) : error 029: invalid expression, assumed zero
E:ХламMordovia RPgamemodesMordovia-rp.pwn(123) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
Где-то 123 строчка:
Сообщение отредактировал NOOBinator: 25 мая 2015 — 19:48
Источник
Форум Pawn.Wiki — Воплоти мечту в реальность!: Все о ошибках и их устранении — Форум Pawn.Wiki — Воплоти мечту в реальность!
- Pawn скриптинг
- Школа скриптинга
- Уроки
- Правила форума
- Просмотр новых публикаций
- Группа: Активные пользователи
- Сообщений: 443
- Регистрация: 23 марта 13
Список часто встречаемых ошибок в pawno
Данная тема содержет наиболее распространенные ошибки и предупреждения в pawno при создании скриптов sa-mp
Когда компилятор находит ошибку в файле, то выводится сообщение, в таком порядке:
- Имя файла
- номер строки компилятора были обнаружены ошибки в скобках, непосредственно за именем
- класс error (ошибка, фатальная ошибка или предупреждение)
- номер ошибки
- описание ошибки
Примечание: эта ошибка может быть на линии, над линией, что показано, так как компилятор не всегда может установить ошибку перед проанализировав полное выражение.
Ошибки разделяются на три класса:
Ошибки (errors)
- Описание ситуации когда компилятор не может скомпилировать код
- Ошибки номеруются от 1 до 99
Критические ошибки (Fatal errors)
- Критические ошибки и описание, от которых компилятор не может восстановиться.
- Парсинг прерывается (нет отклика программы).
- Критические ошибки номеруются от 100 до 199.
Предупреждения ( Warings )
- Предупреждения указывают на возможную причину возникновения багов, вылетов.
- Предупреждения номеруются от 200 до 299.
001: expected token (ожидаемый знак)
Обязательный знак отсутствует
002: only a single statement (or expression) can follow each “case” (только одно выражение может быть в одной строке с «case»
В каждом case оператора switch без фигурных скобок может содержаться только один оператор если больше нужно ставить скобки.
Пример:
Так же могут быть еще и предупреждения и дополнительные ошибки:
Вот так это можно исправить:
004: function «x» is not implemented (Функция «x» не используется
Часто бывает что в функции выше пропущена скобка.
025: function heading differs from prototype
Это проиходит когда в функции не совпадают аргументы.
035: argument type mismatch (argument x) (не совпадение типов аргумента(ов)
К примеру когда в место playerid — integer аргумента стоит «playerid» — string или 0.5 — float
046: unknown array size (variable x)
Не указан размер массива.
047: array sizes do not match, or destination array is too small
Размер массива мал или не совпадает.
- Многомерные массивы должны иметь одинаковый размер
- Одномерные массив к которому присваивают(правый должен иметь больше размер чем левый.
В приведенном выше коде размер строки «Hello world!» ровна 12 байт а массив к которому присваиваем имеет размер 8 байт из этого и складывается ошибка.
Если увеличить размер массива destination до 13 байт то ошибка исправится.
055: start of function body without function header
Начало тела функции без функции заголовка.
Критические ошибки (FATAL ERRORS)
Компилятор не может найти или прочитать указанный файл, убедитесь что он находится по адресу ( pawnoinclude).
Пример:
Совет
Не нужно открывать ваш код дважды, не нужно тыкать несколько раз на файл. Откройте сначала редактор, потом ваш проект.
202: number of arguments does not match definition
Описание ошибки довольно понятное, это значит что вы используете слишком мало или слишком много аргументов в функции, обычно это признак того что функция используется не правильно, обратитесь к документации.
Функция GetPlayerHealth согласно официальному источнику wiki.sa-mp.com имеет два аргумента playerid и Float:health ссылка
203: symbol is never used: «symbol»
Вы создали переменную или функцию и она ни где не используется тогда ищите в окне компилятора это предупреждение, это не как не влияет на код и не угражает ему, так что если вы удалите переменную или функцию которая не используется, то вы сэкономите память.
204: symbol is assigned a value that is never used: «symbol»
Это предупреждение аналогично к предыдущему, разница в том что к переменной что то присвоено и оно не как не используется, это безопасно 🙂
209: function should return a value
Функция ничего не возвращает, вы создали её:
Решили её присвоить к чему нибудь к примеру:
Вот так исправить
211: possibly unintended assignment
Если вы введете оператор присваивания в условии и оно не будет в круглых скобках то будет предупреждение
213: tag mismatch ( несовпадение тегов)
Это происходит когда:
- Тип переменной указан не верно или не имеет его
- Выражения по обе стороны бинарного оператора имеют разные теги
- В пременную возвращен не верный тип переменной или не имеющий его.
- Индексирование массива, который требует тегами индекс без тега или неправильное имя тега
Часто это бывает на 3d текстах или тексдравах Text3D, Text
217: loose indentation
Компилятор выдаст ошибку если не соблюдены отступы.
Отступы делаются по нажатью кнопки TAB это практика в программировании для удобного чтения кода.
219: local variable «foo» shadows a variable at a preceding level
Локальная переменная в тени глобальной то есть над локальной переменной создана точно такая же глобальная. В практике программирования префиксом глобальной переменной является «g» в начале переменной к примеру
любыми способами избегайте их.
Решение:
Просто переименуйте локальную переменную team.
225: unreachable code ( недоступный код )
Это происходит тогда когда вы пишите какой нибудь код после return, после return’а код не выполняется и он считается бесполезным
235: public function lacks forward declaration (symbol «symbol»)
Отсутствует forward.
Надеюсь эта статья поможет вам в языке программирования, желаю вам не повторять ошибок дважды и что бы ваш код был быстрым, надежным!
Оставляйте ваши отзывы, ставьте плюсы, пишите недостатки ошибки, недостатки статьи или их недочеты. Удачи в мире PAWNO!
Источник
Форум Pawn.Wiki — Воплоти мечту в реальность!: error 001: expected token: «-string end-«, but fou — Форум Pawn.Wiki — Воплоти мечту в реальность!
- Pawn скриптинг
- Первая помощь
- Проблемы с компилированием
- Правила форума
- Просмотр новых публикаций
- (2 Страниц)
- 1
- 2
- >
- Вы не можете создать новую тему
Тема закрыта
- Группа: Активные пользователи
- Сообщений: 68
- Регистрация: 11 октября 16
Здравствуйте! Поомгите пожалуйста, при компиляции выскочило следующие:
error 001: expected token: «-string end-«, but found «-identifier-«
Ошибка произошла в коде: if(GetPVarInt(playerid,»RobAtm» != 1)) return true;
CMD:robbank(playerid, params[])
<
if(!IsAGang(playerid)) return SendClientMessage(playerid, COLOR_GREY, YouCanNot);
else if(TextResetCMD[playerid] > gettime()) return SendClientMessage(playerid, COLOR_GREY, «?? . «);
else if(pInfo[playerid][pRank] gettime()) RobAtm();
if(GetPVarInt(playerid,»atmrob») > gettime()) DeletePVar(playerid,»Robatm»), SendClientMessage(playerid, 0xFFFFFFAA, «?? . . . . «);
>
>
return 1;
>
Так же вот такая ошибка warning 202: number of arguments does not match definition
Вот тут: if(GetPVarInt(playerid,»RobAtm») > gettime()) RobAtm();
- Группа: Vip
- Сообщений: 920
- Регистрация: 27 мая 15
Объясни мне, зачеем так делать?
Что открывает данные скобки?
warning 202: number of arguments does not match definition — Несовпадение аргументов в ф-ии.
- Группа: Активные пользователи
- Сообщений: 68
- Регистрация: 11 октября 16
Skiffi (20 августа 2017 — 20:48) писал:
Объясни мне, зачеем так делать?
Что открывает данные скобки?
warning 202: number of arguments does not match definition — Несовпадение аргументов в ф-ии.
Ты сейчас будешь посты набивать?
- Группа: Vip
- Сообщений: 1 239
- Регистрация: 29 июня 16
- Группа: Активные пользователи
- Сообщений: 68
- Регистрация: 11 октября 16
Quentino (20 августа 2017 — 21:22) писал:
- Группа: Активные пользователи
- Сообщений: 461
- Регистрация: 25 ноября 16
error 001: expected token: «-string end-«, but found «-identifier-»
Для исправления вот эту строку:
warning 202: number of arguments does not match definition
Тут компилятор жалуется на несовпадение аргументов, вероятнее всего функции RobAtm();
Посмотри операнды той функции и скорректируй.
- Группа: Активные пользователи
- Сообщений: 68
- Регистрация: 11 октября 16
Const (20 августа 2017 — 21:26) писал:
error 001: expected token: «-string end-«, but found «-identifier-»
Для исправления вот эту строку:
warning 202: number of arguments does not match definition
Тут компилятор жалуется на несовпадение аргументов, вероятнее всего функции RobAtm();
Посмотри операнды той функции и скорректируй.
- Группа: Активные пользователи
- Сообщений: 461
- Регистрация: 25 ноября 16
Mr_Frikan (20 августа 2017 — 21:33) писал:
- Группа: Активные пользователи
- Сообщений: 68
- Регистрация: 11 октября 16
Const (20 августа 2017 — 21:34) писал:
Если не ошибась, то ты про это. Если нет, напиши что именно
RobAtm(playerid)
<
SendClientMessage(playerid, COLOR_RED, «Вы грабите банкомат! У вас повышен уровень розыска!»);
SetPlayerWantedLevel(playerid, 4);
pInfo[playerid][pWanted] = 4;
TogglePlayerControllable(playerid,1);
switch(random(16))
<
case 0: return GivePlayerMoney(playerid,100);
case 1: return GivePlayerMoney(playerid,300);
case 2: return GivePlayerMoney(playerid,500);
case 3: return GivePlayerMoney(playerid,700);
case 4: return GivePlayerMoney(playerid,900);
case 5: return GivePlayerMoney(playerid,1100);
case 6: return GivePlayerMoney(playerid,1300);
case 7: return GivePlayerMoney(playerid,1500);
case 8: return GivePlayerMoney(playerid,1700);
case 9: return GivePlayerMoney(playerid,1900);
case 10: return GivePlayerMoney(playerid,2100);
case 11: return GivePlayerMoney(playerid,2300);
case 12: return GivePlayerMoney(playerid,2500);
case 13: return GivePlayerMoney(playerid,2700);
case 14: return GivePlayerMoney(playerid,2900);
case 15: return GivePlayerMoney(playerid,3100);
>
return 1;
>
Источник
На чтение 2 мин. Просмотров 113 Опубликовано 15.12.2019
Самые известные баги стандартного компилятора «Pawno» и их исправление.
return «Some string»;
Проблема
Возвращая строки напрямую компилятор падает ( краш ).
Решение
Создайте для вашей строки массив, далее возвратите её ( не рекомендуется возвращать большие строки ).
static const
some_text[] = «Some String»;
string = (a == 5) ? «это пять» : «это не пять»;
Проблема
Строки конкатенируются (объединяются, соединяются) компилятором в одну, например это будет скомпилировано в одну строку «Hello World»:
string = «Hello» » » «World»;
Однако компилятор на засчитывает «:» как часть тернарного оператора и компилятор засчитывает это за ошибку скриптера. Обычно в таких случаях ( а обычно это так и есть ) появляется вот такая ошибка:
errors.pwn(11) : error 001: expected token: «-string end-«, but found «-identifier-»
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Решение
Чтобы это исправить, просто заключите строки в круглые скобки, хочу заметить, что на работоспособность кода это никак не влияет.
string = (a == 5) ? («это пять») : («это не пять»);
new
gGlobalVariable = SomeFunction();
Проблема
Вызывая функцию для инициализации глобальной переменной компилятор падает ( краш ).
Решение
Вызовите функцию для инициализации переменной в «OnGameModeInit», «OnFilterScriptInit», или «main»:
public OnGameModeInit()
<
gGlobalVariable = SomeFunction();
// некоторый код
>
Проблема
Максимальная длина строки в компиляторе 512 символов ( считая с завершающим символом ‘’ ).
Решение
Сократить текст со строкой. Обычно люди делают это так:
format(str, sizeof(str),
«Очень длинная строка»,
other,
parameters);
Это разделяет вызов функции на 4 строки, делая её короче. Однако это решение далеко не хорошее. Даже иногда может откуда не возьмись возникнуть падения компилятора ( краш ).
stock SomeFunction()
<
#if defined main
gVar = (gVar ? 0 : 1);
#endif
main()
<
return SomeFunction() ? 0 : 1;
>
Проблема
Данный код будет генерироваться следующим образом: Сначала сгенерируется код в функции ( SomeFunction ), далее сгенерируется код в main (изначально компилятор «не знает», что «main» инициализируется позже). В результате, по неизвестной причине, любые другие тернарные операторы в вашем скрипте неверно сгенерируются и это приведёт к падению компилятора ( краш ).
Решение
Не используйте тернарный оператор для проверки на существование функции если функция ещё не определена или будет определена позже.
Автор урока: Y_Less
Перевод и дополнение: Londlem (http://pro-pawn.ru/member.php?2057-Londlem)
Оригинал: http://forum.sa-mp.com/showthread.php?t=355877 (http://forum.sa-mp.com/showthread.php?t=355877)
Специально для: Pro-Pawn.Ru (http://pro-pawn.ru)
Копирование данной статьи без разрешения автора запрещено!
Hello coders! I’m trying to make message from rows defined in array, but getting error 001: expected token: «]», but found «-identifier-«.
Can someone help me to fix it?
Here’s problem code:
PHP Code:
new const BHP2_HEADER[] = "^n* Possible arguments:^n"
new const BHP2_HELP[][128] = {
"* help - show this message^n",
"* toggle - toggle bhop^n",
"* autojump <1 | 0> - toggle autojump^n",
"* list - show bhop users list^n" }
new const BHP2_FOOTER[] = "***"
new xbh_help_msg[1024]
public
xbhop_help(id)
{
new i
format(xbh_help_msg, charsmax(xbh_help_msg), "%s", BHP2_HEADER)
for(
i=0; i < 3; i++)
{
// PROMBLEM CODE IS BELOW
add(xbh_help_msg, charsmax(xbh_help_msg), BHP2_HELP[i], charsmax(BHP2_HELP[i])) //ERROR COMES HERE
// PROMBLEM CODE IS ABOVE
}
add(xbh_help_msg, charsmax(xbh_help_msg), BHP2_FOOTER, charsmax(BHP2_FOOTER))
client_print(id, print_console, xbh_help_msg)
return
PLUGIN_HANDLED
}
Ошибка: 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.
По мере возможности тема будет дополняться
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <fun>
#include <cstrike>
#include <nvault>
#include <sqlx>
#include <fakemeta>
#include <csx>
#pragma tabsize 0
#pragma semicolon 1
#define PLUGIN «EvilArmy»
#define VERSION «1.1»
#define AUTHOR «OverGame» //Оригинал ARCTIC
#define ADM_MENU ADMIN_IMMUNITY
#define RED 64
#define GREEN 64
#define BLUE 64
#define UPDATEINTERVAL 1.0
#define ECHOCMD
#define MAX_SIMBOLS 128
#define SIZE 10
new g_SayText
new g_TranslitSimbol[MAX_SIMBOLS][SIZE];
new g_EngSimbol[MAX_SIMBOLS][SIZE];
new g_SplitSimbol[SIZE];
new gMaxPlayers;
new gCvarOn;
new gCvarImmunity;
new bool:gOnOff[33] = { true, … };
new stats[8],bodyhits[8],irank
new g_vault;
new Handle:g_SqlTuple;
new g_Error[512];
enum _:PlData
{
gId,gExp,gLevel,gTempKey
};
new UserData[33][PlData];
new gMessage[256];
new g_MsgHud,MaxPlayers,levelUp[33],gSayText,gStatusText
new bool:restr_blocked;
new const gRankNames[][] =
{
«I_0»,«I_1»,«I_2»,«I_3»,«I_4»,«I_5»,«I_6»,«I_7»,«I_8»,«I_9»,«I_10»,«I_11»,«I_12»,«I_13»,«I_14»,
«I_15»,«I_16»,«I_17»,«I_18»,«I_19»,«I_20»
};
new const gLevels[] =
{
0,15,30,60,100,180,350,750,999,1500,2200,2800,3200,3900,4500,5000,5500,6000,7000,8000
};
new const gNades[][] =
{
{0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1}
}
new const restrict_bonus[][] =
{
«35hp»,
«most_wanted»,
«ka_wintershank»
};
new gRestrictMaps,gAdminGMsg,gBonusLevel,gFlash,gSmoke,gHe,gHpbylevel,gApbylevel
,gArmyChat,gSaveType,gTableName,gHost,gUser,gPassword,gDbName,gSlash,
gTk,gLostXpTk,gLevelUpmsg,gAllChat,gProgressBar,gBombDefuseXp,gBombPlantXp,gBomb, gMinPlayers
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_cvar(PLUGIN,VERSION,FCVAR_SERVER | FCVAR_SPONLY);
register_cvar(PLUGIN,VERSION,FCVAR_SERVER, 0.0);
register_cvar («amx_client_translit», «1»)
set_cvar_string(PLUGIN,VERSION);
register_dictionary («translit.txt»)
gRestrictMaps = register_cvar( «restrict_maps», «0»);// вкл запрет бонусов на карте.
gBonusLevel = register_cvar( «level_bonus», «0»);// вкл оружие при получении уровня.
gFlash = register_cvar( «flash_nades», «0»);// вкл бонуса флешек
gSmoke = register_cvar( «smoke_nades», «1»);// вкл бонуса дымовых
gHe = register_cvar( «he_nades», «1»);// вкл бонуса осколочных
gHpbylevel = register_cvar( «hp_by_level», «3»);// кол-во хп, которое дается за лвл, если = 0 — то выкл
gApbylevel = register_cvar( «ap_by_level», «5»);// кол-во брони, которое дается за лвл, если = 0 — то выкл
gArmyChat = register_cvar( «army_chat», «1»);// использовать чат плагина, то есть приставка в чате, цвет сообщ. для админа
gAdminGMsg = register_cvar( «admin_color», «1»);// 1 = сообщ.админа зеленое,0 = желтое, 2 = цвета команды
gSaveType = register_cvar( «save_type», «1»);// 0 — nvault, 1- mysql.
gSlash = register_cvar( «slash_messages», «1»);// не отображать команды со слэшем
gTk = register_cvar( «team_kill_lost_xp», «1»);// терять exp при тимкилле
gLostXpTk = register_cvar( «lost_xp_val», «3»);// кол-во теряемых exp при тк
gLevelUpmsg = register_cvar( «level_up_msg», «1»);// сообщение при лвл-апе игрока : 1- вкл (всем), 2 — только игроку
gAllChat = register_cvar( «all_chat», «0»);// 1 — чат для всех(метвые и живые), 0-живые не видят чат мертвых и наоборот
/***/ gProgressBar = register_cvar( «progress_bar_pos», «0»);// расположение данных игрока: 0 — hud(под радаром), 1 — под чатом
gMinPlayers = register_cvar( «min_players», «4»);// мин.кол-во игроков для получения опыта за действия с бомбой
gBomb = register_cvar( «bomb_xp», «1»);// вкл получения опыта над действиями с бомбой
gBombDefuseXp = register_cvar( «bdefuse_xp», «5»);// кол-во получаемых exp при разминировании бомбы
gBombPlantXp = register_cvar( «bplant_xp», «4»);// кол-во получаемых exp при минировании бомбы
gHost = register_cvar( «mysql_host», «localhost»);
gUser = register_cvar( «mysql_user», «root»);
gPassword = register_cvar( «mysql_password», «qwerty»);
gDbName = register_cvar( «mysql_db_name», «database»);
gTableName = register_cvar( «mysql_table_name», «evil_army»);
gCvarOn = register_cvar(«amx_speclist», «1», 0, 0.0);
gCvarImmunity = register_cvar(«amx_speclist_immunity», «1», 0, 0.0);
register_clcmd(«say /speclist», «cmdSpecList», —1, «»);
gMaxPlayers = get_maxplayers();
set_task(UPDATEINTERVAL, «tskShowSpec», 123094, «», 0, «b», 0);
register_logevent( «EventRoundStart», 2, «1=Round_Start» );
register_forward(FM_Sys_Error, «fw_ServerDown»);
register_forward(FM_GameShutdown, «fw_ServerDown»);
register_forward(FM_ServerDeactivate, «fw_ServerDown»);
register_event( «DeathMsg»,«EventDeath»,«a»);
if(get_pcvar_num(gProgressBar) != 0){
set_task(1.0,«StatusText»,_,_,_, «b»);
} else {
set_task(1.0,«Info»,_,_,_, «b»);
}
register_message(get_user_msgid(«SayText»), «msg_SayText»);
gStatusText = get_user_msgid(«StatusText»);
gSayText = get_user_msgid («SayText»);
g_MsgHud = CreateHudSyncObj();
MaxPlayers = get_maxplayers();
register_dictionary(«army.txt» );
if(get_pcvar_num(gRestrictMaps))
{
new szMapName[64];
get_mapname(szMapName,63);
for(new a = 0; a < sizeof restrict_bonus; a++)
{
if(equal(szMapName, restrict_bonus[a]))
{
restr_blocked = true;
log_amx(«[EvilArmy] weapon menu is blocked on map [%s].»,restrict_bonus[a]);
break;
} else {
restr_blocked = false;
}
}
Помогите когда компелирую вот
C:UsersZASDesktopRevolutiongamemodesnew.pwn(35) : warning 202: number of arguments does not match definition
C:UsersZASDesktopRevolutiongamemodesnew.pwn(187) : error 001: expected token: «;», but found «-identifier-«
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
Вот сам код сервера
#include <a_samp>
#include <a_mysql>
#include <sscanf2>
#include <dc_cmd>
#include <streamer>
#define DSM DIALOG_STYLE_MSGBOX
#define DSL DIALOG_STYLE_LIST
#define DSI DIALOG_STYLE_INPUT
#define DSP DIALOG_STYLE_PASSWORD
main(){}
public OnGameModeInit() {
SetGameModeText(«Тестовый мод»);
return true;
}
public OnGameModeExit() {
return true;
}
public OnPlayerRequestClass(playerid, classid) {
return true;
}
public OnPlayerConnect(playerid) {
return true;
}
public OnPlayerDisconnect(playerid, reason) {
return true;
}
public OnPlayerSpawn(playerid) {
SetPlayerPos(playerid,1764.4247,-1896.3787,13.5627,265);
return true;
}
public OnPlayerDeath(playerid, killerid, reason) {
return true;
}
public OnVehicleSpawn(vehicleid) {
return true;
}
public OnVehicleDeath(vehicleid, killerid) {
return true;
}
public OnPlayerText(playerid, text[]) {
return true;
}
public OnPlayerCommandText(playerid, cmdtext[]) {
return false;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) {
return true;
}
public OnPlayerExitVehicle(playerid, vehicleid) {
return true;
}
public OnPlayerStateChange(playerid, newstate, oldstate) {
return true;
}
public OnPlayerEnterCheckpoint(playerid) {
return true;
}
public OnPlayerLeaveCheckpoint(playerid) {
return true;
}
public OnPlayerEnterRaceCheckpoint(playerid) {
return true;
}
public OnPlayerLeaveRaceCheckpoint(playerid) {
return true;
}
public OnRconCommand(cmd[]) {
return true;
}
public OnPlayerRequestSpawn(playerid) {
return true;
}
public OnObjectMoved(objectid) {
return true;
}
public OnPlayerObjectMoved(playerid, objectid) {
return true;
}
public OnPlayerPickUpPickup(playerid, pickupid) {
return true;
}
public OnVehicleMod(playerid, vehicleid, componentid) {
return true;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid) {
return true;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2) {
return true;
}
public OnPlayerSelectedMenuRow(playerid, row) {
return true;
}
public OnPlayerExitedMenu(playerid) {
return true;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid) {
return true;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
return true;
}
public OnRconLoginAttempt(ip[], password[], success) {
return true;
}
public OnPlayerUpdate(playerid) {
return true;
}
public OnPlayerStreamIn(playerid, forplayerid) {
return true;
}
public OnPlayerStreamOut(playerid, forplayerid) {
return true;
}
public OnVehicleStreamIn(vehicleid, forplayerid) {
return true;
}
public OnVehicleStreamOut(vehicleid, forplayerid) {
return true;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
switch (dialogid) {
case 1: {
if(response) {
SendClientMessage(playerid, 0xFF0000AA, «Вы нажали на кнопку exit»);
} else {
SendClientMessage(playerid, 0xFF0000AA, «Вы нажали на кнопку ok»);
}
}
}
return true;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source) {
return true;
}
CMD:vehcar(playerid) {
new Float:pos[3];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
CreateVehicle(415, pos[0], pos[1], pos[2], 0, 2, 2, -1, 0);
}
CMD:info(playerid) {
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, «{FFFFFF}Информация о сервере», «{FFFFFF}Вас приветствуют создатели игры <<Revolution>>n Здесь вы сможите очуствовать настоящию атмосферу Америкиn Желаем вам приятной игры», «exit», «ok»);
}
CMD:tpcor(playerid, params[]) {
new Float:xcor, Float:ycor, Float:zcor;
if(sscanf(params, «fff», xcor, ycor, zcor)) return SendClientMessage(playerid, 0xFFFFFFAA, «Вы не верно вели кординаты»);
SetPlayerPos(playerid, xcor, ycor, zcor)
SendClientMessage(playerid,0xFFFFFFAA,»Вы успешно телепортировались»);
return true;
}
Помогите пожалуйста