Русское сообщество по скриптингу

CompPro | Найстройка для новичков.

Статьи или фрагменты кода для новичков и уже опытных скриптеров по AMXX.

Модератор: Chuvi

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только обучающему материалу по AMX Mod X.

CompPro | Найстройка для новичков.

Сообщение RevCrew » 03 авг 2017, 12:45

Много народу просило сделать гайд для новичков, как пользоваться плагином Вы должны зарегистрироваться, чтобы видеть ссылки..

Расскажу основу, остальное - можете проверить сами.

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"
(то есть hud будет показываться каждые 2 секунды)

Следующая служебная переменная $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=;



Сохраняем файл и закидываем все это на игровой сервер и запускаем.


Возможно, чуть позже опишу создание композиции с несколькими худ разных цветов
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Вернуться в Статьи / фрагменты кода

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 6