Реклама
Статистика сайта
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Сегодня нас посетило
Реклама
Лучшие пользователи
#1
Ник: Dregon
  • Постов на форуме: 3
  • Комментариев: 4
  • Репутация: 0
  • Файлов: 162
#2
Ник: Миротворец
  • Постов на форуме: 1
  • Комментариев: 0
  • Репутация: 0
  • Файлов: 13
#3
Ник: cyber_portal
  • Постов на форуме: 1
  • Комментариев: 2
  • Репутация: 0
  • Файлов: 92
Наш опрос
Какой мод серверов лучше?
Как создать плагин
Коммент.: 0
Просмотры: 954

Описание: Статья по созданию плагина

Напишем несложный плагин, меню администратора на самом начальном этапе.

Шаг 1. Подключим нужные модули, зарегистрируем плагин и команду:
#include <amxmodx>
#include <hamsandwich>
#include <fun>
Подгрузили все необходимые нам модули.

#define PLUGIN "ADM WEAPON-MENU"
#define VERSION "1.0"
#define AUTHOR "xz"
где, PLUGIN - название вашего плагина, VERSION - версия, AUTHOR - автор.

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /wmenu", "wmenu", ADMIN_VOTE, "Admin WeaponMenu")
}
где, plugin_init - обязательная функция, без нее amx просто не сможет запустить Ваш плагин.
register_plugin - регистрируем плагин.
register_clcmd - регистрируем команду (написав в чат /wmenu у нас и будет появляться то самое меню.), разберем, функция состоит из 4-х значений, say /wmenu - команда, которая запустит ее, wmenu - функция, которая выполнится после запуска (ее напишем чуть позже), ADMIN_VOTE - кто имеет права на запуск, в нашем случае игрок с флагом на голосование сможет ее запускать, Admin WeaponMenu - произвольный комментарий.

Шаг 2. Пишем функцию wmenu, создаем меню:
public wmenu(id) {
new menu = menu_create("Выбор оружия", "menu_o")
menu_additem(menu, "Deagle","1")
menu_additem(menu, "USP","2")
menu_additem(menu, "AWP","3")
menu_additem(menu, "M4A1","4")
menu_additem(menu, "AKa-47","5")
menu_additem(menu, "Famas","6")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)
menu_display(id,menu,0)
//return PLUGIN_HANDLED
}
где, new menu = menu_create - создали новое меню, Выбор оружия - заголовок нашего меню, menu_o - название функции которая обработает выбор админа.
menu_additem - добавляем пункт в меню, Deagle - название пункта, 1 - уникальный номер нашего пункта.
//return PLUGIN_HANDLED - указывает что функция выполнена, если не укажем, то в консоле нам выдаст unknown command.

Шаг 3. Пишем функцию menu_o(обработчик):
public menu_o(id, menu, item)
{
switch(item)
{
case 0:
{
if(is_user_alive(id))
give_item(id, "weapon_deagle")
}
case 1:
{
if(is_user_alive(id))
give_item(id, "weapon_usp")
}
case 2:
{
if(is_user_alive(id))
give_item(id, "weapon_awp")
}
case 3:
{
if(is_user_alive(id))
give_item(id, "weapon_m4a1")
}
case 4:
{
if(is_user_alive(id))
give_item(id, "weapon_ak47")
}
case 5:
{
if(is_user_alive(id))
give_item(id, "weapon_famas")
}
}
return PLUGIN_HANDLED;
}
где, id - у каждого игрока есть свой уникальный номер, от 1 до 32-х.
if(is_user_alive(id))
give_item(id, "weapon_usp"), если перевести на русский, то получается что-то типо такого, если игрок под id живой, то дать ему usp.

Шаг 4. Итог:
#include <amxmodx>
#include <hamsandwich>
#include <fun>

#define PLUGIN "ADM WEAPON-MENU"
#define VERSION "1.0"
#define AUTHOR "xz"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /wmenu", "wmenu", ADMIN_VOTE, "Admin WeaponMenu")
}

public wmenu(id) {
new menu = menu_create("Выбор оружия", "menu_o")
menu_additem(menu, "Deagle","1")
menu_additem(menu, "USP","2")
menu_additem(menu, "AWP","3")
menu_additem(menu, "M4A1","4")
menu_additem(menu, "AKa-47","5")
menu_additem(menu, "Famas","6")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)
menu_display(id,menu,0)
//return PLUGIN_HANDLED
}

public menu_o(id, menu, item)
{
switch(item)
{
case 0:
{
if(is_user_alive(id))
give_item(id, "weapon_deagle")
}
case 1:
{
if(is_user_alive(id))
give_item(id, "weapon_usp")
}
case 2:
{
if(is_user_alive(id))
give_item(id, "weapon_awp")
}
case 3:
{
if(is_user_alive(id))
give_item(id, "weapon_m4a1")
}
case 4:
{
if(is_user_alive(id))
give_item(id, "weapon_ak47")
}
case 5:
{
if(is_user_alive(id))
give_item(id, "weapon_famas")
}
}
return PLUGIN_HANDLED;
}

  • Просмотров: 954
  • Добавил: Dregon
  • Дата: 20.03.2014
Всего комментариев: 0
Уважаемый гость, вы вошли как не зарегистрированный
пользователь, мы предлогаем вам пройти регистрацию или же войти под
своим логином и паролем.