Itt a script:
(első localtól kell kimácsolni)
local rs = game:GetService("RunService")
local uis = game:GetService("UserInputService")
local Library = loadstring(game:HttpGet("https://raw.githubusercontent.com/xHeptc/
Kavo-UI-Library/main/source.lua"))()
local Window = Library.CreateLib("CNF'S PF-Hack", "DarkTheme")
local AimbotTab = Window:NewTab("Aimbot")
local AimbotSection = AimbotTab:NewSection("Aimbot")
local EspTab = Window:NewTab("ESP")
local EspSection = EspTab:NewSection("ESP")
local ExperimentalTab = Window:NewTab("Experimental")
local SASection = ExperimentalTab:NewSection("Silent Aim")
local BindsTab = Window:NewTab("Binds")
local BindsSection = BindsTab:NewSection("Binds")
local ColorTab = Window:NewTab("Color")
local ColorSection = ColorTab:NewSection("Color")
local AbColor = Color3.fromRGB(255, 128, 128)
local EspColor = Color3.fromRGB(255, 128, 128)
ColorSection:NewColorPicker("Fov Ring Color", "", Color3.fromRGB(255,128,128),
function(color)
AbColor = color
end)
ColorSection:NewColorPicker("Esp Color", "", Color3.fromRGB(255,128,128),
function(color)
EspColor = color
end)
local smoothing = 1
local fov = 500
local wallCheck = false
local maxWalls = 0
local abTargetPart = "Head"
local FOVringList = {}
local function isPointVisible(targetForWallCheck, mw)
local castPoints = {targetForWallCheck.PrimaryPart.Position}
local ignoreList = {targetForWallCheck, game.Players.LocalPlayer.Character,
game.Workspace.CurrentCamera}
local result = workspace.CurrentCamera:GetPartsObscuringTarget(castPoints,
ignoreList)
return #result <= mw
end
AimbotSection:NewToggle("Enabled", "", function(state)
if state then
FOVringList = {}
abLoop = rs.RenderStepped:Connect(function()
for i,v in pairs(FOVringList) do
v:Remove()
end
FOVringList = {}
local FOVring = Drawing.new("Circle")
FOVring.Visible = true
FOVring.Thickness = 2
FOVring.Radius = fov / workspace.CurrentCamera.FieldOfView
FOVring.Transparency = 1
FOVring.Color = AbColor
FOVring.Position = game.Workspace.CurrentCamera.ViewportSize/2
FOVringList[#FOVringList+1] = FOVring
local team
if game.Players.LocalPlayer.Team.Name == "Ghosts" then team =
"Phantoms" else team = "Ghosts" end
local target = Vector2.new(math.huge, math.huge)
local targetPos
local targetPlayer
if game.Workspace.Players:FindFirstChild(team) then
for i,v in
pairs(game.Workspace.Players:FindFirstChild(team):GetChildren()) do
local pos = v[abTargetPart].Position
local ScreenSpacePos, IsOnScreen =
game.Workspace.CurrentCamera:WorldToViewportPoint(pos)
ScreenSpacePos = Vector2.new(ScreenSpacePos.X,
ScreenSpacePos.Y) - game.Workspace.CurrentCamera.ViewportSize/2
if IsOnScreen and ScreenSpacePos.Magnitude < target.Magnitude
and (isPointVisible(v, maxWalls) or not wallCheck) then
target = ScreenSpacePos
targetPos = pos
targetPlayer = v
end
end
end
if target.Magnitude <= fov / workspace.CurrentCamera.FieldOfView and
uis:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
if target ~= Vector2.new(math.huge, math.huge) then
mousemoverel(target.X/smoothing, target.Y/smoothing)
end
end
end)
else
abLoop:Disconnect()
for i,v in pairs(FOVringList) do
v:Remove()
end
end
end)
AimbotSection:NewToggle("Wall Check", "", function(state) wallCheck = state end)
AimbotSection:NewSlider("Max Wallbangs", "Inclusive", 50, 0, function(s) maxWalls =
s end)
AimbotSection:NewSlider("Fov", "", 50000, 500, function(s) fov = s end)
AimbotSection:NewSlider("Smoothing", "", 300, 100, function(s) smoothing = s/100
end)
AimbotSection:NewDropdown("Target Part", "", {"Head", "Torso", "Right Arm", "Left
Arm", "Right Leg", "Left Leg"}, function(currentOption) abTargetPart =
currentOption end)
local saTargetPart = "Head"
local safov = 500
local panicMode = false
local panicDistance = 5
local saWallCheck = false
local saWallBangs = 0
local gunCF
local motor
local sa = false
local saFovRingList = {}
saLoop = rs.RenderStepped:Connect(function()
for i,v in pairs(saFovRingList) do
v:Remove()
end
saFovRingList = {}
if not sa then return end
local FOVring = Drawing.new("Circle")
FOVring.Visible = true
FOVring.Thickness = 2
FOVring.Radius = safov / workspace.CurrentCamera.FieldOfView
FOVring.Transparency = 1
FOVring.Color = AbColor
FOVring.Position = game.Workspace.CurrentCamera.ViewportSize/2
saFovRingList[#saFovRingList+1] = FOVring
local team
if game.Players.LocalPlayer.Team.Name == "Ghosts" then team = "Phantoms" else
team = "Ghosts" end
local targetPos
local last = Vector2.new(math.huge, math.huge)
if game.Workspace.Players:FindFirstChild(team) then
for i,v in pairs(game.Workspace.Players:FindFirstChild(team):GetChildren())
do
local pos = v[saTargetPart].Position
local ScreenSpacePos, IsOnScreen =
game.Workspace.CurrentCamera:WorldToViewportPoint(pos)
ScreenSpacePos = Vector2.new(ScreenSpacePos.X, ScreenSpacePos.Y) -
game.Workspace.CurrentCamera.ViewportSize/2
if (v[saTargetPart].Position -
Workspace.CurrentCamera.CFrame.Position).Magnitude <= panicDistance and panicMode
then
targetPos = pos
break
end
if IsOnScreen and ScreenSpacePos.Magnitude < last.Magnitude and
ScreenSpacePos.Magnitude <= (safov / workspace.CurrentCamera.FieldOfView) and
(isPointVisible(v, saWallBangs) or not saWallCheck) then
last = ScreenSpacePos
targetPos = pos
end
end
end
if targetPos then
motor = Workspace.CurrentCamera:GetChildren()[3].Trigger.Motor6D
local cf = motor.C0
local cf2 = CFrame.new(motor.Part0.CFrame:ToWorldSpace(cf).Position,
targetPos)
gunCF = motor.Part0.CFrame:ToObjectSpace(cf2)
else
gunCF = nil
motor = nil
end
end)
local OldIndex
OldIndex = hookmetamethod(game, "__newindex", newcclosure(function(...)
local Self, Key, Value = ...
if sa and motor and gunCF and Self == motor and Key == "C0" then
return OldIndex(Self, Key, gunCF)
end
return OldIndex(...)
end))
SASection:NewToggle("Silent Aim", "", function(state)
sa = state
end)
SASection:NewToggle("Wall Check", "", function(state) saWallCheck = state end)
SASection:NewSlider("Max Wallbangs", "Inclusive", 50, 0, function(s) saWallBangs =
s end)
SASection:NewSlider("Fov", "", 50000, 500, function(s) safov = s end)
SASection:NewDropdown("Target Part", "", {"Head", "Torso", "Right Arm", "Left Arm",
"Right Leg", "Left Leg"}, function(currentOption)saTargetPart = currentOption end)
SASection:NewToggle("Panic Mode", "Will track closest player if they are within
panic distance", function(state) panicMode = state end)
SASection:NewSlider("Panic Distance", "", 40, 5, function(s) panicDistance = s end)
local LineList = {}
local width = 3
local height = 5
EspSection:NewToggle("Enabled", "", function(state)
if state then
LineList = {}
espLoop = rs.RenderStepped:Connect(function()
for i,v in pairs(LineList) do
if v then
v:Remove()
end
end
local team
if game.Players.LocalPlayer.Team.Name == "Ghosts" then team =
"Phantoms" else team = "Ghosts" end
LineList = {}
if game.Workspace.Players:FindFirstChild(team) then
for i,v in
pairs(game.Workspace.Players:FindFirstChild(team):GetChildren()) do
local pos = v.PrimaryPart.Position
local ScreenSpacePos, IsOnScreen =
game.Workspace.CurrentCamera:WorldToViewportPoint(pos)
a =
game.Workspace.CurrentCamera:WorldToViewportPoint(v.Torso.CFrame:PointToWorldSpace(
Vector3.new(width/2, height/2, 0)))
b =
game.Workspace.CurrentCamera:WorldToViewportPoint(v.Torso.CFrame:PointToWorldSpace(
Vector3.new(-width/2, height/2, 0)))
c =
game.Workspace.CurrentCamera:WorldToViewportPoint(v.Torso.CFrame:PointToWorldSpace(
Vector3.new(-width/2, -height/2, 0)))
d =
game.Workspace.CurrentCamera:WorldToViewportPoint(v.Torso.CFrame:PointToWorldSpace(
Vector3.new(width/2, -height/2, 0)))
a = Vector2.new(a.X, a.Y)
b = Vector2.new(b.X, b.Y)
c = Vector2.new(c.X, c.Y)
d = Vector2.new(d.X, d.Y)
if IsOnScreen then
local Line = Drawing.new("Quad")
Line.Visible = true
Line.PointA = a
Line.PointB = b
Line.PointC = c
Line.PointD = d
Line.Color = EspColor
Line.Thickness = 2
Line.Transparency = 1
LineList[#LineList+1] = Line
end
end
end
end)
else
espLoop:Disconnect()
for i,v in pairs(LineList) do
v:Remove()
end
LineList = {}
end
end)
BindsSection:NewKeybind("Toggle UI", "", Enum.KeyCode.F, function()
Library:ToggleUI()
end)