I found out how to make Animation Events actually move an Ac

Post » Wed Jun 20, 2012 4:08 am

This is all super exiting stuff. I can't script to save my life, but I've been following progress along these lines for a while. So, I've GOT to ask, would this new discovery finally allow: Jumping higher without walking-on-air glitch, jumping while sprinting, or more control over the player during 'cut scenes?' Also, would this allow different jump heights for different races?

The jumping thing is kicking my ass!

Great work, and someone post a damn video of this stuff in action for us non-scripting sad people :P
User avatar
Rude_Bitch_420
 
Posts: 3429
Joined: Wed Aug 08, 2007 2:26 pm

Post » Wed Jun 20, 2012 1:10 pm

or more control over the player during 'cut scenes?'

This one for sure. That's what I plan to use this new info for. Since you can essentially force the player to do anything, you can control them very well during cutscenes. You could make them walk, run, jump, and I would imagine do any kind of attack animation as well. All of that. :D
User avatar
trisha punch
 
Posts: 3410
Joined: Thu Jul 13, 2006 5:38 am

Post » Wed Jun 20, 2012 11:49 am



I assume you could just use:

Debug.SendAnimationEvent(Reference, "IdleForceDefaultState")
Wouldn't that just reset his animations?
User avatar
Margarita Diaz
 
Posts: 3511
Joined: Sun Aug 12, 2007 2:01 pm

Post » Wed Jun 20, 2012 11:28 am

Wouldn't that just reset his animations?

Well, that is what you want to do, right? If it isn't then I guess you would need to take the exit/stand up animation and make it an Idle with FNI.
User avatar
Sarah Unwin
 
Posts: 3413
Joined: Tue Aug 01, 2006 10:31 pm

Post » Wed Jun 20, 2012 3:47 am



Well, that is what you want to do, right? If it isn't then I guess you would need to take the exit/stand up animation and make it an Idle with FNI.
Yeah, I want an actual stand up animation to be played before I reset their animations, so that's what I was asking. The whole thing kinda sounds like a pain in the butt lol. ><
User avatar
Ashley Tamen
 
Posts: 3477
Joined: Sun Apr 08, 2007 6:17 am

Post » Wed Jun 20, 2012 10:31 am

Yeah, I want an actual stand up animation to be played before I reset their animations, so that's what I was asking. The whole thing kinda sounds like a pain in the butt lol. ><

Hold on, can we clarify which animation you're trying to play? Are you trying to perform the stupid spin-out move the player does if he dies? Or are you trying to do the kneeling animation that essential characters do?
User avatar
Nikki Hype
 
Posts: 3429
Joined: Mon Jan 01, 2007 12:38 pm

Post » Wed Jun 20, 2012 5:07 pm



Hold on, can we clarify which animation you're trying to play? Are you trying to perform the stupid spin-out move the player does if he dies? Or are you trying to do the kneeling animation that essential characters do?
It doesn't have to be the spin out, but something in that area. I'm looking for a legitimate death animation, and I want to follow that animation up with a "standing up/resurrection" type animation. I do not wish to use the bleedout kneel/stand animation.
User avatar
Spooky Angel
 
Posts: 3500
Joined: Thu Aug 10, 2006 5:41 pm

Post » Wed Jun 20, 2012 12:18 pm

I'm completely noob at animations, but what about paralyze? If I recall it correctly, it has a 'death' and stand up animation.
User avatar
carley moss
 
Posts: 3331
Joined: Tue Jun 20, 2006 5:05 pm

Post » Wed Jun 20, 2012 6:40 am

I'm completely noob at animations, but what about paralyze? If I recall it correctly, it has a 'death' and stand up animation.
I've actually been using that as a temp animation trigger up until this point. However, while the paralyze "stand up" animation is exactly what I need, the "fall down" animation looks rather awkward. The player goes completely stiff and lets gravity take him to the ground. Other than that it works fine for what I need it for.

Really, all I want to do is make the player turn ragdoll, fall to the ground, and then trigger the same stand up animation used in the paralyze effect.
User avatar
Andrew Lang
 
Posts: 3489
Joined: Thu Oct 11, 2007 8:50 pm

Post » Wed Jun 20, 2012 1:28 pm

It doesn't have to be the spin out, but something in that area. I'm looking for a legitimate death animation, and I want to follow that animation up with a "standing up/resurrection" type animation. I do not wish to use the bleedout kneel/stand animation.

Ok, I'll do some testing and I'll post back results soon.
User avatar
ashleigh bryden
 
Posts: 3446
Joined: Thu Jun 29, 2006 5:43 am

Post » Wed Jun 20, 2012 12:50 pm

oooohh oooohhh you are taking requests? :hehe:

I need a way to instant stop an attack that looks natural!

I am doing it now by throwing a 0.2 power stagger at them but this looks a little strange as the weapon and shoulder JERK back.
I need one that will stop the attack without that push back effect.

Actors will not obey the CK animations condition's the way the player does. So the player is prevented from doing power attacks (in my mod) at 25% stamina but the actors still attack.
I want to STOP the attack if their stamina is too low.


Ok, I'll do some testing and I'll post back results soon.
User avatar
Yvonne Gruening
 
Posts: 3503
Joined: Mon Apr 23, 2007 7:31 pm

Post » Wed Jun 20, 2012 2:49 pm



Ok, I'll do some testing and I'll post back results soon.
Much appreciated.
User avatar
Wayne W
 
Posts: 3482
Joined: Sun Jun 17, 2007 5:49 am

Post » Wed Jun 20, 2012 2:17 pm

oooohh oooohhh you are taking requests? :hehe:

I need a way to instant stop an attack that looks natural!

I am doing it now by throwing a 0.2 power stagger at them but this looks a little strange as the weapon and shoulder JERK back.
I need one that will stop the attack without that push back effect.

Actors will not obey the CK animations condition's the way the player does. So the player is prevented from doing power attacks (in my mod) at 25% stamina but the actors still attack.
I want to STOP the attack if their stamina is too low.

How do you want to stop actor's attack? in mid swing? or just before actor about to strike?

If you want to stop attack in mid-swing, try to force block-hit/attack-blocked animation on actor, it should do the trick.
User avatar
Alexandra Ryan
 
Posts: 3438
Joined: Mon Jul 31, 2006 9:01 am

Post » Wed Jun 20, 2012 4:59 pm

That was the first thing I tried and unfortunately that did not work, used both DEBUG force and normal playidle.
The NPC just ignores it and keeps swinging.

I even tried using stop idle first but that would corrupt the animation data and they would not longer respond nor swing attacks. They would just move around you with their weapon down and never go back to attacking even if you then try to force them to.

The only thing that seems to work other than stagger spell are the recoil and stagger animations but then that has the same issue of looking like thy were pushed.

How do you want to stop actor's attack? in mid swing? or just before actor about to strike?

If you want to stop attack in mid-swing, try to force block-hit/attack-blocked animation on actor, it should do the trick.
User avatar
Nymph
 
Posts: 3487
Joined: Thu Sep 21, 2006 1:17 pm

Post » Wed Jun 20, 2012 9:59 am

Alright, here are the results. I made a little script that mimics the death sequence. You spin out, and then ragdoll. If this wasn't what you needed, I'll gladly try again.

Scriptname TEST extends activemagiceffect  Event OnEffectStart(Actor akTarget, Actor akCaster)		 Debug.SendAnimationEvent(akTarget, "DeathAnim")Utility.Wait(1.0)		 akTarget.PushActorAway(akTarget, 0)EndEvent

This version was just a spell, but if you need it to work by a condition on an object you could do:

Scriptname TEST extends ObjectReference  Bool Tracker = True ; Used to regulate the anims. See below.Event OnInit()	 RegisterForSingleUpdate(2.0)EndEventEvent OnUpdate()Actor zPlayer = Game.GetPlayer() ; The Player.	 If zPlayer.GetAV("Health") < 10 && Tracker == True ; Initial conditions. Should fire normally.		   Debug.SendAnimationEvent(akTarget, "DeathAnim")		 Utility.Wait(1.0)		   akTarget.PushActorAway(akTarget, 0)		   Tracker = False ;Prevents from receiving multiple placebo deaths.	EndIfIf zPlayer.GetAV("Health") > 10 && Tracker == False ; Sets Tracker to True so that you can do the placebo death anim again.	 Tracker = TrueEndIfRegisterForSingleUpdate(2.0) ; Re-loops the checker.EndEvent
User avatar
Thema
 
Posts: 3461
Joined: Thu Sep 21, 2006 2:36 am

Post » Wed Jun 20, 2012 5:07 pm

Alright, here are the results. I made a little script that mimics the death sequence. You spin out, and then ragdoll. If this wasn't what you needed, I'll gladly try again.

Scriptname TEST extends activemagiceffect  Event OnEffectStart(Actor akTarget, Actor akCaster)		 Debug.SendAnimationEvent(akTarget, "DeathAnim")Utility.Wait(1.0)		 akTarget.PushActorAway(akTarget, 0)EndEvent

This version was just a spell, but if you need it to work by a condition on an object you could do:

Scriptname TEST extends ObjectReference  Event OnInit()	 RegisterForSingleUpdate(2.0)EndEventEvent OnUpdate()Actor zPlayer = Game.GetPlayer() ; The Player.Bool Tracker = True ; Used to regulate the anims. See below.	 If zPlayer.GetAV("Health") < 10 && Tracker == True ; Initial conditions. Should fire normally.		   Debug.SendAnimationEvent(akTarget, "DeathAnim")		 Utility.Wait(1.0)		   akTarget.PushActorAway(akTarget, 0)		   Tracker = False ;Prevents from receiving multiple placebo deaths.	EndIfIf zPlayer.GetAV("Health") > 10 && Tracker == False ; Sets Tracker to True so that you can do the placebo death anim again.	 Tracker = TrueEndIfRegisterForSingleUpdate(2.0) ; Re-loops the checker.EndEvent
Sweet, I'll try it out, thanks.
User avatar
Inol Wakhid
 
Posts: 3403
Joined: Wed Jun 27, 2007 5:47 am

Post » Wed Jun 20, 2012 3:27 am

oooohh oooohhh you are taking requests? :hehe:

I need a way to instant stop an attack that looks natural!

I am doing it now by throwing a 0.2 power stagger at them but this looks a little strange as the weapon and shoulder JERK back.
I need one that will stop the attack without that push back effect.

Actors will not obey the CK animations condition's the way the player does. So the player is prevented from doing power attacks (in my mod) at 25% stamina but the actors still attack.
I want to STOP the attack if their stamina is too low.

This should prevent enemies from attacking with less than 25% stamina. You should attach this to the player.
[EDIT] I can confirm this is working. :goodjob:
Scriptname StopAttack Extends ObjectReferenceEvent OnInit()	 RegisterForSingleUpdate(0.1)EndEventEvent OnUpdate()Actor zEnemy = Game.GetPlayer().GetCombatTarget()	 If zEnemy.GetAVPercentage("Stamina") < 0.25		  Debug.SendAnimationEvent(zEnemy, "AttackStop")	 EndIfRegisterForSingleUpdate(0.1)EndEvent
User avatar
Isaac Saetern
 
Posts: 3432
Joined: Mon Jun 25, 2007 6:46 pm

Post » Wed Jun 20, 2012 4:10 am

Sweet, I'll try it out, thanks.

Whoops! I reused "akTarget" from the spell version. It won't compile! Use this:

Scriptname TestingLoop Extends ActorEvent OnInit()         RegisterForSingleUpdate(2.0)EndEventEvent OnUpdate()Actor zPlayer = Game.GetPlayer() ; The Player.Bool Tracker = True ; Used to regulate the anims. See below.         If zPlayer.GetAV("Health") < 10 && Tracker == True ; Initial conditions. Should fire normally.                   Debug.SendAnimationEvent(zPlayer, "DeathAnim")                 Utility.Wait(1.0)                   zPlayer.PushActorAway(zPlayer, 0)                   Tracker = False ;Prevents from receiving multiple placebo deaths.        EndIfIf zPlayer.GetAV("Health") > 10 && Tracker == False ; Sets Tracker to True so that you can do the placebo death anim again.         Tracker = TrueEndIfRegisterForSingleUpdate(2.0) ; Re-loops the checker.EndEvent
User avatar
Heather Dawson
 
Posts: 3348
Joined: Sun Oct 15, 2006 4:14 pm

Post » Wed Jun 20, 2012 3:09 am



Whoops! I reused "akTarget" from the spell version. It won't compile! Use this:

Scriptname TestingLoop Extends ActorEvent OnInit()         RegisterForSingleUpdate(2.0)EndEventEvent OnUpdate()Actor zPlayer = Game.GetPlayer() ; The Player.Bool Tracker = True ; Used to regulate the anims. See below.         If zPlayer.GetAV("Health") < 10 && Tracker == True ; Initial conditions. Should fire normally.                   Debug.SendAnimationEvent(zPlayer, "DeathAnim")                 Utility.Wait(1.0)                   zPlayer.PushActorAway(zPlayer, 0)                   Tracker = False ;Prevents from receiving multiple placebo deaths.        EndIfIf zPlayer.GetAV("Health") > 10 && Tracker == False ; Sets Tracker to True so that you can do the placebo death anim again.         Tracker = TrueEndIfRegisterForSingleUpdate(2.0) ; Re-loops the checker.EndEvent
No biggy. Honestly I just needed the actual code for triggering the animations--what I'm using it for isn't too complex.

It's working great by the way, so thanks again.
User avatar
marie breen
 
Posts: 3388
Joined: Thu Aug 03, 2006 4:50 am

Post » Wed Jun 20, 2012 4:34 am

No biggy. Honestly I just needed the actual code for triggering the animations--what I'm using it for isn't too complex.

It's working great by the way, so thanks again.

Ahh, great. :clap:
No problem it was actually really fun doing this.

Always,
Moopus
User avatar
Star Dunkels Macmillan
 
Posts: 3421
Joined: Thu Aug 31, 2006 4:00 pm

Post » Wed Jun 20, 2012 2:39 pm

WAIT wait ....WHAT? You can run GetCombatTarget on the PLAYER!!?? That was impossible in Oblivion.

"Actor zEnemy = Game.GetPlayer().GetCombatTarget()"

Really? How can the game know what actor you consider to be your current opponent?

Wow, thank you so VERY much! You are going to be an invaluable RESOURCE as a guru for script animation calls.




This should prevent enemies from attacking with less than 25% stamina. You should attach this to the player.
[EDIT] I can confirm this is working. :goodjob:
Scriptname StopAttack Extends ObjectReferenceEvent OnInit()	 RegisterForSingleUpdate(0.1)EndEventEvent OnUpdate()Actor zEnemy = Game.GetPlayer().GetCombatTarget()	 If zEnemy.GetAVPercentage("Stamina") < 0.25		  Debug.SendAnimationEvent(zEnemy, "AttackStop")	 EndIfRegisterForSingleUpdate(0.1)EndEvent
User avatar
Avril Louise
 
Posts: 3408
Joined: Thu Jun 15, 2006 10:37 pm

Post » Wed Jun 20, 2012 9:31 am

WAIT wait ....WHAT? You can run GetCombatTarget on the PLAYER!!?? That was impossible in Oblivion.

"Actor zEnemy = Game.GetPlayer().GetCombatTarget()"

Really? How can the game know what actor you consider to be your current opponent?

Wow, thank you so VERY much! You are going to be an invaluable RESOURCE as a guru for script animation calls.

I'll always gladly help anyone who needs scripting help. As far as I know, the players combat target is the enemy he is currently looking at.

Always,
Moopus
User avatar
Mariana
 
Posts: 3426
Joined: Mon Jun 12, 2006 9:39 pm

Post » Wed Jun 20, 2012 12:08 pm

Wait (Sorry, really late to the party) so does this mean if I had a scene, and the player's controls were disabled, that I could force the player to walk forward, etc?

Normally you set the player as AI driven and add packages to yourself to do this, I think animation hacking it would be a whole lot of svck.
User avatar
celebrity
 
Posts: 3522
Joined: Mon Jul 02, 2007 12:53 pm

Post » Wed Jun 20, 2012 4:25 pm

Normally you set the player as AI driven and add packages to yourself to do this, I think animation hacking it would be a whole lot of svck.

Well doing a use weapon package doesn't give as much control as using Animation Event's does. For example, you can play Idles to make cut scenes.
User avatar
kitten maciver
 
Posts: 3472
Joined: Fri Jun 30, 2006 2:36 pm

Post » Wed Jun 20, 2012 4:00 am

no, that would have been awesome but no you get no return for this if called on the player.

Anyway the attackstop works well enough, thanks.

the players combat target is the enemy he is currently looking at.

Always,
Moopus
User avatar
ashleigh bryden
 
Posts: 3446
Joined: Thu Jun 29, 2006 5:43 am

PreviousNext

Return to V - Skyrim