
KeylessUniversal

local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
local targetSpeed = 16
local isScriptActive = true
local isFirstOpen = true -- "Speed: ?" yazısını kontrol etmek için
-- [1] BİLDİRİM GÖNDERME
pcall(function()
StarterGui:SetCore("SendNotification", {
Title = "SPEED ADJUSTER",
Text = 'Enter the value "0" to close the panel.',
Duration = 2.5
})
end)
-- [2] GUI OLUŞTURMA (Oyun içi Anti-GUI tespitini engellemek için CoreGui'ye saklanır)
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "SafeSpeedAdjuster"
screenGui.ResetOnSpawn = false
local success, coreGui = pcall(function() return game:GetService("CoreGui") end)
screenGui.Parent = (success and coreGui) and coreGui or player:WaitForChild("PlayerGui")
local speedLabel = Instance.new("TextLabel")
speedLabel.Size = UDim2.new(0, 0, 0, 30)
speedLabel.AutomaticSize = Enum.AutomaticSize.X -- Sayıya göre sağa/sola otomatik uzama
speedLabel.Position = UDim2.new(0, 20, 0, 20)
speedLabel.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
speedLabel.BackgroundTransparency = 0.4 -- %60 Opaklık
speedLabel.TextColor3 = Color3.fromRGB(0, 255, 0)
speedLabel.TextSize = 16
speedLabel.Font = Enum.Font.SourceSansBold
speedLabel.Text = "Speed: ?"
speedLabel.Active = true
speedLabel.ClipsDescendants = true
speedLabel.Parent = screenGui
-- Yazının kenarlara yapışmaması için boşluk ayarlayıcı
local padding = Instance.new("UIPadding")
padding.PaddingLeft = UDim.new(0, 10)
padding.PaddingRight = UDim.new(0, 10)
padding.Parent = speedLabel
local speedBox = Instance.new("TextBox")
speedBox.Size = UDim2.new(0, 0, 0, 0)
speedBox.BackgroundTransparency = 1
speedBox.Text = ""
speedBox.TextColor3 = Color3.fromRGB(255, 255, 255)
speedBox.TextTransparency = 1
speedBox.ClearTextOnFocus = true
speedBox.Parent = speedLabel
-- [3] KUSURSUZ SÜRÜKLEME MEKANİZMASI
local dragging, dragInput, dragStart, startPos
local isJustClick = false -- Sürükleme mi tıklama mı olduğunu ayırt etmek için
speedLabel.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
isJustClick = true
dragStart = input.Position
startPos = speedLabel.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
if isJustClick then
isFirstOpen = false
speedBox:CaptureFocus()
end
end
end)
end
end)
speedLabel.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
if (input.Position - dragStart).Magnitude > 5 then
isJustClick = false -- Eğer 5 pikselden fazla kaydırılırsa tıklama iptal, sürükleme sayılır
end
local delta = input.Position - dragStart
speedLabel.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
end)
-- [4] SAYI GİRİŞİ VE KAPATMA (0) MEKANİZMASI
speedBox:GetPropertyChangedSignal("Text"):Connect(function()
if speedBox:IsFocused() then
speedLabel.Text = speedBox.Text
end
end)
speedBox.FocusLost:Connect(function(enterPressed)
local newSpeed = tonumber(speedBox.Text)
if newSpeed then
if newSpeed == 0 then
-- 0 yazıldıysa her şeyi kapat ve hızı normale döndür
isScriptActive = false
targetSpeed = 16
if player.Character and player.Character:FindFirstChildOfClass("Humanoid") then
player.Character:FindFirstChildOfClass("Humanoid").WalkSpeed = 16
end
screenGui:Destroy()
return
else
targetSpeed = newSpeed
end
end
if isScriptActive then
speedBox.Text = ""
speedLabel.Text = tostring(math.floor(targetSpeed))
end
end)
-- [5] GELİŞMİŞ VE ÇÖKMEYEN ANTI-CHEAT BYPASS
if hookmetamethod and checkcaller then
local oldIndex, oldNewIndex, oldNameCall
oldIndex = hookmetamethod(game, "__index", function(t, k)
-- Çökme (Stack Overflow) engellendi: Önce string (k) kontrol ediliyor!
if not checkcaller() and k == "WalkSpeed" then
if typeof(t) == "Instance" and t:IsA("Humanoid") then
return 16 -- Oyun okumaya çalışırsa 16 döner
end
end
return oldIndex(t, k)
end)
oldNewIndex = hookmetamethod(game, "__newindex", function(t, k, v)
if not checkcaller() and k == "WalkSpeed" then
if typeof(t) == "Instance" and t:IsA("Humanoid") then
return -- Oyun hızı değiştirmeye çalışırsa yoksay (Reddet)
end
end
return oldNewIndex(t, k, v)
end)
oldNameCall = hookmetamethod(game, "__namecall", function(t, ...)
local method = getnamecallmethod()
local args = {...}
-- Anti-hile, hızın ne zaman değiştiğini takip eden bir sinyal (GetPropertyChangedSignal) kurmak isterse sahte bir event gönder.
if not checkcaller() and method == "GetPropertyChangedSignal" and args[1] == "WalkSpeed" then
if typeof(t) == "Instance" and t:IsA("Humanoid") then
return Instance.new("BindableEvent").Event
end
end
return oldNameCall(t, ...)
end)
end
-- [6] SIFIR KASAN HIZ DÖNGÜSÜ (RunService)
local speedLoop
speedLoop = RunService.Heartbeat:Connect(function()
if not isScriptActive then
speedLoop:Disconnect() -- Script kapandıysa döngüyü tamamen yok et
return
end
local character = player.Character
if character then
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
if humanoid.WalkSpeed ~= targetSpeed then
humanoid.WalkSpeed = targetSpeed
end
-- Textbox'a yazı yazılmıyorsa ve panel ilk halinde değilse hızı güncelle
if not speedBox:IsFocused() and not isFirstOpen then
speedLabel.Text = tostring(math.floor(humanoid.WalkSpeed))
end
end
end
end)



Not very creative, and this can be detected very easily by games. Use at your own risk!
@voltex Thanks for the heads up. For games with high anti-cheat Protection I didn't. I don't know if you would use it in a high-protection game anyway?
@Meoh The typical user couldn't tell if a game was "high-protection" or not