Andyno Posted November 2, 2021 Share Posted November 2, 2021 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 by2. 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 More sharing options...
LarannKiar Posted November 6, 2021 Share Posted November 6, 2021 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 More sharing options...
Andyno Posted November 7, 2021 Author Share Posted November 7, 2021 Thanks for reply. I kinda solved this by adding DefaultEnableDisableTrigger + Enable Marker, and slightly modified VertibirdTravel Package: 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 More sharing options...
LarannKiar Posted November 7, 2021 Share Posted November 7, 2021 (edited) 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 November 7, 2021 by LarannKiar Link to comment Share on other sites More sharing options...
Andyno Posted November 8, 2021 Author Share Posted November 8, 2021 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 CaptiveFactionI 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 More sharing options...
LarannKiar Posted November 8, 2021 Share Posted November 8, 2021 (edited) 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 November 8, 2021 by LarannKiar Link to comment Share on other sites More sharing options...
Andyno Posted November 9, 2021 Author Share Posted November 9, 2021 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/42488The 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. 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 More sharing options...
niston Posted November 9, 2021 Share Posted November 9, 2021 On the picture you can also see that vertibird landing zone is not accessible to the player, thus it's not navmeshed. The player doesn't need navmesh.The Vertibird however does. Link to comment Share on other sites More sharing options...
Recommended Posts