Jump to content

Proof that a player can fly in Skyrim well may be more like swimming


hex_ratt

Recommended Posts

edit - need a way to get angle x while mounted.

 

Yea I figured that much like 5 days ago, thats why I made a flying ring instead, you cant get the x-plane while mounted, if you do find a way I promise ill make a religion out of your person.

 

Well, when the player is riding the horse, the direction of where the game camera is facing determines the direction of the horse. Here is a video to inspire you guys on with the dragon mount. Bethesda may have a flying dragon mount but we have a flying horse mount.

 

 

Those videos prove my point exaclty, he only gets the horse to change direction on the Z-Plane. And about script dragon I thought of that, but how are you planning on implementing it with papyrus ? Because from my point of view you either make your mod with scriptdragon or make it with papyrus.

Edited by porroone
Link to comment
Share on other sites

  • Replies 304
  • Created
  • Last Reply

Top Posters In This Topic

One thing that bugs me with translateto is that its working like tcl, its not moving any collision data with you, only by enabling or disabling you or the object the 3D data gets updated and the collision positioned at the right place, so when using translateto to move arround the world i figured that i move through every object in my path.

Yes, it almost completly ignore collisions, I dont even think we are supposed to use that function anyways, If you take a look at the bottom of the Actor script there are some interesting functions, with a commented message on top the which says:

; **** For Debugging Movement Animations (not in release builds) ****

And we can see this functions..

Function ForceMovementDirection(float afXAngle = 0.0, float afYAngle = 0.0, float afZAngle = 0.0) native
Function ForceMovementSpeed(float afSpeedMult) native
Function ForceMovementRotationSpeed(float afXMult = 0.0, float afYMult = 0.0, float afZMult = 0.0) native
Function ForceMovementDirectionRamp(float afXAngle = 0.0, float afYAngle = 0.0, float afZAngle = 0.0, float afRampTime = 0.1) native
Function ForceMovementSpeedRamp(float afSpeedMult, float afRampTime = 0.1) native
Function ForceMovementRotationSpeedRamp(float afXMult = 0.0, float afYMult = 0.0, float afZMult = 0.0, float afRampTime = 0.1) native
Function ForceTargetDirection(float afXAngle = 0.0, float afYAngle = 0.0, float afZAngle = 0.0) native
Function ForceTargetSpeed(float afSpeed) native
Function ForceTargetAngle(float afXAngle = 0.0, float afYAngle = 0.0, float afZAngle = 0.0) native
Function ClearForcedMovement() native

Wouldnt it be nice if they included those ones in the official release?

Edit: Also an update on the key press thing, you can actually define a variable as "Action property ActionJump auto", then go to properties and get the ActionJump action, which basically is triggered every time you jump or you either try to jump, im not sure what conditional function to use tho, ill keep trying see if I come with something.

Edited by porroone
Link to comment
Share on other sites

Well you could have Papyrus set up a dummy effect that SD/SKSE will detect. When that's enabled the 3rd party plugin will modify player movement values (via keypresses by the player) directly through the Skyrim engine that Papyrus will be able to pick up and handle from there. Or so in theory.
Link to comment
Share on other sites

Porroone, I'm trying to modify your script to cut out moving forwards and backwards (I only want to go side to side and up and down.) I'm fairly confident I have everything else fit to work with my standards, but could you tell me which part of this handles moving forwards and backwards?

 

                if bearing < 90 
                       posx += (bearing)*speed
                       posy += (90 - bearing)*speed
               elseif bearing > 90 && bearing < 180
                       posx +=(180 - bearing)*speed
                       posy +=(90 - bearing)*speed

               elseif bearing > 180 && bearing < 270
                       posx += (180 - bearing)*speed
                       posy += (bearing - 270)*speed
                       
               elseif bearing > 270
                       posx += (bearing - 360)*speed
                       posy += (bearing - 270)*speed
                       
               endif

Link to comment
Share on other sites

Well, my attempt at modifying the flying code to work for climbing failed miserably - couldn't figure out how to switch the script to work continuously whilst in a trigger. I figured had I managed to get that to happen, I could clunk around and eventually get it to push you up and down, instead of where you looked.

 

I'll keep watching and studying more code, but for now I'm a tad discouraged. xD

Link to comment
Share on other sites

I just noticed that papyrus does not throw out errors when using wrong event names.

So my previous find out was all wrong, these are the normal hardcoded events i filtered.

 

Well that makes sense... That means that Momentum wasn't having a special algorithm and instead was simply using the skyrim engine's events.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...