Поиск Помочь разобраться в плагине /Showmenu

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
13
Реакции
0
Предупреждения
5
Неверный раздел форума
Здравствуйте всем кто читает эту тему: проблема вот в чём есть плагин на моём сервере под название csdm_menu_ustr и проблема заключается в том что на данный момент не умею писать плагины и изменять их только начал изучать скриптинг но опыта ещё нету, ну так суть в чём хочу добавить на сервер катушку теслу ну не знаю как вписать его в плагин.
 

Download all Attachments

Сообщения
13
Реакции
0
Предупреждения
5
Code_0xABC, Да
9 Апр 2024
Code_0xABC, Ну и если можно в крациях объяснить какой командой вписывать его в список, на что делать акцент. так как я ещё только пытаюсь язык учить по программированию, и маленько не допонимаю
9 Апр 2024
@Code_0xABC,Так как в дальнейшем в планах установить ещё и лазерный забор,просто чтоб постоянно не спрашивать по таким вещам да бы не беспокоить
 
Сообщения
967
Реакции
51
Помог
10 раз(а)
А какая ошибка при компиляции?
 
Сообщения
13
Реакции
0
Предупреждения
5
Code_0xABC, Ошибки у меня при компиляции не было, я как то сам пробовал вписывать в меню и у меня не вышло,при заходе на сервер после моих не опытных рук не открывалось меню устройств. а как ставил исходный файл без изменения то всё нормально работает
 
Сообщения
967
Реакции
51
Помог
10 раз(а)
Первое, добавить native get_sentry_team(sentry)
Второе, не правильно это get_sentry_team(sentry)(iPlayer), нужно get_sentry_team(sentry)
Третье, получить правильно значение этого квара Tesla_limit, если конечно он существует
 
Сообщения
13
Реакции
0
Предупреждения
5
Code_0xABC, 1 и 2 исправил а вот в 3 квар не обнаружил нету лимита
9 Апр 2024
Code_0xABC, Вот так прописал menu_additem(iMenu, fmt("%L", LANG_PLAYER, "MENU_Tesla", get_sentry_team(sentry), g_cvar_TEsla_destone;
 
Сообщения
13
Реакции
0
Предупреждения
5
@Code_0xABC,так же не открывает в меню меню устройств
9 Апр 2024
Dmitryikrsk24rus,
#include <AmxModX>

// Native
native get_setnry_count(iPlayer);
native get_user_lasermine(iPlayer);
native get_dispenser_count(iPlayer);
native get_sentry_team(sentry)

public plugin_init() {
register_plugin("[ReCSDM] Menu: Ustr", "0.1", "Immortal-");
register_clcmd("menu_str", "ShowMenu");
register_dictionary("csdm_core/menu_ustr.txt");
}

public ShowMenu(iPlayer) {
new iMenu = menu_create(fmt("%L", LANG_PLAYER, "MENU_USTR_TITLE"), "Menu_Handler");

menu_additem(iMenu, fmt("%L", LANG_PLAYER, "MENU_TUREL", get_setnry_count(iPlayer), get_cvar_num("sentry_limit")), "1");
menu_additem(iMenu, fmt("%L", LANG_PLAYER, "MENU_LASER", get_user_lasermine(iPlayer), get_user_flags(iPlayer) & ADMIN_LEVEL_H ? get_cvar_num("tm_max_mine_vip") : get_cvar_num("tm_max_mine")), "2");
menu_additem(iMenu, fmt("%L", LANG_PLAYER, "MENU_DISPE", get_dispenser_count(iPlayer), get_user_flags(iPlayer) & ADMIN_LEVEL_H ? get_cvar_num("disp_max_vip") : get_cvar_num("disp_max_user")), "3");
menu_additem(iMenu, fmt("%L", LANG_PLAYER, "MENU_Tesla", get_sentry_team(sentry), g_cvar_TEsla_destone;

menu_setprop(iMenu, MPROP_EXITNAME, "Выход");
menu_setprop(iMenu, MPROP_NUMBER_COLOR, "\y");

menu_display(iPlayer, iMenu);

return PLUGIN_HANDLED;
}

public Menu_Handler(iPlayer, iMenu, iItem) {
if(iItem == MENU_EXIT)
return menu_destroy(iMenu);

new szData[64], iKey;
menu_item_getinfo(iMenu, iItem, .info = szData, .infolen = charsmax(szData));
menu_destroy(iMenu);

iKey = str_to_num(szData);

switch(iKey) {
case 1: client_cmd(iPlayer, "sentry_build");
case 2: client_cmd(iPlayer, "+setlaser");
case 3: client_cmd(iPlayer, "build_dispenser");
case 4: client_cmd(iPlayer, "build_tesla", "CommandTeslaBuild" );
}

return PLUGIN_HANDLED;
}
 
Сообщения
967
Реакции
51
Помог
10 раз(а)
А можно использовать тег code???
Это client_cmd(iPlayer, "build_tesla", "CommandTeslaBuild" );
Замени на это
client_cmd(iPlayer, "build_tesla" );
 
Сообщения
967
Реакции
51
Помог
10 раз(а)
Это
menu_additem(iMenu, fmt("%L", LANG_PLAYER, "MENU_Tesla", get_sentry_team(sentry), g_cvar_TEsla_destone;
Замени на это
menu_additem(iMenu, fmt("%L", LANG_PLAYER, "MENU_Tesla", get_sentry_team(sentry)), "4");, и проверь ланг фаил к этому ключю, что бы небыло лишних спецификаторов, если нужен лимит на использования создай квар и подставляй значение
 
Сообщения
13
Реакции
0
Предупреждения
5
@Code_0xABC,Само меню сервера открывается а в меню устройств не заходит, просто вылетает меню и всё
 
Сообщения
967
Реакции
51
Помог
10 раз(а)
Во первых, тему нужно создавать в нужных разделх, второе, нужно оформлять код как пологается, для читабельности
 
Сообщения
13
Реакции
0
Предупреждения
5
@Code_0xABC,Извиняюсь за мою ошибку грубую уже голова не работает, я в папку plugins закидывал файл sma, не компилировал.
Закинул в компилятор и вот что выдаёт

//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// csdm_menu_ustr.sma
//
// C:\Users\Dmitryi\Desktop\compilator_1_9_0\csdm_menu_ustr.sma(21) : warning 21
7: loose indentation
// C:\Users\Dmitryi\Desktop\compilator_1_9_0\csdm_menu_ustr.sma(21) : error 017:
undefined symbol "sentry"
// C:\Users\Dmitryi\Desktop\compilator_1_9_0\csdm_menu_ustr.sma(21) : error 001:
expected token: ",", but found ";"
// C:\Users\Dmitryi\Desktop\compilator_1_9_0\csdm_menu_ustr.sma(23) : warning 21
7: loose indentation
//
// 2 Errors.
// Could not locate output file C:\Users\Dmitryi\Desktop\compilator_1_9_0\compil
ed\csdm_menu_ustr.amx (compile failed).
//
// Compilation Time: 0,14 sec
// ----------------------------------------


Код:
#include <AmxModX>

// Native
native get_setnry_count(iPlayer);
native get_user_lasermine(iPlayer);
native get_dispenser_count(iPlayer);
native get_sentry_team(sentry)

public plugin_init() {
    register_plugin("[ReCSDM] Menu: Ustr", "0.1", "Immortal-");
    register_clcmd("menu_str", "ShowMenu");
    register_dictionary("csdm_core/menu_ustr.txt");
}

public ShowMenu(iPlayer) {
    new iMenu = menu_create(fmt("%L", LANG_PLAYER, "MENU_USTR_TITLE"), "Menu_Handler");

    menu_additem(iMenu, fmt("%L", LANG_PLAYER, "MENU_TUREL", get_setnry_count(iPlayer), get_cvar_num("sentry_limit")), "1");
    menu_additem(iMenu, fmt("%L", LANG_PLAYER, "MENU_LASER", get_user_lasermine(iPlayer), get_user_flags(iPlayer) & ADMIN_LEVEL_H ? get_cvar_num("tm_max_mine_vip") : get_cvar_num("tm_max_mine")), "2");
    menu_additem(iMenu, fmt("%L", LANG_PLAYER, "MENU_DISPE", get_dispenser_count(iPlayer), get_user_flags(iPlayer) & ADMIN_LEVEL_H ? get_cvar_num("disp_max_vip") : get_cvar_num("disp_max_user")), "3");
    menu_additem(iMenu, fmt("%L", LANG_PLAYER, "MENU_Tesla", get_sentry_team(sentry)), "4");

    menu_setprop(iMenu, MPROP_EXITNAME, "Выход");
    menu_setprop(iMenu, MPROP_NUMBER_COLOR, "\y");

    menu_display(iPlayer, iMenu);

    return PLUGIN_HANDLED;  
}

public Menu_Handler(iPlayer, iMenu, iItem) {
    if(iItem == MENU_EXIT)
        return menu_destroy(iMenu);
       
    new szData[64], iKey;
    menu_item_getinfo(iMenu, iItem, .info = szData, .infolen = charsmax(szData));
    menu_destroy(iMenu);
   
    iKey = str_to_num(szData);

    switch(iKey) {
        case 1: client_cmd(iPlayer, "sentry_build");
        case 2: client_cmd(iPlayer, "+setlaser");
        case 3: client_cmd(iPlayer, "build_dispenser");
        case 4: client_cmd(iPlayer, "build_tesla" );
    }
   
    return PLUGIN_HANDLED;
}
 
Последнее редактирование:
Сообщения
967
Реакции
51
Помог
10 раз(а)
Чуть выше, где оформляешь сообщение, есть три точки, нажми туда и выбери тег код. Вставь туда свой код
 
Сообщения
13
Реакции
0
Предупреждения
5
@Code_0xABC,Виноват новенький на этом сайте ещё толком не разобрался, впредь буду создавать темы там где нужно и оформлять код как пологается, для читабельности
 
Сообщения
112
Реакции
14
Помог
1 раз(а)
Раздел, в котором создана тема, существует для помощи в поиске плагинов, а не в исправлении/добавлении функционала.
 
Сообщения
967
Реакции
51
Помог
10 раз(а)
Параметр sentry это кто или что?
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу