Menu Server

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
32
Реакции
-3
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Ошибка
Не открывает меню на букву "M"
ОС
Linux
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.3.0.628-dev
ReGamedll
ReGameDLL version: 5.3.0.222-dev
Список метамодулей
[ 1] Reunion       RUN   -    reunion_mm_i386.so        v0.1.75         ini  Start Never
[ 2] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 3] AMX Mod X RUN - amxmodx_mm_i386.so v1.8.3-Re ini Start ANY
[ 4] Rechecker RUN - rechecker_mm_i386.so v2.5 ini Chlvl ANY
[ 5] ReSRDetector RUN - resrdetector_mm_i386.so v0.1.0 ini Chlvl ANY
[ 6] Revoice RUN - revoice_mm_i386.so v0.1.0.32 ini Start Never
[ 7] FakeMeta RUN - fakemeta_amxx_i386.so v1.8.3-Re pl3 ANY ANY
[ 8] MySQL RUN - mysql_amxx_i386.so v1.8.3-Re pl3 ANY ANY
[ 9] CStrike RUN - cstrike_amxx_i386.so v1.8.2-dev-fix pl3 ANY ANY
[10] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.8.3-Re pl3 ANY ANY
[11] CSX RUN - csx_amxx_i386.so v1.8.3-Re pl3 ANY ANY
[12] Engine RUN - engine_amxx_i386.so v1.8.3-Re pl3 ANY ANY
[13] ReAPI RUN - reapi_amxx_i386.so v5.2.0.133-dev pl3 ANY Never
[14] Fun RUN - fun_amxx_i386.so v1.8.3-Re pl3 ANY ANY
14 plugins, 14 running
Список плагинов
[  1] Admin Loader            3.1         neygomon          admin_loader.am  running  
[ 2] FreshBans 1.3.8b kanagava fresh_bans_for_ running
[ 3] Players Menu 1.7 neugomon players_menu.am running
[ 4] Admin Commands 1.8.2 AMXX Dev Team admincmd.amxx running
[ 5] Maps Menu 1.4.1 neugomon mapsmenu_.amxx running
[ 6] Admin Votes 1.8.2 AMXX Dev Team adminvote.amxx running
[ 7] Menus Front-End 1.5 neugomon menufront_end.a running
[ 8] CSStatsX SQL 0.7.4 serfreeman1337 csstatsx_sql.am running
[ 9] AES: StatsX 0.5 Vega serfreeman1337 aes_statsx_cstr running
[ 10] Stats Configuration 1.8.2 AMXX Dev Team statscfg.amxx running
[ 11] Map Spawns Editor 1.0.16 iG_os map_spawns_edit running
[ 12] Advanced MapChooser 1.3 neygomon map_chooser.amx running
[ 13] NoRound Balancer 1.3 neygomon noround_balance running
[ 14] [ReAMX] Anti Parovoz 17.10.30 ShaTalKiN anti_parovoz.am running
[ 15] [MG] Hook by Nickron 2.0 LLInH9rA, Remake dm_hook.amxx running
[ 16] Parachute Lite 1.0 Leo_[BH] parachute_lite. running
[ 17] [183] Ultimate Grab 17.10.30 Ian Cammarata & ultimate_grab.a running
[ 18] Hats 1.4 Psycrow hat.amxx running
[ 19] Cam Change 1.1 Bl0ck Cam_Change.amxx running
[ 20] Say Rules 0.2 SAMURAI sayrules.amxx running
[ 21] Server_menu 1.0 click menu.amxx running
[ 22] Knife Selector 2.2 ReymonARG Grean_Knife.amx running
[ 23] [ReAPI] Custom Models 1.6.1 neugomon custom_models.a running
[ 24] Change Team 1.1 neygomon changeteam.amxx running
[ 25] FM ResetScore 0.1 neygomon fm_rs.amxx running
[ 26] DemoRecoder 1.1 neygomon amx_demorec.amx running
[ 27] Lite Translit 2.8 neygomon lite_translit.a running
[ 28] Advanced Experience Sy 0.5 Vega serfreeman1337 aes_main.amxx running
[ 29] AES: CStrike Addon 0.5 Vega serfreeman1337 aes_exp_cstrike running
[ 30] AES: Informer 0.5 Vega serfreeman1337 aes_informer.am running
Исходный код
#include <amxmodx>

#define PLUGIN "Menu"
#define VERSION "1.0"
#define AUTHOR "DARTHMOON"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /menu", "NewMenu") //Команда вызова меню: /menu в чат
register_clcmd("jointeam", "NewMenu");
}

public NewMenu(id) {
new i_Menu = menu_create("\yМеню сервера", "NewMenu_handler");
menu_additem(i_Menu, "\wВыбрать шапку", "1", 0);
menu_additem(i_Menu, "\wСменить нож", "2", 0);
menu_additem(i_Menu, "\wВид камеры", "3", 0);
menu_additem(i_Menu, "\wВыбрать команду", "4", 0);
menu_additem(i_Menu, "\wПравила сервера", "5", 0);
menu_setprop(i_Menu, MPROP_NEXTNAME, "\rДалее");
menu_setprop(i_Menu, MPROP_BACKNAME, "\rНазад");
menu_setprop(i_Menu, MPROP_EXITNAME, "\rВыход");
menu_display(id, i_Menu, 0)
}

public NewMenu_handler(id, menu, item) {
if( item < 0 ) return PLUGIN_CONTINUE;
new cmd[3], access, callback;
menu_item_getinfo(menu, item, access, cmd,2,_,_, callback);
new Choise = str_to_num(cmd)
switch (Choise) {


case 1: client_cmd(id, "say /hats")
case 2: client_cmd(id, "say /knife")
case 3: client_cmd(id, "say /cam")
case 4: client_cmd(id, "jointeam")
case 5: client_cmd(id, "say /rules")
}
return PLUGIN_HANDLED
}
Не открывается меню на букву m, уже все перепробовал, в том числе и chooseteam.
В чем проблема?
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
Mays, нужно сначала хукануть стандартные меню, заблокировать их и тогда уже выводить свое.
 
Сообщения
317
Реакции
131
Помог
4 раз(а)
Есть такое
Код:
#include <amxmodx>
#include <amxmisc>

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_0

new const PLUGIN[]    =    "menu on key m"
new const VERSION[]    =    "228"
new const AUTHOR[]    =    "unknown"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_menu("Menu_1", keys, "func_menu2")
    register_concmd("chooseteam", "Server_Menu")
    register_clcmd("chooseteam", "Server_Menu")
}
        
public Server_Menu(id)
{
    new name[32]
    get_user_name(id, name, 31)
    static menu[650], iLen
    iLen = 0
    iLen = formatex(menu[iLen],    charsmax(menu) - iLen, "\yМеню сервера ^n\dПривет, \r%s^n^n", name);
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wПоставить \yЛазер^n")
        keys |= MENU_KEY_1
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wПоставить \yПушку^n")
        keys |= MENU_KEY_2
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wПоставить \yРаздатчик^n^n")
        keys |= MENU_KEY_3
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wБанк^n")
        keys |= MENU_KEY_4
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wМагазин способностей^n^n")
        keys |= MENU_KEY_5
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \wCSO Оружие \y[VIP]^n")
        keys |= MENU_KEY_6
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \wШапки \y[VIP]^n")
        keys |= MENU_KEY_7
    }
    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r0. \rВыход^n")
    keys |= MENU_KEY_0
    
    show_menu(id, keys, menu, -1, "Menu_1");
    return PLUGIN_HANDLED
}

public func_menu2(id, key)
{
    switch(key)
    {
        case 0: client_cmd(id, "+setlaser")
        case 1: client_cmd(id, "sentry_build")
        case 2: client_cmd(id, "build_dispenser")
        case 3: client_cmd(id, "say /bank")
        case 4: client_cmd(id, "say /market")
        case 5: client_cmd(id, "CSO_Menu")
        case 6: client_cmd(id, "say /hats")           
    }
}
 
Сообщения
32
Реакции
-3
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Есть такое
Код:
#include <amxmodx>
#include <amxmisc>

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_0

new const PLUGIN[]    =    "menu on key m"
new const VERSION[]    =    "228"
new const AUTHOR[]    =    "unknown"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_menu("Menu_1", keys, "func_menu2")
    register_concmd("chooseteam", "Server_Menu")
    register_clcmd("chooseteam", "Server_Menu")
}
       
public Server_Menu(id)
{
    new name[32]
    get_user_name(id, name, 31)
    static menu[650], iLen
    iLen = 0
    iLen = formatex(menu[iLen],    charsmax(menu) - iLen, "\yМеню сервера ^n\dПривет, \r%s^n^n", name);
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wПоставить \yЛазер^n")
        keys |= MENU_KEY_1
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wПоставить \yПушку^n")
        keys |= MENU_KEY_2
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wПоставить \yРаздатчик^n^n")
        keys |= MENU_KEY_3
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wБанк^n")
        keys |= MENU_KEY_4
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wМагазин способностей^n^n")
        keys |= MENU_KEY_5
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \wCSO Оружие \y[VIP]^n")
        keys |= MENU_KEY_6
    }
    {
        iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \wШапки \y[VIP]^n")
        keys |= MENU_KEY_7
    }
    iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r0. \rВыход^n")
    keys |= MENU_KEY_0
   
    show_menu(id, keys, menu, -1, "Menu_1");
    return PLUGIN_HANDLED
}

public func_menu2(id, key)
{
    switch(key)
    {
        case 0: client_cmd(id, "+setlaser")
        case 1: client_cmd(id, "sentry_build")
        case 2: client_cmd(id, "build_dispenser")
        case 3: client_cmd(id, "say /bank")
        case 4: client_cmd(id, "say /market")
        case 5: client_cmd(id, "CSO_Menu")
        case 6: client_cmd(id, "say /hats")          
    }
}
Нашел баг, когда нажимает выбрать команду(но не выбираешь), открываешь заново меню, нажимаешь например Надеть шапку, в итоге осуществляется перевод за другую команду...
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
Mays, я же говорю, что нужно хукать мессаги олд меню и VGUI меню, блочить их и регистрировать на chooseteam свое меню.
 
Статус
В этой теме нельзя размещать новые ответы.

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

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