Can exploiters play existing animations at any time?

Hi all,

I was curious about using Animator:GetPlayingAnimationTracks() to verify a player’s state on the server.

To (hypothetically) illustrate:

local dodgingAnim = ReplicatedStorage.Animations.DodgingAnimation --animation is in a client-accessible area
local animator = playerCharacter.Humanoid.Animator
for index, animationTrack in pairs(animator:GetPlayingAnimationTracks()) do
	if animationTrack.Animation.AnimationId == dodgingAnim.AnimationId then
		player:DontTakeAnyDamage()
	end
end

Could an exploiter loop DodgingAnimation on their character to trick the server into always running player:DontTakeAnyDamage()?
If yes, how beneficial would it be to add animation checking alongside standard sancitity checks?

The player is responsible for the animations played on them.
So yes; an exploiter could play the animation forever

You should not do dodging in this way though;
Its much more computabley expensive than just checking a variable/attribute

2 Likes

I don’t know why you should connect it to animations. Just start the frames during when the player starts the dodge anim. Have checks to see if they can start the dodge anim.

1 Like

Use a server script to place a value named “dodge” for a certain number of time in the player whos dodging, so that it cant be easily exploited lmoa