Иконка ресурса

Stripper:Source 2020-01-17

Нет прав для скачивания
Это небольшой, но гибкий по функциональности плагин
1. Введение

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

2. Установка

Во-первых, убедитесь, что у вас есть все необходимые инструменты. Вам необходимо установить Metamod:Source 1.8.6 или выше.
  1. Загрузите Stripper:Source (текущая версия - 1.2, требуется Metamod:Source 1.7). Для Windows: Stripper:Source (Windows), для Linux: Stripper:Source (Linux)
  2. Извлеките содержимое zip архива в директорию мода на вашем сервере.
  3. Всё готово!
Внимание! Если вам нужна более старая версия Stripper:Source, например, если вы хотите использовать старую версию Metamod:Source, вы можете её найти нажав сюда.

3. Конфигурация

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

Stripper:Source конфигурационные файлы хранятся в следующем формате:
Код:
Expand Collapse Copy
filter:
{
"prop1" "val1"
"prop2" "/val2/"
}
{
"prop3" "val3"
}
add:
{
"prop4" "val4"
"prop5" "val5"
}
Заметьте, что синтаксис не является гибким - вы должны отделить каждый пункт или знак на отдельную строку, как показано выше. Каждый блок должен содержать { и } символы заключающие описание объекта. Каждая строка в блоке описывает свойства объекта. Свойства должны быть в кавычках в каждой строке, разделяйте их пробелом. Первое в кавычках это ключ (key), второй в кавычки заключается величина (value). Например этот блок описывает заложников:
Код:
Expand Collapse Copy
{
"origin" "1376 3168 -112"
"HostageType" "0"
"angles" "0 111 0"
"classname" "hostage_entity"
}
Чтобы добавить объект используйте слово "add:". Имейте в виду, что вам не нужно указывать это слово для каждого блока - оно будет действовать до тех пор, пока вы не пользуетесь другим знаком операции ( например таким, как "filter:"). В примере ниже на карту добавляются заложники:
Код:
Expand Collapse Copy
add:
{
"origin" "1376 3168 -112"
"HostageType" "0"
"classname" "hostage_entity"
}
Чтобы фильтровать объекты на карте, каждый блок должен содержать объекты которые вы хотите убрать. Например следующий блок будет удалять любой объект являющийся заложником:
Код:
Expand Collapse Copy
filter:
{
"classname" "hostage_entity"
}
Этот пример отфильтровывает заложников:
Код:
Expand Collapse Copy
filter:
{
"origin" "1376 3168 -112"
"HostageType" "0"
"classname" "hostage_entity"
}
Наконец, можно использовать регулярные выражения для сравнения структур. Дополнительную информацию о регулярных выражениях можно узнать по ссылке Perl Regex. Это позволит вам определить модели для сравнения. В этом примере удалены любые лица и физические объекты любого типа:
Код:
Expand Collapse Copy
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.
Пример блока:
Код:
Expand Collapse Copy
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"
    }
}
В результате обработки этого блока все мусорные баки будут заменены заложниками.
This configuration entry will replace all garbage cans with hostages. How does it work?

  • match: Matches all entities that have the listed model and classname. You can use regular expressions (//) for any key values here.
  • replace: Replaces the values of any properties that have the same key name. In this example, "<tt>prop_physics_multiplayer</tt>" will become "<tt>hostage_entity</tt>."
  • delete: Deletes any properties matching both the key name and the value string. The value string may have regular expressions (//). In this example, the model property of the trash can is being removed.
  • insert: Specifies any additional key value pairs to insert. Here, an arbitrary scaling value is added to the entity.
Although "<tt>match</tt>" is a required sub-block, <tt>replace</tt>, <tt>delete</tt>, and <tt>insert</tt> are all optional. You can specify the sub-blocks in any order, although they are always processed the same way. Match first, then replace, then delete, and insert last.

5.Свойства объектов
Unfortunately, I don't know all of the entity properties. So to help users out, you can use the "stripper_dump" console command (requires rcon or server console access). This will dump a file in addons/stripper/dumps named after your map which contains every single entity and all of its properties that the map initializes on load. This file will be roughly 120-200KB and will provide everything you need for stripping/adding entities.
7.Авторы, Лицензия, Благодарности

The idea came from Botman's stripper2 (link in Introduction). I got the initial idea of this plugin from Mani, who discovered that by forcing a new entity string through LevelInit, you could change the map's entity list.

Regular Expressions are implemented with PCRE (Perl Compatible Regular Expression Library). Thanks to Freecode for the screenshots, and PM OnoTo for making SourceHook so awesome.

Source code can be found here: http://svn.alliedmods.net/viewvc.cgi/sourcemm/stripper/?root=dvander
Автор
hirowatch
Скачивания
1
Просмотры
292
Первый выпуск
Обновление

Оценки

0.00 звёзд 0 оценок
Назад
Сверху Снизу