• Страница 1 из 1
  • 1
Меню на кнопку E для кс сервера
Дата: Суббота, 04.08.2018, 16:11 | Сообщение # 1
  • sola999
  • Репутация:
  • Сообщений:
  • Удаленные
Вчера создавал тему так и не смогли её решить вариантов было конечно много но так и не смогли её решить. На нескольких серверах видел меню при нажатии на кнопку 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
  • sllool
  • Репутация: 7
  • Сообщений:78
  • Изгнанный
Я не видел такую систему чтобы на Е открывалось меню(((
Дата: Суббота, 04.08.2018, 17:32 | Сообщение # 3
Местный
Offline
  • MULTI24HOST
  • Репутация:
  • Сообщений:73
  • Пользователь
  • Статус пользователя MULTI24HOST.RU - Качественный игровой хостинг.
это не сложно.
Дата: Суббота, 04.08.2018, 17:33 | Сообщение # 4
Профи
Offline
  • Mandar1n
  • Репутация: 24
  • Сообщений:244
  • Пользователь
  • Статус пользователя Помощь в личке - платная. Бесплатная только в темах.
Логично делать меню на Е, только если на прицеле какой-нибудь энтити. Разные энтити - разные меню(Где-то видел такое)
Дата: Суббота, 04.08.2018, 17:37 | Сообщение # 5
  • sola999
  • Репутация:
  • Сообщений:
  • Удаленные
Пушки лазеры сентрогунс проще сказать CSDM

Добавлено (04.08.2018, 17:39)
---------------------------------------------
Вот один из таких серверов 46.174.52.3:27219

Дата: Суббота, 04.08.2018, 17:53 | Сообщение # 6
Скриптер
Эксперт
Offline
  • EpisCape
  • Репутация: 50
  • Сообщений:50
  • Разработчик
  • Статус пользователя По любым вопросам:
    [vk.com/episcape0]

Код
#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
  • sola999
  • Репутация:
  • Сообщений:
  • Удаленные
Супер теперь мне толька осталось разобраться и здесь, сегодня пробовал соединить парашют и меню парашют работает меню не открывается. Спасибо пойду попробую доделать.
Дата: Суббота, 04.08.2018, 18:26 | Сообщение # 8
  • OverGame
  • Репутация:
  • Сообщений:
  • Удаленные
Цитата sola999 ()
т работает меню не открывается

В парашюте есть такая плюха как: работать, если игрок в высоте. Ну вот тебе и решение собственно.
Дата: Суббота, 04.08.2018, 18:38 | Сообщение # 9
  • sola999
  • Репутация:
  • Сообщений:
  • Удаленные
Всё нормально менюшка заработала Большое спасибо.
  • Страница 1 из 1
  • 1
Поиск:
(threadpage)