I've recently been trying to make a rescripted version of Okeanskiy's head camera follow script, which instead of the head, moves the torso twoards the camera, it does not work and I have no idea why. help?
the remote event it fires is located in ReplicatedStorage and named "WTRE"
Local script:
local Ang = CFrame.Angles
local aSin = math.asin
local aTan = math.atan
local Cam = game.Workspace.CurrentCamera
local BodyHorFactor = 0.5
local BodyVertFactor = 0.4
local tweenService = game:GetService("TweenService")
local Camera = workspace.CurrentCamera
local Player = game.Players.LocalPlayer
local Character = Player.Character
local Root = Character:WaitForChild("HumanoidRootPart")
local Waist = Character:FindFirstChild("Waist", true)
local YOffset = Waist.C0.Y
local CamCF = Camera.CoordinateFrame
local WaistOrgnC0 = Waist.C0
local Torso = Character:WaitForChild("UpperTorso")
local CFNew, CFAng = CFrame.new, CFrame.Angles
local asin = math.asin
local Head = Character:WaitForChild("Head")
local Dist = (Head.CFrame.p-CamCF.p).magnitude
local Diff = Head.CFrame.Y-CamCF.Y
local TrsoLV = Torso.CFrame.lookVector
local HdPos = Head.CFrame.p
game:GetService("RunService").RenderStepped:Connect(function()
local CameraDirection = Root.CFrame:toObjectSpace(Camera.CFrame).lookVector
if Waist then
if Character.Humanoid.RigType == Enum.HumanoidRigType.R15 then
Waist.C0 = (WaistOrgnC0*Ang((aSin(Diff/Dist)*BodyVertFactor), -(((HdPos-CamCF.p).Unit):Cross(TrsoLV)).Y*BodyHorFactor, 0))
end
end
end)
game.ReplicatedStorage.WTRE.OnClientEvent:Connect(function(otherPlayer, neckCFrame)
local Neck = otherPlayer.Character:FindFirstChild("Waist", true)
if Waist then
tweenService:Create(Waist, TweenInfo.new(.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, false, 0), {C0 = neckCFrame}):Play()
end
end)
while wait(1) do
game.ReplicatedStorage.WTRE:FireServer(Waist.C0)
end
Server script:
game.ReplicatedStorage.WTRE.OnServerEvent:Connect(function(player, neckCFrame)
for key, value in pairs(game.Players:GetChildren()) do
if value ~= player and (value.Character.UpperTorso.Position - player.Character.UpperTorso.Position).Magnitude < 100 then
game.ReplicatedStorage.WTRE:FireClient(value, player, neckCFrame)
end
end
end)
