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

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

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

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

    Автор: 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.
    Похожие публикации
    Комментарии на сайте
    ^NeKeT

    Написал: ^NeKeT 11 марта 2011 00:42 Группа: Юзер
    Хорошая идея, особенно хорошо подойдет если на сервере много комманд и объяснять их назначение каждому это жуть... Выложил бы ты его чуть раньше, я бы его на свой Crysis сервер поставил))
    А так, внесу небольшое дополнение, избавит от нужны биндить клиенту комманды(засорять клиентский конфиг):
    заменяем на
    register_clcmd("radio3", "my_menu")
    и теперь на кнопку "С" будет это меню.
    Спасибо за меню.
    Цитировать
    UserFound

    Написал: UserFound 11 марта 2011 08:59 Группа: VIP
    В новой версии нету биндов
    Цитировать
    3aTpaX

    Написал: 3aTpaX 11 марта 2011 11:24 Группа: Юзер
    fellow
    Цитировать
    moskal

    Написал: moskal 12 марта 2011 14:39 Группа: Юзер
    У меня не комлеруется


    Помогите мне пожалуйста

    Слушайте может кто нибудь поможет с плагином то ?
    Цитировать
    Fill1993

    Написал: Fill1993 14 марта 2011 20:07 Группа: Юзер
    UserFound,

    Rejiser,
    Это плангин без исходника? Кому надо тот исправит

    И подумай, что важнее для этого дела, знание языка Pawn, или Русского?

    Молодец, постарался - почти без ошибок написал :D
    Ты вроде как живёшь в России, знать Русский язык твой долг.
    Так что не хуй тут залупаться и пиздуй в школу!
    Цитировать
    [RAMM]STEIN

    Написал: [RAMM]STEIN 15 марта 2011 10:42 Группа: VIP
    Fill1993,
    с чего ты взял что он школьник?
    отступился человек,да и что?
    Цитировать
    spreak

    Написал: spreak 18 марта 2011 13:43 Группа: Юзер
    код багнутый. не кампилируется, автору большущий - !!!
    Цитировать
    UserFound

    Написал: UserFound 21 марта 2011 22:27 Группа: VIP
    Плагин успешно скомпилирован! (использовался компилятор "AMX Mod X 1.8.1")
    Цитировать
    liner952

    Написал: liner952 22 марта 2011 15:39 Группа: Юзер
    у меня она получилась токо ана чото невидимая!! Как ето исправеть???
    Цитировать
    liner952

    Написал: liner952 23 марта 2011 11:21 Группа: Юзер
    Ответе почему я создал ето меню но оно невидемое??помогите кто может!
    Цитировать
    nike-one

    Написал: nike-one 25 марта 2011 21:54 Группа: Юзер
    че у меня не компилирует пишет ошыбки!

    Welcome to the AMX Mod X 1.8.1-300 Compiler.
    Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

    my_menu.sma(86) : warning 217: loose indentation
    my_menu.sma(108) : error 002: only a single statement (or expression) can follow each "case"
    my_menu.sma(108 -- 110) : warning 215: expression has no effect
    my_menu.sma(110) : warning 217: loose indentation
    my_menu.sma(110) : error 014: invalid statement; not in switch
    my_menu.sma(110) : warning 215: expression has no effect
    my_menu.sma(110) : error 001: expected token: ";", but found ":"
    my_menu.sma(110) : fatal error 107: too many error messages on one line

    Compilation aborted.
    4 Errors.
    Done.
    Цитировать
    portalnik

    Написал: portalnik 26 марта 2011 11:07 Группа: Юзер
    Красава! +5
    Цитировать
    nike-one

    Написал: nike-one 26 марта 2011 20:18 Группа: Юзер
    У кого ошыбка? просто уберите все подсказки
    Например //Функция нашего меню короче все руское уберите и все норм будет!
    Цитировать
    liner952

    Написал: liner952 26 марта 2011 21:45 Группа: Юзер
    Я хочу подделать ето меню под JailBreak mod кто может зделать ето или подсказать помогите ЗАРАНИЕ СПАСИБО!!

    А как зделать чтоб ето меню стояло на F3 например?????
    Цитировать
    liner952

    Написал: liner952 3 апреля 2011 14:17 Группа: Юзер
    Aдмин респект я подумал и всё понял..... Зделал ето меню под JailBreak mod всё вышло как лучше! но у меня два вопроса.. Главный вопрос ето как зделать ето меню на кнопку F3 второй вопрос ето как добавить ищо один слогон там например поменять язык на руский и англиский?

    Цитировать
    ManuL

    Написал: ManuL 7 апреля 2011 14:30 Группа: Юзер
    а как сделать чтобы при входе на серв в чате выскакивала надпись например:Чтобы открыть меню нажмите M?
    Цитировать
    liner952

    Написал: liner952 10 апреля 2011 15:48 Группа: Юзер
    Wow-certus-wow.com//Реалм-logon.certus-wow.com Zaxadite 80 srazy
    Цитировать
    ZIKE

    Написал: ZIKE 17 апреля 2011 19:24 Группа: Юзер
    Как сделать чтобы меню запускалось на другую клавишу? Например F3
    Цитировать
    lexatron4ik13

    Написал: lexatron4ik13 26 апреля 2011 20:12 Группа: Юзер
    ZIKE, Я тебе могу сюда скинуть ссылку на этот же плагин только под меня изменёный, а кнопка там стоит "c" . Думаю она поудобнее будет.


    Ссыла на файл https://rghost.ru/5344181. Кому нужен изменённый вариант со звуком.
    Цитировать
    SannyOK

    Написал: SannyOK 18 мая 2011 19:10 Группа: Юзер
    2 суперские менюшки написал! Кулл
    Цитировать
    LiGo

    Написал: LiGo 21 июля 2011 05:02 Группа: Юзер
    спасибо!! +1
    Цитировать
    UserFound

    Написал: UserFound 25 августа 2011 21:16 Группа: VIP
    fellow Нахалы........
    Цитировать
    Klop_3

    Написал: Klop_3 5 ноября 2011 22:15 Группа: Юзер
    неполучаетцо с комплетировать
    Цитировать
    Jhrd

    Написал: Jhrd 9 декабря 2011 21:20 Группа: Юзер
    скиньте исходник а то не получается
    Цитировать
    Ronny123

    Написал: Ronny123 25 января 2012 19:03 Группа: Юзер
    Compiled Oported мляяяяя
    Цитировать
    hohl01

    Написал: hohl01 13 февраля 2012 13:18 Группа: Юзер
    спс
    хорошая статья
    wink
    Цитировать
    steam.vip

    Написал: steam.vip 12 мая 2012 13:25 Группа: Юзер
    как сделать чтобы меню открывалось при входе на сервер автоматически????
    Цитировать
    serg1

    Написал: serg1 4 июня 2012 13:27 Группа: Юзер
    а как под себя изменить скажите плиззз smile
    Цитировать
    Mukan

    Написал: Mukan 6 марта 2013 17:56 Группа: Юзер
    Ответ пользователю Bos93 на комментарий №4
    помоги переделать пожалуйста chat addon v0.2 чтобы когда пишешь /vip показывал не вип а V.IP
    Цитировать
    era_kz

    Написал: era_kz 2 апреля 2013 18:14 Группа: Юзер
    Чего изменять, чтобы меню поставить на букву "N"
    Цитировать
    Новый комментарий

    Информация

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