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 - количество аргументов не совпадает с объявленными в функции;
#1
Отправлено 06 ноября 2018 – 14:20
- Прохожий
-
Не могу найти ошибку.
(346): error 029: invalid expression, assumed zero
(346): warning 215: expression has no effect
(346) : error 001: expected token: “;”, but found “)”
(346) : error 029: invalid expression, assumed zero
(346) : fatal error 107: too many error messages on one line
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case DLG_REG: { if(response) { if(!strlen(inputtext)) { ShowRegistration(playerid); return SCM(playerid, COLOR_RED, "[Ошибка] {FFFFFF}Вы не ввели пароль."); } if(strlen(inputtext)) < 8 || strlen(inputtext) > 32) //ЭТО СТРОКА 346 { ShowRegistration(playerid); return SCM(playerid, COLOR_RED, "[Ошибка] {FFFFFF}Введённый пароль слишком длинный."); } new regex:rg_passwordcheck = regex_new("^[a-zA-Z0-9](1,)$"); if(regex_check(inputtext, rg_passwordcheck)) { strmid(player_info[playerid][PASSWORD], inputtext, 0, strlen(inputtext), 32); SPD(playerid, DLG_REGEMAIL, DIALOG_STYLE_INPUT, "{ff000c}Регистрация{FFFFFF} • Ввод E-mail", "{FFFFFF}Введите ваш настоящий E-mail адрес в поле ниже:n Если вы потеряете доступ к аккаунту, то вы сможете восстановить его через E-mail.", "Далее", ""); } else { ShowRegistration(playerid); return SCM(playerid, COLOR_RED, "[Ошибка] {FFFFFF}Пароль может состоять только из латинских букв и цифр."); } } else { SCM(playerid, COLOR_RED, "Введите /q , чтобы покинуть сервер."); SPD(playerid, -1, 0, " ", " "," ",""); return Kick(playerid); } } }
Сообщение отредактировал Morris13: 06 ноября 2018 – 14:22
0
#2
Отправлено 06 ноября 2018 – 15:07
- Прохожий
-
Лишняя скобка
ошибка в strlen(inputtext) < 8
if(strlen(inputtext)) < 8 || strlen(inputtext) > 3)
0
@Саша55555, функция format записывает нужный Вам текст в переменную.
Например, Вы хотите вывести в чат свой nick-name и level. У функции вывода текста в чат всего 3 аргумента: ID игрока (которому отправляем), цвет, текст. Но аргументы здесь использовать нельзя. Поэтому используем format.
Структура такова: format(куда записываем, какой размер, что записываем, аргументы);
Например, format(string, 128, “Здесь ваш текст %d”, a);
Таким образом, мы записали в переменную string текст, максимальная длина которого 128 символов, использовав аргумент a. Можно, чтобы длину подсчитывала система, использовать функцию sizeof. Результат будет следующий:
format(string, sizeof(string), “Здесь ваш текст %d”, a);
Далее, переменная string у нас осталась не объявлена. То есть компилятору она неизвестна. Соответственно, нужно ее объявить.
new string[];
В квадратных скобках Вы должны указать количество символов, которое будете записывать в эту переменную. Можно считать вручную, а можно использовать тот же notepad++. У меня длина текста составляет 56 символов (при условии, что переменная a содержит не больше трех знаков (то есть двух- или однозначное число). Но стоит учесть еще запас, грубо говоря, прибавляйте всегда 5 символов и будет Вам радость. 56+5 = 51. В строке выше я указал 65, поскольку делал все на глаз (прикидывал длину).
Ошибка: 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
Тему можно дополнять!
adminmenu: fatal error 107: too many error
Модератор: liFe iS GoOD
- Список форумов ‹ AMX Mod X ‹ Вопросы по AMXX и его плагинам
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела “Болтовня”.
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.
- Ответить с цитатой
adminmenu: fatal error 107: too many error
Всем привет, вот решил создать своё adminmenu
Но при компиляции мне выдает ошибки
- Код: Выделить всё
AMX Mod X Compiler 1.8.3-dev+5029
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Teammy_adm.sma(83) : error 035: argument type mismatch (argument 3)
my_adm.sma(86) : error 001: expected token: ",", but found "-integer value-"
my_adm.sma(86) : warning 215: expression has no effect
my_adm.sma(86) : error 001: expected token: ";", but found ")"
my_adm.sma(86) : error 029: invalid expression, assumed zero
my_adm.sma(86) : fatal error 107: too many error messages on one lineCompilation aborted.
5 Errors.
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <dhudmessage>
#include <colorchat>
#include <fakemeta_util>#define PLUGINAME "adminmenu"
#define VERSION "1.01"
#define AUTHOR "Skenmuk"#define DEF_TRAIL_LIFE 2
#define MAX_DISTANCE 200
#define MAX_PLAYERS 32
#define NUM_SPRITES 1
#define TASKID 1337
#define TICK 0.1
{
lim_money,
};new onoff[33]
new offon[33]
new off[33]
new on[33]
new tra[33]
new ren[33]
new gondon[33]
new szName[33]
new szRes[33]
new PlayerLimit[35][v_menu];public plugin_init()
{
register_clcmd( "adminmenu", "adminmenu_user" )
register_clcmd( "say /adminmenu", "adminmenu_user" )
}
public client_connect(id)
{
szRes[id] = 2
}
public RoundStart()
{
new maxpls = get_maxplayers(), id
for(id = 1; id <= maxpls; id++)
{
szRes[id] = 2
}
}public client_disconnect(id)
{
PlayerLimit[id][lim_money] = 0;
}
public adminmenu_user(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
new new_menu = menu_create( "w[rCs-Buumw] yМеню w[rA.D.M.I.N'Aw] ^nw[rCs-Buumw] yПривет: w[r %s w]", szName, "menu_admin" )
if(GetAliveCt() < 2 || is_user_alive(id) || szRes[id] == 0 || get_user_team(id) != 2)
{
menu_additem( new_menu, "y[r1y]r. dВоскреснуть y[r%dy]^n", "1", szRes[id] 0)
}
else
{
menu_additem( new_menu, "y[r1y]r. wВоскреснуть y[r%dy]^n", "1", szRes[id] 0)
}
if(!off[id])
{
menu_additem( new_menu, "y[r2y]r. wСкоростьd: y[rВыклy]", "2", 0)
}
else
{
menu_additem( new_menu, "y[r2y]r. wСкоростьd: y[rВклy]", "2", 0)
}
if(!on[id])
{
menu_additem( new_menu, "y[r3y]r. wГравитацияd: y[rВыклy]", "3", 0)
}
else
{
menu_additem( new_menu, "y[r3y]r. wГравитацияd: y[rВклy]", "3", 0)
}
if(!ren[id])
{
menu_additem( new_menu, "y[r4y]r. wВзять y[rM3 Super90y]^n", "4", 0)
}
if(!tra[id])
{
menu_additem( new_menu, "y[r5y]r. wВзять y[rA.W.Py]^n", "5", 0)
}
else
{
menu_additem( new_menu, "y[r6y]r. wВзять y[r+16.000$y]^n", "6", 0)
}
if(!offon[id])
{
menu_additem( new_menu, "y[r7y] wВойти в y[rE.X.T.R.A - A.D.M.I.N M.E.N.Uy]^n^n", "7", 0)
}
menu_additem( new_menu, "Выйти", "0")
menu_setprop( new_menu, MPROP_PERPAGE, 0)
menu_display( id, new_menu, 0 )
}
}public menu_admin( id, menu, item, iEnt, player)
{
if( item == MENU_EXIT )
{
menu_destroy( menu )
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callbackmenu_item_getinfo
( menu, item, access, data,5, iName, 63, callback )
new key = str_to_num( data )
switch( key )
{
case 1:
{
if(GetAliveCt() < 2 || is_user_alive(id) || szRes[id] == 0 || get_user_team(id) != 2)
return PLUGIN_CONTINUEExecuteHam
(Ham_CS_RoundRespawn, id)
Jolting(id)
szRes[id] = szRes[id] - 1
AdminMenu(id)
} case 2:
{
if(off[id])
{
set_user_maxspeed(id, 250.0)
client_cmd(id,"Cs-Buum");
off[id] = 0
}
else
{
set_user_maxspeed(id, 555.0)
client_cmd(id,"Cs-Buum");
off[id] = 1
}
set_task(0.1, "Cs-Buum", id)
}
case 3:
{
if(on[id])
{
set_user_gravity(id, 0.8)
client_cmd(id,"Cs-Buum");
on[id] = 0
}
else
{
set_user_gravity(id, 0.6)
client_cmd(id,"Cs-Buum");
on[id] = 1
}
set_task(0.1, "Cs-Buum", id)
}
case 4:
{
if(is_user_alive(id))
{
give_item(id, "weapon_m3")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
}
client_cmd(id, "adminmenu")
}
case 5:
{
if(is_user_alive(id))
{
give_item(id, "weapon_awp")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")
}
client_cmd(id, "adminmenu")
}
case 6:
{
if(PlayerLimit[id][lim_money]==3)
{
ColorChat(id, NORMAL, "^03[^04Cs-Buum^03] ^01Запрещено использовать этот пунк больше ^04[7-раз]");
}else
{
cs_set_user_money(id, 16000)
PlayerLimit[id][lim_money]++;
}
}
case 7:
{
client_cmd(id, /extraadmin)
}
menu_destroy( menu )
return PLUGIN_HANDLED
}
stock GetAliveCt()
{
new CountCt, i
for(i = 1; i <= get_maxplayers(); i++)
if(is_user_alive(i) && is_user_connected(i) && get_user_team(i) == 2)
CountCt++ return CountCt
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\ rtf1\ ansi\ deff0{\ fonttbl{\ f0\ fnil Tahoma;}}n\ viewkind4\ uc1\ pard\ lang1049\ f0\ fs16 n\ par }
*/
Название темы скорректировано, тема перемещена в раздел “Вопросы по AMXX и его плагинам” // Subb98
Последний раз редактировалось liFe iS GoOD 10 авг 2016, 03:58, всего редактировалось 1 раз.
Причина: В первый пост добавлен исходник плагина
-
Skenmuk
- Сообщения: 23
- Зарегистрирован: 08 авг 2016, 20:03
- Благодарил (а): 3 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Меньше недели
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
- Ответить с цитатой
Re: adminmenu: fatal error 107: too many error
RevCrew » 10 авг 2016, 09:04
1.гляньте на аргументы функции menu_create.
2. Хотите чтобы в названии меню выводился ник используйте formatex.
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <dhudmessage>
#include <colorchat>
#include <fakemeta_util>#define PLUGINAME "adminmenu"
#define VERSION "1.01"
#define AUTHOR "Skenmuk"#define DEF_TRAIL_LIFE 2
enum _:v_menu
#define MAX_DISTANCE 200
#define MAX_PLAYERS 32
#define NUM_SPRITES 1
#define TASKID 1337
#define TICK 0.1
{
lim_money,
};new
onoff[33]
new offon[33]
new off[33]
new on[33]
new tra[33]
new ren[33]
new gondon[33]
new szName[33]
new szRes[33]
new PlayerLimit[35][v_menu];public
plugin_init()
{
register_clcmd( "adminmenu", "adminmenu_user" )
register_clcmd( "say /adminmenu", "adminmenu_user" )
}
public client_connect(id)
{
szRes[id] = 2
}
public RoundStart()
{
new maxpls = get_maxplayers(), id
for(id = 1; id <= maxpls; id++)
{
szRes[id] = 2
}
}public
client_disconnect(id)
{
PlayerLimit[id][lim_money] = 0;
}
public adminmenu_user(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
static title[128];
formatex(title, charsmax(title), "w[rCs-Buumw] yМеню w[rA.D.M.I.N'Aw] ^nw[rCs-Buumw] yПривет: w[r %s w]",szName)new
//new new_menu = menu_create( "w[rCs-Buumw] yМеню w[rA.D.M.I.N'Aw] ^nw[rCs-Buumw] yПривет: w[r %s w]", szName, "menu_admin" )if(GetAliveCt() < 2 || is_user_alive(id) || szRes[id] == 0 || get_user_team(id) != 2)
{
menu_additem( new_menu, "y[r1y]r. dВоскреснуть y[r%dy]^n", "1", szRes[id] 0)
}
else
{
menu_additem( new_menu, "y[r1y]r. wВоскреснуть y[r%dy]^n", "1", szRes[id] 0)
}
if(!off[id])
{
menu_additem( new_menu, "y[r2y]r. wСкоростьd: y[rВыклy]", "2", 0)
}
else
{
menu_additem( new_menu, "y[r2y]r. wСкоростьd: y[rВклy]", "2", 0)
}
if(!on[id])
{
menu_additem( new_menu, "y[r3y]r. wГравитацияd: y[rВыклy]", "3", 0)
}
else
{
menu_additem( new_menu, "y[r3y]r. wГравитацияd: y[rВклy]", "3", 0)
}
if(!ren[id])
{
menu_additem( new_menu, "y[r4y]r. wВзять y[rM3 Super90y]^n", "4", 0)
}
if(!tra[id])
{
menu_additem( new_menu, "y[r5y]r. wВзять y[rA.W.Py]^n", "5", 0)
}
else
{
menu_additem( new_menu, "y[r6y]r. wВзять y[r+16.000$y]^n", "6", 0)
}
if(!offon[id])
{
menu_additem( new_menu, "y[r7y] wВойти в y[rE.X.T.R.A - A.D.M.I.N M.E.N.Uy]^n^n", "7", 0)
}menu_additem( new_menu, "Выйти", "0")
menu_setprop( new_menu, MPROP_PERPAGE, 0)
menu_display( id, new_menu, 0 )
}
}public
menu_admin( id, menu, item, iEnt, player)
{
if( item == MENU_EXIT )
{
menu_destroy( menu )
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callbackmenu_item_getinfo
( menu, item, access, data,5, iName, 63, callback )
new key = str_to_num( data )
switch( key )
{
case 1:
{
if(GetAliveCt() < 2 || is_user_alive(id) || szRes[id] == 0 || get_user_team(id) != 2)
return PLUGIN_CONTINUEExecuteHam
(Ham_CS_RoundRespawn, id)
Jolting(id)
szRes[id] = szRes[id] - 1
AdminMenu(id)
}case
2:
{
if(off[id])
{
set_user_maxspeed(id, 250.0)
client_cmd(id,"Cs-Buum");
off[id] = 0
}
else
{
set_user_maxspeed(id, 555.0)
client_cmd(id,"Cs-Buum");
off[id] = 1
}
set_task(0.1, "Cs-Buum", id)
}
case 3:
{
if(on[id])
{
set_user_gravity(id, 0.8)
client_cmd(id,"Cs-Buum");
on[id] = 0
}
else
{
set_user_gravity(id, 0.6)
client_cmd(id,"Cs-Buum");
on[id] = 1
}
set_task(0.1, "Cs-Buum", id)
}
case 4:
{
if(is_user_alive(id))
{
give_item(id, "weapon_m3")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
}
client_cmd(id, "adminmenu")}
5:
case
{
if(is_user_alive(id))
{
give_item(id, "weapon_awp")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")
}
client_cmd(id, "adminmenu")}
6:
case
{
if(PlayerLimit[id][lim_money]==3)
{
ColorChat(id, NORMAL, "^03[^04Cs-Buum^03] ^01Запрещено использовать этот пунк больше ^04[7-раз]");
}else
{
cs_set_user_money(id, 16000)
PlayerLimit[id][lim_money]++;
}
}
case 7:
{
client_cmd(id, /extraadmin)
}
menu_destroy( menu )
return PLUGIN_HANDLED
}stock GetAliveCt()
{
new CountCt, i
for(i = 1; i <= get_maxplayers(); i++)
if(is_user_alive(i) && is_user_connected(i) && get_user_team(i) == 2)
CountCt++return
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\ rtf1\ ansi\ deff0{\ fonttbl{\ f0\ fnil Tahoma;}}n\ viewkind4\ uc1\ pard\ lang1049\ f0\ fs16 n\ par }
*/
-
RevCrew
- Сообщения: 1648
- Зарегистрирован: 15 июл 2013, 20:45
- Благодарил (а): 273 раз.
- Поблагодарили: 357 раз.
- Языки программирования: Unkown
- Ответить с цитатой
Re: adminmenu: fatal error 107: too many error
Skenmuk » 10 авг 2016, 18:20
RevCrew писал(а):1.гляньте на аргументы функции menu_create.
2. Хотите чтобы в названии меню выводился ник используйте formatex.
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <dhudmessage>
#include <colorchat>
#include <fakemeta_util>#define PLUGINAME "adminmenu"
#define VERSION "1.01"
#define AUTHOR "Skenmuk"#define DEF_TRAIL_LIFE 2
#define MAX_DISTANCE 200
#define MAX_PLAYERS 32
#define NUM_SPRITES 1
#define TASKID 1337
#define TICK 0.1enum _:v_menu
{
lim_money,
};new onoff[33]
new offon[33]
new off[33]
new on[33]
new tra[33]
new ren[33]
new gondon[33]
new szName[33]
new szRes[33]
new PlayerLimit[35][v_menu];public plugin_init()
{
register_clcmd( "adminmenu", "adminmenu_user" )
register_clcmd( "say /adminmenu", "adminmenu_user" )
}
public client_connect(id)
{
szRes[id] = 2
}
public RoundStart()
{
new maxpls = get_maxplayers(), id
for(id = 1; id <= maxpls; id++)
{
szRes[id] = 2
}
}public client_disconnect(id)
{
PlayerLimit[id][lim_money] = 0;
}
public adminmenu_user(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
static title[128];
formatex(title, charsmax(title), "w[rCs-Buumw] yМеню w[rA.D.M.I.N'Aw] ^nw[rCs-Buumw] yПривет: w[r %s w]",szName)
new new_menu = menu_create(title, "menu_admin");
//new new_menu = menu_create( "w[rCs-Buumw] yМеню w[rA.D.M.I.N'Aw] ^nw[rCs-Buumw] yПривет: w[r %s w]", szName, "menu_admin" )
if(GetAliveCt() < 2 || is_user_alive(id) || szRes[id] == 0 || get_user_team(id) != 2)
{
menu_additem( new_menu, "y[r1y]r. dВоскреснуть y[r%dy]^n", "1", szRes[id] 0)
}
else
{
menu_additem( new_menu, "y[r1y]r. wВоскреснуть y[r%dy]^n", "1", szRes[id] 0)
}
if(!off[id])
{
menu_additem( new_menu, "y[r2y]r. wСкоростьd: y[rВыклy]", "2", 0)
}
else
{
menu_additem( new_menu, "y[r2y]r. wСкоростьd: y[rВклy]", "2", 0)
}
if(!on[id])
{
menu_additem( new_menu, "y[r3y]r. wГравитацияd: y[rВыклy]", "3", 0)
}
else
{
menu_additem( new_menu, "y[r3y]r. wГравитацияd: y[rВклy]", "3", 0)
}
if(!ren[id])
{
menu_additem( new_menu, "y[r4y]r. wВзять y[rM3 Super90y]^n", "4", 0)
}
if(!tra[id])
{
menu_additem( new_menu, "y[r5y]r. wВзять y[rA.W.Py]^n", "5", 0)
}
else
{
menu_additem( new_menu, "y[r6y]r. wВзять y[r+16.000$y]^n", "6", 0)
}
if(!offon[id])
{
menu_additem( new_menu, "y[r7y] wВойти в y[rE.X.T.R.A - A.D.M.I.N M.E.N.Uy]^n^n", "7", 0)
}
menu_additem( new_menu, "Выйти", "0")
menu_setprop( new_menu, MPROP_PERPAGE, 0)
menu_display( id, new_menu, 0 )
}
}public menu_admin( id, menu, item, iEnt, player)
{
if( item == MENU_EXIT )
{
menu_destroy( menu )
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callbackmenu_item_getinfo
( menu, item, access, data,5, iName, 63, callback )
new key = str_to_num( data )
switch( key )
{
case 1:
{
if(GetAliveCt() < 2 || is_user_alive(id) || szRes[id] == 0 || get_user_team(id) != 2)
return PLUGIN_CONTINUEExecuteHam
(Ham_CS_RoundRespawn, id)
Jolting(id)
szRes[id] = szRes[id] - 1
AdminMenu(id)
} case 2:
{
if(off[id])
{
set_user_maxspeed(id, 250.0)
client_cmd(id,"Cs-Buum");
off[id] = 0
}
else
{
set_user_maxspeed(id, 555.0)
client_cmd(id,"Cs-Buum");
off[id] = 1
}
set_task(0.1, "Cs-Buum", id)
}
case 3:
{
if(on[id])
{
set_user_gravity(id, 0.8)
client_cmd(id,"Cs-Buum");
on[id] = 0
}
else
{
set_user_gravity(id, 0.6)
client_cmd(id,"Cs-Buum");
on[id] = 1
}
set_task(0.1, "Cs-Buum", id)
}
case 4:
{
if(is_user_alive(id))
{
give_item(id, "weapon_m3")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
}
client_cmd(id, "adminmenu")
}
case 5:
{
if(is_user_alive(id))
{
give_item(id, "weapon_awp")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")
}
client_cmd(id, "adminmenu")
}
case 6:
{
if(PlayerLimit[id][lim_money]==3)
{
ColorChat(id, NORMAL, "^03[^04Cs-Buum^03] ^01Запрещено использовать этот пунк больше ^04[7-раз]");
}else
{
cs_set_user_money(id, 16000)
PlayerLimit[id][lim_money]++;
}
}
case 7:
{
client_cmd(id, /extraadmin)
}
menu_destroy( menu )
return PLUGIN_HANDLED
}
stock GetAliveCt()
{
new CountCt, i
for(i = 1; i <= get_maxplayers(); i++)
if(is_user_alive(i) && is_user_connected(i) && get_user_team(i) == 2)
CountCt++ return CountCt
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\ rtf1\ ansi\ deff0{\ fonttbl{\ f0\ fnil Tahoma;}}n\ viewkind4\ uc1\ pard\ lang1049\ f0\ fs16 n\ par }
*/
Теперь вот что выдает, совсем не могу ничего понять.
- Код: Выделить всё
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X TeamWarning: Loose indentation on line 66
Warning: Loose indentation on line 71
Error: Expected token: ",", but found "-integer value-" on line 73
Warning: Expression has no effect on line 73
Error: Expected token: ";", but found ")" on line 73
Error: Invalid expression, assumed zero on line 73
Error: Too many error messages on one line on line 73Compilation aborted.
4 Errors.
Could not locate output file C:UsersuserDesktopИльяCS 1.6 ScriptingCompilerClear Server[build 6153]logscstrikeaddonsamxmodxpluginsmy_adm.amx (compile failed).
-
Skenmuk
- Сообщения: 23
- Зарегистрирован: 08 авг 2016, 20:03
- Благодарил (а): 3 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Меньше недели
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
- Ответить с цитатой
Re: adminmenu: fatal error 107: too many error
L4D2 » 10 авг 2016, 20:38
Skenmuk,
Если будут вот такие ошибки: Warning: Loose indentation
То табуляцию корректируйте!
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <dhudmessage>
#include <colorchat>
#include <fakemeta_util>#define PLUGINAME "adminmenu"
#define VERSION "1.01"
#define AUTHOR "Skenmuk"#define DEF_TRAIL_LIFE 2
enum _:v_menu
#define MAX_DISTANCE 200
#define MAX_PLAYERS 32
#define NUM_SPRITES 1
#define TASKID 1337
#define TICK 0.1
{
lim_money,
};new
onoff[33]
new offon[33]
new off[33]
new on[33]
new tra[33]
new ren[33]
new gondon[33]
new szName[33]
new szRes[33]
new PlayerLimit[35][v_menu];public
plugin_init()
{
register_clcmd( "adminmenu", "adminmenu_user" )
register_clcmd( "say /adminmenu", "adminmenu_user" )
}
public client_connect(id)
{
szRes[id] = 2
}
public RoundStart()
{
new maxpls = get_maxplayers(), id
for(id = 1; id <= maxpls; id++)
{
szRes[id] = 2
}
}public
{
PlayerLimit[id][lim_money] = 0;
}
public adminmenu_user(id)
{
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
static title[128];
formatex(title, charsmax(title), "w[rCs-Buumw] yМеню w[rA.D.M.I.N'Aw] ^nw[rCs-Buumw] yПривет: w[r %s w]",szName)new
new_menu = menu_create(title, "menu_admin");
//new new_menu = menu_create( "w[rCs-Buumw] yМеню w[rA.D.M.I.N'Aw] ^nw[rCs-Buumw] yПривет: w[r %s w]", szName, "menu_admin" )if(GetAliveCt() < 2 || is_user_alive(id) || szRes[id] == 0 || get_user_team(id) != 2)
{
menu_additem( new_menu, "y[r1y]r. dВоскреснуть y[r%dy]^n", "1", 0, szRes[id])
}
else
{
menu_additem( new_menu, "y[r1y]r. wВоскреснуть y[r%dy]^n", "1", 0, szRes[id])
}
if(!off[id])
{
menu_additem( new_menu, "y[r2y]r. wСкоростьd: y[rВыклy]", "2", 0)
}
else
{
menu_additem( new_menu, "y[r2y]r. wСкоростьd: y[rВклy]", "2", 0)
}
if(!on[id])
{
menu_additem( new_menu, "y[r3y]r. wГравитацияd: y[rВыклy]", "3", 0)
}
else
{
menu_additem( new_menu, "y[r3y]r. wГравитацияd: y[rВклy]", "3", 0)
}
if(!ren[id])
{
menu_additem( new_menu, "y[r4y]r. wВзять y[rM3 Super90y]^n", "4", 0)
}
if(!tra[id])
{
menu_additem( new_menu, "y[r5y]r. wВзять y[rA.W.Py]^n", "5", 0)
}
else
{
menu_additem( new_menu, "y[r6y]r. wВзять y[r+16.000$y]^n", "6", 0)
}
if(!offon[id])
{
menu_additem( new_menu, "y[r7y] wВойти в y[rE.X.T.R.A - A.D.M.I.N M.E.N.Uy]^n^n", "7", 0)
}menu_additem( new_menu, "Выйти", "0")
menu_setprop( new_menu, MPROP_PERPAGE, 0)
menu_display( id, new_menu, 0 )
}
}public
menu_admin( id, menu, item, iEnt, player)
{
if( item == MENU_EXIT )
{
menu_destroy( menu )
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callbackmenu_item_getinfo
( menu, item, access, data,5, iName, 63, callback )
new key = str_to_num( data )
switch( key )
{
case 1:
{
if(GetAliveCt() < 2 || is_user_alive(id) || szRes[id] == 0 || get_user_team(id) != 2)
return PLUGIN_CONTINUEExecuteHam
(Ham_CS_RoundRespawn, id)
Jolting(id)
szRes[id] = szRes[id] - 1
AdminMenu(id)
}case
2:
{
if(off[id])
{
set_user_maxspeed(id, 250.0)
client_cmd(id,"Cs-Buum");
off[id] = 0
}
else
{
set_user_maxspeed(id, 555.0)
client_cmd(id,"Cs-Buum");
off[id] = 1
}
set_task(0.1, "Cs-Buum", id)
}
case 3:
{
if(on[id])
{
set_user_gravity(id, 0.8)
client_cmd(id,"Cs-Buum");
on[id] = 0
}
else
{
set_user_gravity(id, 0.6)
client_cmd(id,"Cs-Buum");
on[id] = 1
}
set_task(0.1, "Cs-Buum", id)
}
case 4:
{
if(is_user_alive(id))
{
give_item(id, "weapon_m3")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
}
client_cmd(id, "adminmenu")}
5:
case
{
if(is_user_alive(id))
{
give_item(id, "weapon_awp")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")
give_item(id, "ammo_338magnum")
}
client_cmd(id, "adminmenu")}
case
{
if(PlayerLimit[id][lim_money]==3)
{
ColorChat(id, NORMAL, "^03[^04Cs-Buum^03] ^01Запрещено использовать этот пунк больше ^04[7-раз]");
}else
{
cs_set_user_money(id, 16000)
PlayerLimit[id][lim_money]++;
}
}
case 7:
{
client_cmd(id, /extraadmin)
}
menu_destroy( menu )
return PLUGIN_HANDLED
}stock GetAliveCt()
{
new CountCt, i
for(i = 1; i <= get_maxplayers(); i++)
if(is_user_alive(i) && is_user_connected(i) && get_user_team(i) == 2)
CountCt++return
CountCt
}
-
L4D2
- Сообщения: 792
- Зарегистрирован: 25 июн 2011, 19:26
- Благодарил (а): 240 раз.
- Поблагодарили: 100 раз.
- Языки программирования: Counter-Strike 1.6
- Ответить с цитатой
Re: adminmenu: fatal error 107: too many error
Skenmuk » 11 авг 2016, 03:35
Всем спасибо, разобрался, всё понял, прошу закрыть тему
-
Skenmuk
- Сообщения: 23
- Зарегистрирован: 08 авг 2016, 20:03
- Благодарил (а): 3 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Меньше недели
- Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead
- Ответить с цитатой
Re: adminmenu: fatal error 107: too many error
L4D2 » 11 авг 2016, 04:29
Skenmuk писал(а):Всем спасибо, разобрался, всё понял, прошу закрыть тему
Есть для это кнопка специально.
-
L4D2
- Сообщения: 792
- Зарегистрирован: 25 июн 2011, 19:26
- Благодарил (а): 240 раз.
- Поблагодарили: 100 раз.
- Языки программирования: Counter-Strike 1.6
Вернуться в Вопросы по AMXX и его плагинам
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1