While making a game, I tried making a gamepass that would allow players to chat in the multiplayer version of the game, and for some strange reason; it doesn't end up as 'false' when the player doesn't have the gamepass, which begs the question: Why isn't this working?
Heres the code:
local ServerScriptService = game:GetService("ServerScriptService")
local ChatService = require(ServerScriptService:WaitForChild("ChatServiceRunner"):WaitForChild("ChatService"))
local Channel = ChatService:GetChannel("All")
local MarketplaceService = game:GetService("MarketplaceService")
game.Players.PlayerAdded:Connect(function(plr)
if MarketplaceService:UserOwnsGamePassAsync(plr.UserId, 14986576) then
print("Allowed player " .. plr.Name .. " to chat.")
else
Channel:MuteSpeaker(plr.Name, "You are not permitted to chat, Boss's orders.", 0)
script:FindFirstChild("Placeholder"):Clone().Parent = plr.PlayerGui
end
end)
Here is the game incase you want to see the multiplayer mode. A gui should appear, notifying the player that they do not have the gamepass, and should mute the player's speaker.
