Плагин Stripper (2) Source для Half-Life 1

#1 2021.11.24 08:27:24

0

1. Введение
Это небольшой, но гибкий по функциональности плагин, позволяет фильтровать и добавлять объекты на карту, так же как Stripper 2 для Half-Life 1. Вы можете отфильтровать объекты по специфическими величинами или регулярными выражениями или объявлять новые объекты, которые нужно добавить. Вы также можете указать на карте эту конфигурацию.

2. Установка
- Убедитесь, что у вас есть все необходимые инструменты. Вам необходимо установить Metamod:Source. Для доступа к ссылке необходимо авторизоваться
Загрузите Stripper Source для Windows: Stripper:Source (Windows Для доступа к ссылке необходимо авторизоваться), для Linux: Stripper:Source (Linux Для доступа к ссылке необходимо авторизоваться), для MacOs (скачать Для доступа к ссылке необходимо авторизоваться).
- Извлеките содержимое zip архива в директорию мода на вашем сервере.

Внимание! Если вам нужна более старая версия Stripper:Source, например, если вы хотите использовать старую версию Metamod:Source, вы можете её найти нажав сюда. Для доступа к ссылке необходимо авторизоваться

3. Конфигурация
Существуют два основных конфигурационных файла для Stripper:Source. Первый это addons/stripper/global_filters.cfg, работает при каждой смене карты. Кроме того, имеются специфические файлы для каждой карты в директории addons/stripper/maps/.cfg (например, addons/stripper/maps/de_dust.cfg). Это будет использовано только при запуске конкретной карты.

Stripper Source конфигурационные файлы хранятся в следующем формате:


filter:
{
"prop1" "val1"
"prop2" "/val2/"
}
{
"prop3" "val3"
}
add:
{
"prop4" "val4"
"prop5" "val5"
}


Синтаксис не является гибким - вы должны отделить каждый пункт или знак на отдельную строку, как показано выше. Каждый блок должен содержать { и } символы заключающие описание объекта. Каждая строка в блоке описывает свойства объекта. Свойства должны быть в кавычках в каждой строке, разделяйте их пробелом. Первое в кавычках это ключ (key), второй в кавычки заключается величина (value). Например этот блок описывает заложников:


{
"origin" "1376 3168 -112"
"HostageType" "0"
"angles" "0 111 0"
"classname" "hostage_entity"
}


Чтобы добавить объект используйте слово "add:". Вам не нужно указывать это слово для каждого блока - оно будет действовать до тех пор, пока вы не пользуетесь другим знаком операции.

В примере ниже на карту добавляются заложники:

add:
{
"origin" "1376 3168 -112"
"HostageType" "0"
"classname" "hostage_entity"
}


Чтобы фильтровать объекты на карте, каждый блок должен содержать объекты которые вы хотите убрать.

Например следующий блок будет удалять любой объект являющийся заложником:

filter:
{
"classname" "hostage_entity"
}


Этот пример отфильтровывает заложников:

filter:
{
"origin" "1376 3168 -112"
"HostageType" "0"
"classname" "hostage_entity"
}


Дополнительную информацию о регулярных выражениях можно узнать по ссылке Для доступа к ссылке необходимо авторизоваться Perl Regex. Это позволит вам определить модели для сравнения.

В этом примере удалены любые лица и физические объекты любого типа:

filter:
{
"classname" "/prop_phys.*/"
}


4. Новинка! - Расширенная фильтрация/Модификация
Версия 1.1 Stripper:Source добавляет новый мощный метод фильтрации объектов с помощью блоков кода. Это добавляет новую директиву под названием "modify."

Modification blocks have four sub-blocks: Match, Replace, Delete, Insert. The Match sub-block lets you specify which property blocks to search for. For each matched block, the replace, delete, and insert sub-blocks are processed.

Пример блока:

modify:
{
match:
{
"model" "models/props_junk/garbage_metalcan002a.mdl"
"classname" "prop_physics_multiplayer"
}
replace:
{
"classname" "hostage_entity"
}
delete:
{
"model" "models/props_junk/garbage_metalcan002a.mdl"
}
insert:
{
"scale" "0.99"
}
}


В результате обработки этого блока все мусорные баки будут заменены заложниками.
Отредактировано: Raijin 2022.08.08 12:56:32
#2 2021.11.24 08:33:47

0

Эта запись конфигурации заменит все мусорные баки заложниками. Как это работает?

match: Соответствует всем объектам, у которых есть перечисленные модель и имя класса. Здесь вы можете использовать регулярные выражения (//) для любых ключевых значений.
replace: Заменяет значения любых свойств с одинаковым именем ключа. В этом примере "<tt>prop_physics_multiplayer</tt>" станет "<tt>hostage_entity</tt>".
delete: Удаляет все свойства, соответствующие как имени ключа, так и строке значения. Строка значения может содержать регулярные выражения (//). В этом примере удаляется свойство модели корзины.
insert: Указывает любые дополнительные пары значений ключа для вставки. Здесь к сущности добавляется произвольное значение масштабирования.

Хотя "<tt>match</tt>" является обязательным подблоком, <tt>replace</tt>, <tt>delete</tt>, and <tt>insert</tt> являются необязательными. Вы можете указать подблоки в любом порядке, хотя они всегда обрабатываются одинаково. Сначала сопоставьте, затем замените, затем удалите и вставьте последним.

5. Свойства объектов (переведено с английского)
К сожалению, я не знаю всех свойств сущности. Поэтому, чтобы помочь пользователям, вы можете использовать консольную команду "stripper_dump" (требуется доступ к rcon или консоли сервера). Это приведет к сбросу файла в addons/stripper/dumps, названного в честь вашей карты, который содержит каждый отдельный объект и все его свойства, которые карта инициализирует при загрузке. Этот файл будет примерно 120-200 КБ и предоставит все необходимое для удаления/добавления объектов.

6. Список изменений
2011/04/15 - Version 1.2.2
- Automated builds, updated for latest OB engine.
2009/10/13 - Version 1.2.1
- Greatly improved map parsing performance.2009/06/06 - Version 1.2
- Separated game logic from stripper logic (separate binaries).
- Removed IStripper interface (this was pretty pointless, I'm sure no one used it).
- Added L4D support.
- Cleaned code to use soft tabs.
- Imported PCRE-7.9.
2007/10/07 - Version 1.1b
- Now runs on Metamod:Source 1.6 and 1.4, as well as TF2/Orange Box.
2006/10/05 - Version 1.1a
- Fixed old filters not working correctly.
2006/08/15 - Version 1.1
- Now requires Metamod:Source 1.3.
- Added new syntax for more flexible entity modification.
- Improved load-time performance.
- Fixed long paths being chopped off.
- Cleaned up source code and updated to PCRE 6.7.
2006/01/07 - Version 1.01
- Now requires Metamod:Source 1.2.
- Supports other stripper-style plugins modifying the map state.
2005/12/10 - Version 1.00
- Initial Release
#3 2022.08.08 12:57:00

0

Обновлена информация от 08.08.2022