Создание менюшек :) |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
Создание менюшек :) |
Empower |
17.2.2009, 23:26
Сообщение
|
Процесс создания игровых меню не очень сложный, НО ВАМ НУЖНЫ ХОТЬ КАКИЕТО НАВЫКИ РАБОТЫ с павн (прочитайте как создать свой плагин)..
Итак :)... если навики у вас есть - приступим.. Сначала нада создать переменную, в которую поместим информацию об меню: Код #include <amxmodx> new menu // оглашаем новую переменную public plugin_init() { register_plugin("Menu Test","1.0","Empower"); menu = menu_create("Крутая менюшка","func_menu"); // помещяем информацию } Мы зделали меню с названием крутая менюшка, и которая вызываеться в функции func_menu. Теперь создадим пункты меню, от 1 до 3, например... Код #include <amxmodx> new menu public plugin_init() { register_plugin("Menu Test","1.0","Empower"); menu = menu_create("Крутая менюшка","func_menu"); menu_additem( menu,"Сказать привет") // таким образом, можна добавить пункты menu_additem( menu,"выйти с игры") menu_additem( menu,"умереть") } Вот так наше меню будет выглядеть в игре: 1. Сказать привет 2. выйти с игры 3. умереть Пунктов меню может быть до десясяти. Ето от 1 до 9 и в конце ноль.. А теперь попробуем зделать еще 1 станицу в меню: Код #include <amxmodx> new menu public plugin_init() { register_plugin("Menu Test","1.0","Empower"); menu = menu_create("Крутая менюшка","func_menu"); menu_additem( menu,"Сказать привет") menu_additem( menu,"выйти с игры") menu_additem( menu,"умереть") menu_setprop( menu,MPROP_PERPAGE, 3) // здесь писать скоко пукнтов на одной странице у нас ето 3 menu_additem( menu,"Остойденитса") menu_additem( menu,"открыть amxmodx меню") } Мы поставили 3 пункта меню на страницу (MPROP_PERPAGE) , значит когда в коде будет 3 пункта меню - четвертый автоматом добавитса на след. страницу. Вот так наше меню будет выглядеть в игре: Код страница 1: страница 2: 1. Сказать привет 1. Остойденитса 2. выйти с игры 2. открыть amxmodx меню 3. умереть 4.back 4.back 5.next 5.next 6.exit 6.exit Далее, надо зделать чтоб меню работали... (покачто мы зделали только текст) и ничего происходить не будет при их использывании: Код #include <amxmodx> new menu public plugin_init() { register_plugin("Menu Test","1.0","Empower"); menu = menu_create("Крутая менюшка","func_menu"); menu_additem( menu,"Сказать привет") menu_additem( menu,"выйти с игры") menu_additem( menu,"умереть") menu_setprop( menu,MPROP_PERPAGE, 3) menu_additem( menu,"Остойденитса") menu_additem( menu,"открыть amxmodx меню") } public func_menu(id, menu, key) //функция меню всегда имеет ИД игрока(id) , инфо по меню(menu) // и кнопку(key) которую вы нажали. (ВСЕГДА надо его туда писать если более про100) { key++ // просто перепуйте ету строчку всегда if(key==1) client_cmd(id,"say hi") //если нажатая кнопка 1, то игрок скажет hi if(key==2) client_cmd(id,"quit") //если 2 - игрок выйдет if(key==3) client_cmd(id,"kill") // 3 - игрок зделает самоубийство if(key==4) client_cmd(id,"disconnect") // 4 - ето уже будет 1ый пунт на 2ой странице if(key==5) client_cmd(id,"amxmodx") // 5 - откроетса amxmodx меню } Вот и готова наше меню ! :) Осталось показать его игроку, например когда он бует писать в консоль amx_menu... Код #include <amxmodx> new menu public plugin_init() { register_plugin("Menu Test","1.0","Empower"); menu = menu_create("Крутая менюшка","func_menu"); menu_additem( menu,"Сказать привет") menu_additem( menu,"выйти с игры") menu_additem( menu,"умереть") menu_setprop( menu,MPROP_PERPAGE, 3) menu_additem( menu,"Остойденитса") menu_additem( menu,"открыть amxmodx меню") register_clcmd("amx_menu","go_menu"); // командой amx_menu будет запускатса фунция go_menu } public func_menu(id, menu, key) { key++ if(key==1) client_cmd(id,"say hi") if(key==2) client_cmd(id,"quit") if(key==3) client_cmd(id,"kill") if(key==4) client_cmd(id,"disconnect") if(key==5) client_cmd(id,"amxmodx") } public go_menu(id) // когда вызываетса функция go_menu, то { menu_display(id,menu) //показуем меню просто указывая игрока и перемeнную менюхи return PLUGIN_HANDLED } Вот cамые основные функции для работы с меню: Код peremennaya = menu_create("Название меню","funckciya") // СОЗДАТЬ МЕНЮ menu_additem( peremennaya,"Название пункта меню") // ДОБАВИТЬ ПУНКТ МЕНЮ menu_addblank( peremennya,-1) // Добавить ПРОПУСК после пункта меню (пустая строка) menu_display(id, peremennya) // ПОКАЗАТЬ МЕНЮ игроку menu_setprop( menu,MPROP_PERPAGE, ЧИСЛО) // ЧИСЛО пунктов на страницу //( ставь 0 если работаеш с 1 страницей) Если я вам помог - кликните на спасибо!! Приятного использования!!!!!!
Отредактировал: Empower, - 15.3.2009, 11:10
|
|
Поблагодарили 136 раз
|
|
Fedcomp |
18.2.2009, 6:48
Сообщение
|
Спасибо очень четко и просто все объяснил :)
А то я с ними заморочился |
|
Поблагодарили 2 раз
|
|
GODZILLA |
18.2.2009, 18:00
Сообщение
|
|
Да,то что ты написал полегче смотрится.
А вот как создать 2,3 страницу? ну и еще можно добавить в самые основные функции - menu_destroy(peremennaya) |
Поблагодарили 1 раз
|
|
Empower |
18.2.2009, 20:00
Сообщение
|
По прозьбе GODZILLA добавлено как делать страницы в меню
Цитата ну и еще можно добавить в самые основные функции - menu_destroy(peremennaya) menu_destroy - отстой удаляет меню на половину... (токо блокирует функции, текст же оставляет) да и он не нужен то принципе
Отредактировал: Empower, - 18.2.2009, 21:07
|
|
Поблагодарили 4 раз
|
|
GODZILLA |
19.2.2009, 19:41
Сообщение
|
|
Empower, ну я не знаю как у тебя,но у меня просле нажатия клавиши менюшка закрывается и всё номально
|
|
|
Empower |
19.2.2009, 19:58
Сообщение
|
Цитата Empower, ну я не знаю как у тебя,но у меня просле нажатия клавиши менюшка закрывается и всё номально пасибки за то что помогаеш.... :) может и так =) просто я на сайте разработчиков об той проблеме читал :) а сам я не пробывал... ваобше лутше закрывать меню прописывая return PLUGIN_HANDED в функции меню там где надо... но в принципе кому как удобнее здесь дело хазяйское :)
Отредактировал: Empower, - 19.2.2009, 19:58
|
|
Поблагодарили 3 раз
|
|
Fedcomp |
28.2.2009, 16:29
Сообщение
|
такс, несколько вопросов :
1. Как в зомби моде сделали красные цифры? 2. Как сделать менюшку с желтымы буквами снизу (как в amx_bans бан меню) |
|
|
|
Empower |
28.2.2009, 23:58
Сообщение
|
Код \r - красный (red) \y - жолтый (yellow) \w - белый(white) \d - серый (типо как недоступный пункт) Пример: Код menu_additem( menu,"\yОстойденитса") -напишет отсойденитса желтым menu_additem( menu,"\yGo \rGo \wGo") - первое "Go" желтым, второе красным, третие белым чтобы изменить цвет цифр: Код menu_setprop(menu,MPROP_NUMBER_COLOR,"/r") - цифры будут красными menu_setprop(menu,MPROP_NUMBER_COLOR,"/y") - жолтыми и еще цветные менюшки доступны токо с 19 патча вродьб, в патчах ниже будут иероглифы...
Отредактировал: Empower, - 1.3.2009, 0:28
|
|
Поблагодарили 4 раз
|
|
Fedcomp |
1.3.2009, 11:04
Сообщение
|
сейчас уже почти никто 19 патчем небось и не пользуется ...
так, а как сделать заголовок желтыми буквами снизу как в amx_bans меню? |
|
|
|
Empower |
1.3.2009, 17:48
Сообщение
|
Поблагодарили 2 раз
|
|
TAKsa |
3.3.2009, 7:09
Сообщение
|
Люди а как сделать меню закупки оружия новое.
Например я хочу чтобы были ПМ АК ППШ и т.д. ))))
Отредактировал: TAKsa, - 3.3.2009, 7:10
|
|
|
|
Empower |
4.3.2009, 21:48
Сообщение
|
Люди а как сделать меню закупки оружия новое. Например я хочу чтобы были ПМ АК ППШ и т.д. )))) Код #include <amxmodx>
#include <fakemeta_util> new menu public plugin_init() { register_plugin("Weapon Menu","1.0","Empower"); menu = menu_create("Менюшка Оружия","func_menu"); menu_additem( menu,"Калаш") menu_additem( menu,"Емочка") menu_additem( menu,"Слоник") register_clcmd("amx_weapons","exec_menu"); } public func_menu(id, menu, key) { key++ if(key==1) fm_give_item(id,"weapon_ak47") if(key==2) fm_give_item(id,"weapon_m4a1") if(key==3) fm_give_item(id,"weapon_awp") } public exec_menu(id) { menu_display(id,menu) return PLUGIN_HANDLED }
Отредактировал: Empower, - 15.3.2009, 11:10
|
|
Поблагодарили 5 раз
|
|
goree |
9.3.2009, 22:39
Сообщение
|
я в написании плагинов новичек и т.д! скажи пожалуйста, после того как я написал меню, что нужно сделать, что бы оно работало? :?
|
|
Поблагодарили 1 раз
|
|
Empower |
12.3.2009, 17:25
Сообщение
|
я в написании плагинов новичек и т.д! скажи пожалуйста, после того как я написал меню, что нужно сделать, что бы оно работало? :? в самом верхмен посте оно вызываетса коммандой amx_menu... попробуй догадаться как вызывать там вродьб написано :/
Отредактировал: Empower, - 12.3.2009, 17:31
|
|
Поблагодарили 2 раз
|
|
Fedcomp |
12.3.2009, 21:28
Сообщение
|
Empower, решил попробовать и нашёл грубейшую ошибку - надо не минусовать кей а плюсовать.
|
|
Поблагодарили 2 раз
|
|
goree |
13.3.2009, 12:09
Сообщение
|
Код #include <amxmodx> #include <fakemeta_util> new menu public plugin_init() { register_plugin("Menu fuck","1.0","FuCkeR"); menu = menu_create("Меню мод FuCkeR","func_menu"); menu_additem( menu, "Відкрити AMX - меню") menu_additem( menu, "Відкрити RHLG - меню") register_clcmd("fucker_menu","exec_menu"); } public func_menu(id, menu, key) { key-- if(key==1) client_cmd(id, "amxmodmenu") if(key==2) client_cmd(id, "rhlg_menu") } public exec_menu(id) { menu_display(id,menu) return PLUGIN_HANDLED } что тут не так? не работает |
|
|
|
Empower |
15.3.2009, 11:12
Сообщение
|
Поблагодарили 3 раз
|
|
goree |
15.3.2009, 13:33
Сообщение
|
большое спасибо! помогло :)
|
|
|
|
plg |
3.4.2009, 12:20
Сообщение
|
Я что-то вообще нефига не понял :\
Обьясните,что это за код ты писал??Куда его вставлять то нужно? :O |
|
|
|
Black_Sun |
12.4.2009, 20:00
Сообщение
|
|
Как вписать пункт меню в amxmodmenu? на первую страницу вместо mapmenu
Отредактировал: Black_Sun, - 12.4.2009, 20:01
|
|
|