Advanced Flying Birds
In this tutorial we are going to see different ways to get the birds from HL2 to fly.
'On Spawn- Flyaway' method
One way to achieve this is shown during the rooftop chase at the start of HL2. First of all you need your bird npc's, choose whichever you wish. In this example I will use npc_pigeon.
Place your npc_pigeon in your map, it is important that you place it out of sight. Create 2 more npc_pigeons and put them close to the first one. Name the birds in their properties; in this example I named them:
Next you should go to where you want your birds to fly to and place 3 info_node_hint entities (one entity per bird). In the properties of an info_node_hint you must name the Hint Group, in this example I name it flyto_1. Also within your info_node_hint go to the scrollbar for Hint and select Crow: Fly to point.
Repeat this process for your other 2 hint points but do not use the same name for Hint Group. It may be easier to remember if you name them as below:
Next we need some air nodes between the 2 destinations, they should roughly resemble the flight path you want the birds to take. So go ahead and select the info_node_air entity and place them in your map.
Now we need to go back to our birds properties and tell them which node_hints to fly to. Simply put in the name of the info_node_hint Hint Group into the npc_pigeons Hint Group in their properties.
Next up we want to use a point_template entity; this will control when we want the birds to fly. So create the entity name it pigeon_template1 and under template1 choose the first pigeons name and do the same for template2 and 3.
Lastly we want to trigger this template, so create a trigger_once entity and set it to OnTrigger, pigeon_template1, ForceSpawn
Compile your map and give it a try.
Alternate method (without hiding the birds)
There is another way of achieveing this effect which does not involve hiding your birds from view. Use the same setup as described previously but do the following:-
-do NOT use a point_template
-name your info_node_hint entities
-make your info_node_hint entities start disabled
then just trigger the info_node_hints when you want them to fly away. In a trigger_once for instance you want something like OnTrigger, pigeon_hint1, EnableHint and then add the remaining hints to the trigger in the same way.