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

How can I start this off?

So I really need help with these types of scripts;

I want to make a group only door, right?

How would I start it off? I'm not requesting the whole script, but wouldn't it go something like

local group id = 0000

2 comments

0

That would result in an Error, instead do [local groupid = 0000], for you can't use spaces between identifiers, if you don't know what an Identifier is, take 'groupid' for example, it identify's '0000' for short so you don't have to keep typing '0000' over and over again.

0

By the way, welcome to Scripting Helpers! :D

2 answers

May contain errors, I based this off of a VipDoorScript for a GamePassID when I was a noob.


GroupID = --Place ID here
Door = script.Parent -- Change this to the door (if needed)
OpenTime = 1 -- Change how long you want the door open

--There used to be a kill script here where if the user was not in the group, it would execute them, but I removed it. If you would like it, PM me on ROBLOX.


--Do not touch below--
Serv = game:GetService("BadgeService")
MServ = game:GetService("MarketplaceService")
if not _G.Players then
	_G.Players = {
		[GroupID] = {};
	}
	print("Players Created")
elseif not _G.Players[GroupID] then
	_G.Players[GroupID] = {};
	print("Players.Pass created")
end

Table = _G.Players[PassOrShirtID]

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,PassOrShirtID) or CheckPlayer(player) then
			Door.CanCollide = false; Door.Transparency = 0.5;
			wait(OpenTime);
			Door.CanCollide = true; Door.Transparency = 0;
		else
			if Prompt then
				MServ:PromptPurchase(player,PassOrShirtID)
				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 == GroupID then
						con:disconnect()
						if purch then
							if h then h.WalkSpeed = 16 end
							table.insert(Table,player)
						else
							player.Character:BreakJoints()
						end
					end	
				end)
			else
				player.Character:BreakJoints()
			end
		end
	end
end)

I hope it works. Like I mentioned above, it is based off of a VIP Shirt door, so it may not work accurately. Best of luck!

local groupid = 0000

script.Parent.Touched:connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") ~= nil then
if game.Players:GetPlayerFromCharacter(hit.Parent):IsInGroup(groupid) then
script.Parent.CanCollide = false
wait(1)
script.Parent.CanCollide = true
end
end)

If doesn't work in script try in localscript.

1 comment

0

This would error. You don't have enough ends. You have a function and 2 if statements, but you only have ends to cover one of the if statements and the function.

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