Out of the blue, my player’s ability to access their gamepasses completely went out of the window. It’s pretty weird, and I have no idea how to solve this. All of the errors remain the exact same.
Here’s the code from the module, which is being properly called and hasn’t been changed:
local MarketplaceService = game:GetService(“MarketplaceService”)
local gamepasses = {}
gamepasses.passes = {
effectspass = {
game.Workspace:GetAttribute(“Pass_Effects”),
},
customizationpass = {
game.Workspace:GetAttribute(“Pass_Customization”),
},
movepass = {
game.Workspace:GetAttribute(“Pass_Movement”),
},
toolspass = {
game.Workspace:GetAttribute(“Pass_Tools”),
},
tunespass = {
game.Workspace:GetAttribute(“Pass_Tunes”),
},
animationspass = {
game.Workspace:GetAttribute(“Pass_Animations”),
},
meshpass = {
659450959,
1637940266,
175373352,
641829721,
},
}
function gamepasses:PlayerHasGamepass(player: Player, gamepassType: string)
for _,id in ipairs(gamepasses.passes[gamepassType]) do
if MarketplaceService:UserOwnsGamePassAsync(player.UserId, id) then
return true
end
end
return false
end
return gamepasses
Expected behavior
Gamepass should return true or false correctly instead of throwing a status 400 error.



