i make my own but weird:
wait(1)
User = game.Players.LocalPlayer
Humanoid = User.Character.Humanoid
Torso = User.Character.Torso
L_Hip = Torso[“Left Hip”]
R_Hip = Torso[“Right Hip”]
local step = game:GetService(‘RunService’).RenderStepped;
function ArcTan(x, y)
r = math.atan(y / x)
if x < 0 then
r = r + math.pi
end
return r
end
vel = Vector3.new()
while true do
step:wait()
local velVector = Vector3.new(Torso.Velocity.X,0,Torso.Velocity.Z);
if velVector.magnitude > 0 then
m = (vel - Torso.Velocity).magnitude / Humanoid.WalkSpeed
vel = (Torso.Velocity * m + vel * 2) / (m + 2)
v = Torso.CFrame:pointToObjectSpace(vel + Torso.Position)
L_a = ArcTan(v.x, -v.z)
R_a = 3.1416 - ArcTan(v.x, v.z)
L_Hip.C1 = CFrame.new(0, 1, 0)*CFrame.Angles(0, L_a+math.pi, 0)
R_Hip.C1 = CFrame.new(0, 1, 0)*CFrame.Angles(0, R_a+math.pi, 0)
L_Hip.C0 = CFrame.new(-0.5, -1, 0)*CFrame.Angles(0, L_a-math.pi, 0)
R_Hip.C0 = CFrame.new(0.5, -1, 0)*CFrame.Angles(0, R_a-math.pi, 0)
L_Hip.MaxVelocity = Torso.Velocity.magnitude / 100
R_Hip.MaxVelocity = Torso.Velocity.magnitude / 100
else
L_Hip.C1 = CFrame.new(0, 1, 0)*CFrame.Angles(0, -1.57, 0)
R_Hip.C1 = CFrame.new(0, 1, 0)*CFrame.Angles(0, 1.57, 0)
L_Hip.C0 = CFrame.new(-0.5, -1, 0)*CFrame.Angles(0, -1.57, 0)
R_Hip.C0 = CFrame.new(0.5, -1, 0)*CFrame.Angles(0, 1.57, 0)
end
end
localscript in starterpack
it works it move when your character rotate
and i need someone can help me fix it.the script make the leg gap