I'm making a script that requires a remote event and im having trouble figuring out why it doesn't work. Heres the code:
Local Script:
local ReplicatedStorage = game:GetService("ReplicatedFirst") local HeadRotation = ReplicatedStorage:WaitForChild("HeadRotation") HeadRotation:FireServer()
Script:
local ReplicatedStorage = game:GetService("ReplicatedStorage") local HeadRotation = Instance.new("RemoteEvent", ReplicatedStorage) HeadRotation.Name = ("HeadRotation") local function HeadRotationFired(player) local CFNew, CFAng, CFtoObjectSpace = CFrame.new, CFrame.Angles, CFrame.new( ).toObjectSpace local asin, pi, hpi = math.asin, math.pi, math.pi / 2 local Plr= game.Players.LocalPlayer game:GetService("RunService").RenderStepped:Connect(function() if Plr.Character then local Root, Neck, Humanoid, Camera = Plr.Character:FindFirstChild("HumanoidRootPart"), Plr.Character:FindFirstChild("Neck", true), Plr.Character:FindFirstChild("Humanoid"), workspace.CurrentCamera if Root and Neck and Humanoid and Camera.CameraSubject then local R6 = Humanoid.RigType == Enum.HumanoidRigType.R6 if Camera.CameraSubject.Parent == Plr.Character then local CameraDirection = CFtoObjectSpace(Root.CFrame, Camera.CFrame).lookVector.unit Neck.C0 = CFNew(Neck.C0.p) * CFAng(0, -asin(CameraDirection.x), 0) * (R6 and CFAng(-hpi + asin(CameraDirection.y), 0, pi) or CFAng(asin(CameraDirection.y), 0, 0)) else Neck.C0 = R6 and CFNew(Neck.C0.p) * CFAng(-hpi, 0, pi) or CFNew(Neck.C0.p) end end end end) end HeadRotation.OnServerEvent:Connect(HeadRotationFired)
The head rotation script itself is not mine but everything else I did.