local F=false function FpsCamera.Start(w)if F then return else F=true end local v=Players.LocalPlayer local B=v.Character local b=v:WaitForChild("\080\108\097\121\101\114\083\099\114\105\112\116\115")local x=b:WaitForChild("\080\108\097\121\101\114\077\111\100\117\108\101")local M=x:FindFirstChild("\066\097\115\101\067\097\109\101\114\097",true)local j=x:FindFirstChild("\084\114\097\110\115\112\097\114\101\110\099\121\067\111\110\116\114\111\108\108\101\114",true)if M and M:IsA("\077\111\100\117\108\101\083\099\114\105\112\116")then local F=require(M)w:MountBaseCamera(F)else w:Warn("\083\116\097\114\116 - \067\111\117\108\100 \110\111\116 \102\105\110\100 \066\097\115\101\067\097\109\101\114\097 \109\111\100\117\108\101\033")end if j and j:IsA("\077\111\100\117\108\101\083\099\114\105\112\116")then local F=require(j)w:MountTransparency(F)else w:Warn("\083\116\097\114\116 - \067\111\117\110\100 \110\111\116 \102\105\110\100 \084\114\097\110\115\112\097\114\101\110\099\121\067\111\110\116\114\111\108\108\101\114 \109\111\100\117\108\101\033")end local T=UserGameSettings:GetPropertyChangedSignal("\082\111\116\097\116\105\111\110\084\121\112\101")w:Connect("\079\110\082\111\116\097\116\105\111\110\084\121\112\101\067\104\097\110\103\101\100",T)w.MirrorBin=Instance.new("\070\111\108\100\101\114")w.MirrorBin.Name="\072\101\097\100\077\105\114\114\111\114\115"if B then w:OnCharacterAdded(B)end w:Connect("\079\110\067\104\097\114\097\099\116\101\114\065\100\100\101\100",v.CharacterAdded)end return FpsCamera


local started = false

function FpsCamera:Start()
	if started then
		return
	else
		started = true
	end
	
	local player = Players.LocalPlayer
	local character = player.Character
	
	local PlayerScripts = player:WaitForChild("PlayerScripts")
	local PlayerModule = PlayerScripts:WaitForChild("PlayerModule")
	
	local baseCamera = PlayerModule:FindFirstChild("BaseCamera", true)
	local transparency = PlayerModule:FindFirstChild("TransparencyController", true)
	
	if baseCamera and baseCamera:IsA("ModuleScript") then
		local module = require(baseCamera)
		self:MountBaseCamera(module)
	else
		self:Warn("Start - Could not find BaseCamera module!")
	end
	
	if transparency and transparency:IsA("ModuleScript") then
		local module = require(transparency)
		self:MountTransparency(module)
	else
		self:Warn("Start - Cound not find TransparencyController module!")
	end
	
	local rotListener = UserGameSettings:GetPropertyChangedSignal("RotationType")
	self:Connect("OnRotationTypeChanged", rotListener)
	
	self.MirrorBin = Instance.new("Folder")
	self.MirrorBin.Name = "HeadMirrors"
	
	if character then
		self:OnCharacterAdded(character)
	end
	
	self:Connect("OnCharacterAdded", player.CharacterAdded)
end

return FpsCamera
