Facebook
From Melodic Gibbon, 2 Years ago, written in Plain Text.
This paste is a reply to Kat Aimbot and Esp Script from Arcane Exploits - Roblox - go back
Embed
PLAYER  = game.Players.LocalPlayer
MOUSE   = PLAYER:GetMouse()
CC      = game.Workspace.CurrentCamera

ENABLED      = false
ESP_ENABLED  = false

_G.FREE_FOR_ALL = true

_G.BIND        = 50
_G.ESP_BIND    = 52
_G.CHANGE_AIM  = 'q'

_G.AIM_AT = 'Torso'

wait(1)

function GetNearestPlayerToMouse()
        local PLAYERS      = {}
        local PLAYER_HOLD  = {}
        local DISTANCES    = {}
        for i, v in pairs(game.Players:GetPlayers()) do
                if v ~= PLAYER then
                        table.insert(PLAYERS, v)
                end
        end
        for i, v in pairs(PLAYERS) do
                if _G.FREE_FOR_ALL == false then
                        if v and (v.Character) ~= nil and v.TeamColor ~= PLAYER.TeamColor then
                                local AIM = v.Character:FindFirstChild(_G.AIM_AT)
                                if AIM ~= nil then
                                        local DISTANCE                 = (AIM.Position - game.Workspace.CurrentCamera.CoordinateFrame.p).magnitude
                                        local RAY                      = Ray.new(game.Workspace.CurrentCamera.CoordinateFrame.p, (MOUSE.Hit.p - CC.CoordinateFrame.p).unit * DISTANCE)
                                        local HIT,POS                  = game.Workspace:FindPartOnRay(RAY, game.Workspace)
                                        local DIFF                     = math.floor((POS - AIM.Position).magnitude)
                                        PLAYER_HOLD[v.Name .. i]       = {}
                                        PLAYER_HOLD[v.Name .. i].dist  = DISTANCE
                                        PLAYER_HOLD[v.Name .. i].plr   = v
                                        PLAYER_HOLD[v.Name .. i].diff  = DIFF
                                        table.insert(DISTANCES, DIFF)
                                end
                        end
                elseif _G.FREE_FOR_ALL == true then
                        local AIM = v.Character:FindFirstChild(_G.AIM_AT)
                        if AIM ~= nil then
                                local DISTANCE                 = (AIM.Position - game.Workspace.CurrentCamera.CoordinateFrame.p).magnitude
                                local RAY                      = Ray.new(game.Workspace.CurrentCamera.CoordinateFrame.p, (MOUSE.Hit.p - CC.CoordinateFrame.p).unit * DISTANCE)
                                local HIT,POS                  = game.Workspace:FindPartOnRay(RAY, game.Workspace)
                                local DIFF                     = math.floor((POS - AIM.Position).magnitude)
                                PLAYER_HOLD[v.Name .. i]       = {}
                                PLAYER_HOLD[v.Name .. i].dist  = DISTANCE
                                PLAYER_HOLD[v.Name .. i].plr   = v
                                PLAYER_HOLD[v.Name .. i].diff  = DIFF
                                table.insert(DISTANCES, DIFF)
                        end
                end
        end
        
        if unpack(DISTANCES) == nil then
                return false
        end
        
        local L_DISTANCE = math.floor(math.min(unpack(DISTANCES)))
        if L_DISTANCE > 20 then
                return false
        end
        
        for i, v in pairs(PLAYER_HOLD) do
                if v.diff == L_DISTANCE then
                        return v.plr
                end
        end
        return false
end

GUI_MAIN                           = Instance.new('ScreenGui', game.CoreGui)
GUI_TARGET                         = Instance.new('TextLabel', GUI_MAIN)
GUI_AIM_AT                         = Instance.new('TextLabel', GUI_MAIN)

GUI_MAIN.Name                      = 'AIMBOT'

GUI_TARGET.Size                    = UDim2.new(0,200,0,30)
GUI_TARGET.BackgroundTransparency  = 0.5
GUI_TARGET.BackgroundColor         = BrickColor.new('Fossil')
GUI_TARGET.BorderSizePixel         = 0
GUI_TARGET.Position                = UDim2.new(0.5,-100,0,0)
GUI_TARGET.Text                    = 'AIMBOT : OFF'
GUI_TARGET.TextColor3              = Color3.new(1,1,1)
GUI_TARGET.TextStrokeTransparency  = 1
GUI_TARGET.TextWrapped             = true
GUI_TARGET.FontSize                = 'Size24'
GUI_TARGET.Font                    = 'GothamBold'

GUI_AIM_AT.Size                    = UDim2.new(0,200,0,20)
GUI_AIM_AT.BackgroundTransparency  = 0.5
GUI_AIM_AT.BackgroundColor         = BrickColor.new('Fossil')
GUI_AIM_AT.BorderSizePixel         = 0
GUI_AIM_AT.Position                = UDim2.new(0.5,-100,0,30)
GUI_AIM_AT.Text                    = 'AIMING : TORSO'
GUI_AIM_AT.TextColor3              = Color3.new(1,1,1)
GUI_AIM_AT.TextStrokeTransparency  = 1
GUI_AIM_AT.TextWrapped             = true
GUI_AIM_AT.FontSize                = 'Size18'
GUI_AIM_AT.Font                    = 'Gotham'

local TRACK = false

function CREATE(BASE, TEAM)
        local ESP_MAIN                   = Instance.new('BillboardGui', PLAYER.PlayerGui)
        local ESP_DOT                    = Instance.new('Frame', ESP_MAIN)
        local ESP_NAME                   = Instance.new('TextLabel', ESP_MAIN)
        
        ESP_MAIN.Name                    = 'ESP'
        ESP_MAIN.Adornee                 = BASE
        ESP_MAIN.AlwaysOnTop             = true
        ESP_MAIN.ExtentsOffset           = Vector3.new(0, 1, 0)
        ESP_MAIN.Size                    = UDim2.new(0, 5, 0, 5)
        
        ESP_DOT.Name                     = 'DOT'
        ESP_DOT.BackgroundColor          = BrickColor.new('Lime green')
        ESP_DOT.BackgroundTransparency   = 0.3
        ESP_DOT.BorderSizePixel          = 0
        ESP_DOT.Position                 = UDim2.new(-0.5, 0, -0.5, 0)
        ESP_DOT.Size                     = UDim2.new(2, 0, 2, 0)
        ESP_DOT.Visible                  = true
        ESP_DOT.ZIndex                   = 10
        
        ESP_NAME.Name                    = 'NAME'
        ESP_NAME.BackgroundColor3        = Color3.new(255, 255, 255)
        ESP_NAME.BackgroundTransparency  = 1
        ESP_NAME.BorderSizePixel         = 0
        ESP_NAME.Position                = UDim2.new(0, 0, 0, -40)
        ESP_NAME.Size                    = UDim2.new(1, 0, 10, 0)
        ESP_NAME.Visible                 = true
        ESP_NAME.ZIndex                  = 10
        ESP_NAME.Font                    = 'GothamBold'
        ESP_NAME.FontSize                = 'Size14'
        ESP_NAME.Text                    = BASE.Parent.Name:upper()
        ESP_NAME.TextColor               = BrickColor.new('Lime green')
end

function CLEAR()
        for _,v in pairs(PLAYER.PlayerGui:children()) do
                if v.Name == 'ESP' and v:IsA('BillboardGui') then
                        v:Destroy()
                end
        end
end

function FIND()
        CLEAR()
        TRACK = true
        spawn(function()
                while wait() do
                        if TRACK then
                                CLEAR()
                                for i,v in pairs(game.Players:GetChildren()) do
                                        if v.Character and v.Character:FindFirstChild('Head') then
                                                if _G.FREE_FOR_ALL == false then
                                                        if v.TeamColor ~= PLAYER.TeamColor then
                                                                if v.Character:FindFirstChild('Head') then
                                                                        CREATE(v.Character.Head, true)
                                                                end
                                                        end
                                                else
                                                        if v.Character:FindFirstChild('Head') then
                                                                CREATE(v.Character.Head, true)
                                                        end
                                                end
                                        end
                                end
                        end
                end
                wait(1)
        end)
end

MOUSE.KeyDown:connect(function(KEY)
        KEY = KEY:lower():byte()
        if KEY == _G.BIND then
                ENABLED = true
        end
end)

MOUSE.KeyUp:connect(function(KEY)
        KEY = KEY:lower():byte()
        if KEY == _G.BIND then
                ENABLED = false
        end
end)

MOUSE.KeyDown:connect(function(KEY)
        KEY = KEY:lower():byte()
        if KEY == _G.ESP_BIND then
                if ESP_ENABLED == false then
                        FIND()
                        ESP_ENABLED = true
                        print('ESP : ON')
                elseif ESP_ENABLED == true then
                        wait()
                        CLEAR()
                        TRACK = false
                        ESP_ENABLED = true
                        print('ESP : OFF')
                end
        end
end)

MOUSE.KeyDown:connect(function(KEY)
        if KEY == _G.CHANGE_AIM then
                if _G.AIM_AT == 'Head' then
                        _G.AIM_AT = 'Torso'
                        GUI_AIM_AT.Text = 'AIMING : TORSO'
                elseif _G.AIM_AT == 'Torso' then
                        _G.AIM_AT = 'Head'
                        GUI_AIM_AT.Text = 'AIMING : HEAD'
                end
        end
end)

game:GetService('RunService').RenderStepped:connect(function()
        if ENABLED then
                local TARGET = GetNearestPlayerToMouse()
                if (TARGET ~= false) then
                        local AIM = TARGET.Character:FindFirstChild(_G.AIM_AT)
                        if AIM then
                                CC.CoordinateFrame = CFrame.new(CC.CoordinateFrame.p, AIM.CFrame.p)
                        end
                        GUI_TARGET.Text = 'AIMBOT : '.. TARGET.Name:sub(1, 5)
                else
                        GUI_TARGET.Text = 'AIMBOT : OFF'
                end
        end
end)

repeat
        wait()
        if ESP_ENABLED == true then
                FIND()
        end
until ESP_ENABLED == false
wait()
_G.FREE_FOR_ALL = true
_G.BIND = 50 -- LEFT CTRL
_G.ESP_BIND = 52 -- LEFT ALT