Hi developers,
EDIT: I’ve figured out that the torso is fine, it’s just that the limbs aren’t attached to the torso when the idle animation is playing.
A while ago a made a script to make the torso go up and down with the camera (like what you see in third person shooter games), and it worked fine up until yesterday. For some reason the limbs aren’t following the upper torso. See for yourself
what it should be doing
how it is right now
In the past two weeks I have not changed this script, so this might be something on roblox’s end.
Also I checked on older place file where this should be working and it still isn’t.
Here’s the script (the part thats relevant is the RenderStepped event, also this runs on the client):
function cam:init()
self.active = true
print("cam")
char = player.Character or player.CharacterAdded:Wait()
hum = char:WaitForChild("Humanoid")
waist = char.UpperTorso:WaitForChild("Waist")
root = char:WaitForChild("HumanoidRootPart")
hum.CameraOffset = Vector3.new(4, 0, 0)
hum.AutoRotate = false
camera.CameraSubject = hum
local waistOrigin = waist.C0
self.waistOrigin = waist.C0
uis.MouseDeltaSensitivity = self.sensitivityOrigin * 0.5
local deltaX, deltaY
local deltaProcessed = nil
self.RS = game:GetService("RunService").RenderStepped:Connect(function(dt)
uis.MouseBehavior = Enum.MouseBehavior.LockCenter
if deltaProcessed then
deltaX, deltaY = nil, nil
end
camera.CFrame = CFrame.new(camera.CFrame.Position, camera.CFrame * CFrame.new(deltaX or 0, deltaY or 0, -2000).Position)
if deltaX then
deltaProcessed = true
end
waist.C0 = waistOrigin * CFrame.Angles(camera.CFrame.LookVector.Unit.Y, 0, 0)
local newRootCF = CFrame.new(root.CFrame.Position, root.CFrame.Position + Vector3.new(camera.CFrame.LookVector.X, 0, camera.CFrame.LookVector.Z))
local tweeninfo = TweenInfo.new(0.05, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
local tween = ts:Create(root, tweeninfo, {["CFrame"] = newRootCF})
tween:Play()
end)
uis.InputChanged:Connect(function(input, processed)
local delta = input.Delta
deltaX, deltaY = delta.X, -delta.Y
end)
task.spawn(function()
while self.active do
--remotes.tiltAt:FireServer(waistOrigin * CFrame.Angles((camera.CFrame.LookVector).Unit.Y, 0, 0))
task.wait(0.1)
end
end)
end
If you want to see it for yourself you can find it here: TPS - Roblox
thanks in advance for any help anyone gives me