В этом туторе я расскажу о том как создать муравьиных львов, которые постоянно лезут из-под земли. Для начала потребуется карта с камнями и песком, но в принципе материал не имеет значения. Также необходимо сделать следующие ентити: npc_antlion env_shake ambient_generic npc_antlion_template_maker logic_relay env_player_surface_trigger info_node_hint Теперь надо эти ентити настроить.
Первым делом создайте npc_antlion с такими параметрами: name - antlion, на вкладке flags отметьте start burrowed и template npc.
Затем настроим env_player_surface_trigger: name - SurfaceTrigger, GameMaterialToWatch - sand. Теперь в аутпутах у него ставим: MyOutput target_entities via_this_input OnSurfaceChangedFromTarget relay_expanse_disablespawn Trigger ОnSurfaceChangedToTarget relay_expanse_spawn Trigger
Муравьиные львы появляются со звуком, добавим им эту фичу. Создайте рядом с местом спавна объект ambient_generic и в свйствах проставьте: Name sound_antlion_spawn SoundName Streetwar.d3_c17_10b_rumble1 Volume 8 Fade In Time 1.5 Fade Out Time 2 Pitch 120 Start Pitch 90 Max Audible Distance 1250
Также будет неплохо добавить небольшое землетрясение при их появлении. Создаем env_shake и в свойствах указываем: Name shake_antlion_spawn Amplitude 2 Effect Radius 500 Duration 3 Frequency 100
Теперь можно создать собственно спавнер - npc_antlion_template_maker. В свойствах пишем: Name antlion_expanse_spawner StartDisabled Yes //чтобы не начиналось с загрузкой карты Num. of NPCs //поставьте какое-нибудь значение, чтобы ограничить кол-во неписей либо остаьте пустым Frequency 0.35 Max Live NCPs //поставьте любое значение Name Of Template NPC AntLion Spawn On HintGroup antlion_expanse_spawn_nodes Spawn Radius 1000 Spawn Target !player наезд на игрока при спавне Ignore Bugbait No Во флагах поставьте Infinite Children , чтобы их было бесконечно много В аутпутах: MyOutput target_entities via_this_input OnAllSpawnedDead antlion_expanse_spawner SetMaxChildren parameter delay 8 9.00
Теперь ентитя logic_relay. В свойствах: Name relay_expanse_spawn В аутпутах: MyOutput target_entities via_this_input delay OnTrigger sound_antlion_spawn PlaySound OnTrigger relay_expanse_disablespawn CancelPending OnTrigger shake_antlion_spawn StartShake 0.10 OnTrigger antlion_expanse_spawner Enable 1.00
И еще logic_relay: Name relay_expanse_disablespawn В аутпутах: My output Target entity Target input Delay OnTrigger sound_antlion_spawn StopSound OnTrigger shake_antlion_spawn StopShake OnTrigger antlion_expanse_spawner Disable 0.50 OnTrigger relay_expanse_spawn CancelPending 0.50
И осталось создать info_node_hint в вероятных местах спавна со свойствами Hint AntLion Burrow Point Hint Group antlion_expanse_spawn_nodes
Ну вот и весь тутор. Осталось сказать, что навигация создается объектами info_node и info_node_air, но это поставите сами.
Примечания синим цветом указаны параметры в аутпутах, их значения стоят ниже в том же порядке. зеленым поставлены коментарии.