0% found this document useful (0 votes)
41 views13 pages

Fronthook v2

The document is a Lua script for a game that implements various features such as teleportation kills, ESP (Extra Sensory Perception), and aimbot functionality. It includes settings for team checks, player highlights, and visual indicators for health and distance. The script utilizes game services like Players, RunService, and UserInputService to manage player interactions and visual enhancements in the game environment.

Uploaded by

disponial
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views13 pages

Fronthook v2

The document is a Lua script for a game that implements various features such as teleportation kills, ESP (Extra Sensory Perception), and aimbot functionality. It includes settings for team checks, player highlights, and visual indicators for health and distance. The script utilizes game services like Players, RunService, and UserInputService to manage player interactions and visual enhancements in the game environment.

Uploaded by

disponial
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 13

local TeamCheck = false

local TeamColors = false


local HideFriendly = false
local HideEnemy = false
local Storage = game:GetService("CoreGui")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Neutral = Color3.fromRGB(255, 255, 255)
local Friendly = Color3.fromRGB(47, 211, 61)
local Enemy = Color3.fromRGB(211, 47, 47)

local tpKillEnabled = false


local tpKillKey = Enum.KeyCode.E
local Esp = false
local Names = false
local ColoEs = Color3.fromRGB(255, 255, 255)
local ColoNa = Color3.fromRGB(255, 255, 255)
local HighlightEnabled = false
local HighlightColor = Color3.fromRGB(175, 25, 255)

local TeamCheck = true


local tpKillEnabled = false
local tpKillKey = Enum.KeyCode.E
local Players = game:GetService("Players")

local flyEnabled = false


local flyKey = Enum.KeyCode.F
local flySpeed = 50
local userInputService = game:GetService("UserInputService")

local function tpkill()


if not tpKillEnabled then return end
local camera = game:GetService('Workspace').CurrentCamera
local client = Players.LocalPlayer

local function getClosestPlayer()


local closestPlayer
local shortestDistance = math.huge

for _, player in ipairs(Players:GetPlayers()) do


if player ~= client and player.Character and
player.Character:FindFirstChild('HumanoidRootPart') and player.TeamColor ~=
client.TeamColor then
if not TeamCheck or player.TeamColor ~= client.TeamColor then
local distance = (player.Character.HumanoidRootPart.Position -
client.Character.HumanoidRootPart.Position).Magnitude
if distance < shortestDistance then
shortestDistance = distance
closestPlayer = player
end
end
end
end
return closestPlayer
end

local target = getClosestPlayer()


if target and target.Character and
target.Character:FindFirstChild('HumanoidRootPart') then
local targetPos = target.Character.HumanoidRootPart.Position
if targetPos.Y > 0 then
client.Character.HumanoidRootPart.CFrame = CFrame.new(targetPos +
Vector3.new(0, 3, 0))
else
print("nigga is under the map, skipping teleport.")
end
end
end

game:GetService("RunService").RenderStepped:Connect(function()
if tpKillEnabled then
tpkill()
end
end)

RunService.RenderStepped:Connect(function()
if tpKillEnabled then
tpkill()
end
end)

game:GetService("UserInputService").InputBegan:Connect(function(input,
gameProcessed)
if not gameProcessed and input.KeyCode == tpKillKey then
tpkill()
end
end)

game:GetService("UserInputService").InputBegan:Connect(function(input,
gameProcessed)
if not gameProcessed and input.KeyCode == tpKillKey then
tpkill()
end
end)
local Camera = game:GetService("Workspace").CurrentCamera

local StarterGui = game:GetService("StarterGui")


local Settings = {
Box_Color = Color3.fromRGB(255, 0, 0),
Tracer_Color = Color3.fromRGB(255, 0, 0),
Tracer_Thickness = 1,
Box_Thickness = 1,
Tracer_Origin = "Bottom",
Tracer_FollowMouse = false,
Tracers = false
}

local Team_Check = {
TeamCheck = false,
Green = Color3.fromRGB(0, 255, 0),
Red = Color3.fromRGB(255, 0, 0)
}

local TeamColor = true

local player = game:GetService("Players").LocalPlayer


local camera = game:GetService("Workspace").CurrentCamera
local mouse = player:GetMouse()
local FillColor = Color3.fromRGB(175,25,255)
local DepthMode = "AlwaysOnTop"
local FillTransparency = 0.5
local OutlineColor = Color3.fromRGB(255,255,255)
local OutlineTransparency = 0

local CoreGui = game:FindService("CoreGui")


local Players = game:FindService("Players")
local lp = Players.LocalPlayer
local connections = {}

local Storage = Instance.new("Folder")


Storage.Parent = CoreGui
Storage.Name = "Highlight_Storage"

local function Highlight(plr)


local Highlight = Instance.new("Highlight")
Highlight.Name = plr.Name
Highlight.FillColor = HighlightColor
Highlight.DepthMode = DepthMode
Highlight.FillTransparency = FillTransparency
Highlight.OutlineColor = OutlineColor
Highlight.OutlineTransparency = 0
Highlight.Enabled = HighlightEnabled
Highlight.Parent = Storage

local plrchar = plr.Character


if plrchar then
Highlight.Adornee = plrchar
end

connections[plr] = plr.CharacterAdded:Connect(function(char)
Highlight.Adornee = char
end)
end

for _, player in pairs(Players:GetPlayers()) do


Highlight(player)
end
Players.PlayerAdded:Connect(Highlight)
Players.PlayerRemoving:Connect(function(plr)
local highlight = Storage:FindFirstChild(plr.Name)
if highlight then
highlight:Destroy()
end
if connections[plr] then
connections[plr]:Disconnect()
end
end)

local function NewQuad(thickness, color)


local quad = Drawing.new("Quad")
quad.Visible = false
quad.PointA = Vector2.new(0, 0)
quad.PointB = Vector2.new(0, 0)
quad.PointC = Vector2.new(0, 0)
quad.PointD = Vector2.new(0, 0)
quad.Color = color
quad.Filled = false
quad.Thickness = thickness
quad.Transparency = 1
return quad
end

local function NewLine(thickness, color)


local line = Drawing.new("Line")
line.Visible = false
line.From = Vector2.new(0, 0)
line.To = Vector2.new(0, 0)
line.Color = color
line.Thickness = thickness
line.Transparency = 1
return line
end

local function NewText(size, color)


local text = Drawing.new("Text")
text.Visible = false
text.Size = size
text.Color = color
text.Center = true
text.Outline = true
text.OutlineColor = Color3.fromRGB(0, 0, 0)
text.Text = ""
return text
end

local function Visibility(state, lib)


for _, x in pairs(lib) do
x.Visible = state
end
end

local black = Color3.fromRGB(0, 0, 0)


local connections = {}
local tracers = {}
local names = {}

local function ESPCleanup(plr)

if tracers[plr] then
for _, tracer in pairs(tracers[plr]) do
tracer.Visible = false
tracer:Remove()
end
tracers[plr] = nil
end

if names[plr] then
names[plr].Visible = false
names[plr]:Remove()
names[plr] = nil
end

if connections[plr] then
connections[plr]:Disconnect()
connections[plr] = nil
end
end
local function ESP(plr)

local library = {
blacktracer = NewLine(Settings.Tracer_Thickness * 2, black),
tracer = NewLine(Settings.Tracer_Thickness, Settings.Tracer_Color),
black = NewQuad(Settings.Box_Thickness * 2, black),
box = NewQuad(Settings.Box_Thickness, Settings.Box_Color),
healthbar = NewLine(3, black),
greenhealth = NewLine(1.5, black),
nameText = NewText(15, ColoNa)
}

tracers[plr] = {library.tracer, library.blacktracer}


names[plr] = library.nameText

local function Colorize(color)


for _, x in pairs(library) do
if x ~= library.healthbar and x ~= library.greenhealth and x ~=
library.blacktracer and x ~= library.black then
x.Color = color
end
end
end

local function Updater()


local connection
connection = game:GetService("RunService").RenderStepped:Connect(function()
if plr.Character and plr.Character:FindFirstChild("Humanoid") and
plr.Character:FindFirstChild("HumanoidRootPart") and plr.Character.Humanoid.Health
> 0 and plr.Character:FindFirstChild("Head") then
local HumPos, OnScreen =
camera:WorldToViewportPoint(plr.Character.HumanoidRootPart.Position)
if OnScreen then
local head =
camera:WorldToViewportPoint(plr.Character.Head.Position)
local DistanceY = math.clamp((Vector2.new(head.X, head.Y) -
Vector2.new(HumPos.X, HumPos.Y)).magnitude, 2, math.huge)

local function Size(item)


item.PointA = Vector2.new(HumPos.X + DistanceY, HumPos.Y -
DistanceY * 2)
item.PointB = Vector2.new(HumPos.X - DistanceY, HumPos.Y -
DistanceY * 2)
item.PointC = Vector2.new(HumPos.X - DistanceY, HumPos.Y +
DistanceY * 2)
item.PointD = Vector2.new(HumPos.X + DistanceY, HumPos.Y +
DistanceY * 2)
end

if Esp then
Size(library.box)
Size(library.black)

if Names then
library.nameText.Position = Vector2.new(head.X, head.Y
- 50)
library.nameText.Text = plr.Name
library.nameText.Visible = true
else
library.nameText.Visible = false
end

if Settings.Tracers then
if Settings.Tracer_Origin == "Middle" then
library.tracer.From = camera.ViewportSize * 0.5
library.blacktracer.From = camera.ViewportSize *
0.5
elseif Settings.Tracer_Origin == "Bottom" then
library.tracer.From =
Vector2.new(camera.ViewportSize.X * 0.5, camera.ViewportSize.Y)
library.blacktracer.From =
Vector2.new(camera.ViewportSize.X * 0.5, camera.ViewportSize.Y)
end
if Settings.Tracer_FollowMouse then
library.tracer.From = Vector2.new(mouse.X, mouse.Y
+ 36)
library.blacktracer.From = Vector2.new(mouse.X,
mouse.Y + 36)
end
library.tracer.To = Vector2.new(HumPos.X, HumPos.Y +
DistanceY * 2)
library.blacktracer.To = Vector2.new(HumPos.X, HumPos.Y
+ DistanceY * 2)
end

local d = (Vector2.new(HumPos.X - DistanceY, HumPos.Y -


DistanceY * 2) - Vector2.new(HumPos.X - DistanceY, HumPos.Y + DistanceY *
2)).magnitude
local healthoffset = plr.Character.Humanoid.Health /
plr.Character.Humanoid.MaxHealth * d

library.greenhealth.From = Vector2.new(HumPos.X - DistanceY


- 4, HumPos.Y + DistanceY * 2)
library.greenhealth.To = Vector2.new(HumPos.X - DistanceY -
4, HumPos.Y + DistanceY * 2 - healthoffset)

library.healthbar.From = Vector2.new(HumPos.X - DistanceY -


4, HumPos.Y + DistanceY * 2)
library.healthbar.To = Vector2.new(HumPos.X - DistanceY -
4, HumPos.Y - DistanceY * 2)
library.greenhealth.Color = Color3.fromRGB(255, 0,
0):lerp(Color3.fromRGB(0, 255, 0), plr.Character.Humanoid.Health /
plr.Character.Humanoid.MaxHealth)

if Team_Check.TeamCheck then
if plr.TeamColor == player.TeamColor then
Colorize(Team_Check.Green)
else
Colorize(Team_Check.Red)
end
else
library.tracer.Color = Settings.Tracer_Color
library.box.Color = Settings.Box_Color
end

if TeamColor then
Colorize(plr.TeamColor.Color)
end

Visibility(true, library)
else
Visibility(false, library)
end
else
Visibility(false, library)
end
else
Visibility(false, library)
if game.Players:FindFirstChild(plr.Name) == nil then
connection:Disconnect()
end
end
end)
end
coroutine.wrap(Updater)()
end

local dwCamera = workspace.CurrentCamera


local dwRunService = game:GetService("RunService")
local dwUIS = game:GetService("UserInputService")
local dwEntities = game:GetService("Players")
local dwLocalPlayer = dwEntities.LocalPlayer
local dwMouse = dwLocalPlayer:GetMouse()
local safe = setmetatable({}, {
__index = function(_, k)
return game:GetService(k)
end
})
local PlayerTable = {}

for i,v in pairs(game:GetService("Players"):GetPlayers()) do


if v ~= dwLocalPlayer then
table.insert(PlayerTable,v.Name)
end
end
local cam = safe.Workspace.CurrentCamera
local lp = safe.Players.LocalPlayer
local lpc = safe.Players.LocalPlayer.Character
local function inlos(p, ...)
return #cam:GetPartsObscuringTarget({p}, {cam, lp.Character, ...}) == 0
end

local settings = {
Aimbot = false,
Aiming = false,
Aimbot_AimPart = "Head",
Aimbot_TeamCheck = false,
Aimbot_Draw_FOV = true,
Aimbot_FOV_Radius = 200,
Aimbot_FOV_Color = Color3.fromRGB(255,255,255),
Aimbot_visiblecheck = false,
Aimbot_Key = Enum.KeyCode.LeftShift,
Aimbot_Onscreen = true,
Aimbot_Speed = 10
}

local fovcircle = Drawing.new("Circle")


fovcircle.Visible = settings.Aimbot_Draw_FOV
fovcircle.Radius = settings.Aimbot_FOV_Radius
fovcircle.Color = settings.Aimbot_FOV_Color
fovcircle.Thickness = 1
fovcircle.Filled = false
fovcircle.Transparency = 0

fovcircle.Position = Vector2.new(dwCamera.ViewportSize.X / 2,
dwCamera.ViewportSize.Y / 2)

dwRunService.RenderStepped:Connect(function()

local dist = math.huge


local closest_char = nil
if settings.Aimbot then
if settings.Aiming then

for i,v in next, dwEntities:GetChildren() do


if v ~= dwLocalPlayer and
v.Character and
v.Character:FindFirstChild("HumanoidRootPart") and
v.Character:FindFirstChild("Humanoid") and
v.Character:FindFirstChild("Humanoid").Health > 0 then

if settings.Aimbot_TeamCheck == true and


v.Team ~= dwLocalPlayer.Team or
settings.Aimbot_TeamCheck == false then

local char = v.Character


local char_part_pos, is_onscreen =
dwCamera:WorldToViewportPoint(char[settings.Aimbot_AimPart].Position)

if is_onscreen and settings.Aimbot_Onscreen or


settings.Aimbot_Onscreen == false then
local mag = (Vector2.new(dwMouse.X, dwMouse.Y) -
Vector2.new(char_part_pos.X, char_part_pos.Y)).Magnitude
if mag < dist and mag < settings.Aimbot_FOV_Radius then
dist = mag
closest_char = char
end
end
end
end
end

if closest_char ~= nil and


closest_char:FindFirstChild("HumanoidRootPart") and
closest_char:FindFirstChild("Humanoid") and
closest_char:FindFirstChild("Humanoid").Health > 0 then
local targetPos = closest_char[settings.Aimbot_AimPart].Position
if inlos(targetPos, closest_char) and settings.Aimbot_visiblecheck
then

dwCamera.CFrame =
dwCamera.CFrame:Lerp(CFrame.new(dwCamera.CFrame.Position, targetPos),
settings.Aimbot_Speed * 0.02)
elseif not settings.Aimbot_visiblecheck then
dwCamera.CFrame =
dwCamera.CFrame:Lerp(CFrame.new(dwCamera.CFrame.Position, targetPos),
settings.Aimbot_Speed * 0.02)
end
end
end
end
end)

game:GetService('RunService').Stepped:connect(function()
if aimbotting then
--MouseTests()
end
end)

local plr = safe.Players.LocalPlayer


local mouse = plr:GetMouse()

for _, v in pairs(game:GetService("Players"):GetPlayers()) do
if v.Name ~= player.Name then
coroutine.wrap(ESP)(v)
end
end

game.Players.PlayerAdded:Connect(function(newplr)
if newplr.Name ~= player.Name then
coroutine.wrap(ESP)(newplr)
end
end)

StarterGui:SetCore("SendNotification", {
Title = "fronthook edited By OG12345",
Text = "https://discord.gg/r8tk45Yprv",
Duration = 10,
})
local flySpeed = 50

local library =
loadstring(game:HttpGet('https://raw.githubusercontent.com/iceswallowpis/
criminality-ui-lib-fork/refs/heads/main/lib.lua'))()

local window = library.new('fronthook', 'fronthook')

local tab = window.new_tab('rbxassetid://4483345998')

local section1 = tab.new_section('Main')


local section2 = tab.new_section('Misc')

local sector3 = section1.new_sector('Esp', 'Right')


local sector2 = section1.new_sector('Aimbot', 'Left')
local sector4 = section2.new_sector('Misc','Right')
local toggleTpKill = sector4.element('Toggle', 'Enable TP Kill', false, function(v)
tpKillEnabled = v.Toggle
end)

local dropdownTpKillKey = sector4.element('Dropdown', 'TP Kill Hotkey', {options =


{'E', 'X', 'LeftAlt', 'LeftShift'}}, function(v)

if v.Dropdown == "E" then


tpKillKey = Enum.KeyCode.E
elseif v.Dropdown == "X" then
tpKillKey = Enum.KeyCode.X
elseif v.Dropdown == "LeftAlt" then
tpKillKey = Enum.KeyCode.LeftAlt
elseif v.Dropdown == "LeftShift" then
tpKillKey = Enum.KeyCode.LeftShift
end
end)
local toggleFlyGui = sector4.element('Toggle', 'Enable Fly', false, function(v)
flyEnabled = v.Toggle
if flyEnabled then
fly()
else

local player = Players.LocalPlayer


local humanoidRootPart = player.Character and
player.Character:FindFirstChild("HumanoidRootPart")
if humanoidRootPart then
humanoidRootPart.Velocity = Vector3.new(0, 0, 0)
end
end
end)

local dropdownFlyKey = sector4.element('Dropdown', 'Fly Hotkey', {options = {'-',


'F', 'G', 'H', 'J'}}, function(v)
if v.Dropdown == "F" then
flyKey = Enum.KeyCode.F
elseif v.Dropdown == "G" then
flyKey = Enum.KeyCode.G
elseif v.Dropdown == "H" then
flyKey = Enum.KeyCode.H
elseif v.Dropdown == "J" then
flyKey = Enum.KeyCode.J
end
end)
local sliderFlySpeed = sector4.element('Slider', 'Fly Speed', {default = {min = 10,
max = 100, default = flySpeed}}, function(v)
flySpeed = v.Slider
end)

game:GetService("UserInputService").InputBegan:Connect(function(input,
gameProcessed)
if not gameProcessed and input.KeyCode == tpKillKey then
tpKillEnabled = not tpKillEnabled
toggleTpKill:Set(tpKillEnabled)
end
end)
local slider = sector2.element('Slider', 'FOV', {default = {min = 50, max = 1500,
default = 60}}, function(v)
settings.Aimbot_FOV_Radius = v.Slider
fovcircle.Radius = v.Slider
end)
local slider2 = sector2.element('Slider', 'Aimbot Speed', {default = {min = 1, max
= 100, default = 10}}, function(v)
settings.Aimbot_Speed = v.Slider
end)
local dropdown = sector2.element('Dropdown', 'Aimbot Hotkey', {options =
{'LeftShift','LeftAlt', 'E', 'Q', '-', 'X', 'R', 'T', 'Y', 'U', 'I', 'P', 'F', 'G',
'H', 'J', 'K', 'L', 'Z', 'C', 'V', 'B', 'N', 'M', 'F12'}}, function(v)
if v.Dropdown == "LeftShift" then
settings.Aimbot_Key = Enum.KeyCode.LeftShift
elseif v.Dropdown == "LeftAlt" then
settings.Aimbot_Key = Enum.KeyCode.LeftAlt
elseif v.Dropdown == "X" then
settings.Aimbot_Key = Enum.KeyCode.X
elseif v.Dropdown == "E" then
settings.Aimbot_Key = Enum.KeyCode.E
elseif v.Dropdown == "Q" then
settings.Aimbot_Key = Enum.KeyCode.Q
elseif v.Dropdown == "F12" then
settings.Aimbot_Key = Enum.KeyCode.F12
elseif v.Dropdown == "R" then
settings.Aimbot_Key = Enum.KeyCode.R
elseif v.Dropdown == "T" then
settings.Aimbot_Key = Enum.KeyCode.T
elseif v.Dropdown == "Y" then
settings.Aimbot_Key = Enum.KeyCode.Y
elseif v.Dropdown == "U" then
settings.Aimbot_Key = Enum.KeyCode.U
elseif v.Dropdown == "I" then
settings.Aimbot_Key = Enum.KeyCode.I
elseif v.Dropdown == "P" then
settings.Aimbot_Key = Enum.KeyCode.P
elseif v.Dropdown == "F" then
settings.Aimbot_Key = Enum.KeyCode.F
elseif v.Dropdown == "G" then
settings.Aimbot_Key = Enum.KeyCode.G
elseif v.Dropdown == "H" then
settings.Aimbot_Key = Enum.KeyCode.H
elseif v.Dropdown == "J" then
settings.Aimbot_Key = Enum.KeyCode.J
elseif v.Dropdown == "K" then
settings.Aimbot_key = Enum.KeyCode.K
elseif v.dropdown == "L" then
settings.Aimbot_Key = Enum.KeyCode.L
elseif v.dropdown == "Z" then
settings.Aimbot_Key = Enum.KeyCode.Z
elseif v.Dropdown == "X" then
settings.Aimbot_Key = Enum.KeyCode.X
elseif v.dropdown == "C" then
settings.Aimbot_Key = Enum.KeyCode.C
elseif v.dropdown == "V" then
settings.Aimbot_Key = Enum.KeyCode.V
elseif v.dropdown == "B" then
settings.Aimbot_Key = Enum.KeyCode.B
elseif v.dropdown == "N" then
settings.Aimbot_Key = Enum.KeyCode.N
elseif v.dropdown == "M" then
settings.Aimbot_Key = Enum.KeyCode.M
end

end)
local dropdown2 = sector2.element('Dropdown', 'Hitbox', {options = {'-','Head',
'Torso', 'HumanoidRootPart'}}, function(v)
settings.Aimbot_AimPart = v.Dropdown
print(settings.Aimbot_AimPart)
end)

local toggle = sector2.element('Toggle', 'Aimbot', false, function(v)


settings.Aimbot = v.Toggle

end)
local toggle5 = sector2.element('Toggle', 'Draw FOV Circle', false, function(v)
if v.Toggle == true then
fovcircle.Transparency = 1
print(1)
elseif v.Toggle == false then
fovcircle.Transparency = 0
print(0)
end
end)
local toggle2 = sector2.element('Toggle', 'Team Check', false, function(v)
settings.Aimbot_TeamCheck = v.Toggle

end)
local toggle3 = sector2.element('Toggle', 'Visibility Check', false, function(v)
settings.Aimbot_visiblecheck = v.Toggle

end)

dwUIS.InputBegan:Connect(function(inputObject,gameProcessed)
if inputObject.KeyCode == settings.Aimbot_Key then
settings.Aiming = true

end
end)
dwUIS.InputEnded:Connect(function(inputObject,gameProcessed)
if inputObject.KeyCode == settings.Aimbot_Key then
settings.Aiming = false

end
end)

local toggleEsp = sector3.element('Toggle', 'Box ESP', false, function(v)


Esp = v.Toggle
end)
local toggleNameEsp = sector3.element('Toggle', 'NameEsp', false, function(v)
Names = v.Toggle
end)

--local toggleTracers = sector3.element('Toggle', 'Tracers', false, function(v)


-- Settings.Tracers = v.Toggle
--end)

local toggleTeamCheck = sector3.element('Toggle', 'Team Check', false, function(v)


Team_Check.TeamCheck = v.Toggle
end)

local toggleTeamColors = sector3.element('Toggle', 'Team Colors', false,


function(v)
TeamColor = v.Toggle
end)
local toggleHighlight = sector3.element('Toggle', 'Highlight', false, function(v)
HighlightEnabled = v.Toggle
for _, highlight in pairs(Storage:GetChildren()) do
highlight.Enabled = HighlightEnabled
end
end)

toggleHighlight:add_color({Color = HighlightColor}, nil, function(v)


HighlightColor = v.Color
for _, highlight in pairs(Storage:GetChildren()) do
highlight.FillColor = HighlightColor

end
end)

You might also like