Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

 
Ответить в данную темуНачать новую тему
> Типы рестрикторов в STALKER
Trollz0r
сообщение 29.09.2019, 00:44
Сообщение #1


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


В сталкире есть 4 типа рестрикторов:
- IN, в который нельзя входить
- OUT, из которого нельзя выходить
- NONE, который по умолчанию для всяких там событий и триггеров
- и непонятный NOT A default restrictor, который хрен пойми для чего нужен.

Собственно вопрос - для каких целей придуман последний по списку тип рестрикторов? Не нашёл, где он используется, окромя катсцен.


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
atanda
сообщение 04.10.2019, 19:42
Сообщение #2
Pro gamer

Почти Игроман
*********

Репутация:   72  
Группа: Участник
Сообщений: 622
Регистрация: 05.11.2017




Вставить ник Цитировать выделенное в форуму быстрого ответа


Судя по всему это просто дефолтный тип, который выставляется по-умолчанию, не более.
Перейти в начало страницы
 
Modera
сообщение 21.04.2020, 03:30
Сообщение #3


.
**********************

Репутация:   750  
Группа: Участник
Сообщений: 7072
Награды: 4
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Что-то тема заглохла. Для чего-же всё-таки нужен этот четвёртый тип?
Перейти в начало страницы
 
Zagolski
сообщение 21.04.2020, 07:43
Сообщение #4


Почти Игроман
*********

Репутация:   59  
Группа: Участник
Сообщений: 629
Награды: 1
Регистрация: 13.12.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Это рестриктор, который гарантирует несрабатывание на кого-либо. NOT A - подразумевается NOT Action.

Сообщение отредактировал Zagolski - 21.04.2020, 07:57
Перейти в начало страницы
 
Modera
сообщение 21.04.2020, 17:34
Сообщение #5


.
**********************

Репутация:   750  
Группа: Участник
Сообщений: 7072
Награды: 4
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Zagolski @ 21.04.2020, 07:39) *
несрабатывание

Мы ночью с ребятами в дискорде, а конкретно на сервере MetroEX, уже бурно обсуждали почему рестрикторы называются рестрикторами, а не trigger volumes. Система которая используется в сталкире, а так же была унаследована в метро, видимо очень сложна и тем кто всю жизнь сидел на других движках трудна для понимания.

Срабатывать рестрикторы не могут в принципе, так как являются просто определением некого объёма. Всё то что срабатывает, или не срабатывает уже надстройки на рестрикторами.
Перейти в начало страницы
 
Trollz0r
сообщение 21.04.2020, 18:21
Сообщение #6


Почти Мастер
***********

Репутация:   1357  
Группа: Участник
Сообщений: 1155
Награды: 5
Регистрация: 28.05.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Modera @ 21.04.2020, 15:30) *
Срабатывать рестрикторы не могут в принципе, так как являются просто определением некого объёма
И чем тогда это отличается от шейпа? Непонимат


Сообщение отредактировал Trollz0r - 21.04.2020, 18:22


--------------------
Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
---------------
------------
----------
--------
------
----
--
Перейти в начало страницы
 
Modera
сообщение 21.04.2020, 18:29
Сообщение #7


.
**********************

Репутация:   750  
Группа: Участник
Сообщений: 7072
Награды: 4
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


А шейпы игра не использует, они только в ЛЕ.

Если глянуть в сорцы то с NOT A restrictor как-раз всё просто и понятно, в классах которые обрабатывают рестрикторы для АИ он не регистрируется, и соответственно на АИ никак не влияет.
Но это наводит на другой аналогичный вопрос: какую функцию для АИ выполняет NONE default restrictor? Они как-раз регистрируются.
Перейти в начало страницы
 
Zagolski
сообщение 21.04.2020, 20:14
Сообщение #8


Почти Игроман
*********

Репутация:   59  
Группа: Участник
Сообщений: 629
Награды: 1
Регистрация: 13.12.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Modera @ 21.04.2020, 17:30) *
Срабатывать рестрикторы не могут в принципе, так как являются просто определением некого объёма. Всё то что срабатывает, или не срабатывает уже надстройки на рестрикторами.

Простым языком говоря, когда ты когда в рестриктор заходишь, он срабатывает. Остальное отбросим. На NOT A рестрикторах отключена проверка контакта сферы рестриктора с объектом, он никогда при контакте не сработает.
Я бы сказал, что это нужно больше для ускорения, потому как там отсекаются все дальнейшие проверки на таких рестрикторах. К примеру ты штук 100 расставишь рестрикторов с таймерами или подобной байдой, для которых контакт не нужен. И будут меж ними 100 неписей ходить туда-сюда. Так вот чтоб рестрикторы постоянно впустую не проверялись на контакт, им лучше поставить NOT A тип. Что-то типа того.
Перейти в начало страницы
 
Modera
сообщение 21.04.2020, 20:52
Сообщение #9


.
**********************

Репутация:   750  
Группа: Участник
Сообщений: 7072
Награды: 4
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Zagolski @ 21.04.2020, 20:10) *
Простым языком говоря, когда ты когда в рестриктор заходишь, он срабатывает. Остальное отбросим. На NOT A рестрикторах отключена проверка контакта сферы рестриктора с объектом, он никогда при контакте не сработает.

Нет, ты покажи мне место в коде где спейс рестриктор коллизию сферы и срабатывает. У рестриктора есть только функция inside которая проверяет что точка находится внутри шейпов.

Есть скрипт_зона, которая основана на рестрикторе и и работает примерно как описано, но в ней тип рестриктора нигде не проверяется. И скрипт_зона вроде нигде не используется в игре.
Вместо этого в sr_* скриптах накорячена проверка находтся ли актёр внутри обычного рестриктора и дёргаются нужные коллбеки в зависимости от изменения этого состояния. Тип рестриктора так-же не проверяется.
Перейти в начало страницы
 
Zagolski
сообщение 22.04.2020, 08:46
Сообщение #10


Почти Игроман
*********

Репутация:   59  
Группа: Участник
Сообщений: 629
Награды: 1
Регистрация: 13.12.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Я попутал срабатывание с обнаружением. Такие рестирикторы еще на стадии обнаружения отсекаются. Ну и плюс не регистрируется. В общем, АИ максимально не обрабатываются. Так что да, я чутка перепутал, но суть та же осталась.
Перейти в начало страницы
 
abramcumner
сообщение 22.04.2020, 10:30
Сообщение #11


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Modera @ 21.04.2020, 18:25) *
Но это наводит на другой аналогичный вопрос: какую функцию для АИ выполняет NONE default restrictor? Они как-раз регистрируются.

"NONE default restrictor" может добавить НПЦ в in/out рестрикторы какая-то другая подсистема. Например, скрипт обхода аномалий.

Сообщение отредактировал abramcumner - 22.04.2020, 10:30
Перейти в начало страницы
 
macron
сообщение 22.04.2020, 10:40
Сообщение #12


Игровой Бог
**********************

Репутация:   1690  
Группа: Участник
Сообщений: 7021
Награды: 11
Регистрация: 22.02.2006




Вставить ник Цитировать выделенное в форуму быстрого ответа


Вот надысь заметил, что у монстров и у сталкеров в m_stalker.ltx есть параметр:

SpaceRestrictionSection = space_restrictor, zone_mine_field

Это по идее названия "объектов", куда лезть не нужно. То есть, если через запятую добавить названия секций всех аномалий, то они их будут обходить?

Upd: посмотрел, в xrgame.dll 1.0006 нет такого параметра. В xrgame.dll 2215 есть. Похоже, из финалки выкусили, но в исходниках упоминаются.

Сообщение отредактировал macron - 22.04.2020, 10:55
Перейти в начало страницы
 
abramcumner
сообщение 22.04.2020, 10:58
Сообщение #13


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(macron @ 22.04.2020, 10:36) *
Вот надысь заметил, что у монстров и у сталкеров в m_stalker.ltx есть параметр:
SpaceRestrictionSection = space_restrictor, zone_mine_field
Это по идее названия "объектов", куда лезть не нужно. То есть, если через запятую добавить названия секций всех аномалий, то они их будут обходить?

Должно работать. Только прописываются не секции, а имена объектов аномалий biggrin.gif

По-видимому это осталось со временок демок, когда на локации были пара аномалий, нпц и монстрик.

Цитата(macron @ 22.04.2020, 10:36) *
Upd: посмотрел, в xrgame.dll 1.0006 нет такого параметра. В xrgame.dll 2215 есть. Похоже, из финалки выкусили.

Сейчас этот параметр читается СДК. ЛЕ прочитает из конфига, запишет в нет-пакет, а движок уже прочитает из нет-пакета. В ЛЕ соотвествует свойствам in_space_restrictions, out_space_restrictions.
Перейти в начало страницы
 
macron
сообщение 22.04.2020, 13:01
Сообщение #14


Игровой Бог
**********************

Репутация:   1690  
Группа: Участник
Сообщений: 7021
Награды: 11
Регистрация: 22.02.2006




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(abramcumner @ 22.04.2020, 10:54) *
ЛЕ прочитает из конфига, запишет в нет-пакет

Другими словами, в спавн сталкера. Вот смотрю некоторые спавны, разобранные через ACDC. У сталкеров и монстров есть параметры:

dynamic_out_restrictions =
dynamic_in_restrictions =

Примечание:
dynamic_out_restrictions - Рестрикторы, за пределами которых объекту нельзя быть.
dynamic_in_restrictions - Рестрикторы, внутри которых объекту нельзя быть.

Так вот, все стоят пустые. Отсюда вопрос, работает ли фича в ЛЕ (ТЧ) вообще? И если движок игры ее поддерживает, может возможно через ACDC заполнить эти поля? И есть ли у кого примеры из ACDC с заполненными полями?

Но возможно рестрикторы пишутся в спавн самим аномалиям. В ACDC у каждой аномалии/костра есть заполненный пункт restrictor_type = цифра.
Выходит, в соответствии с этой статьей аномалиям есть смысл ставить цифру 2 или 4, чтобв НПСи в них не заходили.

Сообщение отредактировал macron - 22.04.2020, 13:02
Перейти в начало страницы
 
abramcumner
сообщение 22.04.2020, 13:20
Сообщение #15


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(macron @ 22.04.2020, 12:57) *
dynamic_out_restrictions =
dynamic_in_restrictions =

Это они и есть.

Цитата
Так вот, все стоят пустые. Отсюда вопрос, работает ли фича в ЛЕ (ТЧ) вообще? И если движок игры ее поддерживает,

Надо заполнить их в ЛЕ, собрать спавн, разобрать его асдс и сразу увидишь, работает или нет. В исходниках все для работы есть. И да, за 20 лет никто не удосужился проверить.

Цитата
может возможно через ACDC заполнить эти поля?

Конечно возможно. Перечисляешь через запятую имена аномалий.

Цитата
Но возможно рестрикторы пишутся в спавн самим аномалиям. В ACDC у каждой аномалии/костра есть заполненный пункт restrictor_type = цифра.
Выходит, в соответствии с этой статьей аномалиям есть смысл ставить цифру 2 или 4, чтобв НПСи в них не заходили.

Аномалии это и есть рестрикторы. Если хочешь, чтобы аномалия автоматически добавилась всем монстрам и НПЦ на уровне в список мест, куда заходить нельзя, ставишь тип 2(default in restrictor).

Если у тебя есть скрипт обхода аномалий на рестрикторах или движковый на них же, ставишь тип 0. Тогда скрипт добавит аномалию в список мест, куда заходить нельзя, только для конкретного НПЦ.
Перейти в начало страницы
 
Zagolski
сообщение 22.04.2020, 16:27
Сообщение #16


Почти Игроман
*********

Репутация:   59  
Группа: Участник
Сообщений: 629
Награды: 1
Регистрация: 13.12.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


Не советую заполнять эти поля аномалиями, слишком тормознуто с этим делом работает движок, когда список больше минимального становится. Получим тормоза и длительную загрузку. Ну с десяток еще норм, а дальше уже совсем плохо. К тому же там по дефолту уже входные рестикторы с локи записаны, одних только их бывает много.
В движке хорошо бы это дело распараллелить или навроде того, в общем, ускорить.
Перейти в начало страницы
 
macron
сообщение 22.04.2020, 22:14
Сообщение #17


Игровой Бог
**********************

Репутация:   1690  
Группа: Участник
Сообщений: 7021
Награды: 11
Регистрация: 22.02.2006




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(abramcumner @ 22.04.2020, 10:54) *
Только прописываются не секции, а имена объектов аномалий

Цитата(abramcumner @ 22.04.2020, 13:16) *
И да, за 20 лет никто не удосужился проверить.

Тогда понятно, проще цифру "тип 2(default in restrictor)" прописать, чем ковыряться в этих хитросплетениях. biggrin.gif
Перейти в начало страницы
 
abramcumner
сообщение 22.04.2020, 22:27
Сообщение #18


Игровое Воплощение
*********************

Репутация:   394  
Группа: Участник
Сообщений: 4791
Награды: 4
Регистрация: 27.04.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(macron @ 22.04.2020, 22:10) *
Тогда понятно, проще цифру "тип 2(default in restrictor)" прописать, чем ковыряться в этих хитросплетениях. biggrin.gif

Там нет хитросплетений. Если аномалию не удаляешь и ее должны все обходить, ставишь тип 2. Если аномалию не удаляешь и обходить должны избранные, прописываешь в dynamic_in_restrictions. Если аномалии могут удаляться, берешь скрипт обхода аномалий.

Еще во времена АМК написали скрипты динамических аномалий и их обхода. И все эти СДК/оллспавновские изыски стали неактуальны.
Перейти в начало страницы
 
hi_flyer
сообщение 23.04.2020, 03:22
Сообщение #19


Мастер Игры
************

Репутация:   232  
Группа: Друзья GM
Сообщений: 1299
Награды: 4
Регистрация: 05.03.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(macron @ 23.04.2020, 04:10) *
Тогда понятно, проще цифру "тип 2(default in restrictor)" прописать, чем ковыряться в этих хитросплетениях.

Там есть ограничения некоторые. Сильно большому количеству аномалий прописать не получится, будет вылетать.


--------------------
Перейти в начало страницы
 
Zagolski
сообщение 25.04.2020, 19:15
Сообщение #20


Почти Игроман
*********

Репутация:   59  
Группа: Участник
Сообщений: 629
Награды: 1
Регистрация: 13.12.2016




Вставить ник Цитировать выделенное в форуму быстрого ответа


На ваниле да, хотя alpet в движке NLC 7 это дело улучшил, стало больше поддерживать. Кому надо - можно посмотреть в репо сорцов как сделано.
Но в любом случае вещь эта тормозная. В скриптах обхода аномалий применяют хак - лишь некоторое кол-во самых ближних рестрикторов (аномалий) добавляют мобам. Динамически, разумеется. Отдаленные извлекают. Ну, таким вот макаром обходчик более-менее фурычит.
Перейти в начало страницы
 

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 08.05.2024, 12:57