Ru/Triggers: Difference between revisions
(Created page with "'''Triggers''' are entities which respond to the presence of other entities. Trigger brushes can be created by mappers, while programmers can make anything into a t...") |
(первая версия перевода) |
||
Line 1: | Line 1: | ||
''' | {{otherlang2 | ||
|en = Triggers | |||
}} | |||
'''Триггеры''' - [[entity|энтити]], которые отвечают на запросы других энтити. Триггеры-браши могут быть созданы картоделами, а программисты могут сделать что угодно их триггеров. | |||
== | == Картостроение == | ||
[[File:Toolstrigger.gif|right|tools/toolstrigger]] | [[File:Toolstrigger.gif|right|tools/toolstrigger]] | ||
Существует много типов триггеров-брашей, которые могут быть созданы в редакторе карт Hammer; просмотрите [[Special:PrefixIndex/trigger]] для полного списка. | |||
Одни из самых главных триггеров-брашей это '''[[trigger_once]], [[trigger_multiple]], [[trigger_look]] and [[trigger_proximity]]'''. У них всех одинаковые свойства и выводы: | |||
; Tools/ToolsTrigger | ; Tools/ToolsTrigger | ||
: | : Каждый триггер должен использовать один материал. | ||
; Filters | ; Filters | ||
: [[Filters| | : [[Filters|Энтити-фильтры]] могут быть использованы для определения, что должен активировать триггер. | ||
; Filter Flags | ; Filter Flags | ||
: | : Есть список [[Hammer Object Properties Dialog#Flags Tab|флагов]], которые позволять триггеру быстро фильтровать без дополнительного энтити. | ||
; <code>OnStartTouch</code> | ; <code>OnStartTouch</code> | ||
; <code>OnEndTouch</code> | ; <code>OnEndTouch</code> | ||
: | : Вывод происходит, когда любое энтити заходит в триггер или выходит из него. Этот энтити будет числится, как [[Targetname#Keywords|!caller]]. | ||
; <code>OnStartTouchAll</code> | ; <code>OnStartTouchAll</code> | ||
; <code>OnEndTouchAll</code> | ; <code>OnEndTouchAll</code> | ||
: | : Вывод происходит, как с выше перечисленным, но только, если отфильтрованные энтити не касаются триггера. | ||
; <code>OnTouching</code> | ; <code>OnTouching</code> | ||
; <code>OnNotTouching</code> | ; <code>OnNotTouching</code> | ||
: | : Один из выводов будет запущен в ответ на <code>TouchTest</code> ввод. Все триггеры имеют эту команду, однако, немногие из них имеют эту команду в списке.[[FGD]]. | ||
; <code>OnTrigger</code> | ; <code>OnTrigger</code> | ||
: | : Срабатывает всякий раз, когда энтити соответствует всем критериям триггера. | ||
{{warning| | {{warning|Для trigger_once, вывод '''''не''''' похож на <code>OnStartTouch</code> и <code>OnStartTouchAll</code>. Когда триггер, который не восстанавливается активен, он удалит себя с карты через 0.1 секунду. <code>OnStartTouch</code> может быть активирован в этом промежутке.}} | ||
=== | === Смотрите также === | ||
* [[ | * [[Браш-энтити]] | ||
* [[ | * [[Вводы и выводы]] | ||
* [[ | * [[Фильтры]] | ||
* [[ | * [[Специальное:PrefixIndex/trigger]] | ||
* <code>showtriggers_toggle</code>, | * <code>showtriggers_toggle</code>, консольная команда, которая позволяет видеть триггер-браши. | ||
== | == Программирование == | ||
Все энтити могут отвечать на соприкосновение с другими энтити (смотрите <code>[[Touch()]]</code>). Если вы хотите соприкосновения без коллизии, то у вас есть два выбора: | |||
; <code>SetSolid(SOLID_NONE)</code> <span style="font-weight:normal;"> | ; <code>SetSolid(SOLID_NONE)</code> <span style="font-weight:normal;">и</span> <code>AddSolidFlags(FSOLID_TRIGGER)</code> | ||
: | : Энтити будет отвечать на соприкосновения с вещами, которые походят через него. | ||
; <code>CollisionProp()->UseTriggerBounds(true,iBloatSize)</code> | ; <code>CollisionProp()->UseTriggerBounds(true,iBloatSize)</code> | ||
: | : Энтити будет иметь триггер-бокс который продлевает его [[bounding box|коробки коллизии]] с помощью iBloatSize юнитов в X/Y и (iBloatSize/2) в +Z (-Z остается прежним). Триггер-бокс выравнен миром и будет работать независимо от твёрдости объекта и его группы коллизии. Он будет видим, как светящаяся, голубая коробочка, когда консольная команда <code>ent_bbox</code> использована. | ||
: Valve | : Valve использует триггер-бокс для всех предметов. Их Их размер коллизии составляет 24, довольно большая цифра. | ||
=== | === Браш === | ||
Что-бы сделать новый триггер-браш, который использует форму его браша заместо коробки коллизии, нужно взять <code>[[CBaseTrigger]]</code> и вызвать<code>InitTrigger()</code>. | |||
[[Category:Level Design]] | [[Category:Level Design]] | ||
[[Category:Programming]] | [[Category:Programming]] | ||
[[Category:Glossary]] | [[Category:Glossary]] |
Revision as of 08:45, 16 January 2021
Template:Otherlang2 Триггеры - энтити, которые отвечают на запросы других энтити. Триггеры-браши могут быть созданы картоделами, а программисты могут сделать что угодно их триггеров.
Картостроение
Существует много типов триггеров-брашей, которые могут быть созданы в редакторе карт Hammer; просмотрите Special:PrefixIndex/trigger для полного списка.
Одни из самых главных триггеров-брашей это trigger_once, trigger_multiple, trigger_look and trigger_proximity. У них всех одинаковые свойства и выводы:
- Tools/ToolsTrigger
- Каждый триггер должен использовать один материал.
- Filters
- Энтити-фильтры могут быть использованы для определения, что должен активировать триггер.
- Filter Flags
- Есть список флагов, которые позволять триггеру быстро фильтровать без дополнительного энтити.
OnStartTouch
OnEndTouch
- Вывод происходит, когда любое энтити заходит в триггер или выходит из него. Этот энтити будет числится, как !caller.
OnStartTouchAll
OnEndTouchAll
- Вывод происходит, как с выше перечисленным, но только, если отфильтрованные энтити не касаются триггера.
OnTouching
OnNotTouching
- Один из выводов будет запущен в ответ на
TouchTest
ввод. Все триггеры имеют эту команду, однако, немногие из них имеют эту команду в списке.FGD. OnTrigger
- Срабатывает всякий раз, когда энтити соответствует всем критериям триггера.

OnStartTouch
и OnStartTouchAll
. Когда триггер, который не восстанавливается активен, он удалит себя с карты через 0.1 секунду. OnStartTouch
может быть активирован в этом промежутке.Смотрите также
- Браш-энтити
- Вводы и выводы
- Фильтры
- Специальное:PrefixIndex/trigger
showtriggers_toggle
, консольная команда, которая позволяет видеть триггер-браши.
Программирование
Все энтити могут отвечать на соприкосновение с другими энтити (смотрите Touch()
). Если вы хотите соприкосновения без коллизии, то у вас есть два выбора:
SetSolid(SOLID_NONE)
иAddSolidFlags(FSOLID_TRIGGER)
- Энтити будет отвечать на соприкосновения с вещами, которые походят через него.
CollisionProp()->UseTriggerBounds(true,iBloatSize)
- Энтити будет иметь триггер-бокс который продлевает его коробки коллизии с помощью iBloatSize юнитов в X/Y и (iBloatSize/2) в +Z (-Z остается прежним). Триггер-бокс выравнен миром и будет работать независимо от твёрдости объекта и его группы коллизии. Он будет видим, как светящаяся, голубая коробочка, когда консольная команда
ent_bbox
использована. - Valve использует триггер-бокс для всех предметов. Их Их размер коллизии составляет 24, довольно большая цифра.
Браш
Что-бы сделать новый триггер-браш, который использует форму его браша заместо коробки коллизии, нужно взять CBaseTrigger
и вызватьInitTrigger()
.