
KeylessUniversal

local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local CoreGui = game:GetService("CoreGui")
-- [[ DİL VE MARKA AYARLARI ]]
local langs = {"TR", "EN", "DE", "ES"}
local currentLangIdx = 1
local brandName = "ECHO HAX" -- İsim Echo Hax olarak güncellendi
local Localization = {
["TR"] = {start="BAŞLAT", stop="DURDUR", bind="Tuş: ", unstop="LİMİTSİZ MOD", unstop_on="MOD: AÇIK", clicks="TIK: ", warn="!! KASMA UYARISI !!", ask="Emin misin?\n(Limit Kalkar)", yes="EVET", no="HAYIR"},
["EN"] = {start="START", stop="STOP", bind="Bind: ", unstop="UNSTOPPABLE", unstop_on="MODE: ON", clicks="CLICKS: ", warn="!! LAGGING !!", ask="Are you sure?\n(No CPS Limit)", yes="YES", no="NO"},
["DE"] = {start="START", stop="STOPP", bind="Taste: ", unstop="UNSTOPPABLE", unstop_on="MODUS: AN", clicks="KLICKS: ", warn="!! LAG-WARNUNG !!", ask="Bist du sicher?\n(Kein Limit)", yes="JA", no="NEIN"},
["ES"] = {start="INICIAR", stop="PARAR", bind="Tecla: ", unstop="IMPARABLE", unstop_on="MODO: ACT.", clicks="CLICKS: ", warn="!! ADVERTENCIA !!", ask="¿Estás seguro?\n(Sin límite)", yes="SÍ", no="NO"}
}
local clicking = false
local cps = 10
local maxCPS = 3000
local totalClicks = 0
local keybind = Enum.KeyCode.F
local unstoppable = false
local minimized = false
local running = true
local settingBind = false
if CoreGui:FindFirstChild("EchoHax_Ultra") then CoreGui.EchoHax_Ultra:Destroy() end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "EchoHax_Ultra"
ScreenGui.Parent = CoreGui
local Main = Instance.new("Frame")
Main.Name = "Main"
Main.Parent = ScreenGui
Main.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
Main.Position = UDim2.new(0.5, -125, 0.5, -180)
Main.Size = UDim2.new(0, 250, 0, 380)
Main.Active = true
Main.Draggable = true
Main.ClipsDescendants = true
Instance.new("UICorner", Main).CornerRadius = UDim.new(0, 10)
local Stroke = Instance.new("UIStroke", Main)
Stroke.Thickness = 3
Stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
task.spawn(function()
while running do
for i = 0, 1, 0.01 do
if not running then break end
Stroke.Color = Color3.fromHSV(i, 0.8, 1)
task.wait(0.05)
end
end
end)
local TopBar = Instance.new("Frame", Main)
TopBar.Size = UDim2.new(1, 0, 0, 45)
TopBar.BackgroundTransparency = 1
TopBar.ZIndex = 5
local Title = Instance.new("TextLabel", TopBar)
Title.Size = UDim2.new(1, 0, 1, 0)
Title.Text = brandName
Title.TextColor3 = Color3.new(1, 1, 1)
Title.TextSize = 18
Title.Font = Enum.Font.LuckiestGuy
Title.BackgroundTransparency = 1
Title.ZIndex = 5
-- [[ DİL BUTONU - MENÜYLE UYUMLU ]]
local LangBtn = Instance.new("TextButton", TopBar)
LangBtn.Size = UDim2.new(0, 32, 0, 25)
LangBtn.Position = UDim2.new(1, -75, 0, 10)
LangBtn.Text = "TR"
LangBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
LangBtn.TextColor3 = Color3.new(1,1,1)
LangBtn.TextSize = 12
LangBtn.Font = Enum.Font.GothamBold
LangBtn.ZIndex = 6
local LCorner = Instance.new("UICorner", LangBtn)
LCorner.CornerRadius = UDim.new(0, 5)
local LStroke = Instance.new("UIStroke", LangBtn)
LStroke.Color = Color3.fromRGB(100, 100, 100)
LStroke.Thickness = 1
local MiniBtn = Instance.new("TextButton", TopBar)
MiniBtn.Size = UDim2.new(0, 25, 0, 25)
MiniBtn.Position = UDim2.new(0, 10, 0, 10)
MiniBtn.Text = "-"
MiniBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
MiniBtn.TextColor3 = Color3.new(1,1,1)
MiniBtn.ZIndex = 6
Instance.new("UICorner", MiniBtn).CornerRadius = UDim.new(1, 0)
local CloseBtn = Instance.new("TextButton", TopBar)
CloseBtn.Size = UDim2.new(0, 25, 0, 25)
CloseBtn.Position = UDim2.new(1, -35, 0, 10)
CloseBtn.Text = "X"
CloseBtn.BackgroundColor3 = Color3.fromRGB(120, 0, 0)
CloseBtn.TextColor3 = Color3.new(1,1,1)
CloseBtn.ZIndex = 6
Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(1, 0)
local Content = Instance.new("Frame", Main)
Content.Name = "Content"
Content.Position = UDim2.new(0, 0, 0, 45)
Content.Size = UDim2.new(1, 0, 1, -45)
Content.BackgroundTransparency = 1
Content.ZIndex = 2
local CPSInput = Instance.new("TextBox", Content)
CPSInput.Position = UDim2.new(0.1, 0, 0.05, 0)
CPSInput.Size = UDim2.new(0.8, 0, 0, 40)
CPSInput.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
CPSInput.Text = "10"
CPSInput.TextColor3 = Color3.new(1,1,1)
CPSInput.Font = Enum.Font.Code
CPSInput.ZIndex = 3
Instance.new("UICorner", CPSInput)
local Tooltip = Instance.new("TextLabel", Content)
Tooltip.Size = UDim2.new(0.8, 0, 0, 20)
Tooltip.Position = UDim2.new(0.1, 0, 0.16, 0)
Tooltip.TextColor3 = Color3.fromRGB(255, 50, 50)
Tooltip.TextSize = 12
Tooltip.Font = Enum.Font.GothamBold
Tooltip.BackgroundTransparency = 1
Tooltip.Visible = false
Tooltip.ZIndex = 3
local StartBtn = Instance.new("TextButton", Content)
StartBtn.Position = UDim2.new(0.1, 0, 0.28, 0)
StartBtn.Size = UDim2.new(0.8, 0, 0, 50)
StartBtn.BackgroundColor3 = Color3.fromRGB(80, 0, 180)
StartBtn.TextColor3 = Color3.new(1,1,1)
StartBtn.Font = Enum.Font.GothamBold
StartBtn.ZIndex = 3
Instance.new("UICorner", StartBtn)
local BindBtn = Instance.new("TextButton", Content)
BindBtn.Position = UDim2.new(0.1, 0, 0.48, 0)
BindBtn.Size = UDim2.new(0.8, 0, 0, 40)
BindBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
BindBtn.TextColor3 = Color3.new(1,1,1)
BindBtn.ZIndex = 3
Instance.new("UICorner", BindBtn)
local UnstopBtn = Instance.new("TextButton", Content)
UnstopBtn.Position = UDim2.new(0.1, 0, 0.68, 0)
UnstopBtn.Size = UDim2.new(0.8, 0, 0, 40)
UnstopBtn.BackgroundColor3 = Color3.fromRGB(150, 0, 100)
UnstopBtn.TextColor3 = Color3.new(1,1,1)
UnstopBtn.BackgroundTransparency = 0.5
UnstopBtn.ZIndex = 3
Instance.new("UICorner", UnstopBtn)
local ClickDisplay = Instance.new("TextLabel", Content)
ClickDisplay.Size = UDim2.new(1, 0, 0, 30)
ClickDisplay.Position = UDim2.new(0, 0, 0.85, 0)
ClickDisplay.TextColor3 = Color3.new(1,1,1)
ClickDisplay.Font = Enum.Font.GothamBold
ClickDisplay.BackgroundTransparency = 1
ClickDisplay.ZIndex = 3
local function updateLanguage()
local code = langs[currentLangIdx]
local data = Localization[code]
LangBtn.Text = code
StartBtn.Text = clicking and data.stop or data.start
BindBtn.Text = data.bind .. keybind.Name
UnstopBtn.Text = unstoppable and data.unstop_on or data.unstop
ClickDisplay.Text = data.clicks .. totalClicks
Tooltip.Text = data.warn
end
LangBtn.MouseButton1Click:Connect(function()
currentLangIdx = currentLangIdx + 1
if currentLangIdx > #langs then currentLangIdx = 1 end
updateLanguage()
end)
local WarnFrame = Instance.new("Frame", ScreenGui)
WarnFrame.Size = UDim2.new(0, 220, 0, 120)
WarnFrame.Position = UDim2.new(0.5, -110, 0.5, -60)
WarnFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
WarnFrame.Visible = false
WarnFrame.ZIndex = 20
Instance.new("UICorner", WarnFrame)
local WarnLabel = Instance.new("TextLabel", WarnFrame)
WarnLabel.Size = UDim2.new(1, 0, 0.6, 0)
WarnLabel.Position = UDim2.new(0, 0, 0, 5)
WarnLabel.BackgroundTransparency = 1
WarnLabel.TextColor3 = Color3.new(1, 1, 1)
WarnLabel.TextSize = 14
WarnLabel.Font = Enum.Font.GothamBold
WarnLabel.ZIndex = 21
local Yes = Instance.new("TextButton", WarnFrame)
Yes.Size = UDim2.new(0.4, 0, 0.25, 0)
Yes.Position = UDim2.new(0.05, 0, 0.65, 0)
Yes.BackgroundColor3 = Color3.fromRGB(0, 120, 0)
Yes.TextColor3 = Color3.new(1,1,1)
Yes.Font = Enum.Font.GothamBold
Yes.ZIndex = 21
Instance.new("UICorner", Yes)
local No = Instance.new("TextButton", WarnFrame)
No.Size = UDim2.new(0.4, 0, 0.25, 0)
No.Position = UDim2.new(0.55, 0, 0.65, 0)
No.BackgroundColor3 = Color3.fromRGB(120, 0, 0)
No.TextColor3 = Color3.new(1,1,1)
No.Font = Enum.Font.GothamBold
No.ZIndex = 21
Instance.new("UICorner", No)
local function toggleClicker()
clicking = not clicking
updateLanguage()
StartBtn.BackgroundColor3 = clicking and Color3.fromRGB(200, 0, 0) or Color3.fromRGB(80, 0, 180)
end
local function updateCPS()
local val = tonumber(CPSInput.Text)
if val then
if not unstoppable then
val = math.clamp(val, 1, maxCPS)
CPSInput.Text = tostring(val)
end
cps = val
Tooltip.Visible = (val >= 500)
end
end
CPSInput.FocusLost:Connect(updateCPS)
StartBtn.MouseButton1Click:Connect(toggleClicker)
BindBtn.MouseButton1Click:Connect(function()
settingBind = true
BindBtn.Text = "..."
end)
UIS.InputBegan:Connect(function(input, processed)
if processed then return end
if settingBind and input.UserInputType == Enum.UserInputType.Keyboard then
keybind = input.KeyCode
updateLanguage()
settingBind = false
elseif input.KeyCode == keybind then
toggleClicker()
end
end)
MiniBtn.MouseButton1Click:Connect(function()
minimized = not minimized
local targetSize = minimized and UDim2.new(0, 250, 0, 45) or UDim2.new(0, 250, 0, 380)
TweenService:Create(Main, TweenInfo.new(0.3, Enum.EasingStyle.Sine), {Size = targetSize}):Play()
Content.Visible = not minimized
MiniBtn.Text = minimized and "+" or "-"
end)
CloseBtn.MouseButton1Click:Connect(function()
running = false
ScreenGui:Destroy()
end)
UnstopBtn.MouseButton1Click:Connect(function()
local data = Localization[langs[currentLangIdx]]
WarnLabel.Text = data.ask
Yes.Text = data.yes
No.Text = data.no
WarnFrame.Visible = true
end)
No.MouseButton1Click:Connect(function() WarnFrame.Visible = false end)
Yes.MouseButton1Click:Connect(function()
unstoppable = true
UnstopBtn.BackgroundTransparency = 0
updateLanguage()
WarnFrame.Visible = false
updateCPS()
end)
local accumulator = 0
RunService.Heartbeat:Connect(function(dt)
if not running then return end
if clicking then
local interval = 1 / cps
accumulator = accumulator + dt
while accumulator >= interval do
if mouse1click then mouse1click() end
totalClicks = totalClicks + 1
ClickDisplay.Text = Localization[langs[currentLangIdx]].clicks .. totalClicks
accumulator = accumulator - interval
if not clicking or interval <= 0 then break end
end
else
accumulator = 0
end
end)
updateLanguage()



its so lagged