Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Ошибка компилирования

, При компилировании плагина выдаёт ошибку
Статус пользователя Vos3ek
сообщение 16.5.2021, 13:54
Сообщение #1
Стаж: 4 года 11 месяцев

Сообщений: 3
Благодарностей: 1
Полезность: 0

Хотел скомпилировать плагин для зомби сервера но вылезла ошибка
Ошибка компиляции:
AMX Mod X Compiler 1.8.3-dev+5147
Copyright © 1997-2006 ITB CompuPhase
Copyright © 2004-2013 AMX Mod X Team

bossmenuZM.sma(45) : error 035: argument type mismatch (argument 2)
bossmenuZM.sma(68) : error 028: invalid subscript (not an array or too many subscripts): "iWeapon"
bossmenuZM.sma(68) : warning 215: expression has no effect
bossmenuZM.sma(68) : error 001: expected token: ";", but found "]"
bossmenuZM.sma(68) : error 029: invalid expression, assumed zero
bossmenuZM.sma(68) : fatal error 107: too many error messages on one line

Compilation aborted.
5 Errors.
Done.

Исходник прикрепляю
Кто не может скачать то он ниже

Код:
/*История изменений:
1.0 (???) by ???
*Первый релиз.
1.1 (07.11.2020) by b0t.
*Редактура.
*Оптимизация.
*/
#include < amxmodx >
#include < zombieplague >

new const VERSION[] = "1.1"

native give_plasmagun(const pPlayer);
native give_weapon_turbulent5(const pPlayer);
native give_augex(const pPlayer);
native give_xm8(const pPlayer);
native give_NENATIVE_sprifle(const pPlayer);

#define fx formatex
#define cx charsmax

#define flags(%0) get_user_flags(%0)

/*
*Флаг доступа к меню.
*/
new const g_szAdminAccess[] = "d";

new
g_szAdminFlags,
gMaxPlayers,
iRounds[33][4],
iWeapon[33][5];

public plugin_init()
{
register_plugin("BossMenuZP",VERSION,"[CSMods]");

RegisterHookSay("boss_menu","ShowBossMenu");

g_szAdminFlags = read_flags(g_szAdminAccess);

gMaxPlayers = get_maxplayers();
}

public zp_round_ended()
{
for(new pPlayer=0;pPlayer<=gMaxPlayers;pPlayer++)
{
if(!is_user_connected(pPlayer))
continue;

if(flags(pPlayer) & g_szAdminFlags)
{
for(new iRound=0;iRound<4;iRound++)
{
if(iRounds[pPlayer][iRound] > 0)
iRounds[pPlayer][iRound]--;
}
for(new iWeapon=0;iWeapon<5;iWeapon++)
{
if(iWeapon[pPlayer][iWeapon] > 0)
iWeapon[pPlayer][iWeapon]--;
}
}
}
}

public ShowBossMenu(const id)
{
new iMenu = menu_create("\wМеню \yБосса","BossMenuHandled");

if(flags(id) & g_szAdminFlags)
{
menu_additem(iMenu,"Оружия \yБосса","1");
menu_additem(iMenu,"Взять Аммо [\y+500\w]","2");
menu_additem(iMenu,"Взять Броню [\y+100\w]","3");
menu_additem(iMenu,"Взять Жизни [\y+100\w]","4");
}
else
{
menu_additem(iMenu,"\dОружия Босса","1");
menu_additem(iMenu,"\dВзять Аммо [+500]","2");
menu_additem(iMenu,"\dВзять Броню [+100]","3");
menu_additem(iMenu,"\dВзять Жизни [+100]","4");
}
menu_setprop(iMenu,MPROP_EXITNAME,"Выход");
menu_setprop(iMenu,MPROP_NUMBER_COLOR,flags(id) & g_szAdminFlags ? "\y" : "\d");
menu_display(id,iMenu,0);
return PLUGIN_HANDLED;
}

public BossMenuHandled(const id,const iMenu,const iItem)
{
if(iItem==MENU_EXIT)
return menu_destroy(iMenu);

new iAccess,szData[64],szName[64],iCallback;
menu_item_getinfo(iMenu,iItem,iAccess,szData,cx(szData),szName,cx(szName),iCallb
ack);
menu_destroy(iMenu);

if(!(flags(id) & g_szAdminFlags))
return client_print_color(id,print_team_default,"^4[^1Ошибка^4]^1 Для этого вам нужно купить ^4Босс^1. Пишите в : [СКОРО]");
else if(!is_user_alive(id))
return client_print_color(id,print_team_default,"^4[^1Ошибка^4]^1 Для этого вы должны быть ^4живы^1!");
else if(iRound[id][str_to_num(szData)] > 0)
return client_print_color(id,print_team_default,"^4[^x01Ошибка^4]^1 Подождите еще ^4%i^1 раундов!",iRound[id][str_to_num(szData)])

switch(str_to_num(szData))
{
case 1: ShowWeaponMenu(id);
case 2:
{
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + 500);
iRound[id][str_to_num(szData)]=30;
}
case 3:
{
if(zp_get_user_zombie(id))
return zp_colored_print(id, "^4[Ошибка]^3Броню ^1можно брать ^4ТОЛЬКО ЛЮДЯМ");

set_pev(id,pev_armorvalue,pev(id, pev_armorvalue)+100.0);
iRound[id][str_to_num(szData)]=1;
}
case 4:
{
if(zp_get_user_zombie(id))
return zp_colored_print(id, "^4[Ошибка]^1Жизни можно брать ^4ТОЛЬКО ЛЮДЯМ")

set_pev(id, pev_health, pev(id, pev_health)+100.0)
iRound[id][str_to_num(szData)]=1;
}
}
return PLUGIN_HANDLED;
}

public ShowWeaponMenu(const id)
{
new iMenu = menu_create("\yОружия \wБосса","WeaponMenuHandled");

if(flags(id) & g_szAdminFlags)
{
menu_additem(iMenu,"Взять \r[\wGuardian\r]","1");
menu_additem(iMenu,"Взять \r[\wCrow-7\r]","2");
menu_additem(iMenu,"Взять \r[\wAK-47 Paladin\r]","3");
menu_additem(iMenu,"Взять \r[\wM4a1 Vulcan\r]","4");
menu_additem(iMenu,"Взять \r[\wThunderbolt\r]","5");
}
else
{
menu_additem(iMenu,"\dВзять [Guardian]","1");
menu_additem(iMenu,"\dВзять [Crow-7]","2");
menu_additem(iMenu,"\dВзять [AK-47 Paladin]","3");
menu_additem(iMenu,"\dВзять [M4a1 Vulcan]","4");
menu_additem(iMenu,"\dВзять [Thunderbolt]","5");
}

menu_setprop(iMenu,MPROP_EXITNAME,"Выход");
menu_setprop(iMenu,MPROP_NUMBER_COLOR,flags(id) & g_szAdminFlags ? "\y" : "\d");
menu_display(id,iMenu,0);
return PLUGIN_HANDLED;
}

public WeaponMenuHandled(const id,const iMenu,const iItem)
{
if(iItem==MENU_EXIT)
return menu_destroy(iMenu);

new iAccess,szData[64],szName[64],iCallback;
menu_item_getinfo(iMenu,iItem,iAccess,szData,cx(szData),szName,cx(szName),iCallb
ack);
menu_destroy(iMenu);

if(!(flags(id) & g_szAdminFlags))
return client_print_color(id,print_team_default,"^4[^1Ошибка^4]^1 Для этого вам нужно купить ^4Босс^1. Пишите в : [СКОРО]");
else if(!is_user_alive(id))
return client_print_color(id,print_team_default,"^4[^1Ошибка^4]^1 Для этого вы должны быть ^4живы^1!");
else if(zp_get_user_zombie(id))
return client_print_color(id,print_team_default,"^4[Ошибка]^1оружия Босса можно брать ^4ТОЛЬКО ЛЮДЯМ");
else if(iWeapon[id][str_to_num(szData)] > 0)
return client_print_color(id,print_team_default,"^4[^x01Ошибка^4]^1 Подождите еще ^4%i^1 раундов!",iWeapon[id][str_to_num(szData)])

switch(str_to_num(szData))
{
case 1:
{
give_plasmagun(id)
iWeapon[id][str_to_num(szData)]=1
}
case 2:
{
give_weapon_turbulent5(id)
iWeapon[id][str_to_num(szData)]=1
}
case 3:
{
give_augex(id)
iWeapon[id][str_to_num(szData)]=1
}
case 4:
{
give_xm8(id)
iWeapon[id][str_to_num(szData)]=1
}
case 5:
{
give_NENATIVE_sprifle(id)
iWeapon[id][str_to_num(szData)]=1
}
}
return PLUGIN_HANDLED;
}

stock RegisterHookSay(szCmd[],szFunc)
{
new szView[64];
fx(szView,cx(szView),"say /%s",szCmd);
register_clcmd(szView,szFunc);
fx(szView,cx(szView),"say_team /%s",szCmd);
register_clcmd(szView,szFunc);
fx(szView,cx(szView),"%s",szCmd);
register_clcmd(szView,szFunc);
}

Прикрепленные файлы:
Прикрепленный файл  bossmenuZM.sma ( 7,29 килобайт ) Кол-во скачиваний: 14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя MiXa
сообщение 18.5.2021, 7:34
Сообщение #2


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

инклуд zombieplague присутствует в инклудах?


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 18.5.2021, 20:37
Сообщение #3


Иконка группы

Стаж: 13 лет

Сообщений: 2457
Благодарностей: 1482
Полезность: 770

HostGame.cf
Цитата
argument type mismatch (argument 2)

Разные объявления аргументов вызываемой функции и в вызывающем коде?
Только я не понял почему 45я строка, она пустая, между концом plugin_init() и началом public zp_round_ended()

Отредактировал: Metal Messiah, - 18.5.2021, 20:41


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 19.5.2021, 9:23
Сообщение #4


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

Цитата(Metal Messiah @ 18.5.2021, 21:37) *
Разные объявления аргументов вызываемой функции и в вызывающем коде?
Только я не понял почему 45я строка, она пустая, между концом plugin_init() и началом public zp_round_ended()

Metal Messiah, может потому,что функция zp_round_ended() , ничем не вызывается?


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vos3ek
сообщение 25.5.2021, 16:17
Сообщение #5
Стаж: 4 года 11 месяцев

Сообщений: 3
Благодарностей: 1
Полезность: 0

MiXa, Так что не так?Как исправить ошибку?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vos3ek
сообщение 4.7.2021, 15:11
Сообщение #6
Стаж: 4 года 11 месяцев

Сообщений: 3
Благодарностей: 1
Полезность: 0

Metal Messiah, Так что не так? Как сделать чтобы всё работало?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fullserver
сообщение 4.7.2021, 16:04
Сообщение #7


Иконка группы

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

Metal Messiah, 39 и 69 там

RegisterHookSay не существует константы

Кто эту кривоту писал? Глаза чуть не сломал.

Надо либо с нуля писать, либо вникать в смысл плагина.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BaHeK
сообщение 4.7.2021, 17:16
Сообщение #8


Стаж: 17 лет

Сообщений: 571
Благодарностей: 505
Полезность: 651

iWeapon[pPlayer][iWeapon]--;

ты уж определись, это массив у тебя или интеджер


Чуть-чуть нарушаю
http://img-host.su/aoN1.png
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fullserver
сообщение 4.7.2021, 17:22
Сообщение #9


Иконка группы

Стаж: 11 лет

Сообщений: 5122
Благодарностей: 2100
Полезность: 1394

Хлеще извращённой херни не видел

Че он пытается найти? Где функция нахождения?

Ощущение что не для Amx писался плагин, а для другого движка.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Jelly
сообщение 4.7.2021, 20:34
Сообщение #10


Стаж: 9 лет 6 месяцев
Город: Красноярск

Сообщений: 202
Благодарностей: 42
Полезность: 106

Меценат Меценат

Гуру скриптеры 13 лет пишут щас такое :D Еще умудряются продать за 500р такое xD
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: