I know the title isn't too straight forward. what I mean is like
I'm creating an FPS game, and I want it so that the arms lerp on the x, and z axis of the camera, but on the y axis, it snaps to the camera's y axis. I've been experimenting, but it never appears where I want it to go. Here's my code so far:
warn("Engine started") getrawmetatable = getrawmetatable local camera = workspace.CurrentCamera local player = game:service'Players'.LocalPlayer local mouse = player:GetMouse() local replicatedstorage = game:service'ReplicatedStorage' local larm = replicatedstorage.LeftArm:Clone() local rarm = replicatedstorage.RightArm:Clone() local smg = replicatedstorage.SMG:Clone() larm.Parent = camera rarm.Parent = camera smg.Parent = camera local CurrentAnimation = "Idle" local Lerp = larm.CFrame:lerp(camera.CFrame*CFrame.new(-2,-1,1)*CFrame.Angles(math.rad(90),0,0),.5) mouse.Move:connect(function() local x,y,z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = camera.CFrame:components() Lerp = larm.CFrame:lerp(CFrame.new(x,0,z,R00,R01,R02,R10,R11,R12,R20,R21,R22)*CFrame.new(-2,-1,1)*CFrame.Angles(math.rad(90),0,0),.5) end) game:service'RunService'.RenderStepped:connect(function() larm.CFrame = Lerp * CFrame.new(0,camera.CFrame.y,0) end) while wait() do -- Most level 7s have getrawmetatable in their environment, so if it detects it, gg. if getrawmetatable ~= nil then game:service'Players'.LocalPlayer:Kick("Level 7 (getrawmetatable)") end end
This is in a localscript in StarterPlayerScripts