|
Форум Counter-Strike 1.6 Сервер Counter-Strike 1.6 Вопросы по настройке Меню на кнопку E для кс сервера (При нажатии на кнопку открывается меню) |
Меню на кнопку E для кс сервера |
Дата: Суббота, 04.08.2018, 16:11 | Сообщение # 1
![]()
Вчера создавал тему так и не смогли её решить вариантов было конечно много но так и не смогли её решить. На нескольких серверах видел меню при нажатии на кнопку E или использовать открывается меню, через бинд не получается сделать скинул добрый человек менюшку, но ана тоже по какой то причине не запускается не на одной из версий амхх, инкубы все установил посмотрите может будут идеи.Меню компилируется правда с предупреждениями в plugins.ini дописывал debyg в общем не туда не сюда.
Код #include <amxmodx> #include <amxmisc> #include <engine> #include <fakemeta> #include <fakemeta_util> #include <colorchat> // обязательно должно быть, это для формирования надписи в меню new day[32] public plugin_init() { register_plugin("Player_Menu","0.4","autor"); register_clcmd("player_menu","go_menu"); register_clcmd("say mymenu", "go_menu"); register_clcmd("say /mymenu", "go_menu"); register_forward( FM_CmdStart , "FwdCmdStart" ); // регистрируем форвард для открытия меню по кнопке е } public FwdCmdStart(id, uc_handle)// функция, которая реализует открытие меню на кнопку е { static Button, OldButtons; Button = get_uc(uc_handle, UC_Buttons); OldButtons = pev(id, pev_oldbuttons); if((Button & IN_USE) && !(OldButtons & IN_USE)) go_menu(id); return FMRES_HANDLED; } public go_menu(id) // собственно наше меню { new menu = menu_create("Меню сервера ","func_menu"); menu_additem( menu,"\rНазвание пункта 1", "1", 0) menu_additem( menu,"Название пункта 2", "2", 0) menu_additem( menu,"Название пункта 3", "3", 0) menu_additem( menu,"Название пункта 4", "4", 0) menu_additem( menu,"Название пункта 5", "5", 0) menu_additem( menu,"Название пункта 6", "6", 0) menu_additem( menu,"Название пункта 7", "7", 0) menu_additem( menu,"Название пункта 8", "8", 0) menu_additem(menu, "\wВыход", "0") menu_setprop(menu, MPROP_PERPAGE) menu_display(id,menu) } public func_menu(id, menu, key) // действия кнопок нашего меню { key++ switch(key) { case 1: client_cmd(id,"bla bla bla") case 2: client_cmd(id,"bla bla bla") case 3: client_cmd(id,"bla bla bla") case 4: client_cmd(id,"bla bla bla") case 5: client_cmd(id,"bla bla bla") case 6: client_cmd(id,"bla bla bla") case 7: client_cmd(id,"bla bla bla") case 8: client_cmd(id,"bla bla bla") } return PLUGIN_HANDLED } stock client_printcolor(const id, const input[], any:...) // обязательно вставить этот сток, он нужне для форматирования надписи в меню { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") // Green Color replace_all(msg, 190, "!y", "^1") // Default Color replace_all(msg, 190, "!team", "^3") // Team Color if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players) write_byte(players); write_string(msg); message_end(); } } } } |
Дата: Суббота, 04.08.2018, 16:23 | Сообщение # 2
Местный
Offline
![]()
Я не видел такую систему чтобы на Е открывалось меню(((
|
Дата: Суббота, 04.08.2018, 17:32 | Сообщение # 3
Местный
Offline
![]()
это не сложно.
|
Дата: Суббота, 04.08.2018, 17:33 | Сообщение # 4
Профи
Offline
![]()
Логично делать меню на Е, только если на прицеле какой-нибудь энтити. Разные энтити - разные меню(Где-то видел такое)
|
Дата: Суббота, 04.08.2018, 17:37 | Сообщение # 5
![]()
Пушки лазеры сентрогунс проще сказать CSDM
Добавлено (04.08.2018, 17:39) |
Дата: Суббота, 04.08.2018, 17:53 | Сообщение # 6
Скриптер
Эксперт
Offline
![]()
Код #include <amxmodx> #include <engine> public client_PreThink(id) { if(entity_get_int(id, EV_INT_button) & IN_USE) { Menu(id); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public Menu(id) {} // функция с меню При однократном зажатии E меню откроется лишь 1 раз таким способом, но если многократно игрок будет зажимать Е, то меню будет создаваться часто. Выход: или ограничивать булевой, или запоминать меню в статическую/глобальную переменную, или делать проверку функцией player_menu_info.
Сообщение отредактировал EpisCape - Суббота, 04.08.2018, 17:55
|
Дата: Суббота, 04.08.2018, 18:00 | Сообщение # 7
![]()
Супер теперь мне толька осталось разобраться и здесь, сегодня пробовал соединить парашют и меню парашют работает меню не открывается. Спасибо пойду попробую доделать.
|
Дата: Суббота, 04.08.2018, 18:26 | Сообщение # 8
|
Дата: Суббота, 04.08.2018, 18:38 | Сообщение # 9
![]()
Всё нормально менюшка заработала Большое спасибо.
|
| |||
| |||