ADVERTISEMENTREMOVE ADS
Game icon

Solitary Confinement

Script preview thumbnail
Script Preview

Description

What it does:
This script shows your card suit in the game and highlights certain players.

  • It displays your own suit in a label at the bottom-left of your screen.

  • It automatically shows a symbol above your character’s head if you have one.

  • It highlights players who have the role Jack of Hearts with a red outline and fill so you can easily spot them.

  • It updates automatically when players join, leave, or change roles, and when your own suit changes.

How to use:

  • Just run the script while in the game.

  • Look at the bottom-left to see your current suit.

  • Spot any players with the Jack of Hearts role thanks to the red highlight.

  • The symbol above your head will stay enabled automatically.

Special instructions:

  • Works automatically in the background.

  • No buttons to press; everything updates live.

  • Only highlights players who have a Settings object with a Role string value set to Jack of Hearts.

  • Your own suit label updates whenever your Necklace string value changes.

ADVERTISEMENTREMOVE ADS
149 Lines • 3.95 KiB
Raw
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local highlightFolder = Instance.new("Folder", game.CoreGui)
highlightFolder.Name = "Highlights"
local screenGui = Instance.new("ScreenGui", PlayerGui)
screenGui.Name = "SuitDisplay"
local label = Instance.new("TextLabel", screenGui)
label.AnchorPoint = Vector2.new(0, 1)
label.Position = UDim2.new(0, 10, 1, -10)
label.Size = UDim2.new(0, 250, 0, 30)
label.BackgroundTransparency = 1
label.TextColor3 = Color3.fromRGB(255, 255, 255)
label.TextScaled = true
label.Font = Enum.Font.SourceSansBold
label.Text = ""
local suitEmojis = {
Heart = "♥️",
Club = "♣️",
Spade = "♠️",
Diamond = "♦️"
}
local function highlight(player)
if not player.Character then return end
local highlight = Instance.new("Highlight")
highlight.Name = player.Name .. "_Highlight"
highlight.FillColor = Color3.fromRGB(255, 0, 0)
highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
highlight.Adornee = player.Character
highlight.Parent = highlightFolder
end
local function unhighlight(player)
local h = highlightFolder:FindFirstChild(player.Name .. "_Highlight")
if h then
h:Destroy()
end
end
local function updateHighlights()
for _, player in pairs(Players:GetPlayers()) do
unhighlight(player)
local settings = player:FindFirstChild("Settings")
if settings then
local role = settings:FindFirstChild("Role")
if role and role:IsA("StringValue") and role.Value == "Jack of Hearts" then
highlight(player)
end
end
end
end
local function updateSuitDisplay()
local settings = LocalPlayer:FindFirstChild("Settings")
if not settings then
label.Text = ""
return
end
local necklace = settings:FindFirstChild("Necklace")
if not necklace or not necklace:IsA("StringValue") then
label.Text = ""
return
end
local value = necklace.Value
local emoji = suitEmojis[value] or ""
label.Text = "Your Suit Is: " .. value .. " " .. emoji
end
local function enableSymbolGUI()
local lp = LocalPlayer
if not lp.Character then return end
local head = lp.Character:FindFirstChild("Head")
if head and head:FindFirstChild("SymbolGUI") then
head.SymbolGUI.Enabled = true
end
end
for _, player in pairs(Players:GetPlayers()) do
local settings = player:FindFirstChild("Settings")
if settings then
local role = settings:FindFirstChild("Role")
if role and role:IsA("StringValue") then
role.Changed:Connect(function()
updateHighlights()
end)
end
end
player.ChildAdded:Connect(function(child)
if child.Name == "Settings" then
local role = child:WaitForChild("Role", 5)
if role and role:IsA("StringValue") then
role.Changed:Connect(function()
updateHighlights()
end)
end
end
end)
end
Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function()
task.wait(1)
updateHighlights()
end)
player.ChildAdded:Connect(function(child)
if child.Name == "Settings" then
local role = child:WaitForChild("Role", 5)
if role and role:IsA("StringValue") then
role.Changed:Connect(function()
updateHighlights()
end)
end
end
end)
end)
Players.PlayerRemoving:Connect(function(player)
unhighlight(player)
end)
local localSettings = LocalPlayer:WaitForChild("Settings", 10)
if localSettings then
local necklace = localSettings:FindFirstChild("Necklace")
if necklace and necklace:IsA("StringValue") then
updateSuitDisplay()
necklace.Changed:Connect(updateSuitDisplay)
end
localSettings.ChildAdded:Connect(function(child)
if child.Name == "Necklace" and child:IsA("StringValue") then
updateSuitDisplay()
child.Changed:Connect(updateSuitDisplay)
end
end)
end
task.spawn(function()
while task.wait(2) do
enableSymbolGUI()
end
end)
updateHighlights()
updateSuitDisplay()
enableSymbolGUI()
ADVERTISEMENTREMOVE ADS

Comments

0 comments
to add a comment
Loading comments
ADVERTISEMENTREMOVE ADS