I'm trying to get my VIP script to work so that only owners of the VIP are allowed to use the characters, but it's letting anyone turn into them, and it gives 4 copies of their tools.. >_<

The Tools are located in a folder instead of Replicated Storage, and there's a StringValue that says which tools to give a copy to the player.

The top of the script is like this:

local GPS = game:GetService("MarketplaceService")

and this is included where it's supposed to give tools only to game pass owners:

					if GPS:PlayerOwnsAsset(p, script.Parent.Rex.Value) then
for _,v in pairs(game.ReplicatedStorage.Game_Tools[suit.Tools.Value]:GetChildren()) do
if v:IsA("HopperBin") or v:IsA("Tool") then
v:clone().Parent = p.Backpack
end end end 

if GPS:PlayerOwnsAsset(p, script.Parent.Sat.Value) then
for _,v in pairs(game.ReplicatedStorage.Game_Tools[suit.Tools.Value]:GetChildren()) do
if v:IsA("HopperBin") or v:IsA("Tool") then
v:clone().Parent = p.Backpack
end end end 

if GPS:PlayerOwnsAsset(p, script.Parent.Fusion.Value) then
for _,v in pairs(game.ReplicatedStorage.Game_Tools[suit.Tools.Value]:GetChildren()) do
if v:IsA("HopperBin") or v:IsA("Tool") then
v:clone().Parent = p.Backpack
end end end 

if GPS:PlayerOwnsAsset(p, script.Parent.Rex.Value) and GPS:PlayerOwnsAsset(p, script.Parent.Sat.Value) then
for _,v in pairs(game.ReplicatedStorage.Game_Tools[suit.Tools.Value]:GetChildren()) do
if v:IsA("HopperBin") or v:IsA("Tool") then
v:clone().Parent = p.Backpack
end end end