its_me 0 Жалоба #1 Опубликовано 15 апреля, 2014 (изменено) Прочитав о том, что многие хотят уметь писать плагины для СS, я решил в этой статье об этом немного рассказать.Плагины для Контры пишут в Amxx Studio, которая использует язык Pawn(Small), такой себе упрощённый С++.Сейчас мы попробуем написать плагин для режима бога, и я объясню каждую строку кода.Сначала подключим библиотеки(модули):#include <amxmodx>#include <amxmisc>#include <cstrike>В этих трёх строках мы подключили три модуля, а теперь разберём первую строку(остальные две строки имеют тоже самое значение только подключается другой модуль(amxmisc или cstrike):#include-обозначает директиву препроцессора, то есть модуль amxmodx подключается до выполнения тела программы (функций, методов и т.д.).*На заметку*Если после строки стоит двойной слеш(//) значит это комментарии(На языке С++).#define PLUGIN "New Plug-In"//эта строка создает макрос для ввода имени плагина, в кавычках само имя плагина#define VERSION "1.0"//тоже макрос только версии плагина#define AUTHOR "kud9"//макрос для ввода автора плагинаpublic plugin_init() {register_plugin(PLUGIN, VERSION, AUTHOR)register_concmd("godme","godme",ADMIN_SLAY,"godme")}Этот блок кода создает публичную (доступную) функцию plugin_init() для регистрации плагина(2 строка(в скобках параметры указанные в макросе define)), в 3 строке регистрация консольной команды, в скобках:Первый параметр(godme ) -имя командыВторой параметр(godme) – имя функцииТретий параметр ( ADMIN_SLAY)- флаг доступаЧетвёртый параметр(godme)-описание команды.Тело функции берут в фигурные скобки.public godme(id, level, cid)//сама функция{if (!cmd_access(id, level, cid, 2))//Условие если вы не админ, то плагин остановлен*return PLUGIN_HANDLED//Остановка плагина//Код ниже не входит в условие, только если условие не выполнилось, если выполнилось плагин остановлен!new health[32] //создание массива символов для ввода ХПnew name[32] //создание массива символов для ввода имениread_argv(1, name, 31)//считывание с экрана нового имениread_argv(2,health, 31) )//считывание с экрана нового количества ХПnew player = cmd_target(id, name, 5)// Присвоение игроку, который ввёл команду, введённого имениnew hps = str_to_num(health)//Конвертирование строкового параметра ХП в числовойset_user_health (player, hps) // игроку, который ввёл команду, введённого количества ХПreturn PLUGIN_HANDLED //Остановка плагина}*Так как оператор условия if, при выполнении более чем одного действия должен иметь фигурные скобки вокруг действия, если их нет выполниться только одна команда, которая находиться на следующей строке, то есть остановка плагина.На этом всё в Интернете можете найти мануал по настройке среды разработке. Думаю я, Вам доходчиво объяснил суть этого плагина и хоть чуть-чуть развил Ваш кругозор. Изменено 15 апреля, 2014 пользователем its_me Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FAN-CS GAMER 75 Жалоба #2 Опубликовано 15 апреля, 2014 Писал ты гайд? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты