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

How do I make it so that only a specific player can use the vest giver?

This is the script for the torso for a vest giver I'm using and I want to make it so only I can get the vest. How would I change this script in order to do that?

function onTouched(hit)
	if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent:findFirstChild("Chest") == nil then
		local g = script.Parent.Parent.Chest:clone()
		g.Parent = hit.Parent
		local C = g:GetChildren()
		for i=1, #C do
			if C[i].className == "Part" or C[i].className == "UnionOperation" or C[i].className == "WedgePart" or C[i].className == "MeshPart"  then
				local W = Instance.new("Weld")
				W.Part0 = g.Middle
				W.Part1 = C[i]
				local CJ = CFrame.new(g.Middle.Position)
				local C0 = g.Middle.CFrame:inverse()*CJ
				local C1 = C[i].CFrame:inverse()*CJ
				W.C0 = C0
				W.C1 = C1
				W.Parent = g.Middle
			end
				local Y = Instance.new("Weld")
				Y.Part0 = hit.Parent.Torso
				Y.Part1 = g.Middle
				Y.C0 = CFrame.new(0, 0, 0)
				Y.Parent = Y.Part0
		end

		local h = g:GetChildren()
		for i = 1, # h do
			if h[i].className == "Part" or C[i].className == "UnionOperation" or C[i].className == "WedgePart" or C[i].className == "MeshPart"  then
				h[i].Anchored = false
				h[i].CanCollide = false
			end
		end
		
	end
end

script.Parent.Touched:connect(onTouched)

1 answer

you can try the script below just make sure to put your name in the area where it says YOURNAME

function onTouched(hit)
    if hit.Parent:findFirstChild("Humanoid") ~= nil and hit.Parent:findFirstChild("Chest") == nil then
	if hit.Parent.Name == "YOURNAME" then
	        local g = script.Parent.Parent.Chest:clone()
	        g.Parent = hit.Parent
	        local C = g:GetChildren()
	        for i=1, #C do
	            if C[i].className == "Part" or C[i].className == "UnionOperation" or C[i].className == "WedgePart" or C[i].className == "MeshPart"  then
	                local W = Instance.new("Weld")
	                W.Part0 = g.Middle
	                W.Part1 = C[i]
	                local CJ = CFrame.new(g.Middle.Position)
	                local C0 = g.Middle.CFrame:inverse()*CJ
	                local C1 = C[i].CFrame:inverse()*CJ
	                W.C0 = C0
	                W.C1 = C1
	                W.Parent = g.Middle
	            end
	                local Y = Instance.new("Weld")
	                Y.Part0 = hit.Parent.Torso
	                Y.Part1 = g.Middle
	                Y.C0 = CFrame.new(0, 0, 0)
	                Y.Parent = Y.Part0
	        end
	
	        local h = g:GetChildren()
	        for i = 1, # h do
	            if h[i].className == "Part" or C[i].className == "UnionOperation" or C[i].className == "WedgePart" or C[i].className == "MeshPart"  then
	                h[i].Anchored = false
	                h[i].CanCollide = false
	            end
	        end
	
	    end
	end
end

script.Parent.Touched:connect(onTouched)

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