Расскажу основу, остальное - можете проверить сами.
1. Заходим в папку configs/CompPro/
Здесь и будут находиться наши композиции.
В CompPro система устроена таким образом, что в самой папке configs/CompPro/ можно создавать еще папки и помещать туда композиции. Это сделано чтобы, отделить композиции, возможно по их типу, ну либо по вашему усмотрению.
Пример:
Допустим мы собираемся создавать постоянные hud сообщения. поэтому мы создаем папку configs/CompPro/permanent/ где будут размещены наши композиции.(permanent выбрано не случайно, означает 'постоянный')
Внимание! Не создавайте композиции прямо в папке configs/CompPro/. Обязательно нужно создать еще папку.
2. Итак, в нашей папке configs/CompPro/permanent/ создаем новый файл. Имя может быть любым, главное чтобы расширение было .ini, тогда CompPro посчитает этот файл композицией.
configs/CompPro/permanent/center_hud_red.ini наш файл с композицией.
3. Приступим напрямую к написаю композиции. Наша цель создать постоянный текст по середине экрана красным цветом для мертвых игроков .
Внимание! Соблюдайте порядок служебных слов, типа $start, $param и тд. Если порядок будет неправильный - композиция будет некорректной.
Композиция всегда начинается со слова
- Код: Выделить всё
$start=;
- Код: Выделить всё
$end=;
; это комментарий. После ; можно писать свои пояснения, можно и не писать. Ее также НЕ обязательно ставить в конце каждой строки.
Дальше идет служебное слово $param; Нужно оно для того, чтобы выставить дополнительные флаги для композиции, для различных целей.
- Код: Выделить всё
; Параметры для композиции
; Здесь вы можете указать дополнительные Параметры для вашей композиции. Чтобы использовать несколько - ставьте |
; PARAM_CLEAR_DHUD_CHANNEL - очищать дхуд канал у всех игроков после показа композиции
; Если незнаете что это, то не используйте
; PARAM_DISPLAY_ALIVE используйте отображать только живым
; PARAM_DISPLAY_DEATH используйте отображать только мертвым
$param="";
Например, мы хотим чтобы композиция показывалась только мертвым игрокам.
тогда нам нужно выставить $param следующим образом.
- Код: Выделить всё
$param="PARAM_DISPLAY_DEATH"
Дальше идет служебное слово $player_flag, означает оно следующее:
- Код: Выделить всё
; Флаги для отображения композиции отдельным игрокам
; Если хотите чтобы сообщение отображалось только игрокам с флагом 'a'(ADMIN_IMMUNITY): $player_flag="a";
$player_flag="";
Оно нужно чтобы композиция показывалась игрокам с определенным флагом. В нашей композиции нужно показывать всем игрокам, поэтому мы оставляем поле пустым
- Код: Выделить всё
$player_flag="";
На данный момент мы имеем
- Код: Выделить всё
$start=;
$param="PARAM_DISPLAY_ALIVE";
$player_flag="";
$end=;
Это типа легко было. Дальше будет чуть сложнее.
Следующая служебная переменная $type
- Код: Выделить всё
; Тип сообщения
; [ENG] c - chat
; [ENG] h - hud
; [ENG] d - dhud
$type="h h h";
Наша композиция состоит из некоторого количества сообщений. Каждое сообщение имеет типа hud, chat, dhud.
В переменной $type для каждого нашего сообщения мы указываем его тип. В нашем задании, нам нужно реализовать один худ по центру, поэтому наш $type будет следующим
- Код: Выделить всё
$type="h";
Следующая служебная переменная $delay
- Код: Выделить всё
; Время
; Первое значение это задержка до появления первого сообщения
; Дальше идет задержка сообщений относительно друг друга
; Кол-во $delay должно быть равно кол-ву $type
$delay="1.0 0.0 0.0 0.0";
У каждого сообщения должна быть задержка появления, задержка первого сообщения - это время через которое снова будет показана эта же композиция.
В нашем случае $delay будет следующим
- Код: Выделить всё
$delay="2.0"
Следующая служебная переменная $message
- Код: Выделить всё
# COMP_MSG_TYPE:
; COMP_MSG_TYPE_DEFAULT - обычный показ сообщения
; COMP_MSG_TYPE_FADE - мигающее сообщение
; COMP_MSG_TYPE_PRINT - печатающиеся сообщение
; # Заменители
; %hostname% - имя сервера
; %server_ip% - ip сервера
; %playersnum% - общее кол-во игроков
; %players_alive% - кол-во живых игроков
; %players_death% - кол-во мертвых игроков
; %mapname% - имя карты
; // Формат [HUD\DHUD]: "сообщение" "red green blue" "позиция x" "позиция y" "COMP_MSG_TYPE" "длительность показа" "канал"
; // Формат [CHAT]: "сообщение" ; Цвета ^4 - зеленый ^1 желтый ^3 цвет команды.
$message="Your text" "255 255 255" "-1.0" "0.0" "COMP_MSG_TYPE_DEFAULT" "2.0" "1"; // сообщение в hud
Она содержит в себе само сообщение и его отображение(где и каким цветом будет отображено)
Также количество $message должно быть равно $type и $delay(Пример)
Что делать если нам нужно создать 2 сообщения в чат?
Делаем так:
$type="c c"; говорит нам о том что сообщений два
$delay="20.0 0.1"; говорит нам о том, что композиция будет показываться каждые 20 секунд. А задержка 2 сообщения относительно 1 составит 0.1 секунду.
$message="First Message";
$message="Next Message";
В нашем случае количество $message один, потому как у нас одно сообщение в hud.
- Код: Выделить всё
$message="This server is using Plugin CompPro" "255 255 255" "-1.0" "0.0" "COMP_MSG_TYPE_DEFAULT" "2.0" "1";
Полная композиция:
- Код: Выделить всё
$start=;
$param="PARAM_DISPLAY_DEATH";
$player_flag="";
$type="h";
$delay="2.0"
$message="This server is using Plugin CompPro" "255 0 0" "-1.0" "0.0" "COMP_MSG_TYPE_DEFAULT" "2.0" "1";
$end=;
Сохраняем файл и закидываем все это на игровой сервер и запускаем.
Возможно, чуть позже опишу создание композиции с несколькими худ разных цветов