Jump to content

slowing a fall - is it possible?


ZeroCore

Recommended Posts

I have a question that I can't seem to find the answer to by poking around the CK wiki or the forum;

 

is it possible to use a script to slow a character's fall to the point where they appear to be gliding, or at least falling very slowly?

 

I had an idea for what is essentially a hang glider mod, or the magic equivalent of it, where the player falls very slowly, and then either uses a specialized teleport spell, or natural wind currents over mountains and such (as in actual real-world gliding) to glide around Skyrim.

 

I know in Oblivion there was a scripting function that let you reset the player's fall damage, which also nullified their velocity, and if repeated, allowed for a gliding/parachute effect. I was wondering if there's some similar function that can be called in skyrim in order to achieve the same effect.

Link to comment
Share on other sites

There is a script function to slow the fall speed.

Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 0)
Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 1.35) ;<----- This is default value

I borrowed that script from Ceruulean on the Grimoire page. You should note that it won't reapply the slow-falling if the player closes to desktop and restarts while flying. Ceruulean's example was:

While Game.GetPlayer().HasEffect(ThisEffect)
   Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 0.6) ;Just an example, I don't know how slow this would be
EndWhile

You would need to set a property for ThisEffect, pointing to an effect, so when the player has an effect/spell (you'll need to create this) then they'll fall very slowly.

 

I hope that helps. You should refer to the Grimoire page 5 for more info.

Link to comment
Share on other sites

There is a script function to slow the fall speed.

Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 0)
Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 1.35) ;<----- This is default value

I borrowed that script from Ceruulean on the Grimoire page. You should note that it won't reapply the slow-falling if the player closes to desktop and restarts while flying. Ceruulean's example was:

While Game.GetPlayer().HasEffect(ThisEffect)
   Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 0.6) ;Just an example, I don't know how slow this would be
EndWhile

You would need to set a property for ThisEffect, pointing to an effect, so when the player has an effect/spell (you'll need to create this) then they'll fall very slowly.

 

I hope that helps. You should refer to the Grimoire page 5 for more info.

 

 

Much appreciated. ^_^

 

I'm wondering something; can the havok gravity value be set to a negative to enable "upward falling", or would I have to use my original idea of a teleport spell that moves the player a certain distance upward?

Link to comment
Share on other sites

 

There is a script function to slow the fall speed.

Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 0)
Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 1.35) ;<----- This is default value

I borrowed that script from Ceruulean on the Grimoire page. You should note that it won't reapply the slow-falling if the player closes to desktop and restarts while flying. Ceruulean's example was:

While Game.GetPlayer().HasEffect(ThisEffect)
   Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 0.6) ;Just an example, I don't know how slow this would be
EndWhile

You would need to set a property for ThisEffect, pointing to an effect, so when the player has an effect/spell (you'll need to create this) then they'll fall very slowly.

 

I hope that helps. You should refer to the Grimoire page 5 for more info.

 

 

Much appreciated. ^_^

 

I'm wondering something; can the havok gravity value be set to a negative to enable "upward falling", or would I have to use my original idea of a teleport spell that moves the player a certain distance upward?

 

 

Test it out yourself. :thumbsup:

 

I imagine it could, but if it doesn't then you'll want to teleport the player upwards. If you want to give them more of a gliding look, then you might want to try this script.

Link to comment
Share on other sites

 

 

There is a script function to slow the fall speed.

Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 0)
Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 1.35) ;<----- This is default value

I borrowed that script from Ceruulean on the Grimoire page. You should note that it won't reapply the slow-falling if the player closes to desktop and restarts while flying. Ceruulean's example was:

While Game.GetPlayer().HasEffect(ThisEffect)
   Utility.SetIniFloat("fInAirFallingCharGravityMult:Havok", 0.6) ;Just an example, I don't know how slow this would be
EndWhile

You would need to set a property for ThisEffect, pointing to an effect, so when the player has an effect/spell (you'll need to create this) then they'll fall very slowly.

 

I hope that helps. You should refer to the Grimoire page 5 for more info.

 

 

Much appreciated. ^_^

 

I'm wondering something; can the havok gravity value be set to a negative to enable "upward falling", or would I have to use my original idea of a teleport spell that moves the player a certain distance upward?

 

 

Test it out yourself. :thumbsup:

 

I imagine it could, but if it doesn't then you'll want to teleport the player upwards. If you want to give them more of a gliding look, then you might want to try this script.

 

 

That script seems like it'd work best for some sort of grappling hook moreso than anythign else. It'd be interesting to try; fire an arrow with a magic effect and then suddently teleport to where it lands.

Link to comment
Share on other sites

 

 

That script seems like it'd work best for some sort of grappling hook moreso than anythign else. It'd be interesting to try; fire an arrow with a magic effect and then suddently teleport to where it lands.

 

 

Maybe so. I think to do what you would want, you'd need to create a script to attach to the arrow. It would have to track where the arrow is, check when it lands, and then teleport the player to the reference.

 

I'm not entirely sure how to do that, but somebody else might know how.

Link to comment
Share on other sites

 

 

 

That script seems like it'd work best for some sort of grappling hook moreso than anythign else. It'd be interesting to try; fire an arrow with a magic effect and then suddently teleport to where it lands.

 

 

Maybe so. I think to do what you would want, you'd need to create a script to attach to the arrow. It would have to track where the arrow is, check when it lands, and then teleport the player to the reference.

 

I'm not entirely sure how to do that, but somebody else might know how.

 

 

I actually might be able to reverse-engineer some script for that; Auriel's Bow, in Dawnguard, has a sunlight explosion effect whenever its arrows hit ANYTHING, regardless of what it is. I could use a similar thing to make an effect-less explosion, get the coordinates of said explosion, and then call that script in order to have the caster (in this case, the player that fired the arrow) move to said location.

Edited by ZeroCore
Link to comment
Share on other sites

  • Recently Browsing   0 members

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