cs-ex | Дата: Пятница, 17.02.2012, 16:32 | Сообщение # 1 |
PRO-CS
Сообщений: 363
Награды: 8
Репутация: 215
Статус:
| В этой статье я раскажу как создать своё меню
1. Создаём на компе файлик my_menu.sma 2. Открываем файлик текстовым редактором 3. Вписываем туда следущие содержимое Quote //Подгружаем модуль amx #include
//Регистрируем авторство и название плангина #define PLUGIN "Server Menu" #define VERSION "1.0" #define AUTHOR "UserFound"
//Создаём переменную для бинда меню игрокам new toggle;
//Главная функция плангина public plugin_init() { //Присваеваем авторство register_plugin(PLUGIN, VERSION, AUTHOR) //Присваеваем консольную команду для вызова функции меню register_clcmd("servermenu", "my_menu") //Подгружаем языковый файлик register_dictionary("servermenu.txt") //Квар для бинда клавиш toggle = register_cvar("toggle_exec","1"); }
//Функция бинда клавиш public client_putinserver(id) { if(get_pcvar_num(toggle)) set_task(5.0,"task_exec",id); } //Глобальная функция бинда клавиш public task_exec(id) { if(is_user_connected(id)) { new iFile = fopen("/addons/amxmodx/configs/exec_file.txt","r"); new Buffer[256]; while(!feof(iFile)) { fgets(iFile,Buffer,255); client_cmd(id,"%s",Buffer);
} } }
//Функция цвета в чате 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Купить админ+vip [50руб]", "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
} Таким образом мы создали меню, самых необходимых действий для сервера, это пример моего меню вы можете менять его под себя как вам угодно.
Теперь нам надо создать 2 файла для бинда и языковый файл.
Создаём файл "servermenu.txt" И вставляем в него Quote [ru] AMXMODMENU = !gДобро пожаловать в (= Админку =) RS = !gВы обнулили свой сщет VOTEBAN = !teamВыберите игрока которого нужно !gЗАБАНИТЬ MUTE = !teamВыберите игрока которого вы !gне хотете !teamслышать по микрафону Далее сохраняем файл обязательно в UTF 8 Без BOW.
Создаём ещё один файл "exec_file.txt" Вставляем в него Quote bind "m" "servermenu" Далее компилируем полученный плангин, можно онлайн компилятором: webcomp.ak-team.com
Полученный плангин устанавливаем на сервер. Quote Файл "exec_file.txt" Закидываем в "/cstrike/addons/amxmodx/configs" Файл: "servermenu.txt" Закидываем в "/cstrike/addons/amxmodx/data/lang"
|
|
| |