Jump to content

Vertibird encounters


Andyno

Recommended Posts

I'm trying to add something interesting into my mod, and that would be some vertibird encounters. Two types of them:

1. player activates a trigger that spawns a vertibird that will fly to a destination (possibly XMarker). It doesn't matter if the vertibird will land or not, because the player won't be able to see its destination point. All the player should see is a vertibird flying by

2. same as above, but on the arrival the vertibird will attack enemies on the ground within certain radius (let's say 3000). The vertibird will be at low level, so the enemies will destroy it, thus it never gets a chance to land

 

Does anybody have an experience with this?

 

And BTW, one additional related question: Does the vertibird's path have to be navmeshed?

Link to comment
Share on other sites

1. and 2.: both are possible with a quest and a Papyrus script. It's not basic level, but you can start learning Papyrus here. To see how the Vertibirds' AI packages work, take a look at the vanilla Vertibird random encounter quests.

 

 

And BTW, one additional related question: Does the vertibird's path have to be navmeshed?

 

No, but be aware that Vertibirds can sometimes fly through high objects (buildings, trees) which is.. unimmersive.

Link to comment
Share on other sites

Thanks for reply.

 

I kinda solved this by adding DefaultEnableDisableTrigger + Enable Marker, and slightly modified VertibirdTravel Package:

 

vpackage.jpg

 

Under the Flags Tab I checked Ignore Combat and No Combat Alert.

 

It works fine, vertibird spawns from the initial spot, and follows the straight line to linked XMarker.

Even though it has some flaws:

- there's no pilot/gunner, so the vertibird looks like it came from some Terminator movie

- I tried to make some checkpoints (another XMarkers) to achieve that vertibird will fly between some high objects, but it doesn't work - vertibird always travels to XMarker specified in the Package

- not sure what Landing? means - the vertibird will land even if it's set to False. If I set it to True, the vertibird simply won't spawn

 

All of the above, is, of course, the first case, but I suppose when I uncheck Ignore Combat and No Combat Alert, the vertibird will fight with enemies along the way... at least if it had a gunner...

Link to comment
Share on other sites

It works fine, vertibird spawns from the initial spot, and follows the straight line to linked XMarker.

Even though it has some flaws:

- there's no pilot/gunner, so the vertibird looks like it came from some Terminator movie

 

You need to create a reference alias for your pilot too. Vertibirds are NPCs, they have AI so they can actually fly without a pilot. For the keywords, linked references, see the Pilot alias of the quest "REScene_VertibirdKMK01".

 

- I tried to make some checkpoints (another XMarkers) to achieve that vertibird will fly between some high objects, but it doesn't work - vertibird always travels to XMarker specified in the Package

 

Each route (from checkpoint A to Checkpoint B; from Checkpoint B to Checkpoint C) requres an AI package. The simplest method is using a Scene. See the scene "RRM01_0500_HighriseEscort" of the quest "RRM01").

 

- not sure what Landing? means - the vertibird will land even if it's set to False. If I set it to True, the vertibird simply won't spawn

 

You created an AI package that uses "VertibirdTravel" as a template. VertibirdTravel has two AI Procedures: Hover, Travel. Travel means the Vertibirds will try to land at "Place to Travel". You could try creating an AI package that uses "VertibirdHoverTemplate" as its template.

 

All of the above, is, of course, the first case, but I suppose when I uncheck Ignore Combat and No Combat Alert, the vertibird will fight with enemies along the way... at least if it had a gunner...

 

Yes. If "Ignore Combat" is and "No Combat Alert" are unchecked, it would engage enemies during the flight. It can be avoided by using a simple Quest script. (Leave those flags unckeched and don't forget to add the Pilot to the CaptiveFaction: Reference Alias > Alias Data > Alias Factions > add CaptiveFaction).

Scriptname YOURSCRIPTNAME extends Quest Const

Actor Property myTarget Auto Const
Actor Property myVertibird Auto Const
Faction Property CaptiveFaction Auto Const
Float Property myTargetVertibirdDistance = 1000 Auto Const   ;1000 is optional


Event OnQuestInit()   ;when the quest starts
	RegisterForDistanceLessThanEvent(myTarget, myVertibird, myTargetVertibirdDistance)
EndEvent

Event onDistanceLessThan(ObjectReference akObj1, ObjectReference akObj2, float afDistance)
	myVertibird.RemoveFromFaction(CaptiveFaction)     ;remove the vertibird from the "friend of everyone" faction
	myVertibird.StartCombat(myTarget)                 ;make the vertibird attack the target
EndEvent
Edited by LarannKiar
Link to comment
Share on other sites

see the Pilot alias of the quest "REScene_VertibirdKMK01"

I suppose you mean this:

debug.trace(self + " STARTING")
kmyQuest.Startup()
; try enabling passengers here since this is simpler
; enable passengers
Alias_Pilot.TryToEnable()
Alias_Gunner.TryToEnable()

It's kinda funny that note says "this is simpler", because for me it actually isn't - I'm usually totally overwhelmed by these quest/script things...

So the pilot and gunner has to be attached to the vertibird by the script only? There's no other simpler way?

 

You could try creating an AI package that uses "VertibirdHoverTemplate" as its template.

I actually changed my mind - I made a vertibird that drops some troops. The player won't see how the troops are exiting the vertibird though, and I really doubt that there is an animation for this in the game. The thing is that if the XMarker is too high, the vertibird will make some short landing animation, but then it will simply drop to the ground like a rotten pear.

 

don't forget to add the Pilot to the CaptiveFaction

I had to add this faction also to the vertibird, since it was always attacked by enemies from the ground.

 

Regarding your script...

Like I said, I'm totally overwhelmed, but it probably says that the vertibird will become hostile only after it arrives at the destination, and then it will attack a single target...?

This is not exactly what I'm looking for. I'm trying to recreate some kind of mini war zone, or in other words "faction war" (supermutants vs. BoS), and it will be not very realistic that supermutants will notice the BoS vertibird only after it's above their heads. Also the vertibird thouldn't attack a single target but several random targets within radius of 3000.

Link to comment
Share on other sites

 

see the Pilot alias of the quest "REScene_VertibirdKMK01"

I suppose you mean this:

debug.trace(self + " STARTING")
kmyQuest.Startup()
; try enabling passengers here since this is simpler
; enable passengers
Alias_Pilot.TryToEnable()
Alias_Gunner.TryToEnable()

 

No, I meant the Pilot alias and its Alias Data, Linked References.. (It's in Quest » Quest Alias tab » Pilot alias).

 

 

It's kinda funny that note says "this is simpler", because for me it actually isn't - I'm usually totally overwhelmed by these quest/script things...

 

 

see the Pilot alias of the quest "REScene_VertibirdKMK01"

I suppose you mean this:

debug.trace(self + " STARTING")
kmyQuest.Startup()
; try enabling passengers here since this is simpler
; enable passengers
Alias_Pilot.TryToEnable()
Alias_Gunner.TryToEnable()

It's kinda funny that note says "this is simpler", because for me it actually isn't - I'm usually totally overwhelmed by these quest/script things...

 

 

You'd like to make a Super Mutant vs. BoS war mod with a Vertibird fight. That requires quest and scripts. :smile:

 

 

So the pilot and gunner has to be attached to the vertibird by the script only? There's no other simpler way?

 

They use Linked Reference (see RELinkVehicle, pilot alias: Quest » Quest Alias » Pilot alias).

 

 

 

I actually changed my mind - I made a vertibird that drops some troops. The player won't see how the troops are exiting the vertibird though, and I really doubt that there is an animation for this in the game. The thing is that if the XMarker is too high, the vertibird will make some short landing animation, but then it will simply drop to the ground like a rotten pear.

 

There's a vertibird RE quest that drops BoS troops (I forgot its EditorID), take a look at the passengers' AI packages.

 

No, there are "jump from vertibird animations". You don't need edit them, NPCs exit vertibirds with those animations.

 

Place the landing marker on the ground. The location needs to be navmeshed.

 

Regarding your script...

Like I said, I'm totally overwhelmed, but it probably says that the vertibird will become hostile only after it arrives at the destination, and then it will attack a single target...?

This is not exactly what I'm looking for. I'm trying to recreate some kind of mini war zone, or in other words "faction war" (supermutants vs. BoS), and it will be not very realistic that supermutants will notice the BoS vertibird only after it's above their heads. Also the vertibird thouldn't attack a single target but several random targets within radius of 3000.

 

Not just a single target. The vertibird will start attacking the akTarget, but it will also attack any other hostile NPCs. If akTarget is undetected by the vertibird when the onDistanceLessThan event fires, the vertibird will enter "search" mode (See combat AI, Detection: Alert). However, if it detects another hostile NPC, it will attack them instead of akTarget.

 

You can set myTargetVertibirdDistance to 3000. The assault will start sooner.

Edited by LarannKiar
Link to comment
Share on other sites

You'd like to make a Super Mutant vs. BoS war mod with a Vertibird fight. That requires quest and scripts.

No, I'm making this:

https://www.nexusmods.com/fallout4/mods/42488

The mod is pretty huge, but also empty and... dull (as all my mods :laugh:). So, to eliminate this dullness just a little I want to add something... appealing. Sure, if you're working on some multi-branched quest mod with several choices/outcomes/endings, then you won't get too far without quests and scripts. But if you want something simple... I just thought I'll manage with some triggers, markers and packages.

 

No, there are "jump from vertibird animations".

Sorry then, I played F4 long, long time ago, and I just thought that devs didn't improve this feature since it was not implemented in the previous Fallout games.

 

Place the landing marker on the ground. The location needs to be navmeshed.

This is the actual "drop-off" scene from the mod. Vertibird will land on right, and will "drop-off" BoS soldiers. The real BoS soldiers will be spawned behind the wall (I even placed a ladder here, so the player can possibly notice where they came from). On the picture you can also see that vertibird landing zone is not accessible to the player, thus it's not navmeshed.

 

v.jpg

 

BTW, regarding attacking vertibird...

I wanted to recreate this, where you can see several helicopters attacking ground targets, and vice versa:

https://youtu.be/Vk5UDxCJdik?t=21352

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...