I am having issues with the script that makes it so your body still shows when you’re in first person, but it doesn’t work.
Local Script:
local char = script.Parent
local humanoid = char:waitForChild'Humanoid'
humanoid.CameraOffset = Vector3.new(0,0,-1)
for i,v in pairs(char:GetChildren()) do
if v:IsA'BasePart' then
if v.Name ~= 'Head' then
v:GetPropertyChangedSignal('LocalTransparencyModifier'):connect(function()
v.LocalTransparencyModifier = v.Transparency
end)
end
end
end
local char = script.Parent
local humanoid = char:waitForChild'Humanoid'
humanoid.CameraOffset = Vector3.new(0,0,-1)
for i,v in pairs(char:GetChildren()) do
if v:IsA'BasePart' then
if v.Name ~= 'Head' then
v.Changed:Connect(function()
v.LocalTransparencyModifier = v.Transparency
end)
end
end
end
You will have to run this on a runservice:BindToRenderStep or something similar because default Roblox scripts always set local transparency modifier such that its invisible when in first person.
local run = game:GetService("RunService")
repeat run.Heartbeat:Wait() until game:IsLoaded()
local character = script.Parent or game.Players.LocalPlayer.CharacterAdded:Wait()
local function SetBody()
for i, v in ipairs(character:GetChildren()) do
if v:IsA("BasePart") and v.Name ~= "UpperTorso" and v.Name ~= "LowerTorso" and v.Name ~= "HumanoidRootPart" and v.Name ~= "Head" then
v.LocalTransparencyModifier = 0
end
end
end
run:BindToRenderStep("Arms", Enum.RenderPriority.Camera.Value + 1, SetBody)