If Someone has Gamepass, And He Is Currently Playing The Game, Everyone Has The Trail (Item). Can Someone Help So The Gamepass Trail Only Works For Gamepass Users, Thanks!
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local gamePassID = 5647766 -- Change this to your game pass ID
function onPlayerSpawned(player)
local hasPass = false
-- Check if the player already owns the game pass
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.userId, gamePassID)
print("Has Game Pass for Gun")
end)
-- If there's an error, issue a warning and exit the function
if not success then
warn("Error while checking if player has pass: " .. tostring(message))
return
end
if hasPass == true then
script.Parent.Touched:Connect(function(parttouched)
local humanoid = parttouched.Parent:FindFirstChild("Humanoid")
-- The above is how we check that this a human it's either the Humanoid or nil.
if humanoid ~= nil then
local char = humanoid.Parent
local trail = game.ServerStorage.Yellow:Clone()
trail.Parent = char.Head
local attachment0 = Instance.new("Attachment", char.Head)
attachment0.Name = "TrailAttachment0"
local attachment1 = Instance.new("Attachment", char.HumanoidRootPart)
attachment1.Name = "TrailAttachment0"
trail.Attachment0 = attachment0
trail.Attachment1 = attachment1
end
end)
else
print("you got no pass")
end
end
game.Players.PlayerAdded:connect(function(player)
player.CharacterAdded:connect(function()
onPlayerSpawned(player)
end)
end)
-- Connect 'PlayerAdded' events to the 'onPlayerAdded()' function
Players.PlayerSpawned:Connect(onPlayerSpawned)

1 comment
this is super convoluted