The title explains itself, I want to check if the player is walking backwards (assuming they have shift-lock or first person enabled) so I can play the walking animation in reverse
Check if they are pressing the S key, since you used assuming they are in shift lock the will always be facing forward so thiis method would work pretty well i guess
local LocalPlayer = game:GetService("Players").LocalPlayer
local Char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local Humanoid:Humanoid = Char:WaitForChild("Humanoid")
local HumanoidRootPart:BasePart = Char:WaitForChild("HumanoidRootPart")
-- Bare in mind when you are in a constant speed this doesn't get updated the "Humanoid.Running" Event
-- you could change this for a Runservice Instead.
Humanoid.Running:Connect(function(Speed)
-- Compares where the humanoid is heading with movedirection and compares it to look vector of humanoidRootPart
-- It should usually be -1 but with angles can depend so i've updated to : -0.65 just
if (HumanoidRootPart.CFrame.LookVector:Dot(Humanoid.MoveDirection)) <= -0.65 then
-- Walking backwards
print("Walking backwards")
end
end)
I just tested your code but if the player has either A or D pressed before pressing S it doesn’t work
Yea that’s because the value is getting Updated with humanoid.Running Event therefore when you press a and d you are still moving in a constant speed. Try it with a while loop.
I haven’t tried this code yet, but see if it works:
if Humanoid.MoveDirection.Magnitude.Z < 0 then
--> code
end
That wouldnt work because Magnitude is a number and it doesnt have any XYZ components that would return an error
Ah okay, thanks for letting me know.
Reduce the number down to -0.6 - 0.7
It worked! But could you explain why?
Since you are moving in a certain angle With A, D You have to go in between the numbers.
Dot product is used to compare if the objects are looking towards the same direction or away can be used for npc, ect in this case I’m comparing the HumanoidRootPart To where ever the humanoid is moving towards to know if it’s moving backwards or foward
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.