[ANY] [Mapping] Использование триггера как output

SpookyToad

Участник
Сообщения
17
Реакции
54
Недавно столкнулся с проблемой что мне нужно было сделать так, чтобы только один игрок "прикасался" к триггеру. Делать это через фильтры можно, но не слишком ли это костыльно?
Сейчас я вам поведую метод как можно отослать игроку/чему-то ещё оутпут от триггера не вступая в него

1. Создайте триггер
ВАЖНО: Триггер нужно поместить в недосягаемое игроком/объектом место. Триггер может быть любого размера
unknown.png

2. Подготовка триггера к работе
Зайдите в триггер, дайте ему имя и настройте все ваши параметры

3. Сам Output
Дальше нам нужно ввести вот такой инпут туда, куда вы хотите (У меня к примеру будет по нажатию кнопки)

OnUser1 TriggerName:StartTouch:::1 | 0.00
FireUser1 с задержкой 0.05

Всё это должно выглядеть примерно так
unknown.png


Готово!

Готовый результат

Если есть какие-либо вопросы - пишите, всегда буду рад ответить 🗿
 
Последнее редактирование:

DarkerZ

Участник
Сообщения
405
Реакции
183
плохой метод. !activator в большинстве случаев является игрок, т.е. classname player. а в свою очередь объект данного класса НЕ обновляется в каждом раунде. следовательно если игрок в 1 раунде нажмёт на кнопку ему добавится Output OnUser1..., предположим во 2 раунде он опять нажимает это кнопку ему опять добавится OnUser1, но т.к. теперь у игрока присутствует 2 OnUser1, следовательно при FireUser1 он выполнит 2 раза прикосновение к триггеру. лучше использовать фильтры filter_activator_name, для CS:GO, L4D можно использовать filter_activator_context. на крайний случай можно воспользоваться vscript(при условии что игра его поддерживает)
 

SpookyToad

Участник
Сообщения
17
Реакции
54
плохой метод. !activator в большинстве случаев является игрок, т.е. classname player. а в свою очередь объект данного класса НЕ обновляется в каждом раунде. следовательно если игрок в 1 раунде нажмёт на кнопку ему добавится Output OnUser1..., предположим во 2 раунде он опять нажимает это кнопку ему опять добавится OnUser1, но т.к. теперь у игрока присутствует 2 OnUser1, следовательно при FireUser1 он выполнит 2 раза прикосновение к триггеру. лучше использовать фильтры filter_activator_name, для CS:GO, L4D можно использовать filter_activator_context. на крайний случай можно воспользоваться vscript(при условии что игра его поддерживает)
Ты не понял, как ты видишь, сразу после накладки юзера мы сразу делаем инпут FireUser1, что и чистит его от игрока т. К. Оно одноразовое
 

SpookyToad

Участник
Сообщения
17
Реакции
54
Если нужно я могу записать видео о том, что этот способ работает нормально и fireuser чиститься сразу, и фактически невозможно это забагать, но метод с фильтрами не очень т. К нужно делать триггер на всю карту и настраивать фильтр, а так же происходит гемор с таргетнеймами игроков, забыл почистить и всё) 0)0
 
Последнее редактирование:

DarkerZ

Участник
Сообщения
405
Реакции
183
зачем триггер на всю карту? используй game_zone_player + filter_*
+формат добавления странный, на сайте valve про AddOutput написано:
Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, 1 means once and -1 means infinite>
 

SpookyToad

Участник
Сообщения
17
Реакции
54
зачем триггер на всю карту? используй game_zone_player + filter_*
+формат добавления странный, на сайте valve про AddOutput написано:
Format: <output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, 1 means once and -1 means infinite>
Просто данный способ может не работать в некоторых играх, включая Team Fortress 2, т. к. Я маппер для тфки он там не работает и я не знал насчёт других игр. Спасибо за размещение данного способа!
 
Последнее редактирование:

DarkerZ

Участник
Сообщения
405
Реакции
183
Просто данный способ может не работать в некоторых играх, включая Team Fortress 2, т. к. Я маппер для тфки он там не работает и я не знал насчёт других игр. Спасибо за размещение данного способа!
вот с этого и надо было начинать, данный способ был проверен на Team Fortress 2, возможно подойдёт и для других игр... но как я сказал ранее, конкретно для CS:GO это лучше вообще решить при помощи vscript. либо же в CSS и CS:GO предпочитают использовать фильтры
 
Сверху Снизу