
Keyless

local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local StarterGui = game:GetService("StarterGui")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local currentSelections = {}
local visitedBlocks = {}
local isMinimized = false
local speedEnabled = false
local autoWalkState = 0
local currentTarget = nil
local fullAutoEnabled = false
local ZapEvent = ReplicatedStorage:WaitForChild("ZAP"):WaitForChild("ZAP_RELIABLE")
local function fireColorRemote(id)
local colorId = tonumber(id)
if colorId and ZapEvent then
local b = buffer.create(2)
buffer.writeu8(b, 0, 0x0F)
buffer.writeu8(b, 1, colorId)
ZapEvent:FireServer(b, {})
end
end
local TracerBeam = Instance.new("Beam")
local PlayerAttachment = Instance.new("Attachment")
local TargetAttachment = Instance.new("Attachment")
TracerBeam.Attachment0 = PlayerAttachment
TracerBeam.Attachment1 = TargetAttachment
TracerBeam.Width0, TracerBeam.Width1 = 0.04, 0.04
TracerBeam.Color = ColorSequence.new(Color3.fromRGB(0, 255, 255))
TracerBeam.FaceCamera = true
TracerBeam.Enabled = false
TracerBeam.Parent = Workspace
local ScreenGui = Instance.new("ScreenGui")
local MainFrame = Instance.new("Frame")
local TextBox = Instance.new("TextBox")
local SearchButton = Instance.new("TextButton")
local ClearButton = Instance.new("TextButton")
local SpeedButton = Instance.new("TextButton")
local AutoWalkButton = Instance.new("TextButton")
local FullAutoButton = Instance.new("TextButton")
local MinButton = Instance.new("TextButton")
local PingLabel = Instance.new("TextLabel")
local UICorner = Instance.new("UICorner")
local UIStrokeMain = Instance.new("UIStroke")
ScreenGui.Name = "ColorFinder_Final"
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
ScreenGui.ResetOnSpawn = false
MainFrame.Size = UDim2.new(0, 130, 0, 165)
MainFrame.Position = UDim2.new(0.5, -65, 0.3, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
MainFrame.BackgroundTransparency = 0.2
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui
UICorner.CornerRadius = UDim.new(0, 8)
UICorner.Parent = MainFrame
UIStrokeMain.Thickness = 2
UIStrokeMain.Color = Color3.fromRGB(255, 255, 255)
UIStrokeMain.Transparency = 0.8
UIStrokeMain.Parent = MainFrame
PingLabel.Size = UDim2.new(0.4, 0, 0.08, 0)
PingLabel.Position = UDim2.new(0.55, 0, 0.86, 0)
PingLabel.BackgroundTransparency = 1
PingLabel.TextColor3 = Color3.new(0, 1, 0)
PingLabel.Text = "--- ms"
PingLabel.Font = Enum.Font.GothamBold
PingLabel.TextSize = 8
PingLabel.Parent = MainFrame
local function createBtn(btn, borderColor, text, pos)
btn.Size = UDim2.new(0.85, 0, 0.11, 0)
btn.Position = pos
btn.BackgroundColor3 = borderColor
btn.BackgroundTransparency = 0.9
btn.TextColor3 = Color3.new(1, 1, 1)
btn.Text = text
btn.Font = Enum.Font.GothamBold
btn.TextSize = 9
btn.Parent = MainFrame
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 4)
local s = Instance.new("UIStroke", btn)
s.Thickness = 1.2
s.Color = borderColor
s.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
return s
end
TextBox.Size = UDim2.new(0.85, 0, 0.11, 0)
TextBox.Position = UDim2.new(0.075, 0, 0.05, 0)
TextBox.BackgroundColor3 = Color3.new(1, 1, 1)
TextBox.BackgroundTransparency = 0.9
TextBox.TextColor3 = Color3.new(1, 1, 1)
TextBox.PlaceholderText = "ColorId..."
TextBox.Text = ""
TextBox.Font = Enum.Font.Gotham
TextBox.TextSize = 9
TextBox.Parent = MainFrame
Instance.new("UICorner", TextBox).CornerRadius = UDim.new(0, 4)
createBtn(SearchButton, Color3.fromRGB(0, 255, 255), "Highlight", UDim2.new(0.075, 0, 0.18, 0))
createBtn(ClearButton, Color3.fromRGB(255, 75, 75), "Clear", UDim2.new(0.075, 0, 0.31, 0))
local speedS = createBtn(SpeedButton, Color3.new(1, 1, 1), "Speed: OFF", UDim2.new(0.075, 0, 0.44, 0))
local walkS = createBtn(AutoWalkButton, Color3.new(1, 1, 1), "Auto: OFF", UDim2.new(0.075, 0, 0.57, 0))
local fullAutoS = createBtn(FullAutoButton, Color3.new(1, 1, 1), "Full: OFF", UDim2.new(0.075, 0, 0.70, 0))
MinButton.Size = UDim2.new(0.4, 0, 0.08, 0)
MinButton.Position = UDim2.new(0.05, 0, 0.86, 0)
MinButton.BackgroundTransparency = 1
MinButton.TextColor3 = Color3.new(0.6, 0.6, 0.6)
MinButton.Text = "Minimize"
MinButton.Font = Enum.Font.Gotham
MinButton.TextSize = 8
MinButton.Parent = MainFrame
task.spawn(function()
while true do
local p = math.floor(LocalPlayer:GetNetworkPing() * 1000)
PingLabel.Text = p .. "ms"
PingLabel.TextColor3 = p < 100 and Color3.new(0,1,0.4) or p < 200 and Color3.new(1,0.8,0) or Color3.new(1,0.2,0)
task.wait(1)
end
end)
local function clear()
for b, d in pairs(currentSelections) do
if d.SelectionBox then d.SelectionBox:Destroy() end
if d.Connection then d.Connection:Disconnect() end
end
currentSelections, visitedBlocks, currentTarget, TracerBeam.Enabled = {}, {}, nil, false
end
local function scan(id)
clear()
local b = Workspace:FindFirstChild("Bases")
if not b then return end
local workingOnBase = LocalPlayer:GetAttribute("WorkingOn")
if not workingOnBase then return end
local playerBase = b:FindFirstChild(tostring(workingOnBase))
if not playerBase then return end
local bl = playerBase:FindFirstChild("Blocks")
if bl then
for _, block in pairs(bl:GetChildren()) do
if tostring(block:GetAttribute("colorId")) == tostring(id) and block.CanTouch then
local s = Instance.new("SelectionBox", block)
s.Adornee, s.Color3, s.LineThickness = block, Color3.new(0,1,1), 0.02
local c
c = block:GetPropertyChangedSignal("CanTouch"):Connect(function()
if not block.CanTouch then
s:Destroy() c:Disconnect() currentSelections[block] = nil
if currentTarget == block then currentTarget = nil TracerBeam.Enabled = false end
end
end)
currentSelections[block] = {SelectionBox = s, Connection = c}
end
end
end
end
local function getNear(iv)
local c = LocalPlayer.Character
local r = c and c:FindFirstChild("HumanoidRootPart")
if not r then return nil end
local nd, nb, rp = math.huge, nil, r.Position
for b, _ in pairs(currentSelections) do
if b and b.Parent and not (iv and visitedBlocks[b]) then
local bp = b.Position
local dx, dz = bp.X - rp.X, bp.Z - rp.Z
local d = dx*dx + dz*dz
if d < nd then nd, nb = d, b end
end
end
return nb
end
RunService.Heartbeat:Connect(function()
local c = LocalPlayer.Character
if not c then return end
local h, r = c:FindFirstChildOfClass("Humanoid"), c:FindFirstChild("HumanoidRootPart")
if not h or not r then return end
if speedEnabled then h.WalkSpeed = 32 end
if autoWalkState > 0 then
if not currentTarget or not currentSelections[currentTarget] then
currentTarget = getNear(autoWalkState == 2)
if currentTarget then
PlayerAttachment.Parent, TargetAttachment.Parent, TracerBeam.Enabled = r, currentTarget, true
else TracerBeam.Enabled = false end
end
if currentTarget then
h:MoveTo(currentTarget.Position)
if autoWalkState == 2 then
local p1, p2 = r.Position, currentTarget.Position
local dx, dz = p1.X - p2.X, p1.Z - p2.Z
if (dx*dx + dz*dz) <= 2.25 then
visitedBlocks[currentTarget], currentTarget, TracerBeam.Enabled = true, nil, false
end
end
end
else TracerBeam.Enabled = false end
end)
SpeedButton.MouseButton1Click:Connect(function()
speedEnabled = not speedEnabled
speedS.Color = speedEnabled and Color3.new(0,1,0.5) or Color3.new(1,1,1)
SpeedButton.BackgroundTransparency = speedEnabled and 0.7 or 0.9
SpeedButton.Text = speedEnabled and "Speed: ON" or "Speed: OFF"
if not speedEnabled then local h = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if h then h.WalkSpeed = 16 end end
end)
AutoWalkButton.MouseButton1Click:Connect(function()
autoWalkState = (autoWalkState + 1) % 3
currentTarget, visitedBlocks = nil, {}
if autoWalkState > 0 and next(currentSelections) == nil then
for i = 1, 30 do
fireColorRemote(i)
scan(i)
if next(currentSelections) ~= nil then
TextBox.Text = tostring(i)
break
end
end
end
if autoWalkState == 1 then
walkS.Color, AutoWalkButton.Text, TracerBeam.Color = Color3.new(1,1,0), "Auto: SLOW", ColorSequence.new(Color3.new(1,1,0))
AutoWalkButton.BackgroundTransparency = 0.7
elseif autoWalkState == 2 then
walkS.Color, AutoWalkButton.Text, TracerBeam.Color = Color3.new(0,1,1), "Auto: FAST", ColorSequence.new(Color3.new(0,1,1))
AutoWalkButton.BackgroundTransparency = 0.7
else
walkS.Color, AutoWalkButton.Text, AutoWalkButton.BackgroundTransparency = Color3.new(1,1,1), "Auto: OFF", 0.9
clear()
end
end)
FullAutoButton.MouseButton1Click:Connect(function()
fullAutoEnabled = not fullAutoEnabled
if fullAutoEnabled then
fullAutoS.Color = Color3.new(0,1,0.5)
FullAutoButton.BackgroundTransparency = 0.7
FullAutoButton.Text = "Full: ON"
task.spawn(function()
while fullAutoEnabled do
local foundAny = false
for i = 1, 30 do
if not fullAutoEnabled then break end
TextBox.Text = tostring(i)
fireColorRemote(i)
scan(i)
task.wait(0.1)
if next(currentSelections) ~= nil then
foundAny = true
autoWalkState = 2
walkS.Color, AutoWalkButton.Text, TracerBeam.Color = Color3.new(0,1,1), "Auto: FAST", ColorSequence.new(Color3.new(0,1,1))
AutoWalkButton.BackgroundTransparency = 0.7
currentTarget, visitedBlocks = nil, {}
-- Wait for Fast Mode to visit all blocks
while fullAutoEnabled and next(currentSelections) ~= nil do
local allVisited = true
for b, _ in pairs(currentSelections) do
if not visitedBlocks[b] then
allVisited = false
break
end
end
-- If fast mode visited everything, break to check if cleanup is needed
if allVisited and currentTarget == nil then
break
end
task.wait(0.5)
end
if not fullAutoEnabled then break end
-- If blocks STILL exist after Fast Mode finishes its pass, switch to Slow Mode
if next(currentSelections) ~= nil then
autoWalkState = 1
walkS.Color, AutoWalkButton.Text, TracerBeam.Color = Color3.new(1,1,0), "Auto: SLOW", ColorSequence.new(Color3.new(1,1,0))
AutoWalkButton.BackgroundTransparency = 0.7
currentTarget = nil
-- Wait for Slow Mode to completely clear them
while fullAutoEnabled and next(currentSelections) ~= nil do
task.wait(0.5)
end
end
if not fullAutoEnabled then break end
task.wait(0.5)
end
end
if not foundAny or not fullAutoEnabled then
fullAutoEnabled = false
fullAutoS.Color = Color3.new(1,1,1)
FullAutoButton.BackgroundTransparency = 0.9
FullAutoButton.Text = "Full: OFF"
autoWalkState = 0
walkS.Color, AutoWalkButton.Text, AutoWalkButton.BackgroundTransparency = Color3.new(1,1,1), "Auto: OFF", 0.9
break
end
end
end)
else
fullAutoS.Color = Color3.new(1,1,1)
FullAutoButton.BackgroundTransparency = 0.9
FullAutoButton.Text = "Full: OFF"
end
end)
MinButton.MouseButton1Click:Connect(function()
isMinimized = not isMinimized
if isMinimized then
MainFrame.Size, MainFrame.Position = UDim2.new(0, 60, 0, 25), UDim2.new(0.5, -30, 0, 5)
TextBox.Visible, SearchButton.Visible, ClearButton.Visible, SpeedButton.Visible, AutoWalkButton.Visible, PingLabel.Visible, FullAutoButton.Visible = false, false, false, false, false, false, false
MinButton.Size, MinButton.Position, MinButton.Text = UDim2.new(1, 0, 1, 0), UDim2.new(0, 0, 0, 0), "Restore"
else
MainFrame.Size, MainFrame.Position = UDim2.new(0, 130, 0, 165), UDim2.new(0.5, -65, 0.3, 0)
TextBox.Visible, SearchButton.Visible, ClearButton.Visible, SpeedButton.Visible, AutoWalkButton.Visible, PingLabel.Visible, FullAutoButton.Visible = true, true, true, true, true, true, true
MinButton.Size, MinButton.Position, MinButton.Text = UDim2.new(0.4, 0, 0.08, 0), UDim2.new(0.05, 0, 0.86, 0), "Minimize"
end
end)
SearchButton.MouseButton1Click:Connect(function()
if TextBox.Text ~= "" then
fireColorRemote(TextBox.Text)
scan(TextBox.Text)
end
end)
ClearButton.MouseButton1Click:Connect(function() clear() TextBox.Text = "" end)
best