Need help on keeping glitchers out of an area not permitted to them

Look under “Theory” in here: Zone+ v1 (deprecated) | Retrieving players within an area/zone
It contains a rough tutorial on how to create the boundary.

Here’s something that should work in your case:

local ZonePlus = require(4664437268)
local ZoneService = require(ZonePlus.ZoneService)
local group = workspace.ShopGUI.ShopRegion
local zone = ZoneService:createZone("ZoneName", group, 15)
local MPS = game:GetService("MarketplaceService")

zone.playerAdded:Connect(function(player) -- returns the player instance, not the character instance.
    if MPS:UserOwnsGamepassAsync(--[[your gamepass id]], player.UserId) then
        --do stuff if they own it
    else
        --do stuff if they don't own it
    end
end)

zone:initLoop()
4 Likes