И так, начнем:
каждый плагин начинается с инклудов - #include <имя файла> и макросов - #define ЛЮБОЕ_ЗНАЧЕНИЕ, ИМЯ, ПУТЬ К МОДЕЛИ, ... пишется заглавными буквами.
и так, в каждый плагин для кс всегда включаются 2 инклуда - #include <amxmodx> и #include <amxmisc>. Amxmodx - это ядро pawn, без него плагины не могут работать и компилироватся.
Amxmisc - это просто нужные функции.
Код
[color=red]#include <amxmodx>
#include <amxmisc>
#define PLUGIN "New Plug-In"
#define VERSION "0.1"
#define AUTHOR "Wovich"[/color]
И так, рассмотрим этот код.
Об инклудах писать ничего не надо.
#define PLUGIN - это названия плагина
#define VERSION - это версия
#define AUTHOR - это автор
так же, в pawn, как и в любом языке программирования есть комментарии - строки, которые компилятор не видит, но нужны для описания плагина и/или удобства автора
их есть 2 вида:
// - однострочный коментарий
/* многострочный коментарий */
важно закрывать многострочные комментарии символами */
потом, в кажном плагине есть главная функция - public plugin_init()
обычно в ней регистрируют команды, квары, ...
так же в ней обязательно зарегистрировать плагин - register_plugin(PLUGIN, VERSION, AUTHOR)
чтобы зарегистрировать команду, надо использовать register_clcmd("команда в консоли игрока", "функция, которую вызывает команда", "флаг доступа (необязательно)",) Аналогичным образом пишутся и игры сега. Ведь начинка многих игр похожа по содержанию, а самое главное, язык программирования был, есть и будет один и тот же для большинства игрушек. При этом важно уметь писать и скрипты.
чтобы зарегистрировать квар, используют register_cvar("квар", "значение")
Квары - переменные для тонкой настройки работы плагина на конкретном сервере, без изменения исходника
в итоге, что у нас получилось:
Код
#include <amxmodx>
#include <amxmisc>
#include <cstrike> //инклуд, содержит много функций для изменения геймлея
#define PLUGIN "New Plug-In"
#define VERSION "0.1"
#define AUTHOR "Wovich"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("money", "money")//зарегистрировали команду для консоли
register_clcmd("say /money", "money")//команда для чата - через /
register_cvar("dengi", "5000")// квар, для настройки сумы денег, получаемых от введения команды /money
}
public money(id){ //функция money, в скобках ид игрока - для того, чтобы деньги получал именно тот игрок, что ввел команду
if(is_user_alive(id)){ //проверка, жив ли игрок, if значит "если"
cs_set_user_money(id, get_cvar_num("dengi"))//установка игроку сумі денег. первое значение - ид игрока, второе - может біть любое, но целое число или значение квара, название квара пишется в кавычках
client_print(id, print_chat, "Вы получили %d денег!")
/*сообщение в чат игроку, что он получил суку денег, зависящую от квара
%d - это используется для вывода в функции/сообщения целых значений*/
}
return PLUGIN_HANDLED // чтобы не было ошибки во время компиляции
}
вот мы и написали первый, простенький плагин.
ничего необычного в нем нет. главное не пропускать ", ) и }
c вами был Wovich, до новых встреч.
пишите в комментариях, что не так
Заметка: если вы хотите весело провести время за компьютером, тогда бесплатная онлайн игра с элементами стратегии RomeWar то что вам нужно. Заходите на сайт romewar.ru, регистрируйтесь и наслаждайтесь игрой.
|