
Key RequiredUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local UIS = UserInputService
local Config = {
targeting = true,
strength = 0.55,
fov = 100,
range = 250,
aimPoint = "Chest",
scopedOnly = false,
showLocked = true,
silentAim = false,
silentAimFov = 20,
visuals = true,
boxes = true,
names = true,
health = true,
distance = false,
tracers = false,
dot = false,
boxColor = Color3.fromRGB(255, 80, 80),
visualRange = 300,
recoil = true,
recoilStrength = 0.8,
autoFire = false,
}
local SignalManager
local CameraHandler
local BulletHandler
local function pcallRequire(inst)
local ok, mod = pcall(require, inst)
if ok and typeof(mod) == "table" then
return mod
end
return nil
end
local function resolveModules()
if not SignalManager then
local sig = ReplicatedStorage:FindFirstChild("SignalManager")
if sig then
SignalManager = pcallRequire(sig)
end
end
if not CameraHandler then
local mm = ReplicatedStorage:FindFirstChild("ModuleScripts")
if mm then
local guns = mm:FindFirstChild("GunModules")
if guns then
local fw = guns:FindFirstChild("GunFramework")
if fw then
local ch = fw:FindFirstChild("CameraHandler")
if ch then
CameraHandler = pcallRequire(ch)
end
end
end
end
end
if not BulletHandler then
local mm = ReplicatedStorage:FindFirstChild("ModuleScripts")
if mm then
local guns = mm:FindFirstChild("GunModules")
if guns then
local bh = guns:FindFirstChild("BulletHandler")
if bh then
BulletHandler = pcallRequire(bh)
end
end
end
end
end
local function applyRecoilHook()
resolveModules()
if not CameraHandler then
return
end
if not CameraHandler.__origAccel then
CameraHandler.__origAccel = CameraHandler.accelerate
end
if CameraHandler.__hookedBy6ij3 then
return
end
CameraHandler.__hookedBy6ij3 = true
local orig = CameraHandler.__origAccel
CameraHandler.accelerate = function(self, d, s, spec, tag, ...)
if Config.recoil and tag == "gun_recoil" and typeof(spec) == "table" then
local m = 1 - Config.recoilStrength
if m <= 0.001 then
return
end
local ns = {}
for k, v in pairs(spec) do
if typeof(v) == "number" then
ns[k] = v * m
elseif typeof(v) == "table" and v.min and v.max then
ns[k] = { min = v.min * m, max = v.max * m }
else
ns[k] = v
end
end
return orig(self, d, s, ns, tag, ...)
end
return orig(self, d, s, spec, tag, ...)
end
end
local function enemyList()
local out = {}
for _, p in ipairs(Players:GetPlayers()) do
if p ~= LocalPlayer then
local c = p.Character
if c and c.Parent then
local hum = c:FindFirstChildOfClass("Humanoid")
local hrp = c:FindFirstChild("HumanoidRootPart")
if hum and hrp and hum.Health > 0 then
out[#out + 1] = c
end
end
end
end
return out
end
local function targetPoint(c)
if Config.aimPoint == "Head" then
local hd = c:FindFirstChild("Head")
if hd then
return hd.Position
end
end
local hrp = c:FindFirstChild("HumanoidRootPart")
if hrp then
return hrp.Position + Vector3.new(0, 1.2, 0)
end
return nil
end
local function bestTarget(camPos, look, maxAng)
local bestChar
local bestScore
for _, c in ipairs(enemyList()) do
local tp = targetPoint(c)
if tp then
local to = tp - camPos
local dist = to.Magnitude
if dist > 0.5 and dist <= Config.range then
local dir = to.Unit
local ang = math.deg(math.acos(math.clamp(look:Dot(dir), -1, 1)))
if ang <= maxAng then
local score = ang / dist
if not bestScore or score < bestScore then
bestChar = c
bestScore = score
end
end
end
end
end
return bestChar
end
local function applySilentAimHook()
resolveModules()
if not BulletHandler then
return
end
if not BulletHandler.__origFire then
BulletHandler.__origFire = BulletHandler.Fire
end
if BulletHandler.__silentHooked then
return
end
BulletHandler.__silentHooked = true
local orig = BulletHandler.__origFire
BulletHandler.Fire = function(p1)
if Config.silentAim and typeof(p1) == "table" then
local misc = p1.Misc
local origin = p1.Origin
if typeof(misc) == "table" and typeof(misc.CamCFrame) == "CFrame" and typeof(origin) == "Vector3" then
local target = bestTarget(origin, misc.CamCFrame.LookVector, Config.silentAimFov)
if target then
local tp = targetPoint(target)
if tp then
local dir = (tp - origin).Unit
if typeof(dir) == "Vector3" then
p1.Direction = dir
p1.Misc.CamCFrame = CFrame.lookAt(origin, tp)
end
end
end
end
end
return orig(p1)
end
end
pcall(cleardrawcache)
local drawLock = Drawing.new("Line")
local drawStore = {}
local function getTool()
local char = LocalPlayer.Character
if not char then
return nil
end
return char:FindFirstChildOfClass("Tool")
end
local lockedChar
RunService:BindToRenderStep("FpsAim", Enum.RenderPriority.Camera.Value + 2, function(dt)
pcall(function()
lockedChar = nil
if not Config.targeting then
return
end
local char = LocalPlayer.Character
if not char or not char:FindFirstChildOfClass("Humanoid") then
return
end
if Config.scopedOnly and not UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
return
end
local cam = workspace.CurrentCamera
if not cam then
return
end
local pos = cam.CFrame.Position
local look = cam.CFrame.LookVector
local target = bestTarget(pos, look, Config.fov)
lockedChar = target
if not target then
return
end
local tp = targetPoint(target)
if not tp then
return
end
local desired = (tp - pos).Unit
local current = cam.CFrame.LookVector
local alpha = 1 - math.pow(1 - Config.strength, dt * 60)
local newLook = current:Lerp(desired, math.clamp(alpha, 0, 1))
local up = cam.CFrame.UpVector
cam.CFrame = CFrame.lookAt(pos, pos + newLook, up)
end)
end)
local function getSet(c)
local s = drawStore[c]
if not s then
s = {
box = Drawing.new("Quad"),
name = Drawing.new("Text"),
hp = Drawing.new("Text"),
dist = Drawing.new("Text"),
tracer = Drawing.new("Line"),
dot = Drawing.new("Circle"),
}
s.box.Filled = false
s.box.Thickness = 1.5
s.name.Size = 13
s.name.Font = Drawing.Fonts.UI
s.name.Center = true
s.name.Outline = true
s.name.OutlineColor = Color3.fromRGB(0, 0, 0)
s.hp.Size = 12
s.hp.Font = Drawing.Fonts.UI
s.hp.Center = true
s.hp.Outline = true
s.hp.OutlineColor = Color3.fromRGB(0, 0, 0)
s.dist.Size = 11
s.dist.Font = Drawing.Fonts.UI
s.dist.Center = true
s.dist.Outline = true
s.dist.OutlineColor = Color3.fromRGB(0, 0, 0)
s.dot.Filled = true
s.dot.Radius = 3
drawStore[c] = s
end
return s
end
local function hideAll()
for _, s in pairs(drawStore) do
for _, d in pairs(s) do
d.Visible = false
end
end
drawLock.Visible = false
end
local function boxFor(c)
local hrp = c:FindFirstChild("HumanoidRootPart")
local hd = c:FindFirstChild("Head")
if not hrp then
return nil
end
local cam = workspace.CurrentCamera
local _, size = c:GetBoundingBox()
local topPos
if hd then
topPos = hd.Position + Vector3.new(0, size.Y * 0.12, 0)
else
topPos = hrp.Position + Vector3.new(0, 1.8, 0)
end
local botPos = hrp.Position - Vector3.new(0, size.Y * 0.62, 0)
local tv = cam:WorldToViewportPoint(topPos)
local bv = cam:WorldToViewportPoint(botPos)
if tv.Z <= 0 or bv.Z <= 0 then
return nil
end
local h = math.max(math.abs(tv.Y - bv.Y), 6)
local w = h * 0.6
local cx = (tv.X + bv.X) / 2
local y = math.min(tv.Y, bv.Y)
return cx - w / 2, y, w, h, tv.X, tv.Y
end
RunService:BindToRenderStep("FpsVisuals", Enum.RenderPriority.Camera.Value + 3, function()
pcall(function()
hideAll()
if not Config.visuals then
return
end
local cam = workspace.CurrentCamera
if not cam then
return
end
local pos = cam.CFrame.Position
local vp = cam.ViewportSize
for _, c in ipairs(enemyList()) do
local hrp = c:FindFirstChild("HumanoidRootPart")
if hrp then
local dist = (hrp.Position - pos).Magnitude
if dist <= Config.visualRange then
local s = getSet(c)
local hum = c:FindFirstChildOfClass("Humanoid")
local x, y, w, h, hx, hy = boxFor(c)
if x then
if Config.boxes then
local b = s.box
b.Visible = true
b.Color = Config.boxColor
b.Transparency = 1
b.PointA = Vector2.new(x, y)
b.PointB = Vector2.new(x + w, y)
b.PointC = Vector2.new(x + w, y + h)
b.PointD = Vector2.new(x, y + h)
end
if Config.names then
local n = s.name
n.Visible = true
n.Text = c.Name
n.Position = Vector2.new(x + w / 2, y - 16)
n.Color = Color3.fromRGB(255, 255, 255)
n.Transparency = 1
end
if Config.health and hum then
local hpt = s.hp
hpt.Visible = true
hpt.Text = math.floor(hum.Health) .. " HP"
hpt.Position = Vector2.new(x + w / 2, y + h + 2)
local ratio = hum.Health / hum.MaxHealth
hpt.Color = ratio > 0.5 and Color3.fromRGB(0, 255, 0) or (ratio > 0.25 and Color3.fromRGB(255, 255, 0) or Color3.fromRGB(255, 60, 60))
hpt.Transparency = 1
end
if Config.distance then
local dt = s.dist
dt.Visible = true
dt.Text = tostring(math.floor(dist))
dt.Position = Vector2.new(x + w + 6, y + h / 2)
dt.Color = Color3.fromRGB(255, 255, 255)
dt.Transparency = 1
end
if Config.dot then
local d = s.dot
d.Visible = true
d.Position = Vector2.new(hx, hy)
d.Color = Config.boxColor
d.Transparency = 1
end
end
if Config.tracers then
local t = s.tracer
local tv2 = cam:WorldToViewportPoint(hrp.Position)
if tv2.Z > 0 then
t.Visible = true
t.From = Vector2.new(vp.X / 2, vp.Y)
t.To = Vector2.new(tv2.X, tv2.Y)
t.Color = Config.boxColor
t.Thickness = 1
t.Transparency = 1
end
end
end
end
end
if Config.showLocked and lockedChar and lockedChar.Parent then
local hrp = lockedChar:FindFirstChild("HumanoidRootPart")
if hrp then
local tv2 = cam:WorldToViewportPoint(hrp.Position)
if tv2.Z > 0 then
drawLock.Visible = true
drawLock.From = Vector2.new(vp.X / 2, vp.Y)
drawLock.To = Vector2.new(tv2.X, tv2.Y)
drawLock.Color = Color3.fromRGB(255, 255, 255)
drawLock.Thickness = 2
drawLock.Transparency = 1
end
end
end
end)
end)
local autoTask
local function stopAuto()
if autoTask then
task.cancel(autoTask)
autoTask = nil
end
end
local function autoLoop()
while true do
task.wait(0.03)
if not Config.autoFire then
break
end
local tool = getTool()
local held = UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton1)
if tool and held and not (tool:GetAttribute("isAuto") == true) and SignalManager then
SignalManager.Fire("FireWeapon", Enum.UserInputState.Begin)
task.wait(0.02)
SignalManager.Fire("FireWeapon", Enum.UserInputState.End)
local rate = tonumber(tool:GetAttribute("FireRate")) or 0.2
task.wait(math.max(rate * 0.98, 0.05))
end
end
autoTask = nil
end
local function startAuto()
stopAuto()
resolveModules()
autoTask = task.spawn(autoLoop)
end
local function cleanup()
stopAuto()
RunService:UnbindFromRenderStep("FpsAim")
RunService:UnbindFromRenderStep("FpsVisuals")
for _, s in pairs(drawStore) do
for _, d in pairs(s) do
pcall(function()
d:Remove()
end)
end
end
drawStore = {}
pcall(function()
drawLock:Remove()
end)
if CameraHandler then
if CameraHandler.__origAccel then
CameraHandler.accelerate = CameraHandler.__origAccel
CameraHandler.__origAccel = nil
end
CameraHandler.__hookedBy6ij3 = nil
end
if BulletHandler then
if BulletHandler.__origFire then
BulletHandler.Fire = BulletHandler.__origFire
BulletHandler.__origFire = nil
end
BulletHandler.__silentHooked = nil
end
end
applyRecoilHook()
applySilentAimHook()
local build
local okFetch = pcall(function()
build = loadstring(game:HttpGet("https://sirius.menu/gen2"))
end)
if not okFetch or typeof(build) ~= "function" then
cleanup()
return
end
local okInit, Rayfield = pcall(build)
if not okInit or typeof(Rayfield) ~= "table" then
cleanup()
return
end
local window = Rayfield:CreateWindow({
name = "6ij3 Fps hub",
subtitle = "Flick",
})
local aimTab = window:CreateTab({ name = "Targeting" })
local visTab = window:CreateTab({ name = "ESP" })
local wepTab = window:CreateTab({ name = "Weapon" })
local genTab = window:CreateTab({ name = "General" })
aimTab:CreateToggle({
name = "Target Lock",
value = Config.targeting,
callback = function(v)
Config.targeting = v
end,
})
aimTab:CreateSlider({
name = "Strength",
range = { 5, 100 },
increment = 1,
suffix = "%",
value = 55,
callback = function(v)
Config.strength = v / 100
end,
})
aimTab:CreateSlider({
name = "FOV",
range = { 10, 180 },
increment = 1,
suffix = "deg",
value = 100,
callback = function(v)
Config.fov = v
end,
})
aimTab:CreateSlider({
name = "Range",
range = { 50, 400 },
increment = 10,
suffix = " studs",
value = 250,
callback = function(v)
Config.range = v
end,
})
aimTab:CreateDropdown({
name = "Aim point",
options = { "Chest", "Head" },
value = "Chest",
callback = function(sel)
Config.aimPoint = sel
end,
})
aimTab:CreateToggle({
name = "While scoped only",
description = "Pulls only while you hold right click",
value = false,
callback = function(v)
Config.scopedOnly = v
end,
})
aimTab:CreateToggle({
name = "Show locked target",
description = "Draws a line to the current target",
value = true,
callback = function(v)
Config.showLocked = v
end,
})
aimTab:CreateToggle({
name = "Silent aim",
description = "Bullets bend to your target while your camera stays put",
value = false,
callback = function(v)
Config.silentAim = v
end,
})
aimTab:CreateSlider({
name = "Silent aim FOV",
description = "Max angle from your crosshair to snap a shot to",
range = { 5, 90 },
increment = 1,
suffix = "deg",
value = 20,
callback = function(v)
Config.silentAimFov = v
end,
})
visTab:CreateToggle({
name = "ESP",
value = Config.visuals,
callback = function(v)
Config.visuals = v
end,
})
visTab:CreateToggle({
name = "Boxes",
value = Config.boxes,
callback = function(v)
Config.boxes = v
end,
})
visTab:CreateToggle({
name = "Names",
value = Config.names,
callback = function(v)
Config.names = v
end,
})
visTab:CreateToggle({
name = "Health",
value = Config.health,
callback = function(v)
Config.health = v
end,
})
visTab:CreateToggle({
name = "Distance",
value = Config.distance,
callback = function(v)
Config.distance = v
end,
})
visTab:CreateToggle({
name = "Tracers",
value = Config.tracers,
callback = function(v)
Config.tracers = v
end,
})
visTab:CreateToggle({
name = "Head dot",
value = Config.dot,
callback = function(v)
Config.dot = v
end,
})
visTab:CreateColorPicker({
name = "Color",
color = Config.boxColor,
callback = function(c)
Config.boxColor = c
end,
})
visTab:CreateSlider({
name = "Range",
range = { 50, 400 },
increment = 10,
suffix = " studs",
value = 300,
callback = function(v)
Config.visualRange = v
end,
})
wepTab:CreateToggle({
name = "Recoil control",
value = Config.recoil,
callback = function(v)
Config.recoil = v
end,
})
wepTab:CreateSlider({
name = "Recoil strength",
description = "How much of the camera kick is removed",
range = { 0, 100 },
increment = 5,
suffix = "%",
value = 80,
callback = function(v)
Config.recoilStrength = v / 100
end,
})
wepTab:CreateToggle({
name = "Auto fire",
description = "Fires while you hold M1 (semi-auto only). Use at your own risk.",
value = false,
callback = function(v)
Config.autoFire = v
if v then
startAuto()
else
stopAuto()
end
end,
})
genTab:CreateButton({
name = "Unload",
callback = function()
cleanup()
pcall(function()
window:Destroy()
end)
end,
})
window:Notify({ title = "6ij3 Fps hub", content = "Loaded" })



is the item s*er and kill aura clickbait
@Rudi_Jager everything works wdym