НОВОСТИ · ФАЙЛЫ · FAQ · ФОРУМ · КАРТИНКИ · МУВИКИ · СТАТЬИ Регистрация · Вход · Приветствую Вас Гость
Главная страница Counter-Strike проекта CS-HELP
Плагины AMXX · Плагины SourceMod · Серверная Набор персонала · Стать партнером
Мини-чат Коментарии Последние обновления
hands nice!
Первая и лучшая игра из серии counter strike.
Smouke написал в Внимание,Акция!
Норм :d
nex0 написал в Внимание,Акция!
У меня тоже 18 гифтов доты 2 есть)) могу помочь с раздачей)
Архив файлов
Elite23.05.2014
Duals Remix23.05.2014
Dual Usp's23.05.2014
Dual S7OK3 Deagles23.05.2014
Dual Mausers23.05.2014
Steals Deagle with LAM21.05.2014

Новости
CS-HELP | Что то новенькое!21.05.2014
С днем рождения Александр)23.04.2014
CS-HELP | Модуль картинки17.04.2014
CS-HELP | Шаблон CSH V3.0 L...17.04.2014
CS-HELP | Релиз модуля 'Вид...17.04.2014
CS-HELP | Скоро шаблон CSH ...09.04.2014
Новые сообщения Участники Правила форума Поиск RSS
  • Страница 1 из 1
  • 1
Создание меню
AliveДата: Вторник, 22.05.2012, 17:15 | Сообщение # 1
Добавлено больше, чем 100 постов Добавлено больше, чем 250 постов
Сообщений: 442
Награды: 8
Репутация: 2
Процесс создания игровых меню не очень сложный, но вам нужны хоть какие то навыки при работе с павн (прочитайте как создать свой плагин)..

Итак. если навыки у вас есть - приступим..
Сначала надо создать переменную, в которую поместим информацию об меню:
Code
#include <amxmodx>
new menu                // оглашаем новую переменную

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

}

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

Теперь создадим пункты меню, от 1 до 3, например:
Code
#include <amxmodx>
new menu

public plugin_init()
{
      register_plugin("Menu Test","1.0","Alive");
      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","Alive");
      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 пункта меню - четвертый автоматом добавится на след. страницу.

Вот так наше меню будет выглядеть в игре:
Code
страница 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","Alive");
      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","Alive");
      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) //показываем меню просто указывая игрока и переменную меню

      return PLUGIN_HANDLED
}


Вот самые основные функции для работы с меню:
Code
peremennaya = menu_create("Название меню","funckciya") // СОЗДАТЬ МЕНЮ

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

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

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

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


Плагины для Amxx и модов cs 1.6 | Плагины Source | Плагины Global Offensive
Связь с AMC | Партнерство с CS-HELP
 
  • Страница 1 из 1
  • 1
Поиск:
Статистика форума
Последние посты Топ по темам
Топ пользователей Новые участники
2

[CS:S] [Shop] Trails v2.0...

6

[CS:S] [Shop] Skins v2.0....

58

Блог Ra1Long

1

Не работает showtime!!!

2

AMX Slay Losers v1.2

0

Помочь проекту CS-HELP

1

Chameleon X-1

0

Admin Nick Guard v1.0

0

No Players Map v1.2.1

0

STEAM_ID_LAN Kick v1.0

58

Блог Ra1Long

23

Блог Alive

11

[CS:S] [Shop] Core v1.9.5

6

[CS:S] [Shop] Skins v2.0....

6

Cs-help ищет партнеров

6

Предложения по сайту

4

Предпочтения в оружии

4

Counter-Strike Online 2

3

Пример заявки

3

Вопросы по сайту

442 / 2

Мужчина Alive

367 / 2

Мужчина Magnum

288 / 6

Мужчина Aleksey

211 / 4

Мужчина ra1long

6 / 0

Мужчина Smile

4 / 3

Мужчина nex0

4 / 0

Мужчина _XIRURG_

3 / 0

Мужчина Zv3R0070

2 / 0

Мужчина t1lerok

2 / 0

Мужчина Dzh0n^

21.10.2023

Мужчина 963358000

21.06.2023

Мужчина PhoenixTF

08.02.2023

Мужчина lgv94

04.03.2022

Мужчина zwe65846

04.02.2022

Мужчина fgvole

01.01.2022

Мужчина sNoopdooN

23.11.2021

Мужчина ejhrf

05.09.2021

Мужчина kansel

19.08.2021

Мужчина ruslan1995671

19.02.2021

Мужчина Simon7

PROJECT CS-HELP УСЛУГИ ОПРОС РЕКОМЕНДУЕМ
Как вы нас нашли?
Всего ответов: 44
Видео, мувики counter strike
Файлы для Counter Strike 1.6, Global Offensive, SourceRSS лента
Версия дизайна 3.0 LIGHT CS-HELP, Плагины, Моды, Статьи, Файлы. © 2011 - 2024
При копировании материалов, ссылка на сайт обязательна.
Design by Alive | Хостинг от uCoz | Карта сайта и форума