Для начала,разберемся,что же такое плагин для AMX Mod X.
Понятным языком,плагин - обычный файл,задающий в игре какие-либо какие-либо функции.Например,существуют плагины показывающие время в углу экрана или плагины в виде различных многофункциональных меню и т.д.
Сегодня мы создадим наш первый плагин.Суть его будет в том,что по определенной команде в чат,он будет выдавать игроку hp.Начнем.Плагин всегда начинается со строк:
Quote
#include <amxmodx>
#include <amxmisc>
#include <...>
В этих строчках описываются необходимые для плагина модули.Описывать подробно не буду,полное описание функций можно найти тут
После описанных модулей следуют строки:
Quote
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Name"
Эти строки регистрируют наш плагин,т.е. задают ему название,версию и автора.Идем дальше:
Quote
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
}
Функция plugin_init() обязательно должна присутствовать в плагине.Плагина без неё просто не существует.Она регистрирует в плагине все консольные и чат-команды,данные о плагине и др.
Некоторые ставят эту функцию в конец плагина,некоторые оставляют в начале,но значения это не имеет.Зарегистрируем в plugin_init() чат-команду для нашего плагина,выглядит это так:
Quote
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /testhp", "testhp")
}
Разберем строчку register_clcmd("say /testhp", "testhp")
register_clcmd означает что мы регистрируем команду для клиента,в данном случае чат-команду.,Для консольной команды используйте register_concmd
"say /testhp" регистрирует команду в чате /testhp,по этой команде и будут выдаваться hp.
"testhp" служит для дальнейшего описания функции в плагине.
Далее мы описываем функцию "testhp":
Quote
public testhp(id)
{
set_user_health(id, 200)
}
Функция "set_user_health" как вы уже наверное поняли служит для того чтобы задать hp игроку.В данном случае задается 200hp.Если вместо знака "id" в этой строчке поставить 0,то hp будет выдаваться не одному игроку,а всем.Для использования этой функции нам необходим модуль <fun>.Записываем его - #include <fun>
Итак,вот что у нас в итоге получилось:
Quote
#include <amxmodx>
#include <amxmisc>
#include <fun>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Name"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /testhp", "testhp")
}
public testhp(id)
{
set_user_health(id, 200)
}
Неплохо для первого раза.После написания плагина необходимо сохранить его в формате *.sma
Далее нужно скомпилировать плагин,т.е. создать файл *.amxx
Скомпилировать плагин можно тут
Спасибо за внимание.