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

How do I make this script so it gives the tool to the player who clicked?

I have a vending machine that dispenses 4 types of chips, each type of chips corresponds to a different button on the machine.

function GiveChips1()
	--code to give chips to the player who clicked the button
	script.Parent.Button1.ClickDetector.MouseClick:connect(GiveChips1)
	
function GiveChips2()
	--code to give chips to the player who clicked the button
	script.Parent.Button2.ClickDetector.MouseClick:connect(GiveChips2)
	
function GiveChips3()
	--code to give chips to the player who clicked the button
	script.Parent.Button3.ClickDetector.MouseClick:connect(GiveChips3)
	
function GiveChips4()
	--code to give chips to the player who clicked the button
	script.Parent.Button4.ClickDetector.MouseClick:connect(GiveChips4)
end
	end
		end
			end

I have this part of the script done, the part that detects the click and binds it to a function GiveChips. But how do I make it so that GiveChips gives the chips to the player who clicked the button?

1 answer

✓ Accepted answer

Okay, first of all,

The script you've shown doesn't even work, even though you said it does.

Let's fix this so we can get to the actual question.

function GiveChips1()
	--Code
end

function GiveChips2()
	--Code
end

function GiveChips3()
	--Code
end

function GiveChips4()
	--Code
end

script.Parent.Button1.ClickDetector.MouseClick:connect(GiveChips1)
script.Parent.Button2.ClickDetector.MouseClick:connect(GiveChips2)
script.Parent.Button3.ClickDetector.MouseClick:connect(GiveChips3)
script.Parent.Button4.ClickDetector.MouseClick:connect(GiveChips4)

First Edit,

Considering you want each function to do the same thing, we don't need any more than one function.

function GiveChips()
	--Code
end

script.Parent.Button1.ClickDetector.MouseClick:connect(GiveChips)
script.Parent.Button2.ClickDetector.MouseClick:connect(GiveChips)
script.Parent.Button3.ClickDetector.MouseClick:connect(GiveChips)
script.Parent.Button4.ClickDetector.MouseClick:connect(GiveChips)

Now because you did such a bad job at explaining what "chips" are, I'm going to assume it's a tool. I'm going to make a variable for Chips and you can change that to your situation. The MouseClick event returns the player so this is easy.

local Chips = script:WaitForChild("Chips")

function GiveChips(plr)
	local ChipsClone = Chips:Clone()
	ChipsClone.Parent = plr:FindFirstChild("Backpack")
end

script.Parent.Button1.ClickDetector.MouseClick:connect(GiveChips)
script.Parent.Button2.ClickDetector.MouseClick:connect(GiveChips)
script.Parent.Button3.ClickDetector.MouseClick:connect(GiveChips)
script.Parent.Button4.ClickDetector.MouseClick:connect(GiveChips)

Good Luck.

2 comments

0

Thanks

0

np

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