Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Welding a hat onto a player upon join?

Asked by 7 years ago
Edited 7 years ago

A hat gets welded onto the player if the player touches the hat for this script. This works.

function onTouch(hit)
    if hit.Parent:findFirstChild("Humanoid") and script.On.Value == false then
    script.On.Value = true
    script.Parent.Anchored = true   
    local arm = hit.Parent:FindFirstChild("Head")
    local rift = script.Parent.Parent:clone()
    rift.Parent = hit.Parent
    rift.Head.Script:remove()
    rift.Head.Anchored = false
    local w = Instance.new("Weld")
    w.Name = "PB"
    w.Parent = hit.Parent:FindFirstChild("Torso")
    w.Part0 = rift.Head
    w.Part1 = arm
    wait(1)
    script.On.Value = false 
    end
end
script.Parent.Touched:connect(onTouch)

I want to change it so this hat will weld onto the players character upon join. By the way, I made a new script for this and the location is different than the one on the top so it will look different. This did not work at all and had no errors.

game.Players.PlayerAdded:connect(function(player)
    player.CharacterAdded:connect(function(character)
        wait()
        script.Parent.Head.Anchored = true
        local arm = player:FindFirstChild("Head")
        local rift = script.Parent:Clone()
        rift.Parent = player
        rift.Head.Anchored = false
        local w = Instance.new("Weld")
        w.Name = "PB"
        w.Parent = player:FindFirstChild("Torso")
        w.Part0 = rift.Head
        w.Part1 = arm
    end)
end)

1 answer

Log in to vote
0
Answered by 7 years ago
game.Players.PlayerAdded:connect(function(player)
    player.CharacterAdded:connect(function(character)
        -- wait() You don't need this, it'll trigger when appropriate. 
        script.Parent.Head.Anchored = true
        local arm = player:FindFirstChild("Head") -- You mean character?
        local rift = script.Parent:Clone()
        rift.Parent = player -- You mean character? Because 'player' doesn't have a Head.
        rift.Head.Anchored = false
        local w = Instance.new("Weld")
        w.Name = "PB"
        w.Parent = player:FindFirstChild("Torso") -- Again, do you mean character?
        w.Part0 = rift.Head
        w.Part1 = arm
    end)
end)

** So your issue was that you mixed up player and character. **

*Otherwise, I -think- it should work.

Ad

Answer this question