Gun Lerpgin not working

I’ve been trying to make it so that my gun camera tweens to shoulder

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ShootEvent = ReplicatedStorage:WaitForChild("ShootEvent")
local ReloadEvent = ReplicatedStorage:WaitForChild("ReloadEvent")

local Player = game.Players.LocalPlayer
local mouse = Player:GetMouse()
local UIS = game:GetService("UserInputService")
local Mouse = Player:GetMouse()

local Tool = script.Parent
local Mag = Tool:WaitForChild("Mag")
local GUI = Tool:WaitForChild("Magazine")
local Character = Player.Character
local HumanoidRootPart = Character.HumanoidRootPart
local shootdebounce = false
local ContextActionService = game:GetService("ContextActionService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Player.LocalPlayer
local camera = workspace.CurrentCamera
local cameraOffset = Vector3.new(2, 2, 8)
Tool.Activated:Connect(function()
	if not shootdebounce then
		shootdebounce = true
		ShootEvent:FireServer(Tool,mouse.Hit.p)
		wait(.4)
		shootdebounce = false
	end
end)

Tool.Equipped:Connect(function(Mouse)
Mouse.Button2Down:Connect(function(player)
  player.CharacterAdded:Connect(function(character)
	local humanoid = character:WaitForChild("Humanoid")
	local rootPart = character:WaitForChild("HumanoidRootPart")
	humanoid.AutoRotate = false
 
	local cameraAngleX = 0
	local cameraAngleY = 0
 
	local function playerInput(actionName, inputState, inputObject)
		if inputState == Enum.UserInputState.Change then
			cameraAngleX = cameraAngleX - inputObject.Delta.X
			cameraAngleY = math.clamp(cameraAngleY-inputObject.Delta.Y*0.4, -75, 75)
			rootPart.CFrame = rootPart.CFrame * CFrame.Angles(0, math.rad(-inputObject.Delta.X), 0)
		end
	end
	ContextActionService:BindAction("PlayerInput", playerInput, false, Enum.UserInputType.MouseMovement, Enum.UserInputType.Touch)
 
	RunService.RenderStepped:Connect(function()
		if camera.CameraType ~= Enum.CameraType.Scriptable then
			camera.CameraType = Enum.CameraType.Scriptable
		end
		local startCFrame = CFrame.new((rootPart.CFrame.Position)) * CFrame.Angles(0, math.rad(cameraAngleX), 0) * CFrame.Angles(math.rad(cameraAngleY), 0, 0)
		local cameraCFrame = startCFrame:ToWorldSpace(CFrame.new(cameraOffset.X, cameraOffset.Y, cameraOffset.Z))
		local cameraFocus = startCFrame:ToWorldSpace(CFrame.new(cameraOffset.X, cameraOffset.Y, -10000))
		camera.CFrame = CFrame.new(cameraCFrame.Position, cameraFocus.Position)
	end)
end)
 
local function focusControl(actionName, inputState, inputObject)
	if inputState == Enum.UserInputState.Begin then
		UserInputService.MouseBehavior = Enum.MouseBehavior.LockCenter
		ContextActionService:UnbindAction("FocusControl", focusControl, false, Enum.UserInputType.MouseButton1, Enum.UserInputType.Touch, Enum.UserInputType.Focus)
	end
end
ContextActionService:BindAction("FocusControl", focusControl, false, Enum.UserInputType.MouseButton1, Enum.UserInputType.Touch, Enum.UserInputType.Focus)
	end)
end)

but my error is on line 19

Local Player is nto a valid member of Player

You’ve already initialized a Player variable on line 5, so you can simply remove line 19.

2 Likes

If you took a bit of time to do some debugging yourself, you would notice that the answer to your question is right in the error message. You already defined LocalPlayer at Line 5, game.Players.LocalPlayer. Then for some reason, at Line 19 you put Player.LocalPlayer. Line 19 is saying game.Players.LocalPlayer.LocalPlayer.