local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://421058925"
sound.Volume = 5
local NotifyLib = loadstring(game:HttpGet("https://[Log in to view URL]"))()
NotifyLib.prompt('info', "whats good", 2)
NotifyLib.prompt('i like', 'pancakes', 2)
NotifyLib.prompt('because', 'im cool', 2)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Mouse = game.Players.LocalPlayer:GetMouse()
local CamlockState = false
local Prediction = 0.1577191
local HorizontalPrediction = 0.1110300789
local VerticalPrediction = 0.1225410
local XPrediction = 4
local YPrediction = 2

local Players = game:GetService("Players")	
local LP = Players.LocalPlayer	
local Mouse = LP:GetMouse()	

local Locked = true
local Smoothness = 1
local hitpart = "Head"
getgenv().Key = "q"


function FindNearestEnemy()
    local ClosestDistance, ClosestPlayer = math.huge, nil
    local CenterPosition = Vector2.new(game:GetService("GuiService"):GetScreenResolution().X / 2, game:GetService("GuiService"):GetScreenResolution().Y / 2)

    for _, Player in ipairs(game:GetService("Players"):GetPlayers()) do
        if Player ~= LocalPlayer then
            local Character = Player.Character
            if Character and Character:FindFirstChild("HumanoidRootPart") and Character.Humanoid.Health > 0 then
                local Position, IsVisibleOnViewport = game:GetService("Workspace").CurrentCamera:WorldToViewportPoint(Character.HumanoidRootPart.Position)
                if IsVisibleOnViewport then
                    local Distance = (CenterPosition - Vector2.new(Position.X, Position.Y)).Magnitude
                    if Distance < ClosestDistance then
                        ClosestPlayer = Character
                        ClosestDistance = Distance
                    end
                end
            end
        end
    end

    return ClosestPlayer
end

local enemy = nil
local highlight = Instance.new("Highlight")
highlight.FillColor = Color3.fromRGB(225, 65, 212)
highlight.OutlineColor = Color3.fromRGB(0, 0, 0)
highlight.FillTransparency = 0
highlight.OutlineTransparency = 0

RunService.Heartbeat:Connect(function()
    if CamlockState then
        if enemy and enemy:FindFirstChild("HumanoidRootPart") then
            local camera = workspace.CurrentCamera
            local predictedPosition = enemy.HumanoidRootPart.Position + (enemy.HumanoidRootPart.Velocity * Prediction) + Vector3.new(HorizontalPrediction, VerticalPrediction, 0)
            camera.CFrame = CFrame.new(camera.CFrame.p, predictedPosition)
        end
    end
end)

Mouse.KeyDown:Connect(function(k)
    if k == getgenv().Key then
        Locked = not Locked
        if Locked then
            enemy = FindNearestEnemy()
            if enemy then
                highlight.Parent = enemy
            end
            CamlockState = true
        else
            if enemy then
                highlight.Parent = nil
                enemy = nil
                CamlockState = false
                FOVCircle.Visible = false
            end
        end
    end
end)


local GayDot = Instance.new("ScreenGui")
local Frame = Instance.new("Frame")
local UICorner = Instance.new("UICorner")
local TextButton = Instance.new("TextButton")
local UICorner_2 = Instance.new("UICorner")

GayDot.Name = "GayDot"
GayDot.Parent = game.CoreGui
GayDot.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

Frame.Parent = GayDot
Frame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
Frame.BorderColor3 = Color3.fromRGB(0, 0, 0)
Frame.BorderSizePixel = 0
Frame.Position = UDim2.new(0.5, -50, 0.5, -50) 
Frame.Size = UDim2.new(0, 50, 0, 50) 
Frame.Active = true
Frame.Draggable = true

sound.Parent = TextButton

local function TopContainer()
    Frame.Position = UDim2.new(0.55, 0, 0.12, -Frame.AbsoluteSize.Y / 2 - 0.03)
end

TopContainer()
Frame:GetPropertyChangedSignal("AbsoluteSize"):Connect(TopContainer)

UICorner.Parent = Frame
UICorner.CornerRadius = UDim.new(0, 0)

TextButton.Parent = Frame
TextButton.BackgroundColor3 = Color3.fromRGB(156, 227, 255)
TextButton.BackgroundTransparency = .5
TextButton.BorderColor3 = Color3.fromRGB(0, 0, 0)
TextButton.BorderSizePixel = 0
TextButton.Position = UDim2.new(0.1, 0, 0.1, 0)
TextButton.Size = UDim2.new(.8, 0.8, 0.8, .8)
TextButton.Font = Enum.Font.SourceSansSemibold
TextButton.Text = "GAY LOCK"
TextButton.TextColor3 = Color3.fromRGB(255, 255, 255)
TextButton.TextScaled = true
TextButton.TextSize = 18.000
TextButton.TextWrapped = true
TextButton.AutoButtonColor = false

local state = true

TextButton.MouseButton1Click:Connect(function()
    state = not state
    if not state then
        sound:Play()
        TextButton.Text = "GAY ON"
        enemy = FindNearestEnemy()
        if enemy then
            highlight.Parent = enemy
        end
        CamlockState = true
        FOVCircle.Visible = true
        else
        sound:Play()
        TextButton.Text = "GAY OFF"
        if enemy then
            highlight.Parent = nil
        end
        CamlockState = false
    end
end)
-- rainbow border
local rainbowColors = {
    Color3.fromRGB(255, 0, 0),     
    Color3.fromRGB(255, 165, 0),   
    Color3.fromRGB(255, 255, 0),  
    Color3.fromRGB(0, 255, 0),     
    Color3.fromRGB(0, 0, 255),     
    Color3.fromRGB(75, 0, 130),    
    Color3.fromRGB(238, 130, 238)  
}

local rainbowIndex = 1
local rainbowCycleSpeed = 0.09

RunService.RenderStepped:Connect(function(deltaTime)
    local index = math.floor(tick() / rainbowCycleSpeed) % #rainbowColors + 1
    Frame.BackgroundColor3 = rainbowColors[index]
end)

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: