
KeylessUniversal

local plrs = game:GetService("Players")
local ws = game:GetService("Workspace")
local rs = game:GetService("RunService")
local gui = game:GetService("GuiService")
local rep = game:GetService("ReplicatedStorage")
local lp = plrs.LocalPlayer
local mouse = lp:GetMouse()
getgenv().cfg = {
silent = true, part = "Head", wallcheck = true,
chance = 100, headshot = true,
fov = true, fov_r = 150, fov_c = Color3.fromRGB(0, 255, 200),
trigger = true, trigger_delay = 0.05,
mods = true, no_recoil = true, fast_reload = true, big_hitbox = true,
reload_t = 0.01, bullet_r = 5,
esp = true, esp_bots = true, esp_plrs = true,
tracers = true, names = true,
}
local c = getgenv().cfg
-- fov
local fovCircle = Drawing.new("Circle")
fovCircle.Thickness = 1.5; fovCircle.NumSides = 64
fovCircle.Filled = false; fovCircle.Transparency = 0.7
rs.RenderStepped:Connect(function()
fovCircle.Radius = c.fov_r
fovCircle.Color = c.fov_c
fovCircle.Visible = c.fov
local inset = gui:GetGuiInset()
fovCircle.Position = Vector2.new(mouse.X, mouse.Y + inset.Y)
end)
local function canSee(part, origin)
local rp = RaycastParams.new()
rp.FilterType = Enum.RaycastFilterType.Exclude
local f = {lp.Character, ws.CurrentCamera}
for _, v in ipairs(plrs:GetPlayers()) do
if v ~= lp and v.Character then f[#f+1] = v.Character end
end
if ws:FindFirstChild("bots") then
for _, v in ipairs(ws.bots:GetChildren()) do f[#f+1] = v end
end
rp.FilterDescendantsInstances = f
return ws:Raycast(origin, part.Position - origin, rp) == nil
end
local function getTarget()
local cam = ws.CurrentCamera
if not cam then return end
local bestPart, bestModel, isBot = nil, nil, false
local bestDist = c.fov_r
local inset = gui:GetGuiInset()
local mPos = Vector2.new(mouse.X, mouse.Y + inset.Y)
local function tryModel(mdl, bot)
if not mdl or mdl == lp.Character then return end
local hum = mdl:FindFirstChildOfClass("Humanoid")
local tgt = mdl:FindFirstChild(c.part) or mdl:FindFirstChild("Head")
if not hum or not tgt or hum.Health <= 0 then return end
local screenPos, onScreen = cam:WorldToViewportPoint(tgt.Position)
if not onScreen then return end
local dist = (Vector2.new(screenPos.X, screenPos.Y) - mPos).Magnitude
if dist < bestDist then
if c.wallcheck and not canSee(tgt, cam.CFrame.Position) then return end
bestDist = dist
bestPart = tgt
bestModel = mdl
isBot = bot
end
end
for _, v in ipairs(plrs:GetPlayers()) do
if v ~= lp then tryModel(v.Character, false) end
end
if ws:FindFirstChild("bots") then
for _, v in ipairs(ws.bots:GetChildren()) do tryModel(v, true) end
end
return bestPart, bestModel, isBot
end
local wc = nil
pcall(function() wc = require(rep.client.controllers.WeaponController) end)
if wc and wc.request_fire then
local _fire = nil
_fire = hookfunction(wc.request_fire, newcclosure(function(self, ...)
if not c.silent then return _fire(self, ...) end
local tgt = getTarget()
if tgt and math.random(100) <= c.chance then
local cam = ws.CurrentCamera
local savedCF = cam.CFrame
cam.CFrame = CFrame.new(savedCF.Position, tgt.Position)
local ret = {_fire(self, ...)}
cam.CFrame = savedCF
return unpack(ret)
end
return _fire(self, ...)
end))
end
local zap = nil
pcall(function() zap = require(rep.client.zap) end)
if zap and zap.shoot and zap.shoot.fire then
local _shootFire = nil
_shootFire = hookfunction(zap.shoot.fire, newcclosure(function(data)
if c.silent and data then
local tgt, mdl, bot = getTarget()
if tgt and not bot and math.random(100) <= c.chance then
local cam = ws.CurrentCamera
data.direction = (tgt.Position - (data.origin or cam.CFrame.Position)).Unit
if c.headshot then data.is_headshot = true end
for _, p in ipairs(plrs:GetPlayers()) do
if p.Character == mdl then data.target = p; break end
end
end
end
return _shootFire(data)
end))
end
if zap and zap.shoot_dummy and zap.shoot_dummy.fire then
local _dummyFire = nil
_dummyFire = hookfunction(zap.shoot_dummy.fire, newcclosure(function(data)
if c.silent and data then
local tgt, mdl, bot = getTarget()
if tgt and bot and math.random(100) <= c.chance then
local cam = ws.CurrentCamera
data.direction = (tgt.Position - (data.origin or cam.CFrame.Position)).Unit
if c.headshot then data.is_headshot = true end
data.dummy = mdl
end
end
return _dummyFire(data)
end))
end
local fireTimer = 0
rs.Heartbeat:Connect(function(dt)
if c.mods and wc then
local loadout = wc.loadout
if loadout and loadout.weapon then
local weap = loadout.weapon
local stats = weap.weapon_stats
if stats then
if c.no_recoil then weap.recoil_amount = Vector2.new(0,0) end
if c.fast_reload then stats.reload_duration = c.reload_t end
if c.big_hitbox then stats.bullet_radius = c.bullet_r end
end
end
end
if c.trigger and wc and wc.request_fire then
fireTimer = fireTimer + dt
if fireTimer >= c.trigger_delay then
fireTimer = 0
if getTarget() then
pcall(wc.request_fire, wc)
end
end
end
end)
-- esp stuff
local espObjects = {}
local function addEsp(mdl, bot)
if espObjects[mdl] then return end
local line = Drawing.new("Line")
line.Thickness = 1.5; line.Visible = false
line.Color = bot and Color3.fromRGB(255,170,0) or Color3.fromRGB(255,50,50)
line.Transparency = 0.8
local label = Drawing.new("Text")
label.Size = 14; label.Center = true
label.Outline = true; label.Visible = false
label.Color = Color3.new(1,1,1)
espObjects[mdl] = {line = line, label = label, isBot = bot}
end
local function cleanEsp(mdl)
local obj = espObjects[mdl]
if not obj then return end
obj.line:Remove()
obj.label:Remove()
espObjects[mdl] = nil
end
rs.RenderStepped:Connect(function()
local cam = ws.CurrentCamera
if not c.esp or not cam then
for _, v in pairs(espObjects) do
v.line.Visible = false
v.label.Visible = false
end
return
end
for _, v in ipairs(plrs:GetPlayers()) do
if v ~= lp and v.Character then addEsp(v.Character, false) end
end
if ws:FindFirstChild("bots") then
for _, v in ipairs(ws.bots:GetChildren()) do addEsp(v, true) end
end
for mdl, obj in pairs(espObjects) do
local head = mdl:FindFirstChild("Head")
local hum = mdl:FindFirstChildOfClass("Humanoid")
if not head or not hum or hum.Health <= 0 or not mdl.Parent then
cleanEsp(mdl)
else
local pos, onScreen = cam:WorldToViewportPoint(head.Position)
if onScreen then
local myRoot = lp.Character and lp.Character:FindFirstChild("HumanoidRootPart")
local d = myRoot and math.floor((myRoot.Position - head.Position).Magnitude) or 0
obj.line.From = Vector2.new(cam.ViewportSize.X/2, cam.ViewportSize.Y)
obj.line.To = Vector2.new(pos.X, pos.Y)
obj.line.Visible = c.tracers
local prefix = obj.isBot and "[BOT] " or ""
obj.label.Position = Vector2.new(pos.X, pos.Y - 25)
obj.label.Text = prefix .. mdl.Name .. " [" .. d .. "m]"
obj.label.Visible = c.names
else
obj.line.Visible = false
obj.label.Visible = false
end
end
end
end)No comments yet for this script.