My attempt is to go to StarterPlayer and make CameraMinDistance more than 10. (didnt work)
First you create a local script and place it in startergui or starterpack
print("Hello World")
Then you create a variable for the player and getting his character
local player = game.Players.LocalPlayer local character = player.Character
Now, you would want to clone each individual part of the player inside the camera
local player = game.Players.LocalPlayer local character = player.Character local camera = game.Workspace.CurrentCamera -- Camera local model = Instance.new("Model", camera) -- where we will place the first person local Children = character:GetChildren() for i,Part in pairs(Children) do if Part:IsA("Part") then local Clone = Part:Clone() Clone.Parent = model end end
The Script on top will clone the body parts of the person and place it in the model but it just stand there, now we need to weld it and remove welds on specific parts of the cloned parts such as the torso and the root
local player = game.Players.LocalPlayer local character = player.Character local camera = game.Workspace.CurrentCamera -- Camera local model = Instance.new("Model", camera) model.Name = "" -- where we will place the first person local Children = character:GetChildren() for i,Part in pairs(Children) do if Part:IsA("Part") then if Part.Name == "Torso" then local Clone = Part:Clone() Clone.Parent = model Clone:ClearAllChildren() local weld = Instance.new("Weld", Part) weld.Part0 = Part weld.Part1 = Clone elseif Part.Name == "HumanoidRootPart" then return else local Clone = Part:Clone() Clone.Parent = model local weld = Instance.new("Weld", Part) weld.Part0 = Part weld.Part1 = Clone end end if Part:IsA("Humanoid") then local Clone = Part:Clone() Clone.Parent = model Clone.MaxHealth = 0 end end
Now it will clone to the character but the first person has no clothes
local player = game.Players.LocalPlayer local character = player.Character local camera = game.Workspace.CurrentCamera -- Camera local model = Instance.new("Model", camera) model.Name = "" -- where we will place the first person local Children = character:GetChildren() if game.Players.LocalPlayer.Character:FindFirstChild("Shirt") then local shirt = game.Players.LocalPlayer.Character["Shirt"]:Clone() shirt.Parent = model end if game.Players.LocalPlayer.Character:FindFirstChild("Pants") then local pants = game.Players.LocalPlayer.Character["Pants"]:Clone() pants.Parent = model end for i = 1, #Children do if Children[i]:IsA("CharacterMesh") then Children[i]:Clone().Parent = model end end for i,Part in pairs(Children) do if Part:IsA("Part") then if Part.Name == "Torso" then local Clone = Part:Clone() Clone.Parent = model Clone:ClearAllChildren() local weld = Instance.new("Weld", Part) weld.Part0 = Part weld.Part1 = Clone elseif Part.Name == "HumanoidRootPart" then return else local Clone = Part:Clone() Clone.Parent = model Clone.CanCollide = false local weld = Instance.new("Weld", Part) weld.Part0 = Part weld.Part1 = Clone end end if Part:IsA("Humanoid") then local Clone = Part:Clone() Clone.Parent = model Clone.MaxHealth = 0 end end if character:FindFirstChild("Shirt") then character.Shirt:Clone().Parent = model elseif character:FindFirstChild("Pants") then character.Pants:Clone().Parent = model end
The First Person works but you would want it to activate during the time that the player has loaded its appearance so you would need to disabled the local script then create a script with the following
game.Players.PlayerAdded:connect(function(player) player.CharacterAppearanceLoaded:connect(function() player.PlayerGui.LocalScript.Disabled = false end) end)