Hello, I finished Jhxan's Self Check In tutorial and I am done! This is the final result of the handler and I have one error. He has not responded yet so I have asked here. The 2nd line doesn't not respond right. Does anyone know what to do?

local gui = script.Parent
local mFrame = gui:WaitForChild("mFrame")
local classFrame = mFrame:WaitForChild("classFrame")
local lastFrame = mFrame:WaitForChild("lastFrame")
local startFrame = mFrame:WaitForChild("startFrame")
local plr = Game.GetService("Players").LocalPlayer
local re = Game.GetService("ReplicatedStorage"):WaitForChild("scRE")
local ecShirtID = 0
local premiumShirtID = 1226638237
local proShirtID = 1228336480


script:WaitForChild("uid").Value = game:GetService("HttpService"):GenerateGUID()

--prevent duplication of mFrame
for i,v in pairs (plr.PlayerGui:GetChildren()) do
	if v:IsA("ScreenGui") then
		if v:FirstFindChild	("scHandler") then
			if v.scHandler.uid.Value == script:WaitForChild("uid") then
				v:Remove()
			end
		end
	end
end

--button detections

for i,btn in pairs (classFrame:GetChildren()) do
	if btn:IsA("TextButton") then
		btn.MouseButton1Down:Connect(function()
			local card = btn:WaitForChild("cardName").Value
			
            if card == "Catopa Economy" then
	           if ecShirtID = 0 then
	            game:GetService("MarketplaceService"):PlayerOwnsAsset(plr, ecShirtID) then
	                else
		
		            return
		
		     if card == "Catopa Premium" then
	           if premiumShirtID = 1226638237 then
	            game:GetService("MarketplaceService"):PlayerOwnsAsset(plr, premiumShirtID) then
	                else
		
		            return
		
		     if card == "Catopa Pro" then
	           if proShirtID = 1228336480 then
	            game:GetService("MarketplaceService"):PlayerOwnsAsset(plr, proShirtID) then
	                else
		
		            return			
			
			re:FireServer("giveCard", card)
			classFrame.Visible = false
			lastFrame.Visible = true
		end)
	end
end

lastFrame:WaitForChild("exitBtn").MouseButton1Down:connect(function()
	
end)

startFrame:WaitForChild("startBtn").MouseButton1Down:connect(function()
	startFrame.Visible = false
	classFrame.Visible = true
end)

mFrame:WaitForChild("closeBtn").MouseButton1Down:connect(function()
	gui:Remove()
end)

3 comments

0

If it's the 2nd line as in gui:WaitForChild("mFrame") make sure the frame is inside the gui parent, and also named mFrame exactly. The code is correct though.

0

Can you specify what Not Responding Correctly means?

0

'doesn't not' Guys. It means the script does work.... JK!