diff --git a/Enderal - Forgotten Stories.esm b/Enderal - Forgotten Stories.esm index 4d36c289..25b5e142 100644 Binary files a/Enderal - Forgotten Stories.esm and b/Enderal - Forgotten Stories.esm differ diff --git a/Skyrim.esm b/Skyrim.esm index 599b875d..b7922752 100644 Binary files a/Skyrim.esm and b/Skyrim.esm differ diff --git a/scripts/_00e_a0_myradflightcontrolquest.pex b/scripts/_00e_a0_myradflightcontrolquest.pex index c52e8dc0..a60d2660 100644 Binary files a/scripts/_00e_a0_myradflightcontrolquest.pex and b/scripts/_00e_a0_myradflightcontrolquest.pex differ diff --git a/scripts/_00e_myradsystem02.pex b/scripts/_00e_myradsystem02.pex index a4d84d4d..e1351c3d 100644 Binary files a/scripts/_00e_myradsystem02.pex and b/scripts/_00e_myradsystem02.pex differ diff --git a/source/scripts/_00e_a0_myradflightcontrolquest.psc b/source/scripts/_00e_a0_myradflightcontrolquest.psc index bae9cdb0..68e72469 100644 --- a/source/scripts/_00e_a0_myradflightcontrolquest.psc +++ b/source/scripts/_00e_a0_myradflightcontrolquest.psc @@ -2,7 +2,7 @@ Scriptname _00E_A0_MyradFlightControlQuest extends Quest Actor Property player auto hidden Actor Property Myrad auto hidden -Actor Property Camera auto hidden +Actor Property CameraActor auto hidden ReferenceAlias Property EVENTleaveFurniture Auto ReferenceAlias Property EVENTlandingApproach Auto @@ -67,7 +67,7 @@ bool Property LandingApproach Auto hidden bool Property Rollercoaster Auto hidden Event OnINIT() - player = getPlayer() + player = Game.GetForm(0x14) as Actor ENDevent Keyword Property LinklandingApproach Auto @@ -187,6 +187,9 @@ ENDfunction bool isLoading EVENT OnUpdate() + if ! myrad + return + endif if myrad.GetFlyingState() != 0 && myrad.GetFlyingState() != 4 && isLoading == False if getCurrentRealTime() > DELAYrefreshCameraFX CameraFXloop.Play(myrad, 11) @@ -252,13 +255,13 @@ ENDevent Function DismountMyrad() unregisterForUpdate() if CamSpawn == none - Camera = Myrad.placeAtme(game.getForm(0x00032368)) as actor + CameraActor = Myrad.placeAtme(game.getForm(0x00032368)) as actor wait(0.1) - Camera.Setposition(Myrad.getPositionX() +500 * Math.sin(Myrad.getAngleZ()), Myrad.getPositionY() +500 * Math.cos(Myrad.getAngleZ()), Myrad.getPositionZ()) + CameraActor.Setposition(Myrad.getPositionX() +500 * Math.sin(Myrad.getAngleZ()), Myrad.getPositionY() +500 * Math.cos(Myrad.getAngleZ()), Myrad.getPositionZ()) else - Camera = CamSpawn.placeAtme(game.getForm(0x00032368)) as actor + CameraActor = CamSpawn.placeAtme(game.getForm(0x00032368)) as actor wait(0.1) - Camera.setAngle(CamSpawn.getAngleX(), CamSpawn.getAngleY(), CamSpawn.getAngleZ()) + CameraActor.setAngle(CamSpawn.getAngleX(), CamSpawn.getAngleY(), CamSpawn.getAngleZ()) endif if PlayerGoal == none @@ -287,7 +290,7 @@ Function DismountMyrad() Myrad.setAlpha(1) game.DisablePlayerControls(abMovement = true, abFighting = true, abCamSwitch = true, \ abLooking = true, abSneaking = true, abMenu = true, abActivate = true, abJournalTabs = true) - SetCameraTarget(camera) + SetCameraTarget(CameraActor) wait(0.25) if RollerCoaster == true @@ -295,13 +298,13 @@ Function DismountMyrad() Myrad.setLooKAt(player) PreparePlayerToGetKicked() else - if Camera.hasLOS(player) == 0 - Camera.setAngle(Camera.getAngleX(), Camera.getAngleY(), Camera.getHeadingAngle(player) +Camera.getAngleZ()) + if CameraActor.hasLOS(player) == 0 + CameraActor.setAngle(CameraActor.getAngleX(), CameraActor.getAngleY(), CameraActor.getHeadingAngle(player) + CameraActor.getAngleZ()) endif FadeOutGame(false, true, 0, 0.5) IMODpitchBlack.remove() - Camera.translateTo(Camera.getPositionX(), Camera.getPositionY(), Camera.getPositionZ() -(64), 0,0, Camera.getHeadingAngle(player)+Camera.getAngleZ(), 2) + CameraActor.translateTo(CameraActor.getPositionX(), CameraActor.getPositionY(), CameraActor.getPositionZ() -(64), 0,0, CameraActor.getHeadingAngle(player)+CameraActor.getAngleZ(), 2) setplayerAiDriven(true) EVENTplayerWalkAway.forceRefTo(player) @@ -332,8 +335,8 @@ function ThrowOffPlayer() wait (0.15) ThrowOffPlayer() else - if Camera.hasLOS(player) == 0 - Camera.setAngle(Camera.getAngleX(), Camera.getAngleY(), Camera.getHeadingAngle(player) +Camera.getAngleZ()) + if CameraActor.hasLOS(player) == 0 + CameraActor.setAngle(CameraActor.getAngleX(), CameraActor.getAngleY(), CameraActor.getHeadingAngle(player) + CameraActor.getAngleZ()) endif SFXplayerDrop.play(player) FadeOutGame(false, true, 0, 0.5) @@ -343,7 +346,7 @@ function ThrowOffPlayer() player.placeAtme(PuffoffSmoke) player.placeAtme(PuffoffSmoke) wait(0.15) - Camera.translateTo(Camera.getPositionX(), Camera.getPositionY(), Camera.getPositionZ() -(64), 0,0, Camera.getHeadingAngle(player)+Camera.getAngleZ(), 2) + CameraActor.translateTo(CameraActor.getPositionX(), CameraActor.getPositionY(), CameraActor.getPositionZ() -(64), 0,0, CameraActor.getHeadingAngle(player)+CameraActor.getAngleZ(), 2) player.setLooKAt(player) wait(0.25) @@ -467,7 +470,7 @@ state FIN CamSpawn = none PlayerGoal = none - camera.delete() + CameraActor.delete() PlayerLure.delete() endif diff --git a/source/scripts/_00e_myradsystem02.psc b/source/scripts/_00e_myradsystem02.psc index 5c825260..5a0b6d02 100644 --- a/source/scripts/_00e_myradsystem02.psc +++ b/source/scripts/_00e_myradsystem02.psc @@ -139,7 +139,6 @@ Function CallFlightAnimation(Actor akMyrad) Wait(4.0) akMyrad.PlayImpactEffect(FXDragonTakeoffImpactSet, "NPC Tail8", 0, 0, -1, 512, true, false) Wait(8.0) - Return EndFunction @@ -155,7 +154,7 @@ EndFunction Function PortPlayer(ObjectReference Destination) - PlayerRef.RemoveItem(Gold001, Price) + PlayerRef.RemoveItem(Gold001, MyradTripPrice.GetValue() as int) if akCurrentMyrad != None CallFlightAnimation(akCurrentMyrad) @@ -205,7 +204,7 @@ Message Property _00E_MyradFlightPage1 Auto Message Property _00E_MyradFlightPage2 Auto ObjectReference Property PlayerRef Auto MiscObject Property Gold001 Auto -Int Property Price = 25 Auto +GlobalVariable Property MyradTripPrice Auto Idle Property groundMountDragon Auto ImpactDataSet Property FXDragonTakeoffImpactSet Auto