Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local UIS, RS, Camera = game:GetService("UserInputService"), game:GetService("RunService"), workspace.CurrentCamera
- local HighlightFolder = Instance.new("Folder", workspace)
- HighlightFolder.Name = "ESPHighlights"
- local keybind_teleport, speed = Enum.KeyCode.T, 0.9
- local droneCFrame = Camera.CFrame
- local function createHighlight(part)
- local highlight = Instance.new("Highlight")
- highlight.Adornee = part
- highlight.FillTransparency = 0.7
- highlight.OutlineTransparency = 0.3
- highlight.FillColor = Color3.fromRGB(75, 0, 130)
- highlight.OutlineColor = Color3.fromRGB(75, 0, 130)
- highlight.Parent = HighlightFolder
- return highlight
- end
- local function getNearestAdornee()
- local cursorPosition = UIS:GetMouseLocation()
- local nearestAdornee = nil
- local smallestDistance = math.huge
- for _, highlight in ipairs(HighlightFolder:GetChildren()) do
- if highlight:IsA("Highlight") and highlight.Adornee then
- local adorneePosition, onScreen = Camera:WorldToScreenPoint(highlight.Adornee.Position)
- if onScreen then
- local distance = (Vector2.new(adorneePosition.X, adorneePosition.Y) - cursorPosition).Magnitude
- if distance < smallestDistance then
- smallestDistance = distance
- nearestAdornee = highlight.Adornee
- end
- end
- end
- end
- return nearestAdornee
- end
- local function teleportToNearestAdornee()
- local nearestAdornee = getNearestAdornee()
- if nearestAdornee then
- Camera.CFrame = nearestAdornee.CFrame
- droneCFrame = nearestAdornee.CFrame
- end
- end
- local function updateFreecam()
- local delta = UIS:GetMouseDelta()
- droneCFrame = droneCFrame * CFrame.Angles(-math.rad(delta.Y * 1), -math.rad(delta.X * 1), 0)
- local mv = Vector3.new()
- mv = mv + (UIS:IsKeyDown(Enum.KeyCode.W) and (droneCFrame.LookVector * speed) or Vector3.new())
- mv = mv + (UIS:IsKeyDown(Enum.KeyCode.S) and (-droneCFrame.LookVector * speed) or Vector3.new())
- mv = mv + (UIS:IsKeyDown(Enum.KeyCode.A) and (-droneCFrame.RightVector * speed) or Vector3.new())
- mv = mv + (UIS:IsKeyDown(Enum.KeyCode.D) and (droneCFrame.RightVector * speed) or Vector3.new())
- mv = mv + (UIS:IsKeyDown(Enum.KeyCode.C) and (droneCFrame.UpVector * speed) or Vector3.new())
- mv = mv + (UIS:IsKeyDown(Enum.KeyCode.Z) and (-droneCFrame.UpVector * speed) or Vector3.new())
- droneCFrame = droneCFrame + mv
- Camera.CFrame = droneCFrame
- end
- UIS.InputBegan:Connect(function(input, processed)
- if not processed and input.KeyCode == keybind_teleport then
- teleportToNearestAdornee()
- end
- end)
- RS.RenderStepped:Connect(updateFreecam)
- -- Initialization: ESP setup
- local function toggleESP()
- highlightConnection = workspace.DescendantAdded:Connect(function(part)
- if part:IsA("UnionOperation") and part.Name == "State" and part.Material == Enum.Material.Neon then
- createHighlight(part)
- end
- end)
- for _, part in ipairs(workspace:GetDescendants()) do
- if part:IsA("UnionOperation") and part.Name == "State" and part.Material == Enum.Material.Neon then
- createHighlight(part)
- end
- end
- end
- toggleESP() -- Enable ESP by default
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement