Vades82 Posted October 12, 2016 Share Posted October 12, 2016 (edited) Hello, as the title says, I'm presently trying to get a fast travel script to fire basically mirroring the in game BoS Vertibird grenade. I have created said Item, and added the appropriate items and scripts. Modifying the BoSVertibirdSmoke script to fire using my keywords, and quest. When the Grenade is tossed, it pops and then displays the cannot land VFTdisplay message. From here, I created a quest pretty much identical to the VFT quest, including the scene. Modified every script I could find to use my quest. I eliminated the Quest Alias' for the Globals which determined Vertibird faction and Pilot and used VFTVertibird Ref to create a temp Vertibird at VFTstart and did the same with the VFTPilot. The quest is almost identical to the VFT quest, except for scripts. Which are basically just converts to work with my grenade and quest. The glaring issues I have right now are as follows: 1.The custom grenade script can't get the script to fire 2.In the scene tab, I cannot use Edit Actor Behavior properly, it won't save my changes and defaults on pause, instead of remaining on normal with no categories checked. 3. When Left Clicking on the quest and selecting the Use Report, Mine differs from the VFT, I have 6 items.-MSTT - My Grenade-and 5 packages The VFT original Looks like this-SMBN - AO_DogMeatFinf_Autonomous_Branch-SMQN - BoSVertibirdFastTravelNode-SMQN - AO_Companion_LoiterSearch_Questsetc..default It has it's scene listed in this report, mine does not and our Packages are not the same. I have tried following every thread I can through the kit to mimic the VFT quest and I'm stuck. Any help or suggestions would be greatly appreciated. I'm a new to modding the creation kit. this is my grenade script Scriptname CABAirFieldEnable extends ObjectReference Const Keyword Property MarineVertibirdGrenadeKW Auto Const message Property VFTNoLandingMessage Auto Const message Property VFTInProgressMessage Auto Const message Property VFTDispatchMessage Auto Const Quest Property VFTMarine Auto Const event OnInit() if VFTMarine.IsRunning() == 1 VFTInProgressMessage.Show() elseif VFTMarine.IsRunning() == 0 debug.tracefunction() debug.trace("VFT SMOKE WORKED") float[] safePoint = GetSafePosition() if safePoint ; only show message if quest successfully starts if MarineVertibirdGrenadeKW.SendStoryEventAndWait(akLoc = GetCurrentLocation(), akRef1 = self) VFTDispatchMessage.Show() ;WJS - make sure you get the No Landing message if the quest can't start Else debug.trace("VFT SMOKE FAILED") VFTNoLandingMessage.Show() endif else debug.trace("VFT SMOKE FAILED") VFTNoLandingMessage.Show() endif endif endEvent Frag Script from quest stages ;BEGIN FRAGMENT CODE - Do not edit anything between this and the end comment Scriptname CABmod:CABModFrag Extends Quest Hidden Const ;BEGIN FRAGMENT Fragment_Stage_0000_Item_00 Function Fragment_Stage_0000_Item_00() ;BEGIN CODE SetStage(10) ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0010_Item_00 Function Fragment_Stage_0010_Item_00() ;BEGIN CODE Debug.Trace("GrenadeThrown") Alias_VertibirdVFT.GetActorRef().SetGhost() Alias_PilotVFT.GetActorRef().SetGhost() utility.wait(2) SetStage(20) ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0020_Item_00 Function Fragment_Stage_0020_Item_00() ;BEGIN CODE Alias_PilotVFT.TryToEnable() ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0025_Item_00 Function Fragment_Stage_0025_Item_00() ;BEGIN AUTOCAST TYPE VFTQuestScript Quest __temp = self as Quest VFTQuestScript kmyQuest = __temp as VFTQuestScript ;END AUTOCAST ;BEGIN CODE ; run timer to leave if player doesn't board kmyQuest.StartWaitTimer() SetObjectiveDisplayed(10,1) ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0030_Item_00 Function Fragment_Stage_0030_Item_00() ;BEGIN CODE ;Fire off tutorial stage if we haven't before if !Tutorial.GetStageDone(2300) Tutorial.SetStage(2300) endif SetObjectiveCompleted(10,1) ;unghost on landing Alias_VertibirdVFT.GetActorRef().SetGhost(false) Alias_PilotVFT.GetActorRef().SetGhost(false) ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0040_Item_00 Function Fragment_Stage_0040_Item_00() ;BEGIN CODE ;unghost on landing Alias_VertibirdVFT.GetActorRef().SetGhost() Alias_PilotVFT.GetActorRef().SetGhost() ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0060_Item_00 Function Fragment_Stage_0060_Item_00() ;BEGIN CODE ; block activation of vertibird, and force passengers to dismount actor vertibird = Alias_VertibirdVFT.GetActorRef() vertibird.BlockActivation(true, true) actor player = Game.GetPlayer() if vertibird.IsBeingRiddenBy(player) player.Dismount() endif actor companion = Alias_companionvft.GetActorRef() actor dogmeat = Alias_dogmeatvft.GetActorRef() if companion && vertibird.IsBeingRiddenBy(companion) companion.dismount() endif if dogmeat && vertibird.IsBeingRiddenBy(dogmeat) dogmeat.dismount() endif ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0100_Item_00 Function Fragment_Stage_0100_Item_00() ;BEGIN AUTOCAST TYPE companionvertibirdquestscript Quest __temp = self as Quest companionvertibirdquestscript kmyQuest = __temp as companionvertibirdquestscript ;END AUTOCAST ;BEGIN CODE Alias_VertibirdVFT.GetActorRef().EvaluatePackage() if IsObjectiveCompleted(10) == 0 SetObjectiveDisplayed(10,0) endif kmyQuest.EndSceneGhostCheck() ;Clear from Followers if (Alias_VertibirdVFT.GetActorRef() == Alias_FollowerQuestVBird.GetActorRef()) Alias_FollowerQuestVBird.Clear() endif ; block activation of vertibird, and force passengers to dismount actor vertibird = Alias_VertibirdVFT.GetActorRef() vertibird.BlockActivation(true, true) actor player = Game.GetPlayer() if vertibird.IsBeingRiddenBy(player) player.Dismount() endif actor companion = Alias_companionvft.GetActorRef() actor dogmeat = Alias_dogmeatvft.GetActorRef() if companion && vertibird.IsBeingRiddenBy(companion) companion.dismount() endif if dogmeat && vertibird.IsBeingRiddenBy(dogmeat) dogmeat.dismount() endif Stop() ;END CODE EndFunction ;END FRAGMENT ;END FRAGMENT CODE - Do not edit anything between this and the begin comment ReferenceAlias Property Alias_PilotVFT Auto Const ReferenceAlias Property Alias_VertibirdVFT Auto Const Scene Property VFTMarineScene Auto Const Quest Property Tutorial Auto Const ReferenceAlias Property Alias_CompanionVFT Auto Const ReferenceAlias Property Alias_DogmeatVFT Auto Const ReferenceAlias Property Alias_FollowerQuestVBird Auto Const Edited October 13, 2016 by Vader0311 Link to comment Share on other sites More sharing options...
Vades82 Posted October 14, 2016 Author Share Posted October 14, 2016 (edited) So, I figured out some of my problems and got the quest up and running. -I needed to create a sm event node for the quest. (I didn't know the menu opened up like it did) - It seems that all Alias's needed to be unique and in proper order and properly placed in the fragment script. i.e. VFTVertibird=(CustomName Used as alias) -All Actions in the scene, needed to be unique for that specific quest. My problem now, and it's so far a minor one, The Board Vertibird message that is displayed when the quest fires, is not displayed when the Vertibird lands, but when it is dispatched. This is different than that Standard script, which doesn't display this message until the craft lands and also displays a quest marker if it lands out of view. Also, the Actor Behavior will not properly update to not "Pause" on stages, and will not mirror the standard VFT Actor Behavior, Which is only end on Death. Any thoughts? Also, the Pilot I have created to sit in the Vertibird does not appear, this may be because of how the Actor Templates, but as of now, I have an empty Vertibird Flying me around. Edited October 14, 2016 by Vader0311 Link to comment Share on other sites More sharing options...
shavkacagarikia Posted October 14, 2016 Share Posted October 14, 2016 Have you determined how the game knows which location a player clicked on the pipboy to travel there? Link to comment Share on other sites More sharing options...
Vades82 Posted October 18, 2016 Author Share Posted October 18, 2016 No, I have not, the default script worked in my Test run. Travelling both to and from my custom location. Link to comment Share on other sites More sharing options...
shavkacagarikia Posted October 18, 2016 Share Posted October 18, 2016 I have beed trying to figure that out since July but no success yet... Link to comment Share on other sites More sharing options...
Vades82 Posted October 27, 2016 Author Share Posted October 27, 2016 (edited) Bump, I'm still unable to get my pilot to show up in my vertibird when I use my fast travel Script. Everything appears correct in my frag script Scriptname CABmod:CABModFrag Extends Quest Hidden Const ;BEGIN FRAGMENT Fragment_Stage_0000_Item_00 Function Fragment_Stage_0000_Item_00() ;BEGIN CODE SetStage(10) ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0010_Item_00 Function Fragment_Stage_0010_Item_00() ;BEGIN CODE Debug.Trace("GrenadeThrown") Alias_Marine_VertibirdVFT.GetActorRef().SetGhost() Alias_Marine_PilotVFT.GetActorRef().SetGhost() utility.wait(2) SetStage(20) ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0020_Item_00 Function Fragment_Stage_0020_Item_00() ;BEGIN CODE Alias_Marine_PilotVFT.TryToEnable() ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0025_Item_00 Function Fragment_Stage_0025_Item_00() ;BEGIN AUTOCAST TYPE VFTQuestScript Quest __temp = self as Quest VFTQuestScript kmyQuest = __temp as VFTQuestScript ;END AUTOCAST ;BEGIN CODE ; run timer to leave if player doesn't board kmyQuest.StartWaitTimer() SetObjectiveDisplayed(10,1) ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0030_Item_00 Function Fragment_Stage_0030_Item_00() ;BEGIN CODE ;Fire off tutorial stage if we haven't before if !Tutorial.GetStageDone(2300) Tutorial.SetStage(2300) endif SetObjectiveCompleted(10,1) ;unghost on landing Alias_Marine_VertibirdVFT.GetActorRef().SetGhost(false) Alias_Marine_PilotVFT.GetActorRef().SetGhost(false) ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0040_Item_00 Function Fragment_Stage_0040_Item_00() ;BEGIN CODE ;unghost on landing Alias_Marine_VertibirdVFT.GetActorRef().SetGhost() Alias_Marine_PilotVFT.GetActorRef().SetGhost() ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0060_Item_00 Function Fragment_Stage_0060_Item_00() ;BEGIN CODE ; block activation of vertibird, and force passengers to dismount actor vertibird = Alias_Marine_VertibirdVFT.GetActorRef() vertibird.BlockActivation(true, true) actor player = Game.GetPlayer() if vertibird.IsBeingRiddenBy(player) player.Dismount() endif actor companion = Alias_Marine_companionvft.GetActorRef() actor dogmeat = Alias_Marine_dogmeatvft.GetActorRef() if companion && vertibird.IsBeingRiddenBy(companion) companion.dismount() endif if dogmeat && vertibird.IsBeingRiddenBy(dogmeat) dogmeat.dismount() endif ;END CODE EndFunction ;END FRAGMENT ;BEGIN FRAGMENT Fragment_Stage_0100_Item_00 Function Fragment_Stage_0100_Item_00() ;BEGIN AUTOCAST TYPE companionvertibirdquestscript Quest __temp = self as Quest companionvertibirdquestscript kmyQuest = __temp as companionvertibirdquestscript ;END AUTOCAST ;BEGIN CODE Alias_Marine_VertibirdVFT.GetActorRef().EvaluatePackage() if IsObjectiveCompleted(10) == 0 SetObjectiveDisplayed(10,0) endif kmyQuest.EndSceneGhostCheck() ;Clear from Followers if (Alias_Marine_VertibirdVFT.GetActorRef() == Alias_FollowerQuestVBird.GetActorRef()) Alias_FollowerQuestVBird.Clear() endif ; block activation of vertibird, and force passengers to dismount actor vertibird = Alias_Marine_VertibirdVFT.GetActorRef() vertibird.BlockActivation(true, true) actor player = Game.GetPlayer() if vertibird.IsBeingRiddenBy(player) player.Dismount() endif actor companion = Alias_Marine_companionvft.GetActorRef() actor dogmeat = Alias_Marine_dogmeatvft.GetActorRef() if companion && vertibird.IsBeingRiddenBy(companion) companion.dismount() endif if dogmeat && vertibird.IsBeingRiddenBy(dogmeat) dogmeat.dismount() endif Stop() ;END CODE EndFunction ;END FRAGMENT ReferenceAlias Property Alias_Marine_PilotVFT Auto Const ReferenceAlias Property Alias_Marine_VertibirdVFT Auto Const Scene Property VFTMarineScene Auto Const Quest Property Tutorial Auto Const ReferenceAlias Property Alias_Marine_CompanionVFT Auto Const ReferenceAlias Property Alias_Marine_DogmeatVFT Auto Const ReferenceAlias Property Alias_FollowerQuestVBird Auto Const GlobalVariable Property AirFieldGlobal Auto Const GlobalVariable Property AirFieldPilot Auto Const The Pilots alias is properly created and states its created my pilot at tthe start marker. It is below the vertibird in the alias list Edited October 27, 2016 by Vader0311 Link to comment Share on other sites More sharing options...
Recommended Posts