Авторизация Регистрация Забыли пароль?
Реклама

Статьи
Наш игровой сервер
Наши сервисы
Мониторинг серверов
Информация
Нам интересно знать
Популярные теги
Популярные материалы
    Партнеры
    Счетчики
    Вы находитесь:

    Категория: Статьи

    Создаём меню сервера своими руками

    Автор: UserFound

    Дата: 9 марта 2011

    Просмотров: 7 466

    Комментариев: 61

    Создаём меню сервера своими руками


    В этой статье я раскажу как создать своё меню


    1. Создаём на компе файлик my_menu.sma
    2. Открываем файлик текстовым редактором
    3. Вписываем туда следущие содержимое


    //Подгружаем модуль amx
    #include <amxmodx>

    //Регистрируем авторство и название плангина
    #define PLUGIN "Server Menu"
    #define VERSION "1.0"
    #define AUTHOR "UserFound"


    //Главная функция плангина
    public plugin_init()
    {
    //Присваеваем авторство
        register_plugin(PLUGIN, VERSION, AUTHOR)
    //Присваеваем консольную команду для вызова функции меню на клавишу M    
        register_clcmd("chooseteam", "my_menu")
    //Подгружаем языковый файлик    
        register_dictionary("servermenu.txt")
    }

    //Функция цвета в чате
    stock ChatColor(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
        replace_all(msg, 190, "!team2", "^0") // Team2 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[i])
                    write_byte(players[i]);
                    write_string(msg);
                    message_end();
                }
            }
        }
    }

    //Функция нашего меню
    public my_menu(id)
    {
        new i_Menu = menu_create("\rМеню сервера:", "server_menu")
    //Пункты меню,номера функций, доступ
        menu_additem(i_Menu, "\wОбнулить счет", "1", 0)
        menu_additem(i_Menu, "\wЗабанить игрока", "2", 0)
        menu_additem(i_Menu, "\wЗаигнорировать игрока", "3", 0)
        menu_additem(i_Menu, "\wAdmins Online", "4", 0)
        menu_additem(i_Menu, "\wСменить команду", "5", 0)
        menu_additem(i_Menu, "\rКупить админку", "6", 0)
        menu_additem(i_Menu, "\wАдмин меню", "7", ADMIN_MENU)
        
        menu_setprop(i_Menu, MPROP_EXIT, MEXIT_ALL)

        menu_display(id, i_Menu, 0)

        return PLUGIN_HANDLED

    }

    //Функции нашего меню
    public server_menu(id, menu, item)
    {

        if (item == MENU_EXIT)
        {
            menu_destroy(menu)
            
            return PLUGIN_HANDLED
        }

        new s_Data[6], s_Name[64], i_Access, i_Callback

        menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

        new i_Key = str_to_num(s_Data)

       switch(i_Key)
        {
            
    //Значение функций
    case 1:
            {
               client_cmd(id, "say /rs")
               ChatColor(id, "%L",0,"RS")
            }
            case 2:
            {
                client_cmd(id, "say /voteban")
                ChatColor(id, "%L",0,"VOTEBAN")
            }
            case 3:
            {
               client_cmd(id, "say /mute")            
               ChatColor(id, "%L",0,"MUTE")
            }
            case 4:
            {
               client_cmd(id, "say /admin")            
               }
            case 5:
            {
               client_cmd(id, "jointeam")            
               }
            case 6:
            {
               client_cmd(id, "say /adminka")            
               }
            case 7:
            {
               client_cmd(id, "amxmodmenu")
               ChatColor(id, "%L",0,"AMXMODMENU")            
               }
        }

        menu_destroy(menu)
        return PLUGIN_HANDLED

    }


    Таким образом мы создали меню, самых необходимых действий для сервера, это пример моего меню вы можете менять его под себя как вам угодно.

    Теперь нам надо создать языковый файл.

    Создаём файл "servermenu.txt" И вставляем в него
    [ru]
    AMXMODMENU = !gДобро пожаловать в Админку
    RS = !gВы обнулили свой счет
    VOTEBAN = !teamВыберите игрока которого нужно !gЗАБАНИТЬ
    MUTE = !teamВыберите игрока которого вы !gне хотете !teamслышать по микрофону


    Далее сохраняем файл обязательно в UTF 8 Без BOM.


    Далее компилируем полученный плангин, можно онлайн компилятором: webcomp.ak-team.com

    Полученный плангин устанавливаем на сервер.
    Файл: "servermenu.txt" Закидываем в "/cstrike/addons/amxmodx/data/lang"


    При возникновении вопросов пишите в ICQ 8853941.
    Похожие публикации
    Комментарии на сайте
    alexkkey

    Написал: alexkkey 30 июля 2016 17:06 Группа: Юзер
    Кому не помогло https://www.youtube.com/watch?v=uP6K5dz8_9E без бинда
    Цитировать
    Новый комментарий

    Информация

    Посетители, находящиеся в группе lamo, не могут оставлять комментарии к данной публикации.