[TUT Создаём меню сервра



Создание своего меню для сервера


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



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

//Регистрируем авторство и название плангина
#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" И вставляем в него
AMXMODMENU = !gДобро пожаловать в Админку
RS = !gВы обнулили свой счет
VOTEBAN = !teamВыберите игрока которого нужно !gЗАБАНИТЬ
MUTE = !teamВыберите игрока которого вы !gне хотете !teamслышать по микрофону

Комментарии 15

  1. n1ke:D от 3 февраля 2012 21:42
    норм пойдёт
    а то готовый плагин качать хуже
    лутше самому зделать!
  2. Faktor от 3 февраля 2012 22:11
    Нормально..
  3. SF41k от 4 февраля 2012 00:23
    ммм.. интересно:)
  4. 707Specnaz от 4 февраля 2012 07:15
    :rjy:
  5. Geet от 4 февраля 2012 11:07
    Если чесно меню не очень , далеко не совершенство если раз на то пошло _) Но за старания :ru: .
  6. kokcik от 4 февраля 2012 11:48
    :zz:
  7. mani от 4 февраля 2012 13:16
    sous,так чего же не выложил?
    --------------------
    http://forum.zombie-mod.ru/topic/7395-cso-like-petrol-boomer/
  8. 707Specnaz от 4 февраля 2012 15:04
    а у меня не кампилируетсяяяяяяяяяяяяяяяя
  9. vladracer2 от 6 февраля 2012 16:10
    норм!
  10. Overkill от 7 февраля 2012 17:34
    Not bad.
  11. 4yBak001 от 7 февраля 2012 17:46
    сложнее кода не видел :D
  12. MrJoNy от 9 февраля 2012 21:15
    что-то новенькое! :oo:
  13. santa1306 от 20 февраля 2012 22:05
    707Specnaz, не компилируется потому что ошибка во 2 строке
  14. Ronny от 26 февраля 2012 02:26
    У меня на компе сейчас 5 или даже 6 программ что бы делать вот такие менюшки!
  15. Aiverson от 3 июня 2012 04:34
    IIIac nocMOtPY ecJIu noJIy4utc9 + peny
    --------------------
    www.vk.com/marvik24
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.