Всего: Новостей(xx); Файлов(xx); Ссылок(хх); Комментариев(хх); Пользователей (хх)
Новости Форум Турниры Сервер Контакты Вступить в клан FAQ RSS 2.0
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Counter-Strike 1.6 » FAQ » Создание amxx плагина (Создание amxx плагина)
Создание amxx плагина
virtusДата: Суббота, 02.08.2008, 00:00 | Сообщение # 1
Клан лидер
Группа: Администраторы
Сообщений: 92
Репутация: 5
Статус: Offline

Статья предназначена для новичков в программировании, но что-нибудь мыслящих (например тех, кто хотя бы сумел с первого раза поставить amxx:, доступным языком. Супермегакуль-программеры могут распечатать эту статью и использовать её по назначению.

Что нам понадобится? amxx-studio или pstudio-0.8.2 взять можно на amxmodx.org Открыв программу amx-studio мы увидим типичный редактор с подсветкой кода не забудьте прописать в опциях путь к \addons\amxmodx\scripting\amxxpc.exe для генерирования плагинов в код который будет понятен нашей игре Counter Strike и у вас должен быть установлен AMXMod и соответственно должен быть сервер на котором он стоит. Я не буду объяснять вам как устанавливать и настраивать AMXMod на сервере, так как это очень хорошо описано у нас на сайте.

Это комментарий к программе.

/* Plugin generated by AMXX-Studio */

Мы можем изменить его скажем на:

/* Супер мега плагин, который ничего не делает, начинающего кулхацкера Васи Пупкина из бобруйска */

Это все информация о плагине и его авторе.
#define PLUGIN "New Plugin"
#define VERSION "1.0"
#define AUTHOR "Author"

Можем изменить скажем на:
#define PLUGIN "Pupkin Plugin"
#define VERSION "1.0"
#define AUTHOR "Bac9|"

Примечание: Здесь уже придется писать латиницей.

Это список модулей, которые мы будем использовать.
#include amxmodx>
#include amxmisc

Добавим ещё один интересный модуль cstrike. В конечном счете у нас будет:
#include amxmodx
#include amxmisc
#include cstrike

Функции модулей мы можем посмотреть на сайте amxmodx.org в разделе functions. А
Любой плагин должен иметь функцию plugin_ init(). Всё то, что вставлено в эту данную функцию будет регистрироваться в AMX, что бы он мог использовать ваш плагин:public plugin_init() {
register_plugin()
Это сделает ваш плагин зарегистрированным. plugin_ init() берёт три параметра из плагина: это его название ( Pupkin Plugin), его версию (1.0) и автора ( Bac9|). Старайтесь не терять кавычек, иначе работать не будет.

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
// Add your code here...
}

Эта функция рассказывает amx'y все о себе (какие команды ей надо, какие функции они вызывают и.т.д. и.т.п.). register_plugin(PLUGIN, VERSION, AUTHOR) эта строчка регистрирует наш плагинчик, как плагин под названием, которое мы указали выше, версии, которую мы тоже указали выше и с автором (не поверите), которого мы тоже указали выше.

Что же делать дальше?

Дальше мы добавим в наш плагин команду, с помощью которой мы будем вызывать функцию. Добавим в public plugin_init() {
следующую строчку для нашей цели. Должна быть команда которую админ сможет использовать и для этого мы должны её зарегистрировать в plugin_ init() функции. Команды, которые вводятся в консоле сервера или от клиента должны быть в нутрии plugin_ init() для того, что бы ею могли пользоваться. plugin_ init() важен по многим другим причинам. Функция plugin_ init() это как сообщение для AMXMod, что существует ваш плагин, и в случае чего (введение команды) юзать его.register_concmd("amx_pupkin","vasia",ADMIN_ALL,"zapustit function vasia pupkin")
Название плагина не должно быть очень большим, тогда данное название не подходит (amx_pupkin).Я назвал её так для простоты и непринуждённости прочтения текста. Следующий параметр – уровень доступа. Т.е. кто на сервере имеет права для выполнения данной команды. В данном случае админ ( ADMIN_ALL ). И последний параметр – это комментарий. Он будет отображен когда вы введёте (amx_pupkin). НЕ ТЕРЯЙТЕ КАВЫЧЕК!!!

register_concmd("amx_pupkin","vasia",ADMIN_ALL,"zapustit function vasia pupkin")

должно выглядеть вот так:

/* Plugin generated by AMXX-Studio */
#define PLUGIN "Pupkin Plugin"
#define VERSION "1.0"
#define AUTHOR "Bac9|"

#include amxmodx
#include amxmisc
#include cstrike

public plugin_init() {
register_plugin("Pupkin Plugin", "1.0", "Bac9|")
register_concmd("amx_pupkin","vasia",ADMIN_ALL,"zapustit function vasia pupkin")
// Add your code here...
}

amx_pupkin - команда, если мы введем её в консоль cs, то запустится функция под названием vasia. Чтобы запустить команду не нужно обладать никакими правами(ADMIN_ALL), если команда должна быть доступной только для администратора, то вместо ADMIN_ALL пишем ADMIN_KICK. zapustit function vasia pupkin - комментарий к команде, который будет виден в списке команд amx вызываемом по команде amx_help в консоли cs.
Нам осталось написать последнюю функцию – вывод сообщения на экран. Мы зарегистрировали команду которая будет выполнятся в консоли, сообщение выводимое на экран тоже зарегистрировали. Теперь осталось создать функцию которая будет всё это делать:public pupkin(id) {
Хочу прокомментировать следующее – id. Id – это уникальный номер каждого присутствующего на сервере. Оно будет ему присвоено при входе и отобрано при выходе. Это уникальный номер каждого играющего, одинаковых быть не может. Если сервер рассчитан на 32 игрока, то id будет от 1 до 32.
Теперь обработаем функцию vasia, вызываемую при вводе amx_pupkin в консоль cs.

public pupkin(id) { //Начинаем функцию взяв id игрока
client_print(id,print_chat,"Tb| 3anycTuL fyHkcuy pupkina") //Выводим сообщение в чат
} //Заканчиваем функцию

Quote (ПРИМЕР)

/* Plugin generated by AMXX-Studio */
#define PLUGIN "Pupkin Plugin"
#define VERSION "1.0"
#define AUTHOR "Bac9|"
#include amxmodx
#include amxmisc
#include cstrike

public plugin_init() {
register_plugin("Pupkin Plugin", "1.0", "Bac9|")
register_concmd("amx_pupkin","vasia",ADMIN_ALL,"zapustit function vasia pupkin")
// Add your code here...
}
public pupkin(id) {
client_print(id,print_chat,"Tb| 3anycTuL fyHkcuy pupkina")
}
в этом примере показана самая малость простого кода(скрипта) для плагина от amxxstudio


 
Форум » Counter-Strike 1.6 » FAQ » Создание amxx плагина (Создание amxx плагина)
  • Страница 1 из 1
  • 1
Поиск:


Copyright MyCorp © 2008
Design by Butters