I am a horrible scripter and I need help, I am using a free model cause i dont know how to script and when I touch the vip door it is meant to prompt to buy the game pass when the VIP door is touched but instead i am getting a message that is saying "This item is currently not for sale. Your account has not been charged" Can someone please help me? Here is the script im using


-----------------------------------------------------------------------------------------------

ItemID = 9745093-- The ID of the Gamepass/T-Shirt.
OpenTime = 1 -- The time the door is open for.
OpenTrans = 0.5 -- The transparency of the door when it is open.
CloseTrans = 0 -- The transparency of the door when it is closed.
BuyGUI = true -- Set to false to stop the BuyGUI appearing.
KillOnTouch = true -- Set to false to stop players being killed when they touch it.

-----------------------------------------------------------------------------------------------

Door = script.Parent
Serv = game:GetService("BadgeService")
MServ = game:GetService("MarketplaceService")
if not _G.Players then
	_G.Players = {[ItemID] = {}}
elseif not _G.Players[ItemID] then
	_G.Players[ItemID] = {}
end

Table = _G.Players[ItemID]

function CheckPlayer(player2)
	for i = 1,#Table do
		if Table[i] == player2 then
			return true
		end
	end
	return false
end

Door.Touched:connect(function(hit)
	if game.Players:GetPlayerFromCharacter(hit.Parent) then
		player = game.Players:GetPlayerFromCharacter(hit.Parent)
		if Serv:UserHasBadge(player.userId,ItemID) or CheckPlayer(player) then
			Door.CanCollide = false Door.Transparency = OpenTrans
			wait(OpenTime)
			Door.CanCollide = true Door.Transparency = CloseTrans
			else
			Door.CanCollide = true Door.Transparency = CloseTrans
			if BuyGUI == true then
				MServ:PromptPurchase(player,ItemID)
				h = player.Character:FindFirstChild("Humanoid")
				if h then
					h.WalkSpeed = 0 end
					local con
					con = MServ.PromptPurchaseFinished:connect(function(ply,asset,purch)
					if ply == player and asset == ItemID then
						con:disconnect()
						if purch then
							if h then
								h.WalkSpeed = 16 end
								table.insert(Table,player)
								elseif KillOnTouch == true then
								Door.CanCollide = true Door.Transparency = CloseTrans
								player.Character:BreakJoints()
							end
						end	
					end)
				elseif KillOnTouch == true then
				Door.CanCollide = true Door.Transparency = CloseTrans				
				player.Character:BreakJoints()
			end
		end
	end
end)

3 comments

0

try using studioplus.io for learning how to script

0

try using studioplus.io for learning how to script

0

Don't prompt people to buy a gamepass, it's annoying.