
Keyless

--// Glass Checker with Mobile Draggable GUI and Uncolor Feature //--
-- Services
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- GUI Setup
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "GlassVisualizerGUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 180, 0, 80)
frame.Position = UDim2.new(0.05, 0, 0.1, 0)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
frame.BackgroundTransparency = 0.1
frame.BorderSizePixel = 0
frame.Active = true
frame.Parent = screenGui
local header = Instance.new("TextLabel")
header.Text = "Glass Visualizer"
header.Size = UDim2.new(1, 0, 0, 24)
header.BackgroundTransparency = 1
header.TextColor3 = Color3.fromRGB(255,255,255)
header.Font = Enum.Font.SourceSansBold
header.TextSize = 16
header.Parent = frame
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0, 60, 0, 28)
toggleBtn.Position = UDim2.new(1, -70, 0, 26)
toggleBtn.Text = "OFF"
toggleBtn.Font = Enum.Font.SourceSansBold
toggleBtn.TextSize = 14
toggleBtn.BackgroundColor3 = Color3.fromRGB(120,120,120)
toggleBtn.TextColor3 = Color3.fromRGB(255,255,255)
toggleBtn.Parent = frame
-- Dragging logic
local dragging, dragStart, startPos, dragInput
local function update(input)
local delta = input.Position - dragStart
frame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
frame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch
or input.UserInputType == Enum.UserInputType.MouseButton1 then
dragging = true
dragStart = input.Position
startPos = frame.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
frame.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch
or input.UserInputType == Enum.UserInputType.MouseMovement then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
update(input)
end
end)
-- Glass coloring logic
local enabled = false
local originalColors = {} -- Store original colors
local function colorGlass(part)
if not part:IsA("BasePart") then return end
if not originalColors[part] then
originalColors[part] = part.Color
end
local children = part:GetChildren()
local onlyTouch = (#children == 1 and children[1]:IsA("TouchTransmitter"))
if onlyTouch then
part.Color = Color3.fromRGB(0, 255, 0) -- ✅ safe
else
part.Color = Color3.fromRGB(255, 0, 0) -- ❌ unsafe
end
end
local function scanFolder(segment)
local folder = segment:FindFirstChild("Folder")
if folder then
for _, part in ipairs(folder:GetChildren()) do
colorGlass(part)
end
end
end
local function resetColors()
for part, col in pairs(originalColors) do
if part and part:IsA("BasePart") then
part.Color = col
end
end
end
-- Find segment folder
local segRoot = workspace:FindFirstChild("segmentSystem")
local segFolder = segRoot and segRoot:FindFirstChild("Segments")
if segFolder then
-- Color all existing segments
for _, seg in ipairs(segFolder:GetChildren()) do
scanFolder(seg)
end
-- Listen for new segments
segFolder.ChildAdded:Connect(function(seg)
if enabled then
scanFolder(seg)
end
end)
end
-- Toggle button
toggleBtn.MouseButton1Click:Connect(function()
enabled = not enabled
toggleBtn.Text = enabled and "ON" or "OFF"
toggleBtn.BackgroundColor3 = enabled and Color3.fromRGB(30,180,30) or Color3.fromRGB(120,120,120)
if enabled then
-- Loop to recolor constantly
RunService.Heartbeat:Connect(function()
if enabled and segFolder then
for _, seg in ipairs(segFolder:GetChildren()) do
scanFolder(seg)
end
end
end)
else
resetColors()
end
end)
while wait(0.1) do
game.ReplicatedStorage.Remotes.ClaimReward:FireServer()
end
How do u use it I go into the game but it doesn’t work