Использование filter_ (class, name, multiple)
В нашем горячо любимым Hammer Editor, который как мы все знаем входит в состав SSDK есть фильтры, которые различают энтити по классу (filter_class) и по имени (filter_name), а также есть их совмещение (filter_multiple).
А выглядят они так:
Имеются фильтры:
filter_activator_class
filter_activator_mass_greater
filter_activator_name
filter_combineball_type
filter_damage_type
filter_enemy
filter_multifilter_activator_class:
Активирует какое-либо условие по заданному классу энтити.
Например:
Name - как мы все знаем это имя данной энтити
Filter mode - режим фильтра. Allow\Disallow. Либо активируется по данному классу либо активируется по любому класс кроме указанного.
Filter Classname - здесь указывается класс энтити
Далее применим фильтр на примере
func_breacable:
В итоге получается, что сломать данный ломающийся браш может только указанный в фильтре класс, в данном случае только
npc_zombie .
Outputs:
В аутпутах есть Fireuser - OnUser 1-4 ( о них написано в пред. моей статье) и OnFail OnPass
OnFail - активирует какое-либо указанное дейстивие в том случае, если энтитя обратилась к фильтру, но не прошла по классу.
OnPass - инверсия OnFail, активирует какое-либо действие, когда энтитя обратилась к фильтру и прошла по классу.
Inputs:
Кроме стд инпутов есть TestActivator - данный инпут проверяет того, кто активировал энтитю из которой идет аутпут через фильтр.
filter_activator_mass_greater:
Активирует какое-либо условие по массе объекта.
Например:
Последний пункт настроек отличается от
filter_classFilter Mass - указывается минимальная масса объекта(ов) для активации условия.
Возьмем
trigger_multiple:
И так, когда на триггер попадет какой-либо объект триггер пошлет сигнал на фильтр, а фильтр в свою очередь проверит массу попавшего на трггер объекта.
Далее через
OnFail\OnPass вы можете указать выполняемое действие.
filter_activator_name:
Ну тут ничего сложного нет, обойдусь простым текстом.
Данная энтитя активируется каким-либо объектом и проверяет энтитю по имени.
Если имя совпадает, то выполняется условие OnPass, в противном случае OnFail.
filter_combineball_type:
Тут тоже ничего криминального, данный фильтр реагирует на тип combine_ball'ов (альт атака ar2).
Первые два пункта нам известны, перейдем к 3му:
Ball Type - тип шара. разделяется на 3 класса:
Not Thrown - шар НЕ был никуда кинут, ничего не касался и его вообще никто никогда не видел.
Thrown/Launched by the player's physcannon - шар был воспроизведен игроком под средством метания его из ar2 или гравипушки.
Launched by point_combine_ball_launcher - шар был запущен
point_combine_ball_launcher'ом.
Зная все это можно сложить какой-то механизм, я его не придумал, думайте сами ;)
filter_damage_type:
Данный фильтр распределяет типы повреждений.
Последний пункт указывает какой тип повреждений активирует условие или наоборот является исключением.
Типов повреждений много, расписывать лень, полазайте и сами поймете что куды ;)
filter_enemy:
Name/Classname - здесь указывается имя или класс врага, которое\который фильтр будет фильтровать.
Radius - радиус действия фильтра
Outer Radius - тоже что и выше, но как-то отличается, я незнаю чем, т.к сам данной энтитей не пользовался))
Max Squadmaster Per Enemy - максимальное число подмастеров на единицу врага. я хз что это))
filter_multi:
Данный фильтр является оператором между несколькими фильтрами (от 2х до 5ти)
Negate Outcome - хз. у меня всегда стояло
No =)
Logic Type - тип логики (
AND - сложение всех значений с фильтров и получение среднего результата
OR - выбирается только один фильтр)
Filter 1-5 - здесь указываются фильтры, которыми данный оператор властвует =)
Ну, вроде все =)
Удачи вам в освоении фильтров ;)
Добавил: Fantasmagory
14.05.2024 Просмотров: 3363
Комментарии