Is there a way to make arms visible in first person with the new script?

Hey guys! I’ve been trying to get arms visible in first person with the new camera script for a little bit, but everything I’ve tried doesn’t work. Before, with the old camera script, I just needed to make the arm parts of the LocalPlayer transparency set to zero, but with this new one, it’s more complicated.

Could anyone possibly help me with this?

1 Like

Why does Parenting the fake arms in the current camera and then just hiding the character arms via local script doesn’t work then?
could you give us a bit more information? and maybe show the script your using that doesn’t work.

I’m sorry if this script looks sorta like a free model, I “made” this script using a tutorial around a year ago, when I was like really bad at scripting. Also, if it isn’t formatted right, it’s because I’m bad at formatting lol

 local Player = script.Parent.Parent
        local Char = Player.Character
        local Table = {Char.LeftHand, Char.RightHand, Char.LeftLowerArm, Char.RightLowerArm, Char.LeftUpperArm, Char.RightUpperArm}
        local model = Instance.new("Model", game.Workspace)
        local Humanoid = Instance.new("Humanoid", model)
        local TV = 0

    repeat
    TV = TV + 1
    local Clone = Table[TV]:Clone()
    Clone.Parent = model
    Clone.CanCollide = false
    Clone.Anchored = false
    local weld = Instance.new("Weld", Clone)
    weld.Part0 = Clone
    weld.Part1 = Table[TV]
    Table[TV].Transparency = 1
    until TV == 6

you should change

repeat
    TV = TV + 1
    local Clone = Table[TV]:Clone()
    Clone.Parent = model
    Clone.CanCollide = false
    Clone.Anchored = false
    local weld = Instance.new("Weld", Clone)
    weld.Part0 = Clone
    weld.Part1 = Table[TV]
    Table[TV].Transparency = 1
    until TV == 6

to something like this

for i,v in pairs(Table) do
  local Clone = v:Clone()
    Clone.Parent = model
    Clone.CanCollide = false
    Clone.Anchored = false
    local weld = Instance.new("Weld", Clone)
    weld.Part0 = Clone
    weld.Part1 = v
    v.Transparency = 1
end

second why your cloning the arms? since you can positiion them cliently.

Like I said, this script was from a really crappy tutorial that I followed back when I didn’t know what I was doing, which is why the arms are cloned. But anyways, I’ll try that snippet and see if that works.

maybe its an idea to follow an more updated tutorial.

2 Likes

Yep. Another method I’ve been trying to get arms visible in first person is modifying the new CameraScript itself. No luck on that, but there was a script I found in the new PlayerModule that caught my eye.

Also I’m sorry if I seem like a noob, even after like 2 years, I still suck at developing.

You can try modifying the script which sets the LocalTransparencyModifier property to make it not set it for the arms, but I guess a better way to go would be welding fake arms to your real ones, like @DutchDeveloper already suggested.

You have to set the LocalTransparencyModifier of a part to 0 on RenderStepped. The camera script overrides LocalTransparencyModifier for the visibility effect, so you have to overwrite that behaviour. You can also remove this functionality from the CameraModule itself, but that might cause you problems with other parts of the humanoid.

local RunService = game:GetService("RunService")

RunService:BindToRenderStep("ArmTransparency", Enum.RenderPriority.Camera.Value - 5, function()
    -- arm whatnot here
end)
11 Likes

Thank you so much!