Hello, I’ve been getting this strange issue where my idle / stance animations will replicate but no movement except for sprinting. I’m running my custom animation handler and I can’t figure this out why this would happen.
On the third video, it would play the backward-walking animation until a stance is changed. Afterwards, zero movement would play except sprinting.
I have 4 animations each for walking, crouching, and crawling. I make sure that the priorities of the animations I need to play are appropriately set and their weights don’t hit zero. Am I doing something wrong?
Here’s a portion of the monstrosity of the code:
weights.walk = weights.walk
+ ((math.clamp(walkRunWeight * walkForAlpha, 0.001, math.huge) - weights.walk) * weightDamping)
weights.walkBack = weights.walkBack
+ ((math.clamp(walkRunWeight * walkBackAlpha, 0.001, math.huge) - weights.walkBack) * weightDamping)
weights.walkLeft = weights.walkLeft
+ ((math.clamp(walkRunWeight * walkLeftAlpha, 0.001, math.huge) - weights.walkLeft) * weightDamping)
* enableStrafe
weights.walkRight = weights.walkRight
+ ((math.clamp(walkRunWeight * walkRightAlpha, 0.001, math.huge) - weights.walkRight) * weightDamping)
* enableStrafe
weights.crouch = weights.crouch
+ ((math.clamp(crouchMoveWeight * walkForAlpha, 0.001, math.huge) - weights.crouch) * weightDamping)
weights.crouchBack = weights.crouchBack
+ ((math.clamp(crouchMoveWeight * walkBackAlpha, 0.001, math.huge) - weights.crouchBack) * weightDamping)
weights.crouchLeft = weights.crouchLeft
+ ((math.clamp(crouchMoveWeight * walkLeftAlpha, 0.001, math.huge) - weights.crouchLeft) * weightDamping)
weights.crouchRight = weights.crouchRight
+ ((math.clamp(crouchMoveWeight * walkRightAlpha, 0.001, math.huge) - weights.crouchRight) * weightDamping)
weights.prone = weights.prone
+ ((math.clamp(proneMoveWeight * walkForAlpha, 0.001, math.huge) - weights.prone) * weightDamping)
weights.proneBack = weights.proneBack
+ ((math.clamp(proneMoveWeight * walkBackAlpha, 0.001, math.huge) - weights.proneBack) * weightDamping)
weights.proneLeft = weights.proneLeft
+ ((math.clamp(proneMoveWeight * walkLeftAlpha, 0.001, math.huge) - weights.proneLeft) * weightDamping)
* enableStrafe
weights.proneRight = weights.proneRight
+ ((math.clamp(proneMoveWeight * walkRightAlpha, 0.001, math.huge) - weights.proneRight) * weightDamping)
* enableStrafe
weights.run = weights.run + ((math.clamp(runAlpha, 0.001, 1) - weights.run) * weightDamping)
if not hum.Sit then
if self:GetStance() == "Crouching" then
dynamicAnim.walk:AdjustWeight(0)
dynamicAnim.walkBack:AdjustWeight(0)
dynamicAnim.walkLeft:AdjustWeight(0)
dynamicAnim.walkRight:AdjustWeight(0)
dynamicAnim.proneWalk:AdjustWeight(0)
dynamicAnim.proneWalkBack:AdjustWeight(0)
dynamicAnim.proneWalkLeft:AdjustWeight(0)
dynamicAnim.proneWalkRight:AdjustWeight(0)
dynamicAnim.crouchWalk:AdjustSpeed(walkAlpha * 1.5)
dynamicAnim.crouchWalk:AdjustWeight(math.clamp(weights.crouch, 0.001, math.huge))
dynamicAnim.crouchWalkBack:AdjustSpeed(-walkAlpha * 1.5)
dynamicAnim.crouchWalkBack:AdjustWeight(math.clamp(weights.crouchBack, 0.001, math.huge))
if enableStrafe == 1 then
dynamicAnim.crouchWalkLeft:AdjustSpeed(walkAlpha * 1.5)
dynamicAnim.crouchWalkLeft:AdjustWeight(math.clamp(weights.walkLeft, 0.001, math.huge))
dynamicAnim.crouchWalkRight:AdjustSpeed(-walkAlpha * 1.5)
dynamicAnim.crouchWalkRight:AdjustWeight(math.clamp(weights.walkRight, 0.001, math.huge))
else
dynamicAnim.crouchWalkLeft:AdjustSpeed(0)
dynamicAnim.crouchWalkLeft:AdjustWeight(0)
dynamicAnim.crouchWalkRight:AdjustSpeed(0)
dynamicAnim.crouchWalkRight:AdjustWeight(0)
end
elseif self:GetStance() == "Proning" then
dynamicAnim.proneWalk:AdjustSpeed(proneAlpha)
dynamicAnim.proneWalk:AdjustWeight(weights.prone)
dynamicAnim.proneWalkBack:AdjustSpeed(-proneAlpha)
dynamicAnim.proneWalkBack:AdjustWeight(weights.proneBack)
if enableStrafe == 1 then
dynamicAnim.proneWalkLeft:AdjustSpeed(proneAlpha)
dynamicAnim.proneWalkLeft:AdjustWeight(math.clamp(weights.proneLeft, 0.001, math.huge))
dynamicAnim.proneWalkRight:AdjustSpeed(proneAlpha)
dynamicAnim.proneWalkRight:AdjustWeight(math.clamp(weights.proneRight, 0.001, math.huge))
else
dynamicAnim.proneWalkLeft:AdjustSpeed(0)
dynamicAnim.proneWalkLeft:AdjustWeight(0)
dynamicAnim.proneWalkRight:AdjustSpeed(0)
dynamicAnim.proneWalkRight:AdjustWeight(0)
end
dynamicAnim.crouchWalk:AdjustWeight(0)
dynamicAnim.crouchWalk:AdjustSpeed(0)
dynamicAnim.crouchWalkBack:AdjustWeight(0)
dynamicAnim.crouchWalkBack:AdjustSpeed(0)
dynamicAnim.crouchWalkLeft:AdjustWeight(0)
dynamicAnim.crouchWalkLeft:AdjustSpeed(0)
dynamicAnim.crouchWalkRight:AdjustWeight(0)
dynamicAnim.crouchWalkRight:AdjustSpeed(0)
dynamicAnim.walk:AdjustSpeed(0)
dynamicAnim.walk:AdjustWeight(0)
dynamicAnim.walkBack:AdjustSpeed(0)
dynamicAnim.walkBack:AdjustWeight(0)
dynamicAnim.walkLeft:AdjustSpeed(0)
dynamicAnim.walkLeft:AdjustWeight(0)
dynamicAnim.walkRight:AdjustSpeed(0)
dynamicAnim.walkRight:AdjustWeight(0)
dynamicAnim.run:AdjustSpeed(0)
dynamicAnim.run:AdjustWeight(0)
elseif self:GetStance() == "Standing" then
dynamicAnim.crouchWalk:AdjustWeight(0)
dynamicAnim.crouchWalkBack:AdjustWeight(0)
dynamicAnim.crouchWalkLeft:AdjustWeight(0)
dynamicAnim.crouchWalkRight:AdjustWeight(0)
dynamicAnim.proneWalk:AdjustWeight(0)
dynamicAnim.proneWalkBack:AdjustWeight(0)
dynamicAnim.proneWalkLeft:AdjustWeight(0)
dynamicAnim.proneWalkRight:AdjustWeight(0)
dynamicAnim.walk:AdjustSpeed(math.clamp(walkAlpha * 1.5, 0, 1))
dynamicAnim.walk:AdjustWeight(math.clamp(weights.walk, 0.001, math.huge))
dynamicAnim.walkBack:AdjustSpeed(math.clamp(-walkAlpha * 1.5, -1, 0))
dynamicAnim.walkBack:AdjustWeight(math.clamp(weights.walkBack, 0.001, math.huge))
if enableStrafe == 1 then
dynamicAnim.walkLeft:AdjustSpeed(walkAlpha * 1.5)
dynamicAnim.walkLeft:AdjustWeight(math.clamp(weights.walkLeft, 0.001, math.huge))
dynamicAnim.walkRight:AdjustSpeed(-walkAlpha * 1.5)
dynamicAnim.walkRight:AdjustWeight(math.clamp(weights.walkRight, 0.001, math.huge))
else
dynamicAnim.walkLeft:AdjustSpeed(0)
dynamicAnim.walkLeft:AdjustWeight(0)
dynamicAnim.walkRight:AdjustSpeed(0)
dynamicAnim.walkRight:AdjustWeight(0)
end
end
dynamicAnim.run:AdjustSpeed(runAlpha * 1.5)
dynamicAnim.run:AdjustWeight(math.clamp(weights.run, 0.001, math.huge))
else
dynamicAnim.crouchWalk:AdjustWeight(0)
dynamicAnim.crouchWalk:AdjustSpeed(0)
dynamicAnim.crouchWalkBack:AdjustWeight(0)
dynamicAnim.crouchWalkBack:AdjustSpeed(0)
dynamicAnim.crouchWalkLeft:AdjustWeight(0)
dynamicAnim.crouchWalkLeft:AdjustSpeed(0)
dynamicAnim.crouchWalkRight:AdjustWeight(0)
dynamicAnim.crouchWalkRight:AdjustSpeed(0)
dynamicAnim.proneWalk:AdjustWeight(0)
dynamicAnim.proneWalkBack:AdjustWeight(0)
dynamicAnim.proneWalkLeft:AdjustWeight(0)
dynamicAnim.proneWalkRight:AdjustWeight(0)
dynamicAnim.walk:AdjustSpeed(0)
dynamicAnim.walk:AdjustWeight(0)
dynamicAnim.walkBack:AdjustSpeed(0)
dynamicAnim.walkBack:AdjustWeight(0)
dynamicAnim.walkLeft:AdjustSpeed(0)
dynamicAnim.walkLeft:AdjustWeight(0)
dynamicAnim.walkRight:AdjustSpeed(0)
dynamicAnim.walkRight:AdjustWeight(0)
dynamicAnim.run:AdjustSpeed(0)
dynamicAnim.run:AdjustWeight(0)
end
end
Thank you for any help