local Players = game:GetService("Players") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local character = player.Character local rhythmTool = character and character:FindFirstChild("Rhythm") if not rhythmTool then return end local gui = player:WaitForChild("PlayerGui") local rhythmGui = gui:WaitForChild("Rhythm") local mainFrame = rhythmGui:WaitForChild("MainFrame") local bars = mainFrame:WaitForChild("Bars") local target = mainFrame:WaitForChild("point") local triggerColor = Color3.fromRGB(187, 70, 255) local function isSimilarColor(a, b, threshold) return math.abs(a.R - b.R) + math.abs(a.G - b.G) + math.abs(a.B - b.B) < threshold end bars.ChildAdded:Connect(function(bar) if not bar:IsA("GuiObject") then return end local fired = false local connection connection = RunService.Heartbeat:Connect(function() if not bar or not bar.Parent then connection:Disconnect() return end local barX = bar.AbsolutePosition.X + bar.AbsoluteSize.X * 0.5 local targetX = target.AbsolutePosition.X + target.AbsoluteSize.X * 0.5 local delta = math.abs(barX - targetX) if delta <= 5 and not fired then if not isSimilarColor(bar.BackgroundColor3, triggerColor, 0.1) then rhythmTool:Activate() end fired = true connection:Disconnect() end end) end)