What about anchoring them locally and then using :PivotTo to move them really far away (or maybe even just beneath the floor)? And then un-anchoring them when you want them to re-appear?
If you need an option for hiding all other players instead of specific ones, then maybe you can do the transparency thing, but disable bubble chat locally when the player toggles the effect? Or possibly change the BubbleChatConfiguration.AdorneeName to an Attachment that is (once again) really far away?
So what are you going for here? … A player that is still there in everyway but just can’t be seen?
I’ll just guess …
This is not a working script but, it should have what you need to figure this out yourself.
The use of SetCoreGuiEnabled makes it a local script. Not sure what you’re doing here, if it’s to hold them still also … you can lock the torso.
Script
local Players = game:GetService("Players")
local function hidePlayer(playerName)
local player = Players:FindFirstChild(playerName)
if player then
local character = player.Character
if character then
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") then
part.Transparency = 1
end
end
end
game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, false)
end
end
local function showPlayer(playerName)
local player = Players:FindFirstChild(playerName)
if player then
local character = player.Character
if character then
for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") then
part.Transparency = 0
end
end
end
game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, true)
end
end