Четверг, 28.11.2024 17:24
Сайт портала Line-Zone
Набор в клан [19.02.11]
Изменен вид новостей [12.05.11]
Изменен каталог файлов [14.05.11]
Добавлен плеер [14.05.11]
Открытие DeathRun сервера [15.06.11]

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Пишем первый плагин.
IIopoxДата: Среда, 27.07.2011, 20:10 | Сообщение # 1
Минздрав :D
Группа: Администраторы
Сообщений: 68
Награды: 1
Репутация: 2
Статус: Offline
Для начала,разберемся,что же такое плагин для 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
Скомпилировать плагин можно тут

Спасибо за внимание.


New level of my life.
 
  • Страница 1 из 1
  • 1
Поиск:


Копирование материалов на другие сайты запрещено!

line-zone.3dn.ru

Создать бесплатный сайт с uCoz