Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

How can I make my arms visible when zoomed in?

My attempt is to go to StarterPlayer and make CameraMinDistance more than 10. (didnt work)

1 answer

✓ Accepted answer

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)

This discussion is preserved as it was. New answers, comments, and votes are closed.