[ Главная страница · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ☭Ғỉĝą☭  
Форум » Left 4 Dead » Left 4 Dead » Stripper: Source (Чё да как?)
Stripper: Source
☭Ғỉĝą☭Дата: Вторник, 08.10.2013, 22:24 | Сообщение # 1


Награды:

загрузка наград ...
Титул: Мегадуля
Город: Чита
Награды: 15
Репутация: -9991
Статус: Offline
Stripper:Source


1. Введение
2. Установка
3. Конфигурация
4. Новинка! - Расширенная Фильтрация/Модификация
5. Свойства объектов
6. Скриншоты
7. Авторы, Лицензия, Благодарности
8. Список изменений

1. Введение

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

2. Установка


Во-первых, убедитесь, что у вас установлены все необходимые инструменты. Вам необходим Metamod:Source 1.8.6 или выше.

1. Скачайте либо Stripper:Source (Linux)
2. ... или Stripper: Source (Windows)
3. ... или Stripper:Source (Mac OS X)
4. Извлеките содержимое архива в папку с модом вашего сервера.
5. Всё готово!

*Примечание. Более ранние версии Stripper: Source, при использовании ранних версий Metamod: Source, вы можете найти, пройдя по этой ссылке.

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


Существуют два основных файла конфигурации Stripper:Source. Первый это addons/stripper/global_filters.cfg, который запускается при каждой смене карты. Второй позволяет настроить конфигурацию для каждой карты в addons/stripper/maps/.cfg (например, addons/stripper/maps/l4d_hospital01_apartment.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"
}


Чтобы добавить объект (entity) используйте маркер "add:". Обратите внимание, что вам не нужно указывать этот маркер для каждого блока, он будет действовать, пока вы не воспользуетесь другим маркером (например, "filter:"). В приведённом ниже примере на карту добавляются заложники:

Код
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." Модификация блоков имеют четыре под-блока: Match, Replace, Delete, Insert. Под-блок Match позволяет указать, определённые свойства блоков для поиска. Для каждого подобранного блока, замещает, удаляет и вставляет под-блоки.

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

Код
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"
                      }
}


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

  • Match: Соответствие всех объектов, которые имеют перечисленные модели и имя класса. Вы можете использовать регулярные выражения (//) для любых ключей и значений.
  • Replace: Заменяет значения любых свойств, которые имеют одинаковое ключевое имя. В примере выше "prop_physics_multiplayer" станет "hostage_entity".
  • Delete: Удаляет любые свойства, соответствующие и ключевому имени и значению строки. Значение может иметь строка регулярных выражений (//). В этом примере, модель мусорного ведра, удаляется.
  • Insert: Определяет дополнительную пару ключей и значений для вставки. В примере, произвольный коэффициент масштабирования добавляется к объекту.


"Match" является обязательным под-блоком, а Replace, Delete, Insert являются дополнительными. Вы можете указать их в любом порядке, однако они всегда обрабатываются в таком порядке. Match первый, затем Replace, затем Delete и Insert последним.

5. Свойства объектов


К сожалению, я не знаю, все свойства объектов. Таким образом, чтобы помочь пользователям, вы можете использовать команду: "stripper_dump" (требуется RCON или доступ к консоле сервера). Это сбросит файл в аaddons/stripper/dumps с именем карты, который содержит каждый объект и все его свойства, которые инициализируются при загрузке карты. Этот файл будет примерно 120-200 KB и обеспечит всем необходимым для удаления или добавления объектов.

6. Скриншоты


Заложник на карте de_dust



Больше нет лишних объектов!



Больше нет лишних объектов, часть 2!



Мусор может быть заменен заложниками



7. Авторы, Лицензия, Благодарности


Идея пришла из stripper2 от Ботмена (ссылка в 1. Введение). Я получил начальную идею этого плагина от Mani, который обнаружил, что, вызывая новые объекты строк через LevelInit, Вы можете изменить список объектов карты.

Регулярные Выражения осуществлены с PCRE (Perl Compatible Regular Expression Library). Благодарю Freecode для скриншоты, и PM OnoTo за то что сделал SourceHook настолько удивительным.

Исходный код можно найти здесь: http://hg.alliedmods.net/strippersource/

8. Список изменений


Код
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


Оригинальная страница http://www.bailopan.net/stripper/
 
☭Ғỉĝą☭Дата: Вторник, 08.10.2013, 22:32 | Сообщение # 2


Награды:

загрузка наград ...
Титул: Мегадуля
Город: Чита
Награды: 15
Репутация: -9991
Статус: Offline
Краткий мануал чё да как?! Для тех кто не понял выше написанного.

Рассмотрим несколько примеров. Все манипуляции пишем в файле конфигурации в глобальном или для конкретной карты это уже вам решать.

Для начала обзаведитесь плагином для sourcemod Dev Cmds (1.1) Плагин содержит несколько полезных команд, которые в дальнейшем нам очень сильно понадобятся.

Для начала рассмотрим несколько простых функций.
1) Удаление объектов.

Мы хотим удалить какой-то объект, скажем телевизор на первой карте "Нет милосердию"
. Для удаления нам необходимы какие-то данные об объекте. Для этого наводим курсор на телевизор и вводим команду: sm_ent (команда плагина Dev Cmds см. выше) видим следующую информацию об объекте: 157 Class: prop_physics Targetname: monitor3 Model: models/props_interiors/tv.mdl 
И уже сейчас мы можем отфильтровать объект по модели:

filter:
{
"model" "models/props_interiors/tv.mdl"
}

Удалятся все объекты содержащие эту модель.
Но в том случае, если скажем таких объектов несколько, а нам нужно удалить определённый, а остальные оставить данная функция не подойдёт. Как же быть?!

Для этого в игре для каждого объекта существует свой уникальный идентификатор, известный как "hammerid"
Но как же его узнать?! Плагинов для его определения я не нашёл. Ну, это и не надо. Чтобы определить hammerid объекта воспользуемся текстовым редактором и его поиском. В качестве текстового редактора я посоветую воспользоваться просмотрщиком (Lister) встроенного в Total Commander, с другими редакторами всегда возникали какие-то проблемы с прогрузкой файлов, всё тормозила и зависало, если не тормаза то некорректное отображение.

Вся информация об объектах храниться в файле с расширением .bsp с именем карты в директории \maps (D:\Games\Left 4 Dead\l4d\left4dead\maps)

В нашем случае с телевизором открываем l4d_hospital01_apartment.bsp редактором и врубаем поиск (Ctrl F)
Для удобного отображения в редакторе во вкладке вид выбираем "Только текст" или "UTF-8"

Ищем объект по модели models/props_interiors/tv.mdl
По запросу нашёл 9 совпадений какой же наш?! Для определения воспользуемся координатами.

Полезная информация об объекте:

Код
{
"origin" "1871.66 1214.28 190.5"                  - координаты
"rendercolor" "255 255 255"                        - цвет
"model" "models/props_interiors/tv.mdl"       - модель (по ней и искали)
"angles" "0.263672 180.791 -0.307622"         - углы поворота
"classname" "prop_physics"                          - класс объекта (при не совпадение класса, который должен быть -> объект не появится)
"count" "1"                    - количество объектов для одной модели (для оружия)
"solid" "6"                    - плотность (0 проходим сквозь объект)
"fadescale" "0"                    - если 1 то объект не будет виден издалека на низких настройках
"hammerid" "16425"                    - уникальный идентификатор
}

Уже в игре вблизи телевизора вводим в консоль команду: getpos или getpos_exact - стандартные команды игры. В ответ нам выведется текущее наше расположение setpos 1741.528442 1143.632324 363.190430 и угол под которым мы смотрим setang 42.378380 -94.203163 0.000000

Возвращаемся в редактор и по полученным координатам ищем близкие значения координат объекта. В моём случае это самый первый объект.
Далее отфильтровываем его по hammerid

filter:
{
"hammerid" "15217"
}

Прикреплён файл со списком моделей.
Прикрепления: l4d_l4d2_models.zip (32.2 Kb)
 
☭Ғỉĝą☭Дата: Пятница, 18.10.2013, 19:46 | Сообщение # 3


Награды:

загрузка наград ...
Титул: Мегадуля
Город: Чита
Награды: 15
Репутация: -9991
Статус: Offline


Небольшие изменения для City 17. Направленные на скрытие артефактов связанных с использованием версии 1.0.1.4 и отсутствием в данной версии текстур.

Для этого нам понадобится Stripper Source, ссылка на скачивание см. выше.

Начнём с первой карты l4d_city17_01
Сохраняем файл конфига l4d_city17_01.cfg в директорию ..\Games\SERVER\l4d\left4dead\addons\stripper\maps\




Вторая карта l4d_city17_02
Сохраняем файл конфига l4d_city17_02.cfg в директорию ..\Games\SERVER\l4d\left4dead\addons\stripper\maps\




Третья карта l4d_city17_03
Сохраняем файл конфига l4d_city17_03.cfg в директорию ..\Games\SERVER\l4d\left4dead\addons\stripper\maps\


Прикрепления: 4502476.png (935.1 Kb)
 
☭Ғỉĝą☭Дата: Пятница, 18.10.2013, 19:46 | Сообщение # 4


Награды:

загрузка наград ...
Титул: Мегадуля
Город: Чита
Награды: 15
Репутация: -9991
Статус: Offline


Небольшое изменение для Suicide Blitz. Для этого нам понадобится Stripper Source, ссылка на скачивание см. выше.

Изменение коснётся только первой карты, а именно включение функционала кнопки запуска лифта.
Сохраняем файл конфига l4d_stadium1_apartment.cfg в директорию ..\Games\SERVER\l4d\left4dead\addons\stripper\maps\


Прикрепления: 3392341.jpg (56.8 Kb)
 
☭Ғỉĝą☭Дата: Воскресенье, 23.03.2014, 21:01 | Сообщение # 5


Награды:

загрузка наград ...
Титул: Мегадуля
Город: Чита
Награды: 15
Репутация: -9991
Статус: Offline
Полезные сслыки:

http://l4dmaps.ru/index.php?showtopic=282
https://forums.alliedmods.net/showthread.php?t=127111
https://developer.valvesoftware.com/wiki/Main_Page
http://ralertmod.narod.ru/hlra-articles-hammer.htm#entityinfoteleport
https://developer.valvesoftware.com/wiki/List_of_Left_4_Dead_entities


Сообщение отредактировал ☭Ғỉĝą☭ - Пятница, 20.06.2014, 07:28
 
☭Ғỉĝą☭Дата: Суббота, 09.08.2014, 13:22 | Сообщение # 6


Награды:

загрузка наград ...
Титул: Мегадуля
Город: Чита
Награды: 15
Репутация: -9991
Статус: Offline

Небольшое фикс для I Hate Mountains. Для этого нам понадобится Stripper Source, ссылка на скачивание см. выше.

Изменение коснётся только четвёртой карты, а именно исправлен баг с не разрушением здания краном.
Сохраняем файл конфига l4d_ihm04_lumberyard.cfg в директорию ..\Games\SERVER\l4d\left4dead\addons\stripper\maps\



Прикрепления: 2647114.jpg (127.0 Kb) · 1552288.jpg (100.1 Kb) · 8969988.jpg (101.7 Kb)
 
☭Ғỉĝą☭Дата: Четверг, 13.11.2014, 11:51 | Сообщение # 7


Награды:

загрузка наград ...
Титул: Мегадуля
Город: Чита
Награды: 15
Репутация: -9991
Статус: Offline


Небольшое фикс для Dead Echo. Для этого нам понадобится Stripper Source, ссылка на скачивание смотрите в первом посте.
Изменение коснётся только 5-ой карты, исправлен баг с не рабочей кнопкой запуска генератора.

Сохраняем файл конфига l4d_de05_echo.cfg в директорию ..\left4dead\addons\stripper\maps\



Прикрепления: 7338360.jpg (13.2 Kb) · 2423026.jpg (113.2 Kb) · 6647696.jpg (75.6 Kb) · 9966589.jpg (113.4 Kb) · 6695709.jpg (192.1 Kb) · 4067613.jpg (127.1 Kb)
 
☭Ғỉĝą☭Дата: Вторник, 16.12.2014, 14:12 | Сообщение # 8


Награды:

загрузка наград ...
Титул: Мегадуля
Город: Чита
Награды: 15
Репутация: -9991
Статус: Offline


В преддверии Нового Года, дабы немного разбавить мрачность и серость карт L4D.
Новогодняя ёлка на финальные карты.

СКАЧАТЬ
Прикрепления: 9285064.zip (4.8 Kb) · 5386627.jpg (277.2 Kb)
 
Slaven555Дата: Воскресенье, 31.12.2017, 11:48 | Сообщение # 9


Награды:

загрузка наград ...
Звание: Нуб
Награды: 0
Репутация: 0
Статус: Offline
☭Ғỉĝą☭, Привет, понравились ёлки. А можно зделать на все карты l4d2 в финале?

Добавлено (02.12.2018, 12:10)
---------------------------------------------
Тема умерла? Вообщем сам все запилил за неделю. Спасибо за помощь...

 
Форум » Left 4 Dead » Left 4 Dead » Stripper: Source (Чё да как?)
  • Страница 1 из 1
  • 1
Поиск:


Статистика Форума
Последние темы Новые пользователи Лучшие пользователи

1 Набор плагинов для L4D

☭Ғỉĝą☭ -Автор (127)

2 Stripper: Source

☭Ғỉĝą☭ -Автор (8)

3 Набор плагинов для L4D от Alex...

☭Ғỉĝą☭ -Автор (5)

4 Меняется режим игры

ASDnn -Автор (15)

5 Warcelona

☭Ғỉĝą☭ -Автор (0)

6 Silent Hill

☭Ғỉĝą☭ -Автор (0)

7 Night Terror

☭Ғỉĝą☭ -Автор (0)

8 Как играть S.T.A.L.K.E.R Зов П...

mix@44 -Автор (9)

9 Death Toll APOCALYPSE

mix@44 -Автор (0)

10 No Mercy APOCALYPSE

mix@44 -Автор (0)

1 pokemon4ik353 (Алекс Сандер)

14:16 - 24.03.2024

2 p47799919 (Rochelle Eits)

10:01 - 16.12.2023

3 getfunnet ()

23:16 - 12.06.2023

4 daniilkargin95 (Даниил Каргин)

19:00 - 08.05.2023

5 daranikolusova (Дарья Николусова)

21:26 - 05.12.2022

6 lendle1 (roman romanov)

RU22:43 - 15.10.2022

1 ☭Ғỉĝą☭

RUРейтинг: -9991 Новостей: 0 Форум: 206

2 mix@44

RUРейтинг: 37 Новостей: 0 Форум: 119

3 Viking34

RUРейтинг: 54 Новостей: 0 Форум: 51

4 Светик

RUРейтинг: 56 Новостей: 0 Форум: 31

5 TANK

UAРейтинг: 49 Новостей: 0 Форум: 17

6 Black_Barty

RUРейтинг: 14 Новостей: 0 Форум: 14

FIKSIKI.TEAM A SURVIVORS TEAM © 2024