Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Новые сообщения · Правила форума · Поиск]
  • Страница 1 из 2
  • 1
  • 2
  • »
Создание amxx плагина
-{:Gu$TaVS:}-Дата: Суббота, 2008-01-26, 0:23 AM | Сообщение # 1
Группа: Удаленные





Создание amxx плагина

Статья предназначена для новичков в программировании, но что-нибудь мыслящих (например тех, кто хотя бы сумел с первого раза поставить 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

Откомпилируйте его и убедитесь, что нет ошибок во время компиляции..Если при компиляции вы получаете сообщение warning 217: loose indentation, перейдите на указанную строчку и После чего забираем откомпилированный плагин (pupkin.amxx) в папке куда вы его кинули , amx в папку amx\ plugins и прописать плагин в amx\ config\ plugins. ini.
Что же делает этот плагин?

При вводе amx_pupkin в консоль cs он выводит нам сообщение в чат cs Tb| 3anycTuL fyHkcuy pupkina.Такой вот простой пример.

Обязательно читаем HELP-scripting-Russian

AMX Mod X Documentation


pawn

 
555325190Дата: Суббота, 2008-01-26, 11:45 PM | Сообщение # 2
Лейтенант
Группа: CS - Banned
Сообщений: 46
Спасибо сказали: 0
Статус: Offline
блин так сложно что заморачиваца впадлу )

 
-{:Gu$TaVS:}-Дата: Воскресенье, 2008-01-27, 1:54 AM | Сообщение # 3
Группа: Удаленные





Quote (555325190)
блин так сложно что заморачиваца впадлу )

да это точно мне то -же раньше было в падлу но потом возник интерес!!!

 
12321Дата: Суббота, 2008-02-09, 4:11 PM | Сообщение # 4
Группа: Удаленные





рил тема
 
artemxxxДата: Воскресенье, 2008-02-10, 1:24 PM | Сообщение # 5
Группа: Удаленные





у мен ест интерес.
Пример у меня получился. Буду пробовать дальше cool
 
ASHДата: Пятница, 2008-02-15, 6:51 PM | Сообщение # 6
Группа: Удаленные





норм если зохатеть можно сделоть=)
 
itsДата: Вторник, 2008-02-26, 6:25 PM | Сообщение # 7
Группа: Удаленные





делать тут нечего
 
-{:Gu$TaVS:}-Дата: Вторник, 2008-02-26, 8:29 PM | Сообщение # 8
Группа: Удаленные





Quote (its)
делать тут нечего

что означает Pawn во скриптенге Mod_AMXX --с++ и за какими действиями она следит или выполняет???

 
itsДата: Вторник, 2008-02-26, 9:54 PM | Сообщение # 9
Группа: Удаленные





Pawn smile
==========
Заложник biggrin
 
-{:Gu$TaVS:}-Дата: Среда, 2008-02-27, 0:02 AM | Сообщение # 10
Группа: Удаленные





Quote (its)
Pawn smile ========== Заложник biggrin

это пеш -ка под C++ от паскаль но без модулей для кс!!! =)-(=
 
itsДата: Четверг, 2008-02-28, 6:43 AM | Сообщение # 11
Группа: Удаленные





biggrin biggrin biggrin
DDDDDDDDDDDDDDDDDDDDDD
разницы нету пеший заложник если ты переводить умееш
 
-{:Gu$TaVS:}-Дата: Четверг, 2008-02-28, 6:10 PM | Сообщение # 12
Группа: Удаленные





Quote (its)
разницы нету пеший заложник если ты переводить умееш

это пример перевода программирования -Pawn is written in C, Metamod is written in C++- а не от кс!!!
прочти хот AMX Mod X
и выше набраный текст я взял от туда, я же не собираюсь учить создава -нию плагинов, а даю примера самых простых вариантов!!! biggrin
 
-{:Gu$TaVS:}-Дата: Четверг, 2008-02-28, 6:51 PM | Сообщение # 13
Группа: Удаленные





КОммЕНтАрИИ ТАКОГО ВИДА НЕ ПРЕДЪЯВЛЯТЬ!!!
Quote (its)
делать тут нечего

тема для чтения а не для придя -в

 
itsДата: Вторник, 2008-04-08, 9:29 PM | Сообщение # 14
Группа: Удаленные





=0 яж просто написал делать тут нечего xDDDDDDDDDDDDDDDDDDD

я просто наю как писать и все

 
RUSLAN$ON_ulДата: Вторник, 2008-05-27, 11:11 PM | Сообщение # 15
Группа: Удаленные





ДА ВЫ ЧЁ МНЕ С ЛЕГКОСТЬЮ ДОЛОСЬ ПИСАТЬ ПЛАГИНЫ! biggrin

Сообщение отредактировал RUSLAN$ON_ul - Вторник, 2008-05-27, 11:11 PM
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Товарищи если вы используете материалы нашего сайта не забывайте указывать источника //csfull.moy.su
Copyright MyCorp © 2006 - 2009 Csfull