local function LightAttack(actionName, inputState) if crouch == true then s2 = true if s2 == true then if script.Parent.HumanoidRootPart.Orientation.Y == 0 then if leftValue == 1 then s6 = true if s6 == true then if Enum.UserInputState.Begin and s2 == true and s6 == true then animTrack5A:Stop() animtrack236:Play() s2 = false s6 = false end end end end end end if animtrack236.IsPlaying == false then
So yesterday, with another user's suggestion of using debounces on the inputs, I was able to get this code for special attacks working properly. There's a problem, though: with this current code, the move won't trigger unless both left and down are pressed, which is not what I'm looking for. Ideally, the code should give a player a small window of time to press the button sequence of down, left, and Z(or A) to do the move. I've already tried putting in waits and whiles within and after the code, but all that's done is either bring back the original problem of this and another animation playing over each other, preventing a certain animation from playing altogether, or make a different animation play twice after the delay. I have also tried a suggestion from another user to make s2 and s6 actual instances, and have another script act as the delay for these values, but that hasn't worked, either. Anyone know how I can fix this so that the variables s2 and s6 stay true for a certain duration after the button sequence is pressed?