Jump to content

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


hex_ratt

Recommended Posts

I don't really know anything about modding, but you guys said you were looking for a good landing/takeoff animation. May I suggest the animation that the reunited ghost lovers use in the Book of Love quest when they ascend into the air? To me, it seems like a perfect fit.
Link to comment
Share on other sites

  • Replies 304
  • Created
  • Last Reply

Top Posters In This Topic

Yes I tried that but that animation locks the player controls and doesnt let you move.

 

 

Did you ever try the IsRunning this way?:

 

Create 1 Spell and attach 4 Magic Effects( i.e:WalkForwardEFF,WalkBackwardEFF,WalkRightEFF,WalkLeftEFF)

Every Magic Effect containts fragments of your code for the given Direction, and every Magic Effect has the condition IsRunning == X

(you can add that condition directly on the spell when adding magic effects)

 

So when you add this Spell on a Perk, the linked effect for that Condition will be true everytime you walk in this direction and false if you make a 5th effect that dispells them all.

 

you could even do it without a Perk like this (attached to a quest):

 

Scriptname PseudoFly extends Quest

Import Game

Spell Property FlySpell auto


Event OnInit()
RegisterForUpdate(1)
endevent

Event OnUpdate()
Actor Player = GetPlayer()
Bool hSpell = Player.HasSpell(FlySpell)

if hSpell == FALSE
Player.AddSpell(FlySpell)
; or Player.DoCombatSpellApply(FlySpell, Player)
endif
endevent


 

So only and idea of mine.

Edited by DarkenDe
Link to comment
Share on other sites

Yea I know what you meant, you could even get jump with that method.

Edit: Well I have to say you just showed me a new whole world to mess around, this is going to take time but I belive with this I can do everything I want to do, you can even get globals with this, which means actions or hardcoded states, so the idea is to make a parent script which will handle all the child scripts, the child scripts will have the conditionals and the parent will handle which one runs.

Edited by porroone
Link to comment
Share on other sites

This is what my new script became:

 

Scriptname FlyWalkFW extends activemagiceffect  

import debug
import utility

event OnEffectStart(Actor T, Actor P)
while(TRUE)
float aX = P.GetAngleX()
if aX < 0

Setinifloat("fInAirFallingCharGravityMult:Havok",-50)
endif
if  aX > 0
Setinifloat("fInAirFallingCharGravityMult:Havok",0.20)
endif
endwhile
endevent


Idle Property JumpStandingStart auto

 

The spells runs in a loop yes, which is not good at all, i need to figure a way arround that, because the stuff i want to call only starts when the effect itself starts, no postproccessing like in the OnUpdate() statement, but you could always do it as a quest i think.

 

In my script i still use the angles, which seems a good way doing it, movement direction are a good way aswell, the problem is or mabye is, that it only triggers if you move, when playing fly anims you controlls are locked, so you cant use them.

 

oh and one site question, i asked that in anohter thread already, i need this for my new Fly script: Is there a way to Set Game Setting from a Scripts (SetGS papyrus counterpart) would be nice to have it for some falldamage settings.

 

and here is the Video for what i did:

 

 

Link to comment
Share on other sites

I can see there you use jump to increase z position right ? and the movement direction isnt really an issue, you can use global conditionals, like actions, ActionMoveForward, or strafe or jump, I still need to test it but seeing you already using jump to increase height im pretty sure it will work.

The beauty of actions if I understand it correctly is that they are called with a key, for example ActionMoveForward is called when you press W, which sets a behavior graph that makes you move forward. Thats the problem I found out when trying to play animations on my rideable dragon, whenever I try to play an action on it, the source, in the case on the character being an input key "W" , and the dragon being a hardcoded AI, completly overtakes any movement you want to apply to the creature.

Edited by porroone
Link to comment
Share on other sites

This is a theory I've been battling back and forth on. The question is are player controlled actions derived from AI Package Procedures or are they separate and hardcoded into the engine.

 

If it's the former, then the problem we're having with animations is simply the fact that the procedure (behavior) they are attached to is a "physical" procedure. "physical" and "mental" procedures are noted in the wiki. An Actor may perform one "physical" procedure at a time while performing any number of "mental" procedures. So if we use the JumpFall animation in a loop, the game thinks we're constantly performing the "physical" procedure associated to falling, since that animation is part of a "physical" procedure in that package. Running is an example of what the game considers a "mental" procedure so we're allowed to interrupt it with an attack or a spell.

 

I don't see a way just yet to disassociate animations from their procedures aside from tricking the game by replacing incorrect animations. The easiest approach would be some kind of interrupt to the JumpFall (or whatever) animation to perform an action, which will most likely look choppy at first but work. But I can't think of a way to do that either.

 

I also wanted to ask how do you know the potential values for GetMovementDirection?

Link to comment
Share on other sites

Could this project help with your animation problem? It allows you to add animations to the game:

 

http://skyrim.nexusmods.com/downloads/file.php?id=11811

 

Since I don't really get your problem the following might be total crap:

It seems there is a way to edit the behavior files, I dont know if the locked controls are linked to the behaviors in any way, but if so couldn't you jsut copy the animations modify the behavior files and readd them with this utiliy?

Edited by xyks
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...