Registering for a specific wolf animation

Post » Sat Nov 17, 2012 7:35 pm

Spoiler
	RegisterForAnimationEvent(selfRef,"AggroWarning1")	RegisterForAnimationEvent(selfRef,"AggroWarning2")	RegisterForAnimationEvent(selfRef,"Attack1")	RegisterForAnimationEvent(selfRef,"Attack2")	RegisterForAnimationEvent(selfRef,"AttackPowerForward")	RegisterForAnimationEvent(selfRef,"AttackPowerForward_Large")	RegisterForAnimationEvent(selfRef,"AttackPowerForward_Short")	RegisterForAnimationEvent(selfRef,"AttackPowerStanding");	RegisterForAnimationEvent(selfRef,"")	RegisterForAnimationEvent(selfRef,"attackStart_Attack1")	RegisterForAnimationEvent(selfRef,"attackStart_Attack2")	RegisterForAnimationEvent(selfRef,"attackStart_AttackLeft1")	RegisterForAnimationEvent(selfRef,"attackStart_AttackLeft2")	RegisterForAnimationEvent(selfRef,"attackStart_AttackRight1")	RegisterForAnimationEvent(selfRef,"attackStart_AttackRight2")	RegisterForAnimationEvent(selfRef,"attackStart_ForwardShort")	RegisterForAnimationEvent(selfRef,"attackStart_SkeeverLungeLong")	RegisterForAnimationEvent(selfRef,"attackStart_SkeeverLungeMedium")	RegisterForAnimationEvent(selfRef,"attackStart_SkeeverLungeShort")	RegisterForAnimationEvent(selfRef,"attackStart_StandingPower")	RegisterForAnimationEvent(selfRef,"attackStart")	RegisterForAnimationEvent(selfRef,"bashStart")	RegisterForAnimationEvent(selfRef,"attackStartLeftHand")	RegisterForAnimationEvent(selfRef,"attackStartLeftHand")	RegisterForAnimationEvent(selfRef,"jumpStandingStart")	RegisterForAnimationEvent(selfRef,"jumpDirectionalStart")	RegisterForAnimationEvent(selfRef,"aggroWarningStart")	RegisterForAnimationEvent(selfRef,"ActionIdleWarn")	RegisterForAnimationEvent(selfRef,"WolfIdleWarn")	RegisterForAnimationEvent(selfRef,"Ragdoll")	RegisterForAnimationEvent(selfRef,"RagdollInstant")	RegisterForAnimationEvent(selfRef,"staggerStart")	RegisterForAnimationEvent(selfRef,"recoilStart")	RegisterForAnimationEvent(selfRef,"recoilLargeStart")	RegisterForAnimationEvent(selfRef,"GetupBegin")	RegisterForAnimationEvent(selfRef,"moveForward")	RegisterForAnimationEvent(selfRef,"moveStart")	RegisterForAnimationEvent(selfRef,"moveStop")	RegisterForAnimationEvent(selfRef,"turnStop")	RegisterForAnimationEvent(selfRef,"combatStanceStart")	RegisterForAnimationEvent(selfRef,"DeathAnimation")	RegisterForAnimationEvent(selfRef, "JumpFall")	RegisterForAnimationEvent(selfRef, "JumpFallDirectional")	RegisterForAnimationEvent(selfRef, "JumpLandDirectional")	RegisterForAnimationEvent(selfRef, "JumpLandEnd")	RegisterForAnimationEvent(selfRef, "JumpUp")	RegisterForAnimationEvent(akTarget, "ArrowAttach")	RegisterForAnimationEvent(akTarget, "ArrowDetach")	RegisterForAnimationEvent(akTarget, "ArrowRelease")	RegisterForAnimationEvent(akTarget, "AttackPower2HMForwardSprint")	RegisterForAnimationEvent(akTarget, "AttackPower2HWForwardSprint")	RegisterForAnimationEvent(akTarget, "AttackPowerDirectionalStart")   RegisterForAnimationEvent(akTarget, "AttackPowerStart_2HMSprint")	RegisterForAnimationEvent(akTarget, "AttackPowerStart_2HWSprint")	RegisterForAnimationEvent(akTarget, "AttackPowerStart_Sprint")	RegisterForAnimationEvent(akTarget, "AttackPowerStart_SprintLeftHand")	RegisterForAnimationEvent(akTarget, "AttackPowerStartBackLeftHand")	RegisterForAnimationEvent(akTarget, "AttackPowerStartBackward")	RegisterForAnimationEvent(akTarget, "AttackPowerStartDualWield")	RegisterForAnimationEvent(akTarget, "AttackPowerStartForward")	RegisterForAnimationEvent(akTarget, "AttackPowerStartForwardH2HLeftHand")	RegisterForAnimationEvent(akTarget, "AttackPowerStartForwardH2HRightHand")	RegisterForAnimationEvent(akTarget, "AttackPowerStartForwardLeftHand")	RegisterForAnimationEvent(akTarget, "AttackPowerStartH2HCombo")	RegisterForAnimationEvent(akTarget, "AttackPowerStartInPlace")	RegisterForAnimationEvent(akTarget, "AttackPowerStartInPlaceLeftHand")	RegisterForAnimationEvent(akTarget, "AttackPowerStartLeft")	RegisterForAnimationEvent(akTarget, "AttackPowerStartLeftHand")	RegisterForAnimationEvent(akTarget, "AttackPowerStartLeftLeftHand")	RegisterForAnimationEvent(akTarget, "AttackPowerStartRight")	RegisterForAnimationEvent(akTarget, "AttackPowerStartRightLeftHand")	RegisterForAnimationEvent(akTarget, "AttackRelease")	RegisterForAnimationEvent(akTarget, "AttackStart")	RegisterForAnimationEvent(akTarget, "AttackStart_Attack1")	RegisterForAnimationEvent(akTarget, "AttackStart_Attack2")	RegisterForAnimationEvent(akTarget, "AttackStartDualWield")	RegisterForAnimationEvent(akTarget, "AttackStartH2HLeft")	RegisterForAnimationEvent(akTarget, "AttackStartH2HRight")	RegisterForAnimationEvent(akTarget, "AttackStartLeftHand")	RegisterForAnimationEvent(akTarget, "AttackStartSprint")	RegisterForAnimationEvent(akTarget, "AttackStartSprintLeftHand")	RegisterForAnimationEvent(akTarget, "AttackState to RecoilState")	RegisterForAnimationEvent(akTarget, "AttackStop")	RegisterForAnimationEvent(akTarget, "AttackWinEnd")	RegisterForAnimationEvent(akTarget, "AttackWinEndLeft")	RegisterForAnimationEvent(akTarget, "AttackWinMid")	RegisterForAnimationEvent(akTarget, "AttackWinStart")	RegisterForAnimationEvent(akTarget, "AttackWinStartLeft")	RegisterForAnimationEvent(akTarget, "BashExit")	RegisterForAnimationEvent(akTarget, "BashFail")	RegisterForAnimationEvent(akTarget, "BashPowerStart")	RegisterForAnimationEvent(akTarget, "BashRelease")	RegisterForAnimationEvent(akTarget, "BashStart")	RegisterForAnimationEvent(akTarget, "BashStop")	RegisterForAnimationEvent(akTarget, "BeginCast")	RegisterForAnimationEvent(akTarget, "BeginCastLeft")	RegisterForAnimationEvent(akTarget, "BeginCastRight")	RegisterForAnimationEvent(akTarget, "BeginCastVoice")	RegisterForAnimationEvent(akTarget, "BeginWeaponDraw")	RegisterForAnimationEvent(akTarget, "BeginWeaponSheathe")	RegisterForAnimationEvent(akTarget, "BlockAnticipateStart")	RegisterForAnimationEvent(akTarget, "BlockAnticipateStop")	RegisterForAnimationEvent(akTarget, "BlockBashSprint")	RegisterForAnimationEvent(akTarget, "BlockHitStart")	RegisterForAnimationEvent(akTarget, "BlockHitStop")	RegisterForAnimationEvent(akTarget, "BlockStart")	RegisterForAnimationEvent(akTarget, "BlockStartOut")	RegisterForAnimationEvent(akTarget, "BlockStop")	RegisterForAnimationEvent(akTarget, "BlockStopOut")	RegisterForAnimationEvent(akTarget, "Bow_Equip")	RegisterForAnimationEvent(akTarget, "Bow_EquipOut")	RegisterForAnimationEvent(akTarget, "Bow_UnEquip")	RegisterForAnimationEvent(akTarget, "BowAttackStart")	RegisterForAnimationEvent(akTarget, "BowDraw")	RegisterForAnimationEvent(akTarget, "BowDrawn")	RegisterForAnimationEvent(akTarget, "BowDrawStart")	RegisterForAnimationEvent(akTarget, "BowEnd")	RegisterForAnimationEvent(akTarget, "BowRelease")	RegisterForAnimationEvent(akTarget, "BowReset")	RegisterForAnimationEvent(akTarget, "BowZoomStart")	RegisterForAnimationEvent(akTarget, "BowZoomStop")	RegisterForAnimationEvent(akTarget, "BrakeStart")	RegisterForAnimationEvent(akTarget, "BrakeStop")	RegisterForAnimationEvent(akTarget, "CameraTurnLeft")	RegisterForAnimationEvent(akTarget, "CameraTurnRight")	RegisterForAnimationEvent(akTarget, "CamHit")	RegisterForAnimationEvent(akTarget, "CannedTurnLeft180")	RegisterForAnimationEvent(akTarget, "CannedTurnLeft90")	RegisterForAnimationEvent(akTarget, "CannedTurnRight180")	RegisterForAnimationEvent(akTarget, "CannedTurnRight90")	RegisterForAnimationEvent(akTarget, "CannedTurnStart")	RegisterForAnimationEvent(akTarget, "CannedTurnStop")	RegisterForAnimationEvent(akTarget, "CannedTurnStrafeLeft90")	RegisterForAnimationEvent(akTarget, "CannedTurnStrafeRight90")	RegisterForAnimationEvent(akTarget, "CastOKStart")	RegisterForAnimationEvent(akTarget, "CastOKStop")	RegisterForAnimationEvent(akTarget, "CastStop")	RegisterForAnimationEvent(akTarget, "CombatStanceStart")	RegisterForAnimationEvent(akTarget, "CombatStanceStop")	RegisterForAnimationEvent(akTarget, "DismountEnd")	RegisterForAnimationEvent(akTarget, "FallBegin")	RegisterForAnimationEvent(akTarget, "FallStart")	RegisterForAnimationEvent(akTarget, "ForwardFallFromJump")	RegisterForAnimationEvent(akTarget, "ForwardFallStart")	RegisterForAnimationEvent(akTarget, "ForwardJumpStart")	RegisterForAnimationEvent(akTarget, "ForwardLandEnd")	RegisterForAnimationEvent(akTarget, "HeadStart")	RegisterForAnimationEvent(akTarget, "HeadTrackingOff")	RegisterForAnimationEvent(akTarget, "HeadTrackingOn")	RegisterForAnimationEvent(akTarget, "HorseDismount")	RegisterForAnimationEvent(akTarget, "HorseEnter")	RegisterForAnimationEvent(akTarget, "HorseEnterInstant")	RegisterForAnimationEvent(akTarget, "HorseEnterOut")	RegisterForAnimationEvent(akTarget, "HorseEnterSwim")	RegisterForAnimationEvent(akTarget, "HorseExit")	RegisterForAnimationEvent(akTarget, "HorseExitOut")	RegisterForAnimationEvent(akTarget, "HorseExitSwim")	RegisterForAnimationEvent(akTarget, "HorseIdle")	RegisterForAnimationEvent(akTarget, "HorseLocomotion")	RegisterForAnimationEvent(akTarget, "HorseSprint")	RegisterForAnimationEvent(akTarget, "Idle")	RegisterForAnimationEvent(akTarget, "IdleExit")	RegisterForAnimationEvent(akTarget, "IdlePlayer")	RegisterForAnimationEvent(akTarget, "IdleStop")	RegisterForAnimationEvent(akTarget, "IdleWalkingCameraEnd")	RegisterForAnimationEvent(akTarget, "IdleWalkingCameraStart")	RegisterForAnimationEvent(akTarget, "InterruptCast")	RegisterForAnimationEvent(akTarget, "JumpBegin")	RegisterForAnimationEvent(akTarget, "JumpDirectionalStart")	RegisterForAnimationEvent(akTarget, "JumpDown")	RegisterForAnimationEvent(akTarget, "JumpFall")	RegisterForAnimationEvent(akTarget, "JumpFallBegin")	RegisterForAnimationEvent(akTarget, "JumpFallDirectional")	RegisterForAnimationEvent(akTarget, "JumpFastEnd")	RegisterForAnimationEvent(akTarget, "JumpFastLeft")	RegisterForAnimationEvent(akTarget, "JumpFastRight")	RegisterForAnimationEvent(akTarget, "JumpForwardEnd")	RegisterForAnimationEvent(akTarget, "JumpForwardStart")	RegisterForAnimationEvent(akTarget, "JumpLand")	RegisterForAnimationEvent(akTarget, "JumpLandDirectional")	RegisterForAnimationEvent(akTarget, "JumpLandEnd")	RegisterForAnimationEvent(akTarget, "JumpLandFailSafe")	RegisterForAnimationEvent(akTarget, "JumpLandFast")	RegisterForAnimationEvent(akTarget, "JumpLandSoft")	RegisterForAnimationEvent(akTarget, "JumpSoftEnd")	RegisterForAnimationEvent(akTarget, "JumpStandingStart")	RegisterForAnimationEvent(akTarget, "JumpUp")	RegisterForAnimationEvent(akTarget, "KillingBlow")	RegisterForAnimationEvent(akTarget, "KillMove")	RegisterForAnimationEvent(akTarget, "KillMove_Ground_Bite_Grapple")	RegisterForAnimationEvent(akTarget, "KillMove1HMBackStab")	RegisterForAnimationEvent(akTarget, "KillMove1HMDecap")	RegisterForAnimationEvent(akTarget, "KillMove1HMDecapBleedOut")	RegisterForAnimationEvent(akTarget, "KillMove1HMDecapKnife")	RegisterForAnimationEvent(akTarget, "KillMove2HMDecap")	RegisterForAnimationEvent(akTarget, "KillMove2HMDecapBleedOut")	RegisterForAnimationEvent(akTarget, "KillMove2HMStabA")	RegisterForAnimationEvent(akTarget, "KillMove2HWA")	RegisterForAnimationEvent(akTarget, "KillMove2HWB")	RegisterForAnimationEvent(akTarget, "KillMove2HWDecapBleedOut")	RegisterForAnimationEvent(akTarget, "KillMoveB")	RegisterForAnimationEvent(akTarget, "KillMoveC")	RegisterForAnimationEvent(akTarget, "KillMoveD")	RegisterForAnimationEvent(akTarget, "KillMoveDualWieldA")	RegisterForAnimationEvent(akTarget, "KillMoveDWDecap")	RegisterForAnimationEvent(akTarget, "KillMoveE")	RegisterForAnimationEvent(akTarget, "KillMoveEnd")	RegisterForAnimationEvent(akTarget, "KillMoveF")	RegisterForAnimationEvent(akTarget, "KillMoveG")	RegisterForAnimationEvent(akTarget, "KillMoveH")	RegisterForAnimationEvent(akTarget, "KillMoveH2HComboA")	RegisterForAnimationEvent(akTarget, "KillMoveH2HSlamA")	RegisterForAnimationEvent(akTarget, "KillMoveI")	RegisterForAnimationEvent(akTarget, "KillMoveJ")	RegisterForAnimationEvent(akTarget, "KillMoveK")	RegisterForAnimationEvent(akTarget, "KillMoveL")	RegisterForAnimationEvent(akTarget, "KillMoveM")	RegisterForAnimationEvent(akTarget, "KillMoveSabreCat")	RegisterForAnimationEvent(akTarget, "KillMoveShortA")	RegisterForAnimationEvent(akTarget, "KillMoveShortB")	RegisterForAnimationEvent(akTarget, "KillMoveShortC")	RegisterForAnimationEvent(akTarget, "KillMoveShortD")	RegisterForAnimationEvent(akTarget, "KillMoveSneakBackA")	RegisterForAnimationEvent(akTarget, "KillMoveStart")	RegisterForAnimationEvent(akTarget, "LandEnd")	RegisterForAnimationEvent(akTarget, "LandForwardStart")	RegisterForAnimationEvent(akTarget, "LandStart")	RegisterForAnimationEvent(akTarget, "LeftDirectionStart")	RegisterForAnimationEvent(akTarget, "Magic_Shield_Equip")	RegisterForAnimationEvent(akTarget, "Magic_Solo_Equip")	RegisterForAnimationEvent(akTarget, "MountedStaggerStart")	RegisterForAnimationEvent(akTarget, "MountedSwimStart")	RegisterForAnimationEvent(akTarget, "MountedSwimStop")	RegisterForAnimationEvent(akTarget, "MountEnd")	RegisterForAnimationEvent(akTarget, "MoveBackward")	RegisterForAnimationEvent(akTarget, "MoveDefault")	RegisterForAnimationEvent(akTarget, "MoveForward")	RegisterForAnimationEvent(akTarget, "MoveSlow")	RegisterForAnimationEvent(akTarget, "MoveStart")	RegisterForAnimationEvent(akTarget, "MoveStartAlt")	RegisterForAnimationEvent(akTarget, "MoveStartAltOut")	RegisterForAnimationEvent(akTarget, "MoveStop")	RegisterForAnimationEvent(akTarget, "ShoutRelease")	RegisterForAnimationEvent(akTarget, "ShoutStart")	RegisterForAnimationEvent(akTarget, "ShoutStop")	RegisterForAnimationEvent(akTarget, "SneakStart")	RegisterForAnimationEvent(akTarget, "SneakStop")	RegisterForAnimationEvent(akTarget, "SprintStart")	RegisterForAnimationEvent(akTarget, "SprintStop")	RegisterForAnimationEvent(akTarget, "StopHorseCamera")	RegisterForAnimationEvent(akTarget, "StrafeBackLeft")	RegisterForAnimationEvent(akTarget, "StrafeBackRight")	RegisterForAnimationEvent(akTarget, "StrafeOut")	RegisterForAnimationEvent(akTarget, "StrafeReturn")	RegisterForAnimationEvent(akTarget, "StrafeReverseLeft")	RegisterForAnimationEvent(akTarget, "StrafeReverseRight")	RegisterForAnimationEvent(akTarget, "StrafeStartLeft")	RegisterForAnimationEvent(akTarget, "StrafeStartRight")	RegisterForAnimationEvent(akTarget, "StrafeStartRunLeft")	RegisterForAnimationEvent(akTarget, "StrafeStartRunRight")	RegisterForAnimationEvent(akTarget, "StrafeStartTrotLeft")	RegisterForAnimationEvent(akTarget, "StrafeStartTrotRight")	RegisterForAnimationEvent(akTarget, "StrafeStartWalkLeft")	RegisterForAnimationEvent(akTarget, "StrafeStartWalkRight")	RegisterForAnimationEvent(akTarget, "StrafeStopLeft")	RegisterForAnimationEvent(akTarget, "StrafeStopRight")	RegisterForAnimationEvent(akTarget, "StrafeStopRunLeft")	RegisterForAnimationEvent(akTarget, "StrafeStopRunRight")	RegisterForAnimationEvent(akTarget, "StrafeWalkLeft")	RegisterForAnimationEvent(akTarget, "SwimStart")	RegisterForAnimationEvent(akTarget, "SwimStop")	RegisterForAnimationEvent(akTarget, "TorchEquip")	RegisterForAnimationEvent(akTarget, "TorchUnequip")	RegisterForAnimationEvent(akTarget, "TurnLeft")	RegisterForAnimationEvent(akTarget, "TurnRight")	RegisterForAnimationEvent(akTarget, "TurnStart")	RegisterForAnimationEvent(akTarget, "TurnStop")	RegisterForAnimationEvent(akTarget, "WeapEquip")	RegisterForAnimationEvent(akTarget, "WeaponDraw")	RegisterForAnimationEvent(akTarget, "WeaponLeftSwing")	RegisterForAnimationEvent(akTarget, "WeaponSheathe")	RegisterForAnimationEvent(akTarget, "WeaponSwing")

That's a list of animations I'm registering a wolf model for in an ActiveMagicEffect script. They are taken from the list of Game Animations (both 0_Master and CanineWolf), the WolfRace's Havok list, and other threads in this forum.

Out of all of them, the only ones that ever fire are weaponSwing, attackStop and, every once in a while, Ragdoll (if I do a PushActorAway on the wolf, the event fires maybe 1 time in 10).

From my reading of other threads in here, it seems pretty obvious that the whole RegisterForAnimationEvent/onAnimationEvent structure is extremely buggy, but I'm hoping someone else has worked with wolf animations and can help.

I really, really, really need to know when the wolf is performing the attack that makes it run and leap at the target.

Anyone?
User avatar
Vickytoria Vasquez
 
Posts: 3456
Joined: Thu Aug 31, 2006 7:06 pm

Post » Sun Nov 18, 2012 1:31 am

Since you've been reading other threads, not sure if you have come across my comments on using the Animation variables, but those have worked for me. (I use them as a backup when I can't find an event animation that fires.) Not sure on the details of each of the variables, but for the ones I've used, they've been very reliable. The problem is, they require polling, so they aren't as effecient as events.

So I guess how bad do you really really need them? :wink:

http://www.creationkit.com/List_of_Animation_Variables

I see several "attack" variables, specifically this one: iState_NPCPowerAttacking

Maybe it will help.
User avatar
Myles
 
Posts: 3341
Joined: Sun Oct 21, 2007 12:52 pm

Post » Sat Nov 17, 2012 1:23 pm

The weaponSwing should work fine for wolf. It worked for me. However this may be too late to allow you to react. Perhaps you should combine this with detection of distance between the two actors? In my 6th sense lesser power I register for several animations and check whether the distance between attacker and player is less than say 350. This way I trigger slow motion before the player is hit, so he/she can dodge the attack. I hope this helps.
User avatar
Josh Lozier
 
Posts: 3490
Joined: Tue Nov 27, 2007 5:20 pm

Post » Sat Nov 17, 2012 1:39 pm

Basically I want to know when the wolf is doing the leaping attack so I can quickly add some spell effects to it and do unexpected things. This is going to be a unique boss-style monster, so it doesn't have to work -well-, it just has to work.

Sollar: I had in fact run across polling for animations, and I may give that a try. My only concern is that the wolf's leap animation is so fast, if the poll is delayed (as we know happens so often with Papyrus) the script I want to fire will just be confusing, rather than awesome. I really need something to fire on the event the moment it starts, the timing is very important.

gulogulo: That's an interesting approach. Assuming the weaponswing event actually fires at the beginning of the run/jump animation... Yes, that might work. I'll give it a try.

Thanks to both of you, I'll post back with how I end up resolving this. I sure wish the Animation events worked as documented, though!
User avatar
Ownie Zuliana
 
Posts: 3375
Joined: Thu Jun 15, 2006 4:31 am

Post » Sun Nov 18, 2012 1:05 am

I sure wish the Animation events worked as documented, though!

Documented?? Where??

As far as the responsiveness, I would suggest an event if you can get one... but if that fails to deliver (hopefully it doesn't), the polling will probably be better than you think. I'm using both an animation event and the polling approach in my mod to react to the two different player combat methods and it looks the same to the end user. Again, polling is not my preferred choice but the results definitely work.
User avatar
kennedy
 
Posts: 3299
Joined: Mon Oct 16, 2006 1:53 am

Post » Sat Nov 17, 2012 5:44 pm

Documented?? Where??

LOL. You know, on the wiki, where it implies that when you register for an animation event, you get an animation event :P
User avatar
Nany Smith
 
Posts: 3419
Joined: Sat Mar 17, 2007 5:36 pm

Post » Sat Nov 17, 2012 3:09 pm

Sadly, most of the Animation variables result in an error message like this:
[08/02/2012 - 11:42:10PM] error: (FF000D71): cannot fetch variable named iState_NPCSprinting of type int, returning 0.

bJumpState, BlendJump, iState_NPCSprinting, and most of the others I really need all return this error :( IsStaggering, IsAttacking, and staggerMagnitude work, though. That's just going to have to be enough!
User avatar
Kaley X
 
Posts: 3372
Joined: Wed Jul 05, 2006 5:46 pm

Post » Sat Nov 17, 2012 6:35 pm

Sadly, most of the Animation variables result in an error message like this:
[08/02/2012 - 11:42:10PM] error: (FF000D71): cannot fetch variable named iState_NPCSprinting of type int, returning 0.

bJumpState, BlendJump, iState_NPCSprinting, and most of the others I really need all return this error :( IsStaggering, IsAttacking, and staggerMagnitude work, though. That's just going to have to be enough!

Are you using the corresponding functions?

http://www.creationkit.com/GetAnimationVariableBool_-_ObjectReference("bJumpState")
Maybe http://www.creationkit.com/GetAnimationVariableFloat_-_ObjectReference("iState_NPCSprinting") (Just guessing, given the errormessage.)
User avatar
Eoh
 
Posts: 3378
Joined: Sun Mar 18, 2007 6:03 pm

Post » Sat Nov 17, 2012 3:27 pm

First thing I tried, on the assumption that someone at gamesas got lazy and changed the type without changing the variable name... no dice. I'm guessing that those variables just don't exist for the Wolf model.

I did find a really Rube-Goldbergish workaround, though. I have the wolf fire a slow-moving projectile forward from an activator in its head on the weaponswing event. IF the wolf's attack was the leaping attack... it intersects with its own projectile, registering an OnHit event from "none". Bingo! I now know when the wolf is performing a leaping attack! It's reliable and fast enough for me to fire the airburst attack in mid-leap, just like I had in mind.

Strange the stuff you have to do sometimes to accomplish what you want...
User avatar
Tarka
 
Posts: 3430
Joined: Sun Jun 10, 2007 9:22 pm

Post » Sun Nov 18, 2012 12:40 am

First thing I tried, on the assumption that someone at gamesas got lazy and changed the type without changing the variable name... no dice. I'm guessing that those variables just don't exist for the Wolf model. I did find a really Rube-Goldbergish workaround, though. I have the wolf fire a slow-moving projectile forward from an activator in its head on the weaponswing event. IF the wolf's attack was the leaping attack... it intersects with its own projectile, registering an OnHit event from "none". Bingo! I now know when the wolf is performing a leaping attack! It's reliable and fast enough for me to fire the airburst attack in mid-leap, just like I had in mind. Strange the stuff you have to do sometimes to accomplish what you want...

And I thought some of my solutions were crazy... I would never have thought of doing that! Nice job.
User avatar
KU Fint
 
Posts: 3402
Joined: Mon Dec 04, 2006 4:00 pm

Post » Sat Nov 17, 2012 4:09 pm

Sollar and gulogulo: As a small thanks for your help with the animation variables (some of which I did end up using) have a peek at what I'm working on!

https://www.youtube.com/watch?v=sNmTlDhpc_4

Spot the bugs :wink: You can see the teleport-in-mid-leap effect at 0:09 (combined with a bug involving the fire breath), 1:05 (happens off-camera, though), 1:32, and 2:45. You can also see... well, some other stuff :wink:
User avatar
Jonny
 
Posts: 3508
Joined: Wed Jul 18, 2007 9:04 am

Post » Sat Nov 17, 2012 2:12 pm

Sollar and gulogulo: As a small thanks for your help with the animation variables (some of which I did end up using) have a peek at what I'm working on!

http://www.youtube.com/watch?v=sNmTlDhpc_

Spot the bugs :wink: You can see the teleport-in-mid-leap effect at 0:09 (combined with a bug involving the fire breath), 1:05 (happens off-camera, though), 1:32, and 2:45. You can also see... well, some other stuff :wink:
I look forward to seeing the demo, when YouTube has it ready! (YouTube is giving an "Error in Validation" message)
User avatar
sw1ss
 
Posts: 3461
Joined: Wed Nov 28, 2007 8:02 pm

Post » Sun Nov 18, 2012 5:38 am

Aaand that's what I get for posting at that hour. Corrected the URL. Here it is again just in case:
http://www.youtube.com/watch?v=sNmTlDhpc_4
User avatar
Mrs Pooh
 
Posts: 3340
Joined: Wed Oct 24, 2007 7:30 pm

Post » Sat Nov 17, 2012 1:14 pm

Aaand that's what I get for posting at that hour. Corrected the URL. Here it is again just in case:
http://www.youtube.com/watch?v=sNmTlDhpc_4

Very nice Verteiron! Both the effect and the idea! I like your idea that the tomes are being guarded.

And it's really nice to see the results. How often do we all help each other here, but we really never see the actual results unless we go download the eventual mod, so this was cool.
User avatar
Taylor Bakos
 
Posts: 3408
Joined: Mon Jan 15, 2007 12:05 am

Post » Sat Nov 17, 2012 6:14 pm

That was one of the most unique boss fights from mod I have ever seen. And that solution you have invented. I love unque mods! Impressive!
User avatar
Danial Zachery
 
Posts: 3451
Joined: Fri Aug 24, 2007 5:41 am

Post » Sun Nov 18, 2012 3:17 am

That looks amazing, would you by chance be releasing the script along with the mod? I'm trying my hand at scripting and well there aren't many good or in general at all script to learn from.
User avatar
~Sylvia~
 
Posts: 3474
Joined: Thu Dec 28, 2006 5:19 am

Post » Sun Nov 18, 2012 4:59 am

Yes, I will be including all source scripts for boss fights, spells, and quests in the release. My goal is to not just make an awesome mod, but to help out the modding community.
User avatar
keri seymour
 
Posts: 3361
Joined: Thu Oct 19, 2006 4:09 am

Post » Sat Nov 17, 2012 9:24 pm

And that is the only reasonable approach. Keep up the good work! I also release the source files.
User avatar
roxxii lenaghan
 
Posts: 3388
Joined: Wed Jul 05, 2006 11:53 am


Return to V - Skyrim