Главная | Мой профиль | Выход 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Дополнения (моды, плагины) » Scripting » Создание менюшек :)
Создание менюшек :)
NeoGame Дата: Вторник, 11.10.2011, 02:20 | Сообщение # 1
Сообщений: 998
Награды: 13
Репутация: 34
Статус: Offline
Процесс создания игровых меню не очень сложный, НО ВАМ НУЖНЫ ХОТЬ КАКИЕТО НАВЫКИ РАБОТЫ с павн (прочитайте как создать свой плагин)..

Итак ... если навики у вас есть - приступим..
Сначала нада создать переменную, в которую поместим информацию об меню:

Code
#include <amxmodx>
new menu                // оглашаем новую переменную

public plugin_init()
{
      register_plugin("Menu Test","1.0","Empower");
      menu = menu_create("Крутая менюшка","func_menu"); // помещяем информацию

}

Мы зделали меню с названием крутая менюшка, и которая вызываеться в функции func_menu.

Теперь создадим пункты меню, от 1 до 3, например...

Code
#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 станицу в меню:

Code
#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

Далее, надо зделать чтоб меню работали... (покачто мы зделали только текст) и ничего происходить не будет при их использывании:

Code
#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...

Code
#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амые основные функции для работы с меню:

Code
peremennaya = menu_create("Название меню","funckciya") // СОЗДАТЬ МЕНЮ

menu_additem( peremennaya,"Название пункта меню")         // ДОБАВИТЬ ПУНКТ МЕНЮ

menu_addblank( peremennya,-1)                // Добавить ПРОПУСК после пункта меню (пустая строка)

menu_display(id, peremennya)                    // ПОКАЗАТЬ МЕНЮ игроку

menu_setprop( menu,MPROP_PERPAGE, ЧИСЛО)    // ЧИСЛО пунктов на страницу
//( ставь 0 если работаеш с 1 страницей)
 

 
Форум » Дополнения (моды, плагины) » Scripting » Создание менюшек :)
  • Страница 1 из 1
  • 1
Поиск:



Counter-Strike 1.6
Cтатьи
Программы
Карты
Боты
Видео

AmxModX
Статьи и мануалы
Дополнения
Защита
Готовые сервера

Игровые сервера
Банлист
Cтатистика

Мониторинг



  Наши услуги: ($)
- реклама на форуме
- сборка, настройка, установка серверов Counter-Strike 1.6
- установка PsychoStats
- установка AmxBans
Контакты:
WebMoney: U130358994893
icq: 593332066 
Skype: CypressH1ll_shit 

Присоединяйся



Лучшие дополнения

AMX Mod X
(система управления сервером)
AMX Bans
(система управления банами)
PsychoStats
(ведение статистики сервера)
Dproto
(ломалка steam)
RHLG (+HLG)
(античит без клиентской части)
Booster lite
(понижение пинга)
Counter-Strike Deathmatch
(модификация)
Zombie Plague Mod
(модификация)
High Ping Kicker
(ограничение на пинг)
Admin Spectator ESP
(помощь в вычислении читеров)

Статистика

Посетители за сегодня