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

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

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

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

ошибка при компеляции

, ошибка при компеляции
Статус пользователя olex
сообщение 11.6.2020, 15:20
Сообщение #1


Стаж: 10 лет

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

Всем привет ! Ошибка при компеляции плагина версии amx 1.82 Прикрепленный файл  menufront_end.sma ( 4,65 килобайт ) Кол-во скачиваний: 6


Ну чё? Языком трепать не мешки ворочать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя MamaYaAdmin
сообщение 13.6.2020, 16:45
Сообщение #2
Стаж: 5 лет 11 месяцев

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

Здраствуйте у меня ошибка при компеляции
Прикрепленные файлы:
Прикрепленное изображение

Прикрепленные файлы:
Прикрепленный файл  menu.sma ( 1,17 килобайт ) Кол-во скачиваний: 6
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MamaYaAdmin
сообщение 16.6.2020, 14:35
Сообщение #3
Стаж: 5 лет 11 месяцев

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

Я не могу найти в чём ошибка
Прикрепленные файлы:
Прикрепленное изображение

Прикрепленные файлы:
Прикрепленный файл  OnlineGiveAdmin.sma ( 6,59 килобайт ) Кол-во скачиваний: 5
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 16.6.2020, 16:27
Сообщение #4


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

Цитата(MamaYaAdmin @ 16.6.2020, 15:35) *
Я не могу найти в чём ошибка

Вам показывает строку и то, что ожидается скобка, а получаем кэйс, где-то возле указанной строки не хватает скобки

Цитата(MamaYaAdmin @ 13.6.2020, 17:45) *
Здраствуйте у меня ошибка при компеляции

Плагин не знает, что такое iTarget и не хватает запятой

Отредактировал: ThePhoenix, - 16.6.2020, 16:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Shur1k_ua
сообщение 16.6.2020, 16:36
Сообщение #5


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

Стаж: 14 лет
Город: Ровно

Сообщений: 1817
Благодарностей: 919
Полезность: 1233

Cкрытый текст
Код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

// -> Инфо о плагине <- //{
new g_Plugin[] = "[AMXX] Admin Gift";
new g_Version[] = "02.01.2018";
new g_Author[] = "Edit By Number One (vk.com/cs_jump)";

new g_Chat[] = "Admin Gift";
// -> Инфо о плагине <- //}

new g_iMenuPlayers[33][32], g_iMenuPosition[33], Right[33] = 0;

public plugin_init()
{
    register_plugin(g_Plugin, g_Version, g_Author);

    register_menucmd(register_menuid("Main_Menu"), (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9), "Handle_MainMenu");
    register_menucmd(register_menuid("Show_RightMenu"), (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9), "Handle_RightMenu");

    register_clcmd("admin_right", "Main_Menu");
}

public Main_Menu(id)
{
    static menu[512]; new iLen = 0, iKey = (1<<9);
    if(get_user_flags(id) & ADMIN_RCON)
    {
        iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yМеню админ привилегий^n^n");
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\w2\r] \wДать Вип^n");
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\w3\r] \wДать Админа^n");
        iKey |= (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5);
    }
    else
    {
        iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yМеню админ привилегий^n\dВыдача для \r[\yСоздателя\r]^n");
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[#] \dДать Вип^n");
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[#] \dДать Админа^n");    
    }
    if(get_user_flags(id) & ADMIN_RCON)
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r[\w9\r] \wЗабрать привилегии^n^n");
        iKey |= (1<<8)
    } else iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d[#] \dЗабрать привилегии^n^n");
    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r[\w0\r] \wВыход");
    return show_menu(id, iKey, menu, -1, "Main_Menu");
}

public Handle_MainMenu(id, key)
{
    switch(key)
    {
        case 0:
        {
            Right[id] = 1;
            return Show_RightMenu(id, g_iMenuPosition[id] = 0);
        }
        case 1:
        {
            Right[id] = 3;
            return Show_RightMenu(id, g_iMenuPosition[id] = 0);
        }
        case 2:
        {
            Right[id] = 4;
            return Show_RightMenu(id, g_iMenuPosition[id] = 0);
        }
        case 3:
        {
            Right[id] = 7;
            return Show_RightMenu(id, g_iMenuPosition[id] = 0);
        }
        case 9: return PLUGIN_HANDLED;
    }
    return Main_Menu(id);
}

Show_RightMenu(id, iPos)
{
    new iPlayersNum;
    for(new i = 1; i <= 32; i++)
    {
        switch(Right[id])
        {
            case 1,2:
            {
                if(!is_user_connected(i)) continue;
                g_iMenuPlayers[id][iPlayersNum++] = i;
            }
            case 3:
            {
                if(!is_user_connected(i) || !is_user_admin(i)) continue;
                g_iMenuPlayers[id][iPlayersNum++] = i;
            }
        }
    }
    new iStart = iPos * 8;
    if(iStart > iPlayersNum) iStart = iPlayersNum;
    iStart = iStart - (iStart % 8);
    g_iMenuPosition[id] = iStart / 8;
    new iEnd = iStart + 8;
    if(iEnd > iPlayersNum) iEnd = iPlayersNum;
    new szMenu[512], iLen, iPagesNum = (iPlayersNum / 8 + ((iPlayersNum % 8) ? 1 : 0));
    switch(iPagesNum)
    {
        case 0: return PLUGIN_HANDLED;
        default:
        {
            switch(Right[id]) {
                case 1: iLen = formatex(szMenu, charsmax(szMenu), "\yДать Вип \r[\w%d|%d\r]^n^n", iPos + 1, iPagesNum);
                case 2: iLen = formatex(szMenu, charsmax(szMenu), "\yДать Админа \r[\w%d|%d\r]^n^n", iPos + 1, iPagesNum);
                case 3: iLen = formatex(szMenu, charsmax(szMenu), "\yЗабрать привилегии \r[\w%d|%d\r]^n^n", iPos + 1, iPagesNum);
            }
        }
    }
    new szName[33], i, iKeys = (1<<9), b;
    for(new a = iStart; a < iEnd; a++)
    {
        i = g_iMenuPlayers[id][a];
        get_user_name(i, szName, charsmax(szName));
        iKeys |= (1<<b);
        switch(Right[id])
        {
            case 1,2,3,4,5,6,7: iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r[\w%d\r] \w%s^n", ++b, szName);
        }
    }
    for(new i = b; i < 8; i++) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n");
    if(iEnd < iPlayersNum)
    {
        iKeys |= (1<<8);
        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^n\r[\w9\r] \wВперед^n\r[\w0\r] \w%s", iPos ? "Назад" : "Выход");
    }
    else formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r[\w0\r] \w%s",  iPos ? "Назад" : "Выход");
    return show_menu(id, iKeys, szMenu, -1, "Show_RightMenu");
}

public Handle_RightMenu(id, iKey)
{
    switch(iKey)
    {
        case 8: return Show_RightMenu(id, ++g_iMenuPosition[id]);
        case 9: return Show_RightMenu(id, --g_iMenuPosition[id]);
        default:
        {
            new iTarget = g_iMenuPlayers[id][g_iMenuPosition[id] * 8 + iKey];
            new Admin[32]; get_user_name(id, Admin, charsmax(Admin));
            new Player[32]; get_user_name(iTarget, Player, charsmax(Player));
            switch(Right[id])
            {
                case 1:
                {
                    remove_user_flags(iTarget, read_flags("abcdefghijklmnopqrstuz"));
                    set_user_flags(iTarget, read_flags("t"));
                    UTIL_SayText(0, "!y[!g%s!y]!y Создатель !t%s !yвыдал игроку !g%s!y вип!", g_Chat, Admin, Player);
                }
                case 2:
                {
                    remove_user_flags(iTarget, read_flags("abcdefghijklmnopqrstuz"));
                    set_user_flags(iTarget, read_flags("abcdefghijklmnopqrstuz"));
                    UTIL_SayText(0, "!y[!g%s!y]!y Создатель !t%s !yвыдал игроку !g%s!y админку!", g_Chat, Admin, Player);
                }
                case 3:
                {
                    set_user_flags(iTarget, read_flags("z"));
                    remove_user_flags(iTarget,  read_flags("abcdefghijklmnopqrstu"));
                    UTIL_SayText(0,"!y[!g%s!y]!y Создатель !t%s !yзабрал у !g%s!y все привилегии!", g_Chat , Admin, Player);
                }
            }
        }
    }
    return Show_RightMenu(id, g_iMenuPosition[id]);
}

stock UTIL_SayText(pPlayer, const szMessage[], any:...)
{
    new szBuffer[190];
    if(numargs() > 2) vformat(szBuffer, charsmax(szBuffer), szMessage, 3);
    else copy(szBuffer, charsmax(szBuffer), szMessage);
    while(replace(szBuffer, charsmax(szBuffer), "!y", "^1")) {}
    while(replace(szBuffer, charsmax(szBuffer), "!t", "^3")) {}
    while(replace(szBuffer, charsmax(szBuffer), "!g", "^4")) {}
    switch(pPlayer)
    {
        case 0:
        {
            for(new iPlayer = 1; iPlayer <= get_maxplayers(); iPlayer++)
            {
                engfunc(EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, 76, {0.0, 0.0, 0.0}, iPlayer);
                write_byte(iPlayer);
                write_string(szBuffer);
                message_end();
            }
        }
        default:
        {
            engfunc(EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, 76, {0.0, 0.0, 0.0}, pPlayer);
            write_byte(pPlayer);
            write_string(szBuffer);
            message_end();
        }
    }
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 16.6.2020, 17:17
Сообщение #6


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

Цитата(MamaYaAdmin @ 13.6.2020, 17:45) *
Здраствуйте у меня ошибка при компеляции

Пробуйте так
Прикрепленный файл  menu.sma ( 1,14 килобайт ) Кол-во скачиваний: 7
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя wopox3
сообщение 25.7.2020, 20:17
Сообщение #7


Стаж: 13 лет

Сообщений: 333
Благодарностей: 222
Полезность: 902

Цитата(olex @ 11.6.2020, 16:20) *
Всем привет ! Ошибка при компеляции плагина версии amx 1.82 Прикрепленный файл  menufront_end.sma ( 4,65 килобайт ) Кол-во скачиваний: 6

Ошибка компиляции в вашем плагине связана с не верным заполнением массива объектов меню. Запятая должна отсутствовать в конце массива элементов на строке #14
Исправленный код плагина `Menus Front-End v1.5 от neugomon`

Код:

#include <amxmodx>
enum _:DATA { Name[64], Cmd[32], Flags }

#define ADMIN_LOADER // Выводить срок до конца админки с Admin Loader by Neugomon
new g_szDefaultItems[][DATA] = // Стандартные пункты в меню | { "название пункта", "команда", "флаг доступа" }
{
{ "\wКикнуть", "amx_kickmenu", ADMIN_KICK },
{ "\wЗабанить", "amx_banmenu", ADMIN_BAN },
{ "\wУдарить\w/\wУбить", "amx_slapmenu", ADMIN_SLAY },
{ "\wКоманда игрока", "amx_teammenu", ADMIN_KICK },
{ "\wСмена карты", "amx_mapmenu", ADMIN_MAP },
{ "\wГолосование за карту", "amx_votemapmenu", ADMIN_VOTE },
{ "\wЗаткнуть игрока", "amx_gagmenu", ADMIN_BAN },
{ "\wРазбан игроков", "amx_unban", ADMIN_BAN } // Здесь у вас присутствовала лишняя запятая
};

new g_iNumItems;
new g_szMenuData[128][DATA];
new g_iMenuPage[33];
#if defined ADMIN_LOADER
native admin_expired(index);
#endif
public plugin_init()
{
register_plugin("Menus Front-End", "1.5", "neugomon");

register_clcmd("amxmodmenu", "clcmdAdminMenu", ADMIN_MENU);
register_srvcmd("amx_addmenuitem", "SrvAddMenuItems");

register_menucmd(register_menuid("AMX Menu"), 1023, "amxx_handler");

MenuDefaultLoad();
}

public clcmdAdminMenu(id, flags)
{
if(get_user_flags(id) & flags)
{
g_iMenuPage[id] = 0;
BuildMenu(id, g_iMenuPage[id]);
}
else console_print(id, "* Вы не имеете доступа к этой команде");
return PLUGIN_HANDLED;
}

public SrvAddMenuItems()
{
if(read_argc() >= 3)
{
new ItemName[64], ItemCmd[32], ItemFlags[30];
read_argv(1, ItemName, charsmax(ItemName));
read_argv(2, ItemCmd, charsmax(ItemCmd));
read_argv(3, ItemFlags, charsmax(ItemFlags));

copy(g_szMenuData[g_iNumItems][Name], charsmax(g_szMenuData[][Name]), ItemName);
copy(g_szMenuData[g_iNumItems][Cmd], charsmax(g_szMenuData[][Cmd]), ItemCmd);
g_szMenuData[g_iNumItems][Flags] = read_flags(ItemFlags);
g_iNumItems++;
}
else server_print("[Menus Front-End by Neugomon] Item not added! Syntax: ^"Item name^" ^"Item command^" ^"Item access^"");
return PLUGIN_HANDLED;
}

MenuDefaultLoad()
{
for(new i; i < sizeof g_szDefaultItems; i++)
{
copy(g_szMenuData[g_iNumItems][Name], charsmax(g_szMenuData[][Name]), g_szDefaultItems[i][Name]);
copy(g_szMenuData[g_iNumItems][Cmd], charsmax(g_szMenuData[][Cmd]), g_szDefaultItems[i][Cmd]);
g_szMenuData[g_iNumItems][Flags] = g_szDefaultItems[i][Flags];
g_iNumItems++;
}
}

BuildMenu(id, pos)
{
new szMenu[512];
new len
new start = pos * 8;
new end = start + 8;
new keys = MENU_KEY_0;

if(start >= g_iNumItems)
start = pos = g_iMenuPage[id] = 0;
if(g_iNumItems == 9 || end > g_iNumItems)
end = g_iNumItems;
#if defined ADMIN_LOADER
new exp = admin_expired(id);
if(exp > 0)
{
new systime = get_systime();
if(exp - systime > 0)
{
if((exp - systime) / 86400 > 0)
len = formatex(szMenu, charsmax(szMenu), "\yАдмин Меню^n\wОсталось \r%d \wдней^n^n", ((exp - systime) / 86400));
else len = formatex(szMenu, charsmax(szMenu), "\yАдмин Меню^n\rПоследний \wдень^n^n");
}
}
else if(exp == 0) len = formatex(szMenu, charsmax(szMenu), "\yАдмин Меню^n\wПрава \yне ограничены^n^n");
#else
len = formatex(szMenu, charsmax(szMenu), "\yАдмин Меню^n\wВыберите действие^n^n");
#endif
for(new i = start, flags = get_user_flags(id), a; i < end; i++)
{
if(flags & g_szMenuData[i][Flags])
{
keys |= (1 << a);
len += formatex(szMenu[len], charsmax(szMenu) - len, "\r%d. \w%s^n", ++a, g_szMenuData[i][Name]);
}
else len += formatex(szMenu[len], charsmax(szMenu) - len, "\r%d. \d%s^n", ++a, g_szMenuData[i][Name]);
}

if(end != g_iNumItems)
{
formatex(szMenu[len], charsmax(szMenu) - len, "^n\r9. \yДалее^n\r0. \r%s", pos ? "Назад" : "Выход");
keys |= MENU_KEY_9;
}
else formatex(szMenu[len], charsmax(szMenu) - len, "^n\r0. \r%s", pos ? "Назад" : "Выход");

return show_menu(id, keys, szMenu, -1, "AMX Menu");
}

public amxx_handler(id, key)
{
switch(key)
{
case 9: if(g_iMenuPage[id]) BuildMenu(id, --g_iMenuPage[id]);
default:
{
if(key == 8 && g_iNumItems > 9)
BuildMenu(id, ++g_iMenuPage[id]);
else
{
new pos = g_iMenuPage[id] * 8 + key;
if(g_szMenuData[pos][Cmd][0] == 's' && g_szMenuData[pos][Cmd][1] == 'v' && g_szMenuData[pos][Cmd][2] == '_')
server_cmd(g_szMenuData[pos][Cmd]);
else client_cmd(id, g_szMenuData[pos][Cmd]);
}
}
}
return PLUGIN_HANDLED;
}



Отредактировал: wopox3, - 25.7.2020, 20:18
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя wopox3
сообщение 25.7.2020, 20:24
Сообщение #8


Стаж: 13 лет

Сообщений: 333
Благодарностей: 222
Полезность: 902

Цитата(MamaYaAdmin @ 13.6.2020, 17:45) *
Здраствуйте у меня ошибка при компеляции

У вас не корректно построен плагин, таковая реализация не будет работать, так как отсутствует цель, для которой меню и было создано.
Я поправил компиляцию, но код работать не будет.
Cкрытый текст

Код:
#include <amxmodx>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

public plugin_init() {
register_clcmd("mymenu", "cmdMenu", ADMIN_ALL);
register_plugin(PLUGIN, VERSION, AUTHOR);
}

public cmdMenu(id) {
new i_Menu = menu_create("Выдача доната", "menu_handler");
menu_additem(i_Menu, "Выдать Админку :D", "1", 0);
menu_additem(i_Menu, "Забрать админку D:", "2", 0);
menu_setprop(i_Menu, MPROP_NEXTNAME, "Далее");
menu_setprop(i_Menu, MPROP_BACKNAME, "Назад");
menu_setprop(i_Menu, MPROP_EXITNAME, "Выход");

menu_display(id, i_Menu, 0)
}

public menu_handler(id, menu, item) {
if( item < 0 ) return;

new cmd[3], access, callback;
menu_item_getinfo(menu, item, access, cmd,2,_,_, callback);
new Choise = str_to_num(cmd);

new targetID; // Тут должен быть выбранный игрок, которого вы должны передать в качестве параметров в созданное меню.
if(!is_user_connected(targetID))
return;

switch (Choise) {
case 1: {
set_user_flags(targetID, read_flags("abcdefghijklmnopqrstuz"));
}
case 2: {
remove_user_flags(targetID, read_flags("abcdefghijklmnopqrstuz"));
}
}
return;
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 26.7.2020, 10:06
Сообщение #9


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

wopox3,
оффтоп
некропостим?) Что-то ты активно начал отвечать в темах 3-6 недельной давности)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: