Sidebar

как к одному энтити "func_rot_button" привязать несколько энтити "light"?

SHEDEVR

New member
14.03.17
34
3
0
как к одному энтити "func_rot_button" привязать несколько энтити "light"?

Всем доброго времени суток.

Уважаемые знатоки, будьте добры, подскажите как к одному энтити "func_rot_button" привязать несколько энтити "light"? Если у каждого объекта "light" разные имена.

Это мне надо для того чтобы сделать следующую фишку.

Есть подвал, в нем несколько лампочек, когда разбиваешь одну лампочку, то есть браш "func_breakable" Параметром (Target on break) (ДИ)активируется энтити объект "light" который создает свет под этим брашем.
Соответственно у каждого "light" свое имя, чтобы каждая лампочка гасла по отдельности.

И при всем при этом, я захотел чтобы все эти лампочки еще и вырубались одним "func_rot_button"

p.s
Да, я понимаю что после того как "func_rot_button" деактивирует "light", если разбить браш "func_breakable" лампочка снова загорится...
Но кто будет в темноте разбивать не светящиеся лампочки?
 
Останнє редагування:

SHEDEVR

New member
14.03.17
34
3
0
Еще немного поразмыслив, я пришел к выводу, что это не целесообразно. Так как если игрок спустится в подвал, и разобьет эти лампочки, "Они погаснут" а потом другой игрок где то там на верху дернит рычаг, они снова загорятся, но так как по идеи лампочки уже разбиты они не должны загораться.
И также обратно, замкнутый круг.
Прийдется выбирать, либо рубильник, либо бьющиеся лампочки.

Если есть в этом опыт, и какие нибудь соображения буду рад вашему совету.
 

DrTressi

Хрустик
06.03.10
6 425
31
  • Журналист
2 SHEDEVR: тебе нужно просто отлавливать состояния лампочек через реле и триггер_чейнчтаргет. Смотри, твой рубильник активирует мультименеджер, а мультименеджер активирует несколько триггер_реле. Каждое реле стоит в цепи перед лампочкой. При "разбивании" брейкабли, просто деактивируешь реле и рубильник больше его не включит.
 

SHEDEVR

New member
14.03.17
34
3
0
DrTressi сказав(ла):
2 SHEDEVR: тебе нужно просто отлавливать состояния лампочек через реле и триггер_чейнчтаргет. Смотри, твой рубильник активирует мультименеджер, а мультименеджер активирует несколько триггер_реле. Каждое реле стоит в цепи перед лампочкой. При "разбивании" брейкабли, просто деактивируешь реле и рубильник больше его не включит.
Спасибо, желательно бы какой нибудь тутор по этим "тригер_реле"
Так что то пока не догоняю, как это сделать. Куда надо ставить тригер_реле?
 

npocTo_LaM

Well-known member
27.10.12
2 166
387
83
  • Золотая медаль 311
рубильник активирует мультименеджер, в параметрах которого прописаны триггер-релай с разными именами, тагетами у них лампочки с разными именами, статус "тоггле". Жмем рубильник лампочки горят, жмем еще раз - выключаются.
Брекаблы активируют тригер_чейндж_таргет по одному для каждой лампочки, которые при активации меняют таргеты у триггер_релай на инфо_нул (имя скажем null) и еще по одному триггеру_релай с именами лампочек в тагетах и статусом "офф" (для выключения горящих лампочек) - все теперь сколько не щелкай рублбильником разбитые лампочки не загорятся.
Теперь чтобы все возвращалось обратно в начале каждого раунда, ставим функ_доор с именем game_playerspawn, с параметром "delay before close" -1, и в ее таргете прописываем еще один мультименеджер и в его параметрах прописываем триггер_чендж_таргет на каждый триггер релай из первого предложения, новый таргет - имя каждой лампочки.
Возможно немного громоздко вышло и возможно не совсем понятно, завтра карту-пример попробую сделать.
 

DrTressi

Хрустик
06.03.10
6 425
31
  • Журналист
2 SHEDEVR: у реле есть два поля - Имя и Таргет. Вот пример попроще:
Кнопка=>реле=>лампа. Но при разбивании лампочки ты очищаешь поле Таргет у реле и теперь сигнал дойдёт до реле и дальше не пойдёт.

За тутором - в гугл, там есть учебники по маппингу.

Тебе просто нужно отлавливать стейт лампочки и при разбивании брейкабла не удалять её, а выключать + прерывать цепь, чтобы её нельзя было снова включить.
 

Sozon

призрак форума КСМ
11.09.11
513
26
28
SHEDEVR сказав(ла):
Спасибо, желательно бы какой нибудь тутор по этим "тригер_реле"
Так что то пока не догоняю, как это сделать. Куда надо ставить тригер_реле?
Тебе не мерцающий свет нужен случайно? Тогда еще проще как бы...
 

npocTo_LaM

Well-known member
27.10.12
2 166
387
83
  • Золотая медаль 311
Ну вот примерчик - http://rgho.st/7cM6KwsJc
Для одной лампы попробовал сделать искры, когда уже разбита и подают питание. Не стоит так делать, env_spark имеет, на мой взгляд, недоработку - невозможно выключить через trigger_relay.
Если очень хочется, то лучше делать через env_sprite, ambient_generic и light.
p.s. по максимуму, для потворяемости в начале каждого раунда, хорошо бы добавить триггер_релэй для каждой лампочки, который выставит ее в начальное состояние, независимо от того, какое было в конце предыдущего раунда (в данном случае "выключено").
 
Останнє редагування:

SHEDEVR

New member
14.03.17
34
3
0
npocTo_LaM сказав(ла):
рубильник активирует мультименеджер, в параметрах которого прописаны триггер-релай с разными именами, тагетами у них лампочки с разными именами, статус "тоггле". Жмем рубильник лампочки горят, жмем еще раз - выключаются.
Брекаблы активируют тригер_чейндж_таргет по одному для каждой лампочки, которые при активации меняют таргеты у триггер_релай на инфо_нул (имя скажем null) и еще по одному триггеру_релай с именами лампочек в тагетах и статусом "офф" (для выключения горящих лампочек) - все теперь сколько не щелкай рублбильником разбитые лампочки не загорятся.
Теперь чтобы все возвращалось обратно в начале каждого раунда, ставим функ_доор с именем game_playerspawn, с параметром "delay before close" -1, и в ее таргете прописываем еще один мультименеджер и в его параметрах прописываем триггер_чендж_таргет на каждый триггер релай из первого предложения, новый таргет - имя каждой лампочки.
Возможно немного громоздко вышло и возможно не совсем понятно, завтра карту-пример попробую сделать.
Очень долго пытался понять что ты написал.))) Пока не сделал по совету кого-то там известного крутого маппера так.,

Я взял ручку, листок и зарисовал схему, что ты написал.

Но я добавил после "брикэбли" "мультиманаджер" чтобы он активировал и чеиндж_таргет и реле. Так как "брикэбли" может активировать только что-то одно.
Схему собрал, должно работать, ещё не проверял.
p.s.
Вчера ночью я собрал похожую схему, только чейндж_таргет переименовывали не первые реле, а сразу лампочки.
Почему-то не работало. Я думаю что ентити light нельзя переименовать, чейндж_тарджет(ом).

И кстати ещё вопрос, а зачем в схеме info_null??
 

Enimakanaon

Незабаненный
30.06.15
1 044
41
Что за ерунду вы тут пишите, какие к черту схемы, какие чертежи, какие сборки? Вам человек в самом начале темы написал — убивайте ентити. Через killtarget. Бах и все, и не включится лампочка обратно.

Способ Dr. Tressi тоже рабочий, но он чрезвычайно сложный и запутанный, и в нем больше ентитей. Очень плохое решение, конкретно в данной ситуации.
 
Останнє редагування:

ZombieSource

Sehr geile Sprayers!
13.06.10
702
53
28
LightenWoods
  • Золотая медаль 121
  • Серебряная медаль 131
  • Бронзовая медаль MM18
  • Серебряная медаль 103
killtarget тут не пройдёт, карта ж ведь для мультиплеера, а killtarget убивает лампочку навсегда, в итоге это всё будет работать только первый раунд. (Как правило в первом раунде игроки разбивают всё что можно разбить, просто потому что это можно разбить). Остаётся только пилять trigger_relay
 
Останнє редагування:

Enimakanaon

Незабаненный
30.06.15
1 044
41
2 ZombieSource:

Точно, ты прав. Я как всегда в парадигме халфы задачи решаю, забыл про эти ваши раунды в КС, которые не возвращают все как было до конца :)
 

SHEDEVR

New member
14.03.17
34
3
0
Enimakanaon сказав(ла):
Что за ерунду вы тут пишите, какие к черту схемы, какие чертежи, какие сборки? Вам человек в самом начале темы написал — убивайте ентити. Через killtarget. Бах и все, и не включится лампочка обратно.

Способ Dr. Tressi тоже рабочий, но он чрезвычайно сложный и запутанный, и в нем больше ентитей. Очень плохое решение, конкретно в данной ситуации.
Сначала я не понял что имел в виду "xDShot"
Я подумал он имел в виду оставить чтобы Брикебли вырубало лампу и все,
без всяких рубильников.

Следует вопрос, у энтити "func_breakable" есть функция KillTarget?
Не видил.
 

npocTo_LaM

Well-known member
27.10.12
2 166
387
83
  • Золотая медаль 311
2 TRUSISHKA:
карту или компильнуть, или в скомпилированной в bspedit лишние wad-файлы удалить и сохранить.
p.s. перезалил - http://rgho.st/8Y8wZ7Czv
 
Останнє редагування:

Enimakanaon

Незабаненный
30.06.15
1 044
41
SHEDEVR сказав(ла):
Следует вопрос, у энтити "func_breakable" есть функция KillTarget? Не видил.
Любое поле можно самостоятельно дописать, отключив SmartEdit в хаммере. Killtarget нормально работает в сочетании с func_breakable, и полностью выполняет свои функции.

Убить ентитю light можно. Но тут важно понимать одну деталь — удаление этой ентити не выключает свет от нее. Удаление просто навсегда блокирует его переключение. То есть, чтобы навсегда выключить лампочку, чтобы ее никогда больше нельзя было включить, нужно выключить лампу, а потом ее удалить. И да, killtarget выполняется раньше, чем target, поэтому если одной ентити указать target и killtarget в одну лампу, то она убьет ее до того, как переключит. Я сделал пример, там было 2 ентити на каждую лампочку (не считая light и func_breakable) и собственно переключатель, который активирует все лампочки сразу через мультименеджер.

Но как выше написали это актуально только если нет сломанной каэсовской системы раундов. Она все испортит.
 

Вкладення

  • 1.8 КБ Перегляди: 210

SHEDEVR

New member
14.03.17
34
3
0
Всем доброго времени суток.
Благодаря подсказке "npocTo_LaM" с его слов я собрал схему, подкорректировал немного ее и у меня все получилось. 8)

Выкладываю тест карту и исходник.
 

Вкладення

  • Like
Reactions: Дядя Миша

Game Server

Доноры Красавчики

Користувачі онлайн

Немає користувачів онлайн.