
Keyless

--========================================================
-- UNEPIC IDENTITY FRAUD TROLLING GUI
-- ONE LOCALSCRIPT ONLY
--
-- • Fast loading animation
-- • Smooth slide-in
-- • Draggable / minimizable
-- • X button + close confirmation
-- • Floor-safe Noclip
-- • Player ESP
-- • Green look-direction lines
-- • Hidden / Spotted detector
-- • Third-person shift-lock style camera
-- • 2X Walk Speed
--
-- Put in:
-- StarterPlayer > StarterPlayerScripts > LocalScript
--========================================================
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local Camera = workspace.CurrentCamera
----------------------------------------------------------
-- STATE
----------------------------------------------------------
local Closed = false
local NoclipEnabled = false
local ESPEnabled = false
local LookLinesEnabled = false
local ThirdPersonEnabled = false
local SpeedEnabled = false
local Minimized = false
local LOOK_DISTANCE = 60
local DETECTOR_DISTANCE = 150
local OriginalCollisions = {}
local Connections = {}
local LastGroundTime = 0
local LastGroundY = nil
local JumpLockUntil = 0
local NormalWalkSpeed = 16
local OriginalAutoRotate = true
----------------------------------------------------------
-- ORIGINAL CAMERA
----------------------------------------------------------
local OriginalCameraMode =
LocalPlayer.CameraMode
local OriginalMinZoom =
LocalPlayer.CameraMinZoomDistance
local OriginalMaxZoom =
LocalPlayer.CameraMaxZoomDistance
----------------------------------------------------------
-- CONNECTION HELPER
----------------------------------------------------------
local function Connect(Signal, Function)
local Connection =
Signal:Connect(Function)
table.insert(
Connections,
Connection
)
return Connection
end
----------------------------------------------------------
-- REMOVE OLD VERSION
----------------------------------------------------------
local Old =
PlayerGui:FindFirstChild(
"UnepicIdentityFraudTrollingGUI"
)
if Old then
Old:Destroy()
end
local OldLines =
workspace:FindFirstChild(
"UnepicIdentityLookLines"
)
if OldLines then
OldLines:Destroy()
end
----------------------------------------------------------
-- GUI
----------------------------------------------------------
local ScreenGui =
Instance.new("ScreenGui")
ScreenGui.Name =
"UnepicIdentityFraudTrollingGUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.IgnoreGuiInset = false
ScreenGui.Parent =
PlayerGui
----------------------------------------------------------
-- LOADING SCREEN
----------------------------------------------------------
local Loading =
Instance.new("Frame")
Loading.Size =
UDim2.fromScale(1,1)
Loading.BackgroundColor3 =
Color3.fromRGB(8,8,11)
Loading.BackgroundTransparency = 0.12
Loading.BorderSizePixel = 0
Loading.Active = false
Loading.ZIndex = 100
Loading.Parent = ScreenGui
local LoadCard =
Instance.new("Frame")
LoadCard.AnchorPoint =
Vector2.new(0.5,0.5)
LoadCard.Position =
UDim2.fromScale(0.5,0.5)
LoadCard.Size =
UDim2.fromOffset(290,115)
LoadCard.BackgroundColor3 =
Color3.fromRGB(18,18,23)
LoadCard.BorderSizePixel = 0
LoadCard.ZIndex = 101
LoadCard.Parent = Loading
local LoadCorner =
Instance.new("UICorner")
LoadCorner.CornerRadius =
UDim.new(0,14)
LoadCorner.Parent = LoadCard
local LoadStroke =
Instance.new("UIStroke")
LoadStroke.Color =
Color3.fromRGB(75,75,85)
LoadStroke.Transparency = 0.35
LoadStroke.Parent = LoadCard
local LoadTitle =
Instance.new("TextLabel")
LoadTitle.Size =
UDim2.new(1,-24,0,30)
LoadTitle.Position =
UDim2.fromOffset(12,13)
LoadTitle.BackgroundTransparency = 1
LoadTitle.Text =
"UNEPIC IDENTITY FRAUD"
LoadTitle.TextColor3 =
Color3.fromRGB(245,245,250)
LoadTitle.Font =
Enum.Font.GothamBold
LoadTitle.TextSize = 15
LoadTitle.TextXAlignment =
Enum.TextXAlignment.Left
LoadTitle.ZIndex = 102
LoadTitle.Parent = LoadCard
local LoadStatus =
Instance.new("TextLabel")
LoadStatus.Size =
UDim2.new(1,-24,0,20)
LoadStatus.Position =
UDim2.fromOffset(12,43)
LoadStatus.BackgroundTransparency = 1
LoadStatus.Text =
"Initializing..."
LoadStatus.TextColor3 =
Color3.fromRGB(150,150,160)
LoadStatus.Font =
Enum.Font.Gotham
LoadStatus.TextSize = 11
LoadStatus.TextXAlignment =
Enum.TextXAlignment.Left
LoadStatus.ZIndex = 102
LoadStatus.Parent = LoadCard
local BarBG =
Instance.new("Frame")
BarBG.Size =
UDim2.new(1,-24,0,7)
BarBG.Position =
UDim2.new(0,12,1,-27)
BarBG.BackgroundColor3 =
Color3.fromRGB(40,40,48)
BarBG.BorderSizePixel = 0
BarBG.ZIndex = 102
BarBG.Parent = LoadCard
local BarBGCorner =
Instance.new("UICorner")
BarBGCorner.CornerRadius =
UDim.new(1,0)
BarBGCorner.Parent =
BarBG
local Bar =
Instance.new("Frame")
Bar.Size =
UDim2.fromScale(0,1)
Bar.BackgroundColor3 =
Color3.fromRGB(235,235,240)
Bar.BorderSizePixel = 0
Bar.ZIndex = 103
Bar.Parent = BarBG
local BarCorner =
Instance.new("UICorner")
BarCorner.CornerRadius =
UDim.new(1,0)
BarCorner.Parent = Bar
----------------------------------------------------------
-- MAIN WINDOW
----------------------------------------------------------
local Main =
Instance.new("Frame")
Main.Name = "Main"
Main.Size =
UDim2.fromOffset(300,266)
Main.Position =
UDim2.new(
0,
-330,
0.5,
-133
)
Main.BackgroundColor3 =
Color3.fromRGB(18,18,22)
Main.BorderSizePixel = 0
Main.Visible = false
Main.Parent =
ScreenGui
local MainCorner =
Instance.new("UICorner")
MainCorner.CornerRadius =
UDim.new(0,13)
MainCorner.Parent =
Main
local MainStroke =
Instance.new("UIStroke")
MainStroke.Color =
Color3.fromRGB(68,68,78)
MainStroke.Transparency = 0.25
MainStroke.Parent =
Main
----------------------------------------------------------
-- TOP BAR
----------------------------------------------------------
local TopBar =
Instance.new("Frame")
TopBar.Size =
UDim2.new(1,0,0,39)
TopBar.BackgroundTransparency = 1
TopBar.Parent =
Main
local Title =
Instance.new("TextLabel")
Title.Size =
UDim2.new(1,-85,1,0)
Title.Position =
UDim2.fromOffset(12,0)
Title.BackgroundTransparency = 1
Title.Text =
"UNEPIC IDENTITY FRAUD TROLLING GUI"
Title.TextColor3 =
Color3.fromRGB(245,245,250)
Title.Font =
Enum.Font.GothamBold
Title.TextSize = 10
Title.TextXAlignment =
Enum.TextXAlignment.Left
Title.Parent =
TopBar
----------------------------------------------------------
-- MINIMIZE BUTTON
----------------------------------------------------------
local Minimize =
Instance.new("TextButton")
Minimize.Size =
UDim2.fromOffset(29,26)
Minimize.Position =
UDim2.new(1,-70,0,6)
Minimize.BackgroundColor3 =
Color3.fromRGB(35,35,42)
Minimize.BorderSizePixel = 0
Minimize.Text = "—"
Minimize.TextColor3 =
Color3.fromRGB(255,255,255)
Minimize.Font =
Enum.Font.GothamBold
Minimize.TextSize = 17
Minimize.Parent =
TopBar
local MinCorner =
Instance.new("UICorner")
MinCorner.CornerRadius =
UDim.new(0,8)
MinCorner.Parent =
Minimize
----------------------------------------------------------
-- CLOSE X
----------------------------------------------------------
local CloseButton =
Instance.new("TextButton")
CloseButton.Size =
UDim2.fromOffset(29,26)
CloseButton.Position =
UDim2.new(1,-37,0,6)
CloseButton.BackgroundColor3 =
Color3.fromRGB(45,32,35)
CloseButton.BorderSizePixel = 0
CloseButton.Text = "×"
CloseButton.TextColor3 =
Color3.fromRGB(255,150,150)
CloseButton.Font =
Enum.Font.GothamBold
CloseButton.TextSize = 19
CloseButton.Parent =
TopBar
local CloseCorner =
Instance.new("UICorner")
CloseCorner.CornerRadius =
UDim.new(0,8)
CloseCorner.Parent =
CloseButton
----------------------------------------------------------
-- BODY
----------------------------------------------------------
local Body =
Instance.new("Frame")
Body.Size =
UDim2.new(1,-20,1,-49)
Body.Position =
UDim2.fromOffset(10,41)
Body.BackgroundTransparency = 1
Body.ClipsDescendants = true
Body.Parent =
Main
----------------------------------------------------------
-- BUTTON CREATOR
----------------------------------------------------------
local ButtonAnimations = {}
local function CreateButton(Text,X,Y)
local Button =
Instance.new("TextButton")
Button.Size =
UDim2.fromOffset(135,40)
-- Starts offscreen for intro
Button.Position =
UDim2.fromOffset(330,Y)
Button.BackgroundColor3 =
Color3.fromRGB(32,32,39)
Button.BorderSizePixel = 0
Button.Text = Text
Button.TextColor3 =
Color3.fromRGB(230,230,235)
Button.Font =
Enum.Font.GothamSemibold
Button.TextSize = 11
Button.AutoButtonColor = false
Button.Parent =
Body
local Corner =
Instance.new("UICorner")
Corner.CornerRadius =
UDim.new(0,9)
Corner.Parent =
Button
local Stroke =
Instance.new("UIStroke")
Stroke.Color =
Color3.fromRGB(70,70,80)
Stroke.Transparency = 0.6
Stroke.Parent =
Button
table.insert(
ButtonAnimations,
{
Button = Button,
Target =
UDim2.fromOffset(X,Y)
}
)
return Button
end
----------------------------------------------------------
-- BUTTONS
----------------------------------------------------------
local NoclipButton =
CreateButton(
"NOCLIP OFF",
0,
0
)
local ESPButton =
CreateButton(
"PLAYER ESP OFF",
145,
0
)
local LookButton =
CreateButton(
"LOOK LINES OFF",
0,
48
)
local ThirdButton =
CreateButton(
"3RD PERSON OFF",
145,
48
)
local SpeedButton =
CreateButton(
"2X SPEED OFF",
0,
96
)
----------------------------------------------------------
-- DETECTOR
----------------------------------------------------------
local Detector =
Instance.new("Frame")
Detector.Size =
UDim2.new(1,0,0,59)
Detector.Position =
UDim2.fromOffset(0,146)
Detector.BackgroundColor3 =
Color3.fromRGB(27,27,33)
Detector.BorderSizePixel = 0
Detector.Parent =
Body
local DetectorCorner =
Instance.new("UICorner")
DetectorCorner.CornerRadius =
UDim.new(0,10)
DetectorCorner.Parent =
Detector
local DetectorTitle =
Instance.new("TextLabel")
DetectorTitle.Size =
UDim2.new(1,-20,0,20)
DetectorTitle.Position =
UDim2.fromOffset(10,7)
DetectorTitle.BackgroundTransparency = 1
DetectorTitle.Text =
"NEAREST PLAYER"
DetectorTitle.TextColor3 =
Color3.fromRGB(145,145,155)
DetectorTitle.Font =
Enum.Font.GothamBold
DetectorTitle.TextSize = 10
DetectorTitle.TextXAlignment =
Enum.TextXAlignment.Left
DetectorTitle.Parent =
Detector
local DetectorStatus =
Instance.new("TextLabel")
DetectorStatus.Size =
UDim2.new(1,-20,0,25)
DetectorStatus.Position =
UDim2.fromOffset(10,26)
DetectorStatus.BackgroundTransparency = 1
DetectorStatus.Text =
"SEARCHING..."
DetectorStatus.TextColor3 =
Color3.fromRGB(235,235,240)
DetectorStatus.Font =
Enum.Font.GothamBold
DetectorStatus.TextSize = 12
DetectorStatus.TextXAlignment =
Enum.TextXAlignment.Left
DetectorStatus.Parent =
Detector
----------------------------------------------------------
-- CONFIRM CLOSE SCREEN
----------------------------------------------------------
local Confirm =
Instance.new("Frame")
Confirm.Size =
UDim2.fromScale(1,1)
Confirm.BackgroundColor3 =
Color3.fromRGB(12,12,16)
Confirm.BackgroundTransparency = 0.06
Confirm.BorderSizePixel = 0
Confirm.Visible = false
Confirm.ZIndex = 50
Confirm.Parent =
Main
local ConfirmCorner =
Instance.new("UICorner")
ConfirmCorner.CornerRadius =
UDim.new(0,13)
ConfirmCorner.Parent =
Confirm
local ConfirmTitle =
Instance.new("TextLabel")
ConfirmTitle.Size =
UDim2.new(1,-30,0,38)
ConfirmTitle.Position =
UDim2.fromOffset(15,48)
ConfirmTitle.BackgroundTransparency = 1
ConfirmTitle.Text =
"ARE YOU SURE?"
ConfirmTitle.TextColor3 =
Color3.fromRGB(250,250,255)
ConfirmTitle.Font =
Enum.Font.GothamBold
ConfirmTitle.TextSize = 18
ConfirmTitle.ZIndex = 51
ConfirmTitle.Parent =
Confirm
local ConfirmText =
Instance.new("TextLabel")
ConfirmText.Size =
UDim2.new(1,-40,0,52)
ConfirmText.Position =
UDim2.fromOffset(20,88)
ConfirmText.BackgroundTransparency = 1
ConfirmText.Text =
"Closing will turn off every modification\nand remove this GUI."
ConfirmText.TextWrapped = true
ConfirmText.TextColor3 =
Color3.fromRGB(175,175,185)
ConfirmText.Font =
Enum.Font.Gotham
ConfirmText.TextSize = 12
ConfirmText.ZIndex = 51
ConfirmText.Parent =
Confirm
----------------------------------------------------------
-- CANCEL
----------------------------------------------------------
local CancelClose =
Instance.new("TextButton")
CancelClose.Size =
UDim2.fromOffset(125,42)
CancelClose.Position =
UDim2.new(
0.5,
-132,
1,
-65
)
CancelClose.BackgroundColor3 =
Color3.fromRGB(40,40,47)
CancelClose.BorderSizePixel = 0
CancelClose.Text =
"CANCEL"
CancelClose.TextColor3 =
Color3.fromRGB(235,235,240)
CancelClose.Font =
Enum.Font.GothamBold
CancelClose.TextSize = 12
CancelClose.ZIndex = 52
CancelClose.Parent =
Confirm
local CancelCorner =
Instance.new("UICorner")
CancelCorner.CornerRadius =
UDim.new(0,9)
CancelCorner.Parent =
CancelClose
----------------------------------------------------------
-- CONFIRM CLOSE
----------------------------------------------------------
local ConfirmClose =
Instance.new("TextButton")
ConfirmClose.Size =
UDim2.fromOffset(125,42)
ConfirmClose.Position =
UDim2.new(
0.5,
7,
1,
-65
)
ConfirmClose.BackgroundColor3 =
Color3.fromRGB(75,35,40)
ConfirmClose.BorderSizePixel = 0
ConfirmClose.Text =
"CLOSE SCRIPT"
ConfirmClose.TextColor3 =
Color3.fromRGB(255,170,170)
ConfirmClose.Font =
Enum.Font.GothamBold
ConfirmClose.TextSize = 11
ConfirmClose.ZIndex = 52
ConfirmClose.Parent =
Confirm
local ConfirmCloseCorner =
Instance.new("UICorner")
ConfirmCloseCorner.CornerRadius =
UDim.new(0,9)
ConfirmCloseCorner.Parent =
ConfirmClose
----------------------------------------------------------
-- BUTTON STYLE
----------------------------------------------------------
local function SetButton(
Button,
Name,
Enabled
)
Button.Text =
Name
.. " "
.. (
Enabled
and "ON"
or "OFF"
)
TweenService:Create(
Button,
TweenInfo.new(
0.18,
Enum.EasingStyle.Quad,
Enum.EasingDirection.Out
),
{
BackgroundColor3 =
Enabled
and Color3.fromRGB(
49,49,59
)
or Color3.fromRGB(
32,32,39
)
}
):Play()
end
----------------------------------------------------------
-- CHARACTER
----------------------------------------------------------
local function GetCharacter()
local Character =
LocalPlayer.Character
if not Character then
return
end
local Humanoid =
Character:FindFirstChildOfClass(
"Humanoid"
)
local Root =
Character:FindFirstChild(
"HumanoidRootPart"
)
if not Humanoid
or not Root then
return
end
return Character,Humanoid,Root
end
----------------------------------------------------------
-- COLLISION
----------------------------------------------------------
local function SaveCollisions()
table.clear(
OriginalCollisions
)
local Character =
LocalPlayer.Character
if not Character then
return
end
for _,Object in ipairs(
Character:GetDescendants()
) do
if Object:IsA("BasePart") then
OriginalCollisions[Object] =
Object.CanCollide
end
end
end
local function RestoreCollisions()
for Part,Value in pairs(
OriginalCollisions
) do
if Part
and Part.Parent then
Part.CanCollide =
Value
end
end
table.clear(
OriginalCollisions
)
end
----------------------------------------------------------
-- FLOOR FINDER
----------------------------------------------------------
local function FindGround(
Character,
Humanoid,
Root
)
local StandHeight =
Humanoid.HipHeight
+ Root.Size.Y / 2
local FeetY =
Root.Position.Y
- StandHeight
local Params =
RaycastParams.new()
Params.FilterType =
Enum.RaycastFilterType.Exclude
Params.FilterDescendantsInstances = {
Character
}
local Offsets = {
Vector3.new(0,0,0),
Vector3.new(0.7,0,0),
Vector3.new(-0.7,0,0),
Vector3.new(0,0,0.7),
Vector3.new(0,0,-0.7)
}
local Best
for _,Offset in ipairs(Offsets) do
local Origin =
Vector3.new(
Root.Position.X + Offset.X,
FeetY + 1.3,
Root.Position.Z + Offset.Z
)
local Result =
workspace:Raycast(
Origin,
Vector3.new(0,-5,0),
Params
)
if Result
and Result.Normal.Y > 0.65 then
if not Best
or Result.Position.Y >
Best.Position.Y then
Best = Result
end
end
end
return Best,StandHeight
end
----------------------------------------------------------
-- NOCLIP
----------------------------------------------------------
Connect(
RunService.Stepped,
function()
if Closed
or not NoclipEnabled then
return
end
local Character =
LocalPlayer.Character
if not Character then
return
end
for _,Object in ipairs(
Character:GetDescendants()
) do
if Object:IsA("BasePart") then
Object.CanCollide = false
end
end
end
)
----------------------------------------------------------
-- FLOOR SAFE
----------------------------------------------------------
Connect(
RunService.Heartbeat,
function()
if Closed
or not NoclipEnabled then
return
end
local Character,Humanoid,Root =
GetCharacter()
if not Character
or not Humanoid
or not Root then
return
end
local Ground,StandHeight =
FindGround(
Character,
Humanoid,
Root
)
if Ground then
LastGroundTime = time()
local TargetY =
Ground.Position.Y
+ StandHeight
LastGroundY = TargetY
local Velocity =
Root.AssemblyLinearVelocity
local Distance =
Root.Position.Y
- TargetY
if time() < JumpLockUntil then
return
end
if Velocity.Y > 1 then
return
end
if Distance <= 0.22
and Distance > -1.5 then
local Rotation =
Root.CFrame
- Root.Position
Root.CFrame =
CFrame.new(
Root.Position.X,
TargetY,
Root.Position.Z
)
* Rotation
Root.AssemblyLinearVelocity =
Vector3.new(
Velocity.X,
0,
Velocity.Z
)
end
elseif LastGroundY
and time() - LastGroundTime < 0.12 then
local Velocity =
Root.AssemblyLinearVelocity
if Velocity.Y <= 0
and Root.Position.Y <
LastGroundY - 0.15 then
local Rotation =
Root.CFrame
- Root.Position
Root.CFrame =
CFrame.new(
Root.Position.X,
LastGroundY,
Root.Position.Z
)
* Rotation
Root.AssemblyLinearVelocity =
Vector3.new(
Velocity.X,
0,
Velocity.Z
)
end
end
end
)
----------------------------------------------------------
-- NOCLIP JUMP
----------------------------------------------------------
Connect(
UIS.JumpRequest,
function()
if Closed
or not NoclipEnabled then
return
end
local Character,Humanoid,Root =
GetCharacter()
if not Character
or not Humanoid
or not Root then
return
end
if time() - LastGroundTime > 0.18 then
return
end
local JumpVelocity
if Humanoid.UseJumpPower then
JumpVelocity =
Humanoid.JumpPower
else
JumpVelocity =
math.sqrt(
2
* workspace.Gravity
* Humanoid.JumpHeight
)
end
local Velocity =
Root.AssemblyLinearVelocity
Root.AssemblyLinearVelocity =
Vector3.new(
Velocity.X,
JumpVelocity,
Velocity.Z
)
JumpLockUntil =
time() + 0.18
end
)
----------------------------------------------------------
-- ESP
----------------------------------------------------------
local ESPFolder =
Instance.new("Folder")
ESPFolder.Name = "ESP"
ESPFolder.Parent = ScreenGui
local function RemoveESP(Target)
local Existing =
ESPFolder:FindFirstChild(
tostring(Target.UserId)
)
if Existing then
Existing:Destroy()
end
end
local function CreateESP(Target)
if Closed
or not ESPEnabled
or Target == LocalPlayer then
return
end
RemoveESP(Target)
local Character =
Target.Character
if not Character then
return
end
local Root =
Character:FindFirstChild(
"HumanoidRootPart"
)
local Head =
Character:FindFirstChild(
"Head"
)
if not Root then
return
end
local Folder =
Instance.new("Folder")
Folder.Name =
tostring(Target.UserId)
Folder.Parent =
ESPFolder
local Highlight =
Instance.new("Highlight")
Highlight.Adornee =
Character
Highlight.DepthMode =
Enum.HighlightDepthMode.AlwaysOnTop
Highlight.FillColor =
Color3.fromRGB(255,70,70)
Highlight.FillTransparency = 0.65
Highlight.OutlineColor =
Color3.fromRGB(255,255,255)
Highlight.OutlineTransparency = 0
Highlight.Parent =
Folder
local Billboard =
Instance.new("BillboardGui")
Billboard.Adornee =
Head or Root
Billboard.Size =
UDim2.fromOffset(180,36)
Billboard.StudsOffset =
Vector3.new(0,3,0)
Billboard.AlwaysOnTop = true
Billboard.Parent =
Folder
local Label =
Instance.new("TextLabel")
Label.Size =
UDim2.fromScale(1,1)
Label.BackgroundTransparency = 1
Label.Text =
Target.DisplayName
.. "\n@"
.. Target.Name
Label.Font =
Enum.Font.GothamBold
Label.TextSize = 12
Label.TextColor3 =
Color3.fromRGB(255,255,255)
Label.TextStrokeTransparency = 0.15
Label.Parent =
Billboard
end
local function RefreshESP()
ESPFolder:ClearAllChildren()
if not ESPEnabled then
return
end
for _,Target in ipairs(
Players:GetPlayers()
) do
CreateESP(Target)
end
end
----------------------------------------------------------
-- LOOK LINES
----------------------------------------------------------
local LookWorldFolder =
Instance.new("Folder")
LookWorldFolder.Name =
"UnepicIdentityLookLines"
LookWorldFolder.Parent =
workspace
local LookAdornmentFolder =
Instance.new("Folder")
LookAdornmentFolder.Name =
"LookLineAdornments"
LookAdornmentFolder.Parent =
ScreenGui
local LookData = {}
local function RemoveLookLine(Target)
local Data =
LookData[Target]
if Data then
if Data.Part then
Data.Part:Destroy()
end
if Data.Adornment then
Data.Adornment:Destroy()
end
end
LookData[Target] = nil
end
local function ClearLookLines()
for Target,_ in pairs(
LookData
) do
RemoveLookLine(Target)
end
if LookWorldFolder.Parent then
LookWorldFolder:ClearAllChildren()
end
if LookAdornmentFolder.Parent then
LookAdornmentFolder:
ClearAllChildren()
end
end
local function CreateLookLine(Target)
if Closed
or not LookLinesEnabled
or Target == LocalPlayer then
return
end
RemoveLookLine(Target)
local Character =
Target.Character
if not Character then
return
end
local Head =
Character:FindFirstChild("Head")
local Root =
Character:FindFirstChild(
"HumanoidRootPart"
)
if not Head
and not Root then
return
end
local Part =
Instance.new("Part")
Part.Name =
"LookLine_"
.. Target.Name
Part.Size =
Vector3.new(
0.1,
0.1,
LOOK_DISTANCE
)
Part.Anchored = true
Part.CanCollide = false
Part.CanTouch = false
Part.CanQuery = false
Part.Transparency = 1
Part.Parent =
LookWorldFolder
local Line =
Instance.new(
"BoxHandleAdornment"
)
Line.Adornee =
Part
Line.Size =
Part.Size
Line.Color3 =
Color3.fromRGB(0,255,70)
Line.Transparency = 0
Line.AlwaysOnTop = true
Line.ZIndex = 10
Line.Parent =
LookAdornmentFolder
LookData[Target] = {
Part = Part,
Adornment = Line
}
end
local function RefreshLookLines()
ClearLookLines()
if not LookLinesEnabled then
return
end
for _,Target in ipairs(
Players:GetPlayers()
) do
CreateLookLine(Target)
end
end
----------------------------------------------------------
-- THIRD PERSON
----------------------------------------------------------
local function ApplyThirdPerson()
local _,Humanoid =
GetCharacter()
if ThirdPersonEnabled then
LocalPlayer.CameraMode =
Enum.CameraMode.Classic
LocalPlayer.CameraMinZoomDistance = 7
LocalPlayer.CameraMaxZoomDistance = 7
if Humanoid then
OriginalAutoRotate =
Humanoid.AutoRotate
Humanoid.AutoRotate = false
Humanoid.CameraOffset =
Vector3.new(
1.7,
0.4,
0
)
end
else
LocalPlayer.CameraMode =
OriginalCameraMode
LocalPlayer.CameraMinZoomDistance =
OriginalMinZoom
LocalPlayer.CameraMaxZoomDistance =
OriginalMaxZoom
UIS.MouseBehavior =
Enum.MouseBehavior.Default
if Humanoid then
Humanoid.AutoRotate =
OriginalAutoRotate
Humanoid.CameraOffset =
Vector3.zero
end
end
end
----------------------------------------------------------
-- RENDER UPDATE
----------------------------------------------------------
Connect(
RunService.RenderStepped,
function()
if Closed then
return
end
--------------------------------------------------
-- LOOK LINES
--------------------------------------------------
if LookLinesEnabled then
for Target,Data in pairs(
LookData
) do
local Character =
Target.Character
local Head =
Character
and Character:
FindFirstChild("Head")
local Root =
Character
and Character:
FindFirstChild(
"HumanoidRootPart"
)
local LookPart =
Head or Root
if LookPart
and Data.Part
and Data.Part.Parent then
local Start =
LookPart.Position
local Finish =
Start
+ LookPart.CFrame.LookVector
* LOOK_DISTANCE
local Middle =
(Start + Finish) / 2
Data.Part.CFrame =
CFrame.lookAt(
Middle,
Finish
)
end
end
end
--------------------------------------------------
-- THIRD PERSON / SHIFT LOCK
--------------------------------------------------
if ThirdPersonEnabled then
if UIS.MouseEnabled then
UIS.MouseBehavior =
Enum.MouseBehavior.LockCenter
end
local _,Humanoid,Root =
GetCharacter()
if Humanoid
and Root
and Camera then
Humanoid.AutoRotate = false
local Look =
Camera.CFrame.LookVector
local Flat =
Vector3.new(
Look.X,
0,
Look.Z
)
if Flat.Magnitude > 0.01 then
Root.CFrame =
CFrame.new(
Root.Position,
Root.Position
+ Flat.Unit
)
end
end
end
end
)
----------------------------------------------------------
-- NEAREST PLAYER
----------------------------------------------------------
local function GetNearestPlayer()
local _,_,MyRoot =
GetCharacter()
if not MyRoot then
return
end
local BestPlayer
local BestDistance =
DETECTOR_DISTANCE
for _,Target in ipairs(
Players:GetPlayers()
) do
if Target ~= LocalPlayer then
local Character =
Target.Character
local Root =
Character
and Character:
FindFirstChild(
"HumanoidRootPart"
)
local Humanoid =
Character
and Character:
FindFirstChildOfClass(
"Humanoid"
)
if Root
and Humanoid
and Humanoid.Health > 0 then
local Distance =
(
Root.Position
- MyRoot.Position
).Magnitude
if Distance < BestDistance then
BestDistance = Distance
BestPlayer = Target
end
end
end
end
return BestPlayer,BestDistance
end
----------------------------------------------------------
-- SPOTTED CHECK
----------------------------------------------------------
local function IsLookingAtMe(Target)
local MyCharacter,_,MyRoot =
GetCharacter()
if not MyCharacter
or not MyRoot then
return false
end
local Character =
Target.Character
if not Character then
return false
end
local Head =
Character:FindFirstChild("Head")
local Root =
Character:FindFirstChild(
"HumanoidRootPart"
)
local LookPart =
Head or Root
if not LookPart then
return false
end
local ToMe =
MyRoot.Position
- LookPart.Position
if ToMe.Magnitude <= 0 then
return true
end
local Facing =
LookPart.CFrame.LookVector:
Dot(ToMe.Unit)
-- They must be facing fairly directly toward you
if Facing < 0.72 then
return false
end
local Params =
RaycastParams.new()
Params.FilterType =
Enum.RaycastFilterType.Exclude
Params.FilterDescendantsInstances = {
Character,
LookWorldFolder
}
local Result =
workspace:Raycast(
LookPart.Position,
ToMe,
Params
)
if not Result then
return true
end
return Result.Instance
and Result.Instance:
IsDescendantOf(MyCharacter)
end
----------------------------------------------------------
-- DETECTOR LOOP
----------------------------------------------------------
task.spawn(function()
while not Closed do
local Target,Distance =
GetNearestPlayer()
if not Target then
DetectorTitle.Text =
"NEAREST PLAYER"
DetectorStatus.Text =
"NO PLAYER NEARBY"
DetectorStatus.TextColor3 =
Color3.fromRGB(
180,180,190
)
else
DetectorTitle.Text =
Target.DisplayName
.. " • "
.. math.floor(Distance)
.. " STUDS"
if IsLookingAtMe(Target) then
DetectorStatus.Text =
"● SPOTTED"
DetectorStatus.TextColor3 =
Color3.fromRGB(
255,85,85
)
else
DetectorStatus.Text =
"● HIDDEN"
DetectorStatus.TextColor3 =
Color3.fromRGB(
80,255,125
)
end
end
task.wait(0.12)
end
end)
----------------------------------------------------------
-- FEATURE BUTTONS
----------------------------------------------------------
Connect(
NoclipButton.MouseButton1Click,
function()
if Closed then
return
end
NoclipEnabled =
not NoclipEnabled
if NoclipEnabled then
SaveCollisions()
else
RestoreCollisions()
end
SetButton(
NoclipButton,
"NOCLIP",
NoclipEnabled
)
end
)
Connect(
ESPButton.MouseButton1Click,
function()
if Closed then
return
end
ESPEnabled =
not ESPEnabled
SetButton(
ESPButton,
"PLAYER ESP",
ESPEnabled
)
RefreshESP()
end
)
Connect(
LookButton.MouseButton1Click,
function()
if Closed then
return
end
LookLinesEnabled =
not LookLinesEnabled
SetButton(
LookButton,
"LOOK LINES",
LookLinesEnabled
)
RefreshLookLines()
end
)
Connect(
ThirdButton.MouseButton1Click,
function()
if Closed then
return
end
ThirdPersonEnabled =
not ThirdPersonEnabled
SetButton(
ThirdButton,
"3RD PERSON",
ThirdPersonEnabled
)
ApplyThirdPerson()
end
)
Connect(
SpeedButton.MouseButton1Click,
function()
if Closed then
return
end
SpeedEnabled =
not SpeedEnabled
local _,Humanoid =
GetCharacter()
if Humanoid then
if SpeedEnabled then
NormalWalkSpeed =
Humanoid.WalkSpeed
Humanoid.WalkSpeed =
NormalWalkSpeed * 2
else
Humanoid.WalkSpeed =
NormalWalkSpeed
end
end
SetButton(
SpeedButton,
"2X SPEED",
SpeedEnabled
)
end
)
----------------------------------------------------------
-- DRAGGING
----------------------------------------------------------
local Dragging = false
local DragStart
local StartPosition
local DragInput
Connect(
TopBar.InputBegan,
function(Input)
if Closed
or Confirm.Visible then
return
end
if Input.UserInputType ==
Enum.UserInputType.MouseButton1
or Input.UserInputType ==
Enum.UserInputType.Touch then
Dragging = true
DragStart =
Input.Position
StartPosition =
Main.Position
Input.Changed:Connect(function()
if Input.UserInputState ==
Enum.UserInputState.End then
Dragging = false
end
end)
end
end
)
Connect(
TopBar.InputChanged,
function(Input)
if Input.UserInputType ==
Enum.UserInputType.MouseMovement
or Input.UserInputType ==
Enum.UserInputType.Touch then
DragInput = Input
end
end
)
Connect(
UIS.InputChanged,
function(Input)
if Closed then
return
end
if Dragging
and Input == DragInput then
local Delta =
Input.Position
- DragStart
Main.Position =
UDim2.new(
StartPosition.X.Scale,
StartPosition.X.Offset
+ Delta.X,
StartPosition.Y.Scale,
StartPosition.Y.Offset
+ Delta.Y
)
end
end
)
----------------------------------------------------------
-- MINIMIZE
----------------------------------------------------------
Connect(
Minimize.MouseButton1Click,
function()
if Closed
or Confirm.Visible then
return
end
Minimized =
not Minimized
if Minimized then
Body.Visible = false
Minimize.Text = "+"
TweenService:Create(
Main,
TweenInfo.new(
0.22,
Enum.EasingStyle.Quint,
Enum.EasingDirection.Out
),
{
Size =
UDim2.fromOffset(
300,
39
)
}
):Play()
else
Minimize.Text = "—"
TweenService:Create(
Main,
TweenInfo.new(
0.22,
Enum.EasingStyle.Quint,
Enum.EasingDirection.Out
),
{
Size =
UDim2.fromOffset(
300,
266
)
}
):Play()
task.delay(
0.08,
function()
if not Minimized
and not Closed then
Body.Visible = true
end
end
)
end
end
)
----------------------------------------------------------
-- OPEN CLOSE CONFIRMATION
----------------------------------------------------------
Connect(
CloseButton.MouseButton1Click,
function()
if Closed then
return
end
-- Expand first if minimized
if Minimized then
Minimized = false
Minimize.Text = "—"
Main.Size =
UDim2.fromOffset(
300,
266
)
Body.Visible = true
end
Confirm.Visible = true
Confirm.BackgroundTransparency = 1
TweenService:Create(
Confirm,
TweenInfo.new(0.15),
{
BackgroundTransparency =
0.06
}
):Play()
end
)
----------------------------------------------------------
-- CANCEL CLOSE
----------------------------------------------------------
Connect(
CancelClose.MouseButton1Click,
function()
if Closed then
return
end
Confirm.Visible = false
end
)
----------------------------------------------------------
-- CLEANUP EVERYTHING
----------------------------------------------------------
local function DisableEverything()
--------------------------------------------------
-- NOCLIP OFF
--------------------------------------------------
NoclipEnabled = false
RestoreCollisions()
--------------------------------------------------
-- ESP OFF
--------------------------------------------------
ESPEnabled = false
if ESPFolder.Parent then
ESPFolder:ClearAllChildren()
end
--------------------------------------------------
-- LOOK LINES OFF
--------------------------------------------------
LookLinesEnabled = false
ClearLookLines()
--------------------------------------------------
-- SPEED OFF
--------------------------------------------------
SpeedEnabled = false
local _,Humanoid =
GetCharacter()
if Humanoid then
Humanoid.WalkSpeed =
NormalWalkSpeed
end
--------------------------------------------------
-- THIRD PERSON OFF
--------------------------------------------------
ThirdPersonEnabled = false
LocalPlayer.CameraMode =
OriginalCameraMode
LocalPlayer.CameraMinZoomDistance =
OriginalMinZoom
LocalPlayer.CameraMaxZoomDistance =
OriginalMaxZoom
UIS.MouseBehavior =
Enum.MouseBehavior.Default
if Humanoid then
Humanoid.AutoRotate =
OriginalAutoRotate
Humanoid.CameraOffset =
Vector3.zero
end
LastGroundTime = 0
LastGroundY = nil
end
----------------------------------------------------------
-- CONFIRM CLOSE
----------------------------------------------------------
Connect(
ConfirmClose.MouseButton1Click,
function()
if Closed then
return
end
--------------------------------------------------
-- FIRST TURN EVERYTHING OFF
--------------------------------------------------
DisableEverything()
Closed = true
--------------------------------------------------
-- REMOVE WORLD LINES
--------------------------------------------------
if LookWorldFolder.Parent then
LookWorldFolder:Destroy()
end
--------------------------------------------------
-- DISCONNECT ALL EVENTS
--------------------------------------------------
for _,Connection in ipairs(
Connections
) do
pcall(function()
Connection:Disconnect()
end)
end
--------------------------------------------------
-- SMOOTH EXIT
--------------------------------------------------
TweenService:Create(
Main,
TweenInfo.new(
0.22,
Enum.EasingStyle.Quint,
Enum.EasingDirection.In
),
{
Position =
UDim2.new(
0,
-330,
Main.Position.Y.Scale,
Main.Position.Y.Offset
)
}
):Play()
task.wait(0.23)
if ScreenGui.Parent then
ScreenGui:Destroy()
end
end
)
----------------------------------------------------------
-- PLAYER RESPAWN SETUP
----------------------------------------------------------
local function SetupPlayer(Target)
if Target == LocalPlayer then
return
end
Connect(
Target.CharacterAdded,
function()
if Closed then
return
end
task.wait(0.45)
if ESPEnabled then
CreateESP(Target)
end
if LookLinesEnabled then
CreateLookLine(Target)
end
end
)
end
for _,Target in ipairs(
Players:GetPlayers()
) do
SetupPlayer(Target)
end
Connect(
Players.PlayerAdded,
function(Target)
if Closed then
return
end
SetupPlayer(Target)
end
)
Connect(
Players.PlayerRemoving,
function(Target)
RemoveESP(Target)
RemoveLookLine(Target)
end
)
Connect(
LocalPlayer.CharacterAdded,
function()
if Closed then
return
end
LastGroundTime = 0
LastGroundY = nil
task.wait(0.4)
local _,Humanoid =
GetCharacter()
if Humanoid then
if NoclipEnabled then
SaveCollisions()
end
if SpeedEnabled then
NormalWalkSpeed =
Humanoid.WalkSpeed
Humanoid.WalkSpeed =
NormalWalkSpeed * 2
end
if ThirdPersonEnabled then
ApplyThirdPerson()
end
end
end
)
----------------------------------------------------------
-- LOADING ANIMATION
----------------------------------------------------------
task.spawn(function()
LoadStatus.Text =
"Loading player tools..."
TweenService:Create(
Bar,
TweenInfo.new(0.20),
{
Size =
UDim2.fromScale(
0.35,
1
)
}
):Play()
task.wait(0.20)
LoadStatus.Text =
"Loading ESP..."
TweenService:Create(
Bar,
TweenInfo.new(0.20),
{
Size =
UDim2.fromScale(
0.72,
1
)
}
):Play()
task.wait(0.20)
LoadStatus.Text =
"READY"
TweenService:Create(
Bar,
TweenInfo.new(0.17),
{
Size =
UDim2.fromScale(
1,
1
)
}
):Play()
task.wait(0.18)
if Closed then
return
end
Loading:Destroy()
--------------------------------------------------
-- GUI SLIDE IN
--------------------------------------------------
Main.Visible = true
TweenService:Create(
Main,
TweenInfo.new(
0.40,
Enum.EasingStyle.Back,
Enum.EasingDirection.Out
),
{
Position =
UDim2.new(
0,
25,
0.5,
-133
)
}
):Play()
task.wait(0.12)
--------------------------------------------------
-- BUTTONS SLIDE IN
--------------------------------------------------
for _,Info in ipairs(
ButtonAnimations
) do
if Closed then
return
end
TweenService:Create(
Info.Button,
TweenInfo.new(
0.30,
Enum.EasingStyle.Quint,
Enum.EasingDirection.Out
),
{
Position =
Info.Target
}
):Play()
task.wait(0.06)
end
end)
print(
"UNEPIC IDENTITY FRAUD TROLLING GUI LOADED"
)



Is this chat gpt