in

Best Phantom Forces Roblox Scripts 2021

Phantom Forces is a fast-paced game, in which you have a bunch of guns to buy and choose from. Many players find this game very good, but some players who don’t play well, won’t be able to win. This is mainly because, although the player’s HP is high, simultaneously the gun’s damage is also high. So it is going to be difficult for some players to win. That is why I have put some scripts below here. it’s your time to win now!

Phantom Forces Script 1

							
							
					local UIS = game:GetService('UserInputService')
local RS = game:GetService('RunService')
local Players = game:GetService('Players')
local StarterGui = game:GetService('StarterGui')
local Player = Players.LocalPlayer
local Studio = RS:IsStudio()
local PlayerGui = RS:IsStudio() and Player:WaitForChild('PlayerGui') or game.CoreGui
local Mouse = Player:GetMouse()
local old_icon = Mouse.Icon
local Camera = workspace.CurrentCamera
targetpart = 'Head' -- Don't change this.
-- It can be changed with the targetpart_change hotkey ingame.
local target
local target_old
local alert = false
local lockedon = false
local settingkey = false
local upvals = nil
local val = 1
local windows = {}
local function hb() RS.Heartbeat:wait() end
 
local version = 1.25
local Spawn = nil or game.PlaceId == 292439477
local spawned = false
 
script.Name = 'GameSense!'
Mouse.TargetFilter = Camera
 
-- hotkey
toggle_aim = Enum.UserInputType.MouseButton2
toggle_aimbot = Enum.KeyCode.LeftAlt
toggle_trigger = Enum.KeyCode.RightAlt
toggle_esp = Enum.KeyCode.End
toggle_gui = Enum.KeyCode.F6
toggle_bottompos = Enum.KeyCode.F7
toggle_performance = Enum.KeyCode.F8
toggle_bones = Enum.KeyCode.Delete
toggle_chams = Enum.KeyCode.F3
toggle_tracers = Enum.KeyCode.F2
toggle_boxes = Enum.KeyCode.F4
toggle_font = Enum.KeyCode.F1
ffatoggle = Enum.KeyCode.Home
targetpart_change = Enum.KeyCode.BackSlash
priority_toggle = Enum.KeyCode.Insert
sethotkey = Enum.KeyCode.RightControl
-- aim fov
fov_increase = Enum.KeyCode.KeypadPlus
fov_decrease = Enum.KeyCode.KeypadMinus
-- aim sens (how smooth your crosshair will move)
sens_increase = Enum.KeyCode.RightBracket
sens_decrease = Enum.KeyCode.LeftBracket
 
-- parts
parts = {
    'Head';
    'Torso'
}
 
fonts = {
    Enum.Font.SourceSansBold,
    Enum.Font.Cartoon,
    Enum.Font.Arcade,
    Enum.Font.SciFi,
    Enum.Font.Fantasy,
    Enum.Font.Code,
    Enum.Font.Highway,
    Enum.Font.Bodoni
}
 
textSet = false
 
currentfont = 1
ffa = false
hidden = false
performancemode = false
-- aim
fov = 5
sens = .25
drop = .45
aim_toggled = false
bottompos = true
aim_priority = 2
-- [2] FOV or [1] Distance
aimingcolor = Color3.fromRGB(0,165,255)
aimbot_toggled = true
aim_line = true
locksoundid = 538769304
mouseiconid =  18671553
 
-- trigger
trigger_toggled = false
trigger_delay = 1/20
 
-- esp
esp_toggled = true
esp_bones = false
esp_chams = true
esp_tracers = true
-- item_esp (coming soon)
linesize = 1
showdists = true
textsize = 14
textoffset = 20
visiblecolor = Color3.fromRGB(38,255,99)
hiddencolor = Color3.fromRGB(255,37,40)
headboxsize = 4
headboxaimsize = 6
headboxshape = 'diamond'
-- rectangle or diamond
 
-- box esp
bounding_box = true
-- box_pointsize = 0 [UNUSED]
box_line_size = 1
-- box_line_size_visible = 2 [UNUSED]
 
local GUI = Instance.new('ScreenGui',PlayerGui)
GUI.Name = 'GameSense '..version
GUI.ResetOnSpawn = false
 
ESP = Instance.new('Folder',GUI)
ESP.Name = 'ESP'
local Bottom = Instance.new('Frame',ESP)
Bottom.Name = 'Bottom'
Bottom.BackgroundTransparency = 1
Bottom.Size = UDim2.new(0,1,0,1)
Bottom.Position = UDim2.new(.5,0,1,1)
 
local Status = Instance.new('TextLabel',GUI)
Status.Name = 'Status'
Status.BackgroundTransparency = 1
Status.Size = UDim2.new(0,500,0,50)
Status.Position = UDim2.new(.5,-250,.85,0)
Status.TextSize = 24
Status.Font = Enum.Font.SourceSansBold
Status.TextColor3 = Color3.new(1,1,1)
Status.TextStrokeColor3 = Color3.new(0,0,0)
Status.TextStrokeTransparency = .6
Status.Text = 'On Standby'
Status.ZIndex = 50
 
local Credits = Status:Clone()
Credits.Name = 'Credits'
Credits.Parent = GUI
Credits.Position = UDim2.new(.5,-250,.85,-20)
Credits.TextSize = 16
Credits.Text = 'GameSense '..version..' by tomty gaming!'
 
local FovGui = Instance.new('ImageLabel',GUI)
FovGui.Name = 'FovGui'
FovGui.Image = 'rbxassetid://324848180'
FovGui.Size = UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2)
FovGui.Position = UDim2.new(0.5,-FovGui.AbsoluteSize.X/2,0.5,-FovGui.AbsoluteSize.Y/2)
FovGui.BackgroundTransparency = 1
FovGui.ImageTransparency = .9
FovGui.ImageColor3 = Color3.new(1,0,0)
 
local Indicator = Instance.new('TextLabel',GUI)
Indicator.Name = 'Indicator'
Indicator.Font = Enum.Font.SourceSans
Indicator.TextSize = 14
Indicator.TextXAlignment = Enum.TextXAlignment.Center
Indicator.TextYAlignment = Enum.TextYAlignment.Center
Indicator.TextStrokeTransparency = .75
Indicator.Text = aim_priority>1 and 'FOV: '..fov or 'Distance'
 
local SensAdjust = Instance.new('TextBox',GUI)
SensAdjust.Name = 'SensAdjust'
SensAdjust.Font = Enum.Font.SourceSans
SensAdjust.BackgroundTransparency = .75
SensAdjust.BackgroundColor3 = Color3.new(0,0,0)
SensAdjust.BorderColor3 = Color3.new(1,1,1)
SensAdjust.Size = UDim2.new(0,50,0,20)
SensAdjust.TextStrokeTransparency = .6
SensAdjust.TextColor3 = Color3.new(1,1,1)
SensAdjust.TextSize = 14
SensAdjust.PlaceholderText = 'Sens'
SensAdjust.Text = tonumber(sens)
SensAdjust.Position = Credits.Position + UDim2.new(0,250,0,75)
 
local SensLabel = Instance.new('TextLabel',SensAdjust)
SensLabel.Name = 'SensLabel'
SensLabel.Font = Enum.Font.SourceSans
SensLabel.Size = UDim2.new(1,0,1,0)
SensLabel.BackgroundTransparency = 1
SensLabel.TextSize = 14
SensLabel.TextColor3 = Color3.new(1,1,1)
SensLabel.TextStrokeColor3 = Color3.new(0,0,0)
SensLabel.TextStrokeTransparency = .6
SensLabel.Text = 'Sens:'
SensLabel.Position = UDim2.new(-1,0,0,0)
SensLabel.TextXAlignment = Enum.TextXAlignment.Left
 
local FovAdjust = SensAdjust:Clone()
FovAdjust.Parent = GUI
FovAdjust.PlaceholderText = 'FOV'
FovAdjust.Name = 'FovAdjust'
FovAdjust.Text = tonumber(fov)
FovAdjust.Position = SensAdjust.Position + UDim2.new(0,0,0,20)
FovAdjust.SensLabel.Name = 'FovLabel'
FovAdjust.FovLabel.Text = 'Fov:'
 
local DropAdjust = SensAdjust:Clone()
DropAdjust.Parent = GUI
DropAdjust.PlaceholderText = 'Drop'
DropAdjust.Name = 'DropAdjust'
DropAdjust.Text = tonumber(drop)
DropAdjust.Position = SensAdjust.Position + UDim2.new(0,0,0,40)
DropAdjust.SensLabel.Name = 'DropLabel'
DropAdjust.DropLabel.Text = 'Drop:'
 
local KeysList = Instance.new('TextLabel',GUI)
KeysList.Name = 'KeysList'
KeysList.Font = Enum.Font.SourceSans
KeysList.TextStrokeTransparency = .6
KeysList.TextSize = 14
KeysList.TextColor3 = Color3.new(1,1,1)
KeysList.Size = UDim2.new(0,0,1,0)
KeysList.Position = UDim2.new(0,5,0,-280)
KeysList.BackgroundTransparency = 1
KeysList.Active = false
KeysList.TextXAlignment = Enum.TextXAlignment.Left
KeysList.TextYAlignment = Enum.TextYAlignment.Bottom
KeysList.Text = 'AimBot Toggle: '..toggle_aimbot.Name..'\nAim Toggle: '..toggle_aim.Name..'\nAim Part Toggle: '..targetpart_change.Name..'\nPriority Toggle: '..priority_toggle.Name
..'\nESP Toggle: '..toggle_esp.Name..'\nBones Toggle: '..toggle_bones.Name..'\nChams Toggle: '..toggle_chams.Name..'\nBoxes Toggle: '..toggle_boxes.Name..'\nFOV Increase: '..fov_increase.Name..'\nFOV Decrease: '..fov_decrease.Name..'\nSens Increase: '
..sens_increase.Name..'\nSens Decrease: '..sens_decrease.Name..'\nTrigger Toggle: '..toggle_trigger.Name..'\nFFA Toggle: '..ffatoggle.Name..'\nHide Cheats: '..toggle_gui.Name
..'\nChange ESP Origin: '..toggle_bottompos.Name..'\nPerformance Mode: '..toggle_performance.Name..'\nChange Font: '..toggle_font.Name
 
local n = 0
 
spawn(function()
    while Status do
        Indicator.TextColor3 = Color3.fromHSV(n,.5,1)
        FovGui.ImageColor3 = Indicator.TextColor3
        if not textSet then
        if aim_toggled and target then
            Status.TextColor3 = aimingcolor
            Status.Text = ('Aiming at '..target.Name)
        else
            Status.TextColor3 = Color3.fromHSV(n,.5,1)
            Status.Text = 'On Standby'
        end
        end
        n = (n+.005)%1
        hb()
    end
end)
 
SensAdjust.InputEnded:Connect(function() if SensAdjust.Text~='' then sens = tonumber(SensAdjust.Text)>0 and tonumber(SensAdjust.Text) or sens end end)
FovAdjust.InputEnded:Connect(function() if FovAdjust.Text~='' then fov = tonumber(FovAdjust.Text)>0 and tonumber(FovAdjust.Text) or fov
FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true) end end)
DropAdjust.InputEnded:Connect(function() if DropAdjust.Text~='' then drop = tonumber(DropAdjust.Text)>=0 and tonumber(DropAdjust.Text) or drop end end)
 
local function distfromspawn(x)
    if Spawn then
        return x:DistanceFromCharacter(Spawn.Position)
    else
        return 201
    end
end
 
local function setText(text)
    spawn(function()
    textSet = true
    Status.Text = text
    Status.TextColor3 = Color3.new(1,1,1)
    wait(#text/4)
    textSet = false
    end)
end
 
local function playsound(id)
    local sound = Instance.new('Sound',Camera)
    sound.SoundId = 'rbxassetid://'..id
    sound.Volume = 3
    sound:Play()
    game:GetService('Debris'):AddItem(sound,5)
end
 
playsound(1168009121)
Mouse.Icon = 'rbxassetid://'..mouseiconid
 
local function Notification(...)
    playsound(140910211)
    StarterGui:SetCore('SendNotification',...)
end
 
local function DrawLine(Folder,P1,P2,Thickness,Color,LineTransparency,BorderThickness,BorderColor)
    -- Declare variables
    local Point1,Point2 = P1.Position,P2.Position
    if Point1 and Point2 then
    local X,Y = Camera.ViewportSize.X, Camera.ViewportSize.Y
    local X1,X2 = (X * Point1.X.Scale + Point1.X.Offset + P1.Size.X.Offset/2), (X * Point2.X.Scale + Point2.X.Offset + P2.Size.X.Offset/2)
    local Y1,Y2 = (Y * Point1.Y.Scale + Point1.Y.Offset + P1.Size.Y.Offset/2), (Y * Point2.Y.Scale + Point2.Y.Offset + P2.Size.Y.Offset/2)
    local MidX,MidY = (X1+X2)/2, (Y1+Y2)/2
    -- Set defaults to prevent errors
    Thickness = Thickness or 1
    Color = Color or Color3.new(1,1,1)
    LineTransparency =  LineTransparency or 0
    BorderThickness = BorderThickness or 0
    BorderColor = BorderColor or Color3.new(0,0,0)
    -- Draw the line
    local Line = Folder:FindFirstChild(P1.Name..'-'..P2.Name) or Instance.new('Frame',Folder)
    Line.Visible = false
    Line.BackgroundTransparency = LineTransparency
    Line.BorderSizePixel = BorderThickness
    Line.BorderColor3 = BorderColor
    Line.Size = UDim2.new(0,(Vector2.new(X1,Y1) - Vector2.new(X2,Y2)).magnitude-1,0,Thickness)
    Line.Position = UDim2.new(0,MidX-Line.AbsoluteSize.X/2,0,MidY-Line.AbsoluteSize.Y)
    Line.BackgroundColor3 = Color
    Line.Rotation = math.deg(math.atan2((Y2-Y1),(X2-X1)))
    Line.Name = P1.Name..'-'..P2.Name
    Line.Visible = true
    return Line
    else
        return nil
    end
end
 
local function GetNearest(Mode)
    local lowest,nearest,gui = math.huge,nil,nil
    if Mode==1 then
    for _,plr in next,Players:GetPlayers() do
        if plr.Name~=Player.Name and plr.Character~=nil and plr.Character:FindFirstChild(targetpart) then
            local dist = Player:DistanceFromCharacter(plr.Character[targetpart].Position)
            local ray = Ray.new(Player.Character.Head.Position,(plr.Character[targetpart].Position-Player.Character.Head.Position).unit*5000)
            local part,point = workspace:FindPartOnRayWithIgnoreList(ray,{Camera,Player.Character,unpack(windows)})
            local Z = Camera:WorldToScreenPoint(plr.Character[targetpart].Position).Z
            if part and part:IsDescendantOf(plr.Character) and Z>0 and dist 0 and dist <= Camera.ViewportSize.X/(90/fov) and dist 0 then wait(trigger_delay) end
        while trigger_toggled do
        local Target = Mouse.Target
        local plr = Players:FindFirstChild(Target.Parent.Name)
        if Target and Target.Parent and plr~=nil and plr~=Player and ffa or plr~=nil and plr.TeamColor~=Player.TeamColor then
            Box.Adornee = Mouse.Target
            mouse1press()
            wait()
            mouse1release()
        end
        RS.Heartbeat:wait()
        end
        Box:Destroy()
    elseif Input.KeyCode == toggle_esp then
        esp_toggled = not esp_toggled
        Notification({Title='ESP';Text='ESP was toggled '..(esp_toggled and 'On' or 'Off');Duration=2;})
        setText('Toggled ESP '..(esp_toggled and 'On' or 'Off'))
    elseif Input.KeyCode == toggle_aimbot then
        aimbot_toggled = not aimbot_toggled
        Notification({Title='AimBot';Text='AimBot was toggled '..(aimbot_toggled and 'On' or 'Off');Duration=2;})
        setText('Toggled AimBot '..(aimbot_toggled and 'On' or 'Off'))
    elseif Input.KeyCode == fov_increase then
        fov = fov + .5
        FovAdjust.Text = tonumber(fov)
        if FovGui.Visible then
            FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
        end
        setText('Aim FOV: '..fov)
    elseif Input.KeyCode == fov_decrease and fov>0 then
        fov = fov - .5
        FovAdjust.Text = tonumber(fov)
        if FovGui.Visible then
            FovGui:TweenSize(UDim2.new(0,(Camera.ViewportSize.X/(90/fov))*2,0,(Camera.ViewportSize.X/(90/fov))*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
        end
        setText('Aim FOV: '..fov)
    elseif Input.KeyCode == sens_increase then
        sens = sens + .05
        SensAdjust.Text = tonumber(sens)
        setText('Sens: '..sens)
    elseif Input.KeyCode == sens_decrease then
        sens = sens - .05
        SensAdjust.Text = tonumber(sens)
        setText('Sens: '..sens)
    elseif Input.KeyCode == targetpart_change then
        val = val+1
        targetpart = val2 and 0 or 1
        aim_priority = aim_priority+1
        FovGui.Visible = aim_priority>1
        Notification({Title='Aim Priority';Text='Aim Priority: '..(aim_priority==1 and 'Distance' or 'FOV');Duration=2;})
        setText('Aim Priority: '..(aim_priority==1 and 'Distance' or 'FOV'))
    elseif Input.KeyCode == toggle_bones then
        esp_bones = not esp_bones
        if not esp_bones then
        for _,v in next,ESP:GetDescendants() do
            if v:IsA('Frame') and v.Name:match('-') then
                v:Destroy()
            end
        end
        end
        Notification({Title='ESP';Text='ESP Bones: '..(esp_bones and 'Enabled' or 'Disabled');Duration=2;})
        setText('Toggled ESP Bones '..(esp_bones and 'Enabled' or 'Disabled'))
    elseif Input.KeyCode == toggle_gui then
        hidden = not hidden
        for _,gui in next,GUI:GetDescendants() do
            if gui:IsA('GuiObject') and not hidden and not gui.Visible then
                gui.Visible = true
                Mouse.Icon = 'rbxassetid://'..mouseiconid
            elseif gui:IsA('GuiObject') and gui.Visible then
                gui.Visible = false
                esp_toggled = false
                Mouse.Icon = old_icon
            end
            end
        elseif Input.KeyCode == toggle_bottompos then
            bottompos = not bottompos
            if bottompos then
                Bottom.Position = UDim2.new(.5,0,1,1)
            end
        elseif Input.KeyCode == toggle_performance then
            performancemode = not performancemode
            setText('Performance Mode '..(performancemode and 'Enabled' or 'Disabled'))
        elseif Input.KeyCode == toggle_chams then
            esp_chams = not esp_chams
            setText('Chams '..(esp_chams and 'Enabled' or 'Disabled'))
            Notification({Title='ESP';Text='Chams: '..(esp_chams and 'Enabled' or 'Disabled');Duration=2;})
        elseif Input.KeyCode == toggle_tracers then
            esp_tracers = not esp_tracers
            setText('Tracers '..(esp_chams and 'Enabled' or 'Disabled'))
            Notification({Title='ESP';Text='Tracers: '..(esp_tracers and 'Enabled' or 'Disabled');Duration=2;})
        elseif Input.KeyCode == toggle_boxes then
            bounding_box = not bounding_box
            setText('Bounding Boxes '..(bounding_box and 'Enabled' or 'Disabled'))
            Notification({Title='ESP';Text='Bounding Boxes: '..(bounding_box and 'Enabled' or 'Disabled');Duration=2;})
        elseif Input.KeyCode == toggle_font then
                currentfont = (currentfont+1)>#fonts and 1 or currentfont+1
                for _,v in next,GUI:GetDescendants() do
                    if v.Name~='KeysList' then
                    if v:IsA('TextLabel') or v:IsA('TextButton') then
                        v.Font = fonts[currentfont]
                    end
                    end
                end
        end
end)
 
UIS.InputEnded:Connect(function(Input)
    if Input.KeyCode == toggle_aim or Input.UserInputType == toggle_aim then
        aim_toggled = false
    end
end)
 
local function checkifspawned(x)
    spawned = false
    while not spawned and game.PlaceId==292439477 do
        spawned = distfromspawn(x)>200 and true or false
        wait(1/5)
    end
    spawned = true
end
 
checkifspawned(Player)
Player.CharacterAdded:Connect(function(c)
    checkifspawned(Player)
   
    for _,v in next,ESP:GetDescendants() do
        if v:IsA('Frame') and v.Name:match('-') then
            v:Destroy()
        end
    end
end)
 
Notification({Title='GameSense '..version;Text='Cheat loaded successfully.';Icon='rbxassetid://2572157833';Duration=10;})
wait(.5)
Notification({Title='GameSense '..version;Text='GameSense 2.0 has been released!.';Icon='rbxassetid://2572157833';Duration=10;})
wait(.5)
Notification({Title='Main Coder';Text='AvexusDev';Duration=4;Icon='https://www.roblox.com/Thumbs/Avatar.ashx?x=100&y=100&username=AvexusDev'})
wait(.5)
Notification({Title='Thank you!';Text='If you like this script, please leave a vouch on my thread!';Duration=4;})
 
RS.RenderStepped:Connect(function()
    if cursor then
        FovGui.Position = cursor.Position-UDim2.new(0,FovGui.AbsoluteSize.X/2,0,FovGui.AbsoluteSize.Y/2)
        Indicator.Position = cursor.Position+UDim2.new(0,0,0,40)
    end
end)
 
Mouse.Button1Down:Connect(function()
    spawn(function()
        if FovGui.Visible then
            FovGui:TweenSize(UDim2.new(0,Camera.ViewportSize.X/(90/fov)*2.35,0,Camera.ViewportSize.X/(90/fov)*2.35),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
            wait(.1)
            FovGui:TweenSize(UDim2.new(0,Camera.ViewportSize.X/(90/fov)*2,0,Camera.ViewportSize.X/(90/fov)*2),Enum.EasingDirection.InOut,Enum.EasingStyle.Quad,.1,true)
        end
    end)
end)
 
while true do
    Indicator.Text = (aim_priority>1 and 'FOV: '..fov or 'Distance') ..'\nSens: '..sens..(aim_toggled and '\nAiming' or '')
    if not bottompos then Bottom.Position = cursor.Position end
    if esp_toggled then
    for _,v in next,ESP:children() do
        if v~=Bottom and not Players:FindFirstChild(v.Name) then
            v:Destroy()
        end
    end
    for _,v in next,Players:GetPlayers() do
        local Char = v.Character
        if Char and spawned and v~=Player and Char:FindFirstChild(targetpart) and distfromspawn(v)>100 then
            if ffa or v.TeamColor~=Player.TeamColor then
            local X = Camera:GetPartsObscuringTarget({Camera.CFrame.p,Char[targetpart].CFrame.p},{v.Character,Char,Camera,unpack(windows)})
            local Dist = Player:DistanceFromCharacter(Char:FindFirstChild(targetpart).Position)
            local Color = hiddencolor
            local Folder = ESP:FindFirstChild(v.Name) or Instance.new('Folder',ESP)
            Folder.Name = v.Name
            -- ESP
            local Head = Folder:FindFirstChild('Head') or Instance.new('Frame',Folder)
            if not Folder:FindFirstChild('Head') then
            Head.Name = 'Head'
            Head.BorderSizePixel = 1
            Head.BorderColor3 = Color3.new(0,0,0)
            Head.BackgroundTransparency = 0
            end
            Head.BackgroundColor3 = #X>0 and hiddencolor or #X==0 and visiblecolor
            Head.Rotation = headboxshape=='diamond' and 45 or 0
            Head.ZIndex = 3
            local HP = Folder:FindFirstChild('HP') or Instance.new('TextLabel',Folder)
            if not Folder:FindFirstChild('HP') then
            HP.Name = 'HP'
            HP.TextTransparency = Head.BackgroundTransparency-.4
            HP.Font = fonts[currentfont]
            HP.TextStrokeTransparency = .6
            HP.BackgroundTransparency = 1
            HP.TextSize = 14
            end
            HP.Text = showdists and Char.Name..'\n'..math.floor(Dist+.5) or Char.Name
            if aim_toggled and target==Char then
                Head.Size = UDim2.new(0,headboxaimsize,0,headboxaimsize)
                Head.BackgroundColor3 = aimingcolor
                HP.Text = showdists and '['..Char.Name..']'..'\n'..math.floor(Dist+.5) or '['..Char.Name..']'
                HP.TextSize = 16
            else
                Head.Size = UDim2.new(0,headboxsize,0,headboxsize)
            end
            HP.TextColor3 = Head.BackgroundColor3
            local toScreen = Camera:WorldToScreenPoint(Char[targetpart].CFrame.p)
            if #X==0 then Color = visiblecolor end
            Head.Position = UDim2.new(0,toScreen.X-Head.Size.X.Offset/2,0,toScreen.Y-Head.Size.Y.Offset/2)
            HP.Position = Head.Position-UDim2.new(0,0,0,textoffset)
            if esp_tracers then
            local Line = DrawLine(Folder,ESP.Bottom,Head,linesize,Head.BackgroundColor3,.75,1,Color3.new(0,0,0))
                Line.Visible = Head.Visible
            else
                local imtired = Folder:FindFirstChild(ESP.Bottom.Name..'-'..Head.Name)
                if imtired then
                    imtired:Destroy()
                end
            end
            if toScreen.Z<=0 then Head.Visible = false else Head.Visible = true end
            HP.Visible = Head.Visible
            if Char:FindFirstChild('Humanoid') and Char.Humanoid.RigType==Enum.HumanoidRigType.R6 then
            local Neck = Folder:FindFirstChild('Neck') or Instance.new('Frame',Folder)
            Neck.Name = 'Neck'
            Neck.ZIndex = 2
            if Char['Torso']~=nil then
            local Pos = (Char.Torso.CFrame*CFrame.new(0,.8,0)).p
            local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
            Neck.Position = UDim2.new(0,X,0,Y)
            Neck.BorderSizePixel = 0
            if Z<=0 then Neck.Visible = false else Neck.Visible = true end
            else
                Neck.Visible = false
            end
            --
            local Pelvis = Folder:FindFirstChild('Pelvis') or Instance.new('Frame',Folder)
            Pelvis.Name = 'Pelvis'
            Pelvis.ZIndex = 2
            Pelvis.BorderSizePixel = 0
            if Char['Torso']~=nil then
            local Pos = (Char.Torso.CFrame*CFrame.new(0,-1,0)).p
            local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
            Pelvis.Position = UDim2.new(0,X,0,Y)
            if Z<=0 then Pelvis.Visible = false else Pelvis.Visible = true end
            else
                Pelvis.Visible = false
            end
            --
            local RightFoot = Folder:FindFirstChild('Right Foot') or Instance.new('Frame',Folder)
            RightFoot.Name = 'Right Foot'
            RightFoot.ZIndex = 2
            RightFoot.BorderSizePixel = 0
            if Char['Right Leg']~=nil then
            local Pos = (Char['Right Leg'].CFrame*CFrame.new(0,-1,0)).p
            local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
            RightFoot.Position = UDim2.new(0,X,0,Y)
            if Z<=0 then RightFoot.Visible = false else RightFoot.Visible = true end
            else
                RightFoot.Visible = false
            end
            --
            local LeftFoot = Folder:FindFirstChild('Left Foot') or Instance.new('Frame',Folder)
            LeftFoot.Name = 'Left Foot'
            if Char['Left Leg']~=nil then
            local Pos = (Char['Left Leg'].CFrame*CFrame.new(0,-1,0)).p
            local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
            LeftFoot.Position = UDim2.new(0,X,0,Y)
            LeftFoot.BorderSizePixel = 0
            if Z<=0 then LeftFoot.Visible = false else LeftFoot.Visible = true end
            else
                LeftFoot.Visible = false
            end
            --
            local RightHand = Folder:FindFirstChild('Right Hand') or Instance.new('Frame',Folder)
            RightHand.Name = 'Right Hand'
            RightHand.ZIndex = 2
            RightHand.BorderSizePixel = 0
            if Char['Right Arm']~=nil then
            local Pos = (Char['Right Arm'].CFrame*CFrame.new(0,-1,0)).p
            local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
            RightHand.Position = UDim2.new(0,X,0,Y)
            if Z<=0 then RightHand.Visible = false else RightHand.Visible = true end
            else
                RightHand.Visible = false
            end
            --
            local LeftHand = Folder:FindFirstChild('Left Hand') or Instance.new('Frame',Folder)
            LeftHand.Name = 'Left Hand'
            LeftHand.ZIndex = 2
            LeftHand.BorderSizePixel = 0
            if Char['Left Arm']~=nil then
            local Pos = (Char['Left Arm'].CFrame*CFrame.new(0,-1,0)).p
            local X,Y,Z = Camera:WorldToScreenPoint(Pos).X,Camera:WorldToScreenPoint(Pos).Y,Camera:WorldToScreenPoint(Pos).Z
            LeftHand.Position = UDim2.new(0,X,0,Y)
            if Z<=0 then LeftHand.Visible = false else LeftHand.Visible = true end
            else
                LeftHand.Visible = false
            end
            -- draw joints
            if esp_bones then
            if Head.Visible then DrawLine(Folder,Head,Neck,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
            if Neck.Visible then DrawLine(Folder,Neck,Pelvis,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
            if Neck.Visible then DrawLine(Folder,Neck,RightHand,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
            if Neck.Visible then DrawLine(Folder,Neck,LeftHand,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
            if Pelvis.Visible then DrawLine(Folder,Pelvis,RightFoot,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
            if Pelvis.Visible then DrawLine(Folder,Pelvis,LeftFoot,1,Color3.new(1,1,1),Head.BackgroundTransparency) end
            end
            end
           
            if esp_chams then
                for _,Part in next,Char:children() do
                    if Part:IsA('BasePart') and Part.Name~='HumanoidRootPart' then
                        local Adornment = Folder:FindFirstChild(Part.Name..'_Cham') or Instance.new('BoxHandleAdornment',Folder)
                        if not Folder:FindFirstChild(Part.Name..'_Cham') then
                        Adornment.Name = Part.Name..'_Cham'
                        Adornment.Adornee = Part
                        Adornment.AlwaysOnTop = true
                        Adornment.Size = Part.Name=='Head' and Vector3.new(1,1,1) or Part.Size
                        Adornment.ZIndex = 1
                        end
                        Adornment.Color3 = Head.BackgroundColor3
                    end
                end
            else
                for _,v in next,Folder:GetDescendants() do
                    if v.Name:match('Cham') then
                        v:Destroy()
                    end
                end
            end
           
            if bounding_box and Char:FindFirstChild('HumanoidRootPart') then
                local Box = Char:FindFirstChild('Box') or Instance.new('BillboardGui',Char)
                if not Char:FindFirstChild('Box') then
                Box.Name = 'Box'
                Box.Adornee = Char:FindFirstChild('HumanoidRootPart')
                Box.AlwaysOnTop = true
                Box.LightInfluence = 0
                Box.StudsOffset = Vector3.new(0,-Box.Adornee.Size.Y/4,0)
                Box.Size = UDim2.new(4,1,5,1)
                local Top = Instance.new('Frame',Box)
                Top.Size = UDim2.new(1,0,0,box_line_size)
                Top.BorderSizePixel = 0
                local Bot = Top:Clone()
                Bot.Position = UDim2.new(0,0,1,-box_line_size)
                Bot.Parent = Box
                local Left = Top:Clone()
                Left.Size = UDim2.new(0,1,1,0)
                Left.Parent = Box
                local Right = Left:Clone()
                Right.Position = UDim2.new(1,-box_line_size,0,0)
                Right.Parent = Box
                end
                for _,v in next,Box:children() do
                    if v:IsA('Frame') then
                        v.BackgroundColor3 = Head.BackgroundColor3
                    end
                end
            else
                local Box = Char:FindFirstChild('Box')
                if Box then
                    Box:Destroy()
                end
            end
           
            if lockedon and target and aim_line and ESP:FindFirstChild(target.Name) then
                DrawLine(ESP,cursor,ESP:FindFirstChild(target.Name).Head,1,Head.BackgroundColor3,.5)
            end
           
        else
            if ESP:FindFirstChild(v.Name) then
                ESP:FindFirstChild(v.Name):Destroy()
            end
            end
        else
            if ESP:FindFirstChild(v.Name) then
                ESP:FindFirstChild(v.Name):Destroy()
            end
        end
        end
    else
        for _,v in next,ESP:children() do
            if v:IsA('Folder') then
                v:Destroy()
            end
        end
    end
    if performancemode then
        wait(1/(workspace:GetRealPhysicsFPS()*.75))
    else
        RS.Stepped:wait()
    end
end				
			

Phantom Forces Script 2

							
							
					ESP = true --Do you want ESP?
Aimbot = true --Do you want Aimbot?
IgnoreWalls = true --Do you want to shoot through walls?
CalculateWalls = false --Do you want to see if you can shoot through multiple walls? (Turning this on will cause lag to some pcs) (To turn on you need CalculateAnyWalls on as well)
CalculateAnyWalls = true --Do you want to check if you can shoot through the wall (Turning this on won't cause any lag unless both are on)
_G.Legit = true --Do you always want to shoot headshots?

Sniper = {"INTERVENTION", "REMINGTON 700", "AWS", "L115A3", "MOSIN NAGANT", "OBREZ"}
SpecialSniper = {"BFG 50", "SFG 50"}
WeakSniper = {"MK11", "SKS", "SCAR SSR", "DRAGUNOV SVU", "HENRY 45-70"}
SMG = {"SCAR-H", "AG-3", "M4A1", "G36C", "M4", "L22", "SCAR PDW", "SR-3M", "P90", "AUG A3 PARA", "AK12", "AN-94", "AS VAL", "SCAR-L", "AUG A1", "M16A4", "G36", "M16A3", "AUG A2", "FAMAS", "AK44", "AUG A3", "L85A2", "HONEY BADGER", "AK74", "AKM", "M231"}
WeakSMG = {"MP5K", "UMP45", "MP7", "MAC10", "MP5", "COLT SMG 635", "MP5SD", "MP10", "MP5/10", "KRISS VECTOR"}
ShotGun = {"REMINGTON 870", "KSG 12", "KS-23M", "SERBU SHOTGUN"}
LMG = {"COLT LMG", "M60", "AUG HBAR", "MG36", "L86 LSW", "RPK", "SCAR HAMR", "RPK74"}
Other = {"M9", "GLOCK 17", "M1911", "DEAGLE 44", "GLOCK 18", "M93R", "TEC9", "MP412 REX"}
Melee = {"KNIFE", "MACHETE"}

warn("firsttobebear#2469 is a faggot")


local camera = workspace.CurrentCamera
local ScreenX, ScreenY = workspace.CurrentCamera.ViewportSize.X, workspace.CurrentCamera.ViewportSize.Y
local inversePi = 1 / math.pi
_G.FOV = 9
local magic = _G.FOV*inversePi
_G.ignoreFOV = false
local aim_through_list = {nil, nil, nil}
local distance
local ignore
local distance2
Pixels = ScreenX * ScreenY
local mouse = game:GetService("Players").LocalPlayer:GetMouse()
Radius = math.sqrt(Pixels*magic)
local viable
local your_head = game:GetService("Players").LocalPlayer.Character:FindFirstChild("Head")
local ray_start
local vector
_G.ignoreWalls = true
_G.ShootingTeam = false
local enabled = false
local target


local function ReturnF(player, bone) 
if not bone and player.Character:FindFirstChild(bone) then
return {_, false}
end
if player.Character:FindFirstChild(bone) then
return camera:WorldToScreenPoint(player.Character[bone].Position)
end
end 
local function checksight(player)
local screen_position, in_fov = ReturnF(player, "Head") -- end my life
if not (in_fov or _G.ignoreFOV) then 
return false
else -- bug here with fov checks
if (not _G.ignoreFOV) and (_G.FOV~=-1) then
local distance2 = (Vector2.new(screen_position.X, screen_position.Y) - Vector2.new(mouse.X, mouse.Y)).magnitude
if distance2<=Radius then
return player, screen_position
end 
return false
else
return player, screen_position
end
end
end 

function PlayerFacing(plr)
local player = game:GetService("Players").LocalPlayer
local Torso = player.Character.HumanoidRootPart
local OtherTorso = plr
if OtherTorso.CFrame.lookVector:Dot((OtherTorso.Position - Torso.Position).unit) <= -0.85 and ((Torso.Position - OtherTorso.Position).magnitude) < 50 then
return true
elseif OtherTorso.CFrame.lookVector:Dot((OtherTorso.Position - Torso.Position).unit) = 50 and ((Torso.Position - OtherTorso.Position).magnitude) < 100 then
return true
elseif OtherTorso.CFrame.lookVector:Dot((OtherTorso.Position - Torso.Position).unit) = 100 then
return true
else
return false
end
end


local function ViableP()
aim_through_list[1] = game:GetService("Players").LocalPlayer.Character
local distance = 1000
local closest_distance = 1000
local most_viable_player = nil 
for i, player_being_checked in pairs(game:GetService("Players"):GetPlayers()) do 
local player_or_false, targets_coordinates = checksight(player_being_checked) 
if (player_or_false) then
local char = player_being_checked.Character
local target_torso = char and char:FindFirstChild "Torso" 
if (camera.Focus.p - camera.CoordinateFrame.p).magnitude <= 1 then
ray_start = your_head.Position + your_head.CFrame.lookVector * 16 + Vector3.new(0, 4, 0)
else
ray_start = your_head.Position + Vector3.new(0, 4, 0)
end
if not targets_coordinates then 
distance = (Vector2.new(targets_coordinates.X, targets_coordinates.Y) - Vector2.new(mouse.X, mouse.Y)).magnitude 
else
distance = (Vector2.new(targets_coordinates.X, targets_coordinates.Y) - Vector2.new(mouse.X, mouse.Y)).magnitude
end
vector = (target_torso.Position - ray_start)
if char:FindFirstChild("Head") then
if (not targets_coordinates) or (distance = 2 and random <= 3 then
Current.Flame.CFrame = target.Character.Torso.CFrame*CFrame.new(0,0,0.1) -- this is where the magic is
end
elseif Type == "LMG" then
if ((game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position - target.Character.HumanoidRootPart.Position).magnitude) = 2 and random = 4 and random = 2 and random = 4 and random = 2 and random = 4 and random <= 5 then
Current.Flame.CFrame = CFrame.new(0,0,0)
end
elseif Type == "WeakSMG" or Type == "SMG" then
if ((game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position - target.Character.HumanoidRootPart.Position).magnitude) = 2 and random = 4 and random = 2 and random = 4 and random = 2 and random = 5 and random <= 6 then
Current.Flame.CFrame = CFrame.new(0,0,0)
end
end
end
end 
end
end
end





if ESP == true then
for i,v in pairs(game:GetService("Players"):GetChildren()) do
pass = false
if workspace:FindFirstChild(v.Name) then
if v.Team == game:GetService("Players").LocalPlayer.Team then
if v.Character:FindFirstChild("HumanoidRootPart") then
if v.Character.HumanoidRootPart:FindFirstChild("ESP") then
v.Character.HumanoidRootPart.ESP:Destroy()
end
end
end
if v.Team ~= game:GetService("Players").LocalPlayer.Team then
if v.Character:FindFirstChild("HumanoidRootPart") then
for i,v in pairs(v.Character:GetChildren()) do
if v:IsA("Model") then
pass = true
break
end
end

shirt = nil
passer = false
for i,v in pairs(v.Character:GetChildren()) do
if v:IsA("Shirt") then
shirt = v
break
end
end

for i,v in pairs(game:GetService("Players").LocalPlayer.Character:GetChildren()) do
if v:IsA("Shirt") then
if shirt ~= nil then
if v.Name ~= shirt.Name then
passer = true
break
end
end
end
end

if passer == true then
if v.Character:FindFirstChild("HumanoidRootPart") then
if v.Character.HumanoidRootPart:FindFirstChild("ESP") then

v.Character.HumanoidRootPart.ESP.TextLabel.Text = v.Name.." Distance: "..math.floor(((game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position - v.Character.HumanoidRootPart.Position).magnitude))

hitting = false


local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p, (v.Character.HumanoidRootPart.CFrame.p - game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p).unit * 2000)
local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore}, false, true)
if part then
if part.Parent == v.Character then
hitting = true
end
end 
if hitting == false then
elseif hitting == true then
facing = PlayerFacing(v.Character.HumanoidRootPart)
if facing == false then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(0, 1, 0.498039)
elseif facing == true then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(0.666667, 0.333333, 1)
end
end

if hitting == false then
local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.Head.CFrame.p, (v.Character.Head.CFrame.p - game:GetService("Players").LocalPlayer.Character.Head.CFrame.p).unit * 2000)
local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore}, false, true)
if part then
if part.Parent == v.Character then
hitting = true
end
end 
if hitting == false then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0)
elseif hitting == true then
facing = PlayerFacing(v.Character.HumanoidRootPart)
if facing == false then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(0, 1, 0.498039)
elseif facing == true then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(0.666667, 0.333333, 1)
end
end

if hitting == false then
elseif hitting == true then
facing = PlayerFacing(v.Character.HumanoidRootPart)
if facing == false then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(0, 1, 0.498039)
elseif facing == true then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(0.666667, 0.333333, 1)
end
end











if hitting == false then
local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p, (v.Character.HumanoidRootPart.CFrame.p - game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p).unit * 2000)
local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore}, false, true)
if part then
if part:IsA("BasePart") and CalculateAnyWalls == true then

CurrentGun = nil
for i,v in pairs(workspace.CurrentCamera:GetChildren()) do
if v.Name ~= "Right Arm" and v.Name ~= "Left Arm" then
if v:IsA("Model") then
if v:FindFirstChild("Flame") then
CurrentGun = v
break
end
end
end
end 

found = false 

if found == false then
for i = 1,#Sniper do
if CurrentGun ~= nil then
if Sniper[i] == CurrentGun.Name then
found = true
Min = 2.75
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#SpecialSniper do
if CurrentGun ~= nil then
if SpecialSniper[i] == CurrentGun.Name then
found = true
Min = 3.25
Max = 3.5
break
end
end
end
end

if found == false then
for i = 1,#WeakSniper do
if CurrentGun ~= nil then
if WeakSniper[i] == CurrentGun.Name then
found = true
Min = 2.75
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#WeakSMG do
if CurrentGun ~= nil then
if WeakSMG[i] == CurrentGun.Name then
found = true
Min = 2.25
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#SMG do
if CurrentGun ~= nil then
if SMG[i] == CurrentGun.Name then
found = true
Min = 2.5
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#ShotGun do
if CurrentGun ~= nil then
if ShotGun[i] == CurrentGun.Name then
found = true
Min = 2.75
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#LMG do
if CurrentGun ~= nil then
if LMG[i] == CurrentGun.Name then
found = true
Min = 2.5
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#Other do
if CurrentGun ~= nil then
if Other[i] == CurrentGun.Name then
found = true
Min = 0
Max = 0
break
end
end
end
end

if found == false then
for i = 1,#Melee do
if CurrentGun ~= nil then
if Melee[i] == CurrentGun.Name then
found = true
Min = 0
Max = 0
break
end
end
end
end

if found == false then
Min = 0
Max = 0
end

if part.Parent.Name == "Map" then
if part.Size.X <= Min and part.Size.Z = Max then
hitting = true
parter = part
elseif part.Size.X = Max and part.Size.Y >= Max then
hitting = true
parter = part
elseif part.Size.X = Max and part.Size.Y <= Min then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Min then
hitting = true
parter = part
elseif part.Size.X = Min and part.Size.Y = Max and part.Size.Z <= Min and part.Size.Y = Max and part.Size.Z >= Max and part.Size.Y <= Min-1 then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Max then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z = Max then
hitting = true
parter = part
elseif part.Size.X <= Min or part.Size.Z <= Min or part.Size.Z <= Min then
hitting = true
parter = part
end
end
end
end 
if hitting == true then
hitting = false
part = parter
list = {}
if CalculateWalls == true then
pos1 = part.Position - (part.Size/2) - Vector3.new(0.01,0.01,0.01)
pos2 = part.Position + (part.Size/2) + Vector3.new(0.01,0.01,0.01)
Reg = Region3.new(pos1, pos2)
TouchingParts = game.Workspace:FindPartsInRegion3(Reg)
o = 1
if TouchingParts ~= nil then
for i,v in pairs(TouchingParts) do
if v ~= parter then


part = v
if part.Parent.Name == "Map" then
if part.Size.X <= Min and part.Size.Z = Max then
hitting = true
parter = part
elseif part.Size.X = Max and part.Size.Y >= Max then
hitting = true
parter = part
elseif part.Size.X = Max and part.Size.Y <= Min then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Min then
hitting = true
parter = part
elseif part.Size.X = Min and part.Size.Y = Max and part.Size.Z <= Min and part.Size.Y = Max and part.Size.Z >= Max and part.Size.Y <= Min-1 then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Max then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z = Max then
hitting = true
parter = part
elseif part.Size.X <= Min or part.Size.Z <= Min or part.Size.Z <= Min then
hitting = true
parter = part
end 
end 


if hitting == true then
table.insert(list, o, v)
o = o + 1
end
end
end 
end



pos1 = part.Position + (part.Size/2) + Vector3.new(0.01,0.01,0.01)
pos2 = part.Position - (part.Size/2) - Vector3.new(0.01,0.01,0.01)
end 

hitting = false

part = parter 

local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p, (v.Character.HumanoidRootPart.CFrame.p - game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame.p).unit * 2000)
local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore, parter, unpack(list)}, false, true)
if part then
if part.Parent == v.Character then
hitting = true
end
end 
if hitting == false then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0)
elseif hitting == true then
if ((parter.Position - v.Character.HumanoidRootPart.Position).magnitude) <= 40 then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0.666667, 0)
else
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0)
end
end 

elseif hitting == false then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0)
end
end 










if hitting == false then
local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.Head.CFrame.p, (v.Character.Head.CFrame.p - game:GetService("Players").LocalPlayer.Character.Head.CFrame.p).unit * 2000)
local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore}, false, true)
if part then
if part:IsA("BasePart") and CalculateAnyWalls == true then

CurrentGun = nil
for i,v in pairs(workspace.CurrentCamera:GetChildren()) do
if v.Name ~= "Right Arm" and v.Name ~= "Left Arm" then
if v:IsA("Model") then
if v:FindFirstChild("Flame") then
CurrentGun = v
break
end
end
end
end 

found = false 

if found == false then
for i = 1,#Sniper do
if CurrentGun ~= nil then
if Sniper[i] == CurrentGun.Name then
found = true
Min = 2.75
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#SpecialSniper do
if CurrentGun ~= nil then
if SpecialSniper[i] == CurrentGun.Name then
found = true
Min = 3.25
Max = 3.5
break
end
end
end
end

if found == false then
for i = 1,#WeakSniper do
if CurrentGun ~= nil then
if WeakSniper[i] == CurrentGun.Name then
found = true
Min = 2.75
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#WeakSMG do
if CurrentGun ~= nil then
if WeakSMG[i] == CurrentGun.Name then
found = true
Min = 2.25
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#SMG do
if CurrentGun ~= nil then
if SMG[i] == CurrentGun.Name then
found = true
Min = 2.5
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#ShotGun do
if CurrentGun ~= nil then
if ShotGun[i] == CurrentGun.Name then
found = true
Min = 2.75
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#LMG do
if CurrentGun ~= nil then
if LMG[i] == CurrentGun.Name then
found = true
Min = 2.5
Max = 3
break
end
end
end
end

if found == false then
for i = 1,#Other do
if CurrentGun ~= nil then
if Other[i] == CurrentGun.Name then
found = true
Min = 0
Max = 0
break
end
end
end
end

if found == false then
for i = 1,#Melee do
if CurrentGun ~= nil then
if Melee[i] == CurrentGun.Name then
found = true
Min = 0
Max = 0
break
end
end
end
end

if found == false then
Min = 0
Max = 0
end

if part.Parent.Name == "Map" then
if part.Size.X <= Min and part.Size.Z = Max then
hitting = true
parter = part
elseif part.Size.X = Max and part.Size.Y >= Max then
hitting = true
parter = part
elseif part.Size.X = Max and part.Size.Y <= Min then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Min then
hitting = true
parter = part
elseif part.Size.X = Min and part.Size.Y = Max and part.Size.Z <= Min and part.Size.Y = Max and part.Size.Z >= Max and part.Size.Y <= Min-1 then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Max then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z = Max then
hitting = true
parter = part
elseif part.Size.X <= Min or part.Size.Z <= Min or part.Size.Z <= Min then
hitting = true
parter = part
end
end
end
end 
if hitting == true then
hitting = false
part = parter
list = {}
if CalculateWalls == true then
pos1 = part.Position - (part.Size/2) - Vector3.new(0.01,0.01,0.01)
pos2 = part.Position + (part.Size/2) + Vector3.new(0.01,0.01,0.01)
Reg = Region3.new(pos1, pos2)
TouchingParts = game.Workspace:FindPartsInRegion3(Reg)
o = 1
if TouchingParts ~= nil then
for i,v in pairs(TouchingParts) do
if v ~= parter then


part = v
if part.Parent.Name == "Map" then
if part.Size.X <= Min and part.Size.Z = Max then
hitting = true
parter = part
elseif part.Size.X = Max and part.Size.Y >= Max then
hitting = true
parter = part
elseif part.Size.X = Max and part.Size.Y <= Min then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Min then
hitting = true
parter = part
elseif part.Size.X = Min and part.Size.Y = Max and part.Size.Z <= Min and part.Size.Y = Max and part.Size.Z >= Max and part.Size.Y <= Min-1 then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z <= Min and part.Size.Y <= Max then
hitting = true
parter = part
elseif part.Size.X <= Min and part.Size.Z = Max then
hitting = true
parter = part
elseif part.Size.X <= Min or part.Size.Z <= Min or part.Size.Z <= Min then
hitting = true
parter = part
end 
end 


if hitting == true then
table.insert(list, o, v)
o = o + 1
end
end
end 
end


pos1 = part.Position + (part.Size/2) + Vector3.new(0.01,0.01,0.01)
pos2 = part.Position - (part.Size/2) - Vector3.new(0.01,0.01,0.01)
end 

hitting = false

part = parter 

local ray = Ray.new(game:GetService("Players").LocalPlayer.Character.Head.CFrame.p, (v.Character.Head.CFrame.p - game:GetService("Players").LocalPlayer.Character.Head.CFrame.p).unit * 2000)
local part, position = workspace:FindPartOnRayWithIgnoreList(ray, {game:GetService("Players").LocalPlayer.Character, workspace.CurrentCamera, workspace.Ignore, parter, unpack(list)}, false, true)
if part then
if part.Parent == v.Character then
hitting = true
end
end 
if hitting == false then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0)
elseif hitting == true then
if ((parter.Position - v.Character.HumanoidRootPart.Position).magnitude) <= 40 then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0.666667, 0)
else
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0)
end
end 

elseif hitting == false then
v.Character.HumanoidRootPart.ESP.Frame.BackgroundColor3 = Color3.new(1, 0, 0)
end
end 
end



elseif pass == true then
local ESP = Instance.new("BillboardGui",v.Character.HumanoidRootPart)
ESP.Name = "ESP"
ESP.Size = UDim2.new(6, 0, 8, 0)
ESP.StudsOffset = Vector3.new(0, 0.75, 0)
ESP.AlwaysOnTop = true
local Frame = Instance.new("Frame",ESP)
Frame.ZIndex = 1000
Frame.Size = UDim2.new(0.6, 0, 0.8, 0)
Frame.Position = UDim2.new(0.2, 0, 0.3, 0)
Frame.BorderSizePixel = 3
Frame.BackgroundTransparency = 0.3
Frame.BackgroundColor3 = Color3.new(1, 0.666667, 0)
Label = Instance.new("TextLabel", ESP)
Label.Position = UDim2.new(0, 0, -0.1, 0)
Label.Size = UDim2.new(1, 0, 0.3, 0)
Label.Font = "SourceSansLight"
Label.TextColor3 = Color3.new(1,1,1)
Label.TextStrokeColor3 = Color3.new(0,0,0)
Label.TextStrokeTransparency = 0
Label.BackgroundColor3 = Color3.new(1, 1, 1)
Label.TextScaled = true
Label.Text = v.Name.." Distance: "..math.floor(((game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position - v.Character.HumanoidRootPart.Position).magnitude))
Label.BackgroundTransparency = 1
end
end
end
end
end
end
end
end
end)				
			

Phantom Forces Script 3

							
							
					----- RUN THIS AT THE WAITING SCREEN -----
--> Press the Delete key to toggle the GUI Asset]: ' .. err) end
					
				elseif (property == 'Parent') then
					parent = value
				elseif (typeof(value) == 'Instance') then
					value.Parent = instance
				end
			end
			
			if parent and (typeof(parent) == 'Instance') then
				instance['Parent'] = parent
			end
			
			return instance
		end
	end
	
	-------------------------------------
	-------------------------------------
	-- SOME THINGS MAY BE OUT OF ORDER --
	----(INSTANCE RELATED PROPERTIES)----
	-------------(UNLIKELY)--------------
	-------------------------------------
	-------------------------------------

	local Main = create('ScreenGui'){
		Name = "Aimbot"
	}
	
	local Frame = create('Frame', Main){
		Name = "Main";
		Active = true;
		BackgroundColor3 = Color3.new(0.490196, 0, 0.737255);
		BackgroundTransparency = 0.89999997615814;
		Position = UDim2.new(0.5, 0, 0.636212647, 0);
		Size = UDim2.new(0, 250, 0, 118);
		Draggable = true;
		AnchorPoint = Vector2.new(0.5, 0.5);
		Transparency = 0.89999997615814
	}
	
	local TextLabel = create('TextLabel', Frame){
		Name = "Top";
		BackgroundColor3 = Color3.new(0.490196, 0, 0.737255);
		BorderColor3 = Color3.new(0.196078, 0.196078, 0.196078);
		Position = UDim2.new(0, 0, -0.0512231253, 0);
		Size = UDim2.new(1, 0, 0, 25);
		Text = "A1_exe's Aimbot";
		TextColor3 = Color3.new(0.866667, 0.843137, 0.843137);
		Font = Enum.Font.SciFi;
		FontSize = Enum.FontSize.Size24;
		TextWrapped = true
	}
	
	local ScrollingFrame = create('ScrollingFrame', Frame){
		Name = "Buttons";
		BackgroundColor3 = Color3.new(1, 1, 1);
		BackgroundTransparency = 1;
		BorderSizePixel = 0;
		Position = UDim2.new(0.5, 0, -0.0133333337, 30);
		Size = UDim2.new(1, 0, 0, 150);
		AnchorPoint = Vector2.new(0.5, 0);
		CanvasSize = UDim2.new(0, 0, 0, 0);
		Transparency = 1
	}
	
	local UIListLayout = create('UIListLayout', ScrollingFrame){
		Padding = UDim.new(0, 6);
		HorizontalAlignment = Enum.HorizontalAlignment.Center
	}
	
	local UIPadding = create('UIPadding', ScrollingFrame){
		PaddingBottom = UDim.new(0, 40)
	}
	
	local Frame1 = create('Frame', ScrollingFrame){
		Name = "Enabled";
		BackgroundColor3 = Color3.new(1, 1, 1);
		BackgroundTransparency = 1;
		BorderSizePixel = 0;
		Selectable = true;
		Size = UDim2.new(1, 0, -0.0909090936, 25);
		Transparency = 1
	}
	
	local TextButton = create('TextButton', Frame1){
		Name = "Title";
		BackgroundColor3 = Color3.new(1, 1, 1);
		BorderColor3 = Color3.new(0.490196, 0, 0.737255);
		Position = UDim2.new(0.100000001, 0, 0.0869565234, 0);
		Size = UDim2.new(0.39199999, 0, 1, 0);
		Text = "ESP:";
		TextColor3 = Color3.new(0.490196, 0, 0.737255);
		Font = Enum.Font.SciFi;
		FontSize = Enum.FontSize.Size18
	}
	
	local TextLabel1 = create('TextLabel', Frame1){
		Name = "Value";
		BackgroundColor3 = Color3.new(0.490196, 0, 0.737255);
		BackgroundTransparency = 0.5;
		BorderColor3 = Color3.new(0.490196, 0, 0.737255);
		Position = UDim2.new(0.492000014, 0, 0.0869999975, 0);
		Size = UDim2.new(0.412, 0, 1, 0);
		Text = "Disabled";
		TextColor3 = Color3.new(1, 1, 1);
		Font = Enum.Font.SciFi;
		FontSize = Enum.FontSize.Size14;
		TextStrokeColor3 = Color3.new(0.490196, 0, 0.737255);
		TextStrokeTransparency = 0.20000000298023;
		Transparency = 0.5
	}
	
	local Frame2 = create('Frame', ScrollingFrame){
		Name = "Heads";
		BackgroundColor3 = Color3.new(1, 1, 1);
		BackgroundTransparency = 1;
		BorderSizePixel = 0;
		Selectable = true;
		Size = UDim2.new(1, 0, -0.0909090936, 25);
		Transparency = 1
	}
	
	local TextButton1 = create('TextButton', Frame2){
		Name = "Title";
		BackgroundColor3 = Color3.new(1, 1, 1);
		BorderColor3 = Color3.new(0.490196, 0, 0.737255);
		Position = UDim2.new(0.100000001, 0, 0.0869565234, 0);
		Size = UDim2.new(0.39199999, 0, 1, 0);
		Text = "Heads:";
		TextColor3 = Color3.new(0.490196, 0, 0.737255);
		Font = Enum.Font.SciFi;
		FontSize = Enum.FontSize.Size18
	}
	
	local TextLabel2 = create('TextLabel', Frame2){
		Name = "Value";
		BackgroundColor3 = Color3.new(0.490196, 0, 0.737255);
		BackgroundTransparency = 0.5;
		BorderColor3 = Color3.new(0.490196, 0, 0.737255);
		Position = UDim2.new(0.492000014, 0, 0.0869999975, 0);
		Size = UDim2.new(0.412, 0, 1, 0);
		Text = "Enabled";
		TextColor3 = Color3.new(1, 1, 1);
		Font = Enum.Font.SciFi;
		FontSize = Enum.FontSize.Size14;
		TextStrokeColor3 = Color3.new(0.490196, 0, 0.737255);
		TextStrokeTransparency = 0.20000000298023;
		Transparency = 0.5
	}
	
	local Frame3 = create('Frame', ScrollingFrame){
		Name = "zToggle";
		BackgroundColor3 = Color3.new(1, 1, 1);
		BackgroundTransparency = 1;
		BorderSizePixel = 0;
		Selectable = true;
		Size = UDim2.new(1, 0, -0.0909090936, 25);
		Transparency = 1
	}
	
	local TextButton2 = create('TextButton', Frame3){
		Name = "Title";
		BackgroundColor3 = Color3.new(1, 1, 1);
		BorderColor3 = Color3.new(1, 0, 0);
		Position = UDim2.new(0.100000001, 0, 0.095238097, 0);
		Size = UDim2.new(0.80400002, 0, 1, 0);
		Text = "STATUS";
		TextColor3 = Color3.new(1, 0, 0);
		Font = Enum.Font.SciFi;
		FontSize = Enum.FontSize.Size14
	}
	
	local Frame4 = create('Frame', ScrollingFrame){
		Name = "Walls";
		BackgroundColor3 = Color3.new(1, 1, 1);
		BackgroundTransparency = 1;
		BorderSizePixel = 0;
		Selectable = true;
		Size = UDim2.new(1, 0, -0.0909090936, 25);
		Transparency = 1
	}
	
	local TextButton3 = create('TextButton', Frame4){
		Name = "Title";
		BackgroundColor3 = Color3.new(1, 1, 1);
		BorderColor3 = Color3.new(0.490196, 0, 0.737255);
		Position = UDim2.new(0.100000001, 0, 0.0869565234, 0);
		Size = UDim2.new(0.39199999, 0, 1, 0);
		Text = "Walls:";
		TextColor3 = Color3.new(0.490196, 0, 0.737255);
		Font = Enum.Font.SciFi;
		FontSize = Enum.FontSize.Size18
	}
	
	local TextLabel3 = create('TextLabel', Frame4){
		Name = "Value";
		BackgroundColor3 = Color3.new(0.490196, 0, 0.737255);
		BackgroundTransparency = 0.5;
		BorderColor3 = Color3.new(0.490196, 0, 0.737255);
		Position = UDim2.new(0.492000014, 0, 0.0869999975, 0);
		Size = UDim2.new(0.412, 0, 1, 0);
		Text = "Enabled";
		TextColor3 = Color3.new(1, 1, 1);
		Font = Enum.Font.SciFi;
		FontSize = Enum.FontSize.Size14;
		TextStrokeColor3 = Color3.new(0.490196, 0, 0.737255);
		TextStrokeTransparency = 0.20000000298023;
		Transparency = 0.5
	}
	
	local TextLabel4 = create('TextLabel', Frame){
		Name = "Bottom";
		BackgroundColor3 = Color3.new(0.490196, 0, 0.737255);
		BorderColor3 = Color3.new(0.196078, 0.196078, 0.196078);
		Position = UDim2.new(0, 0, 0, 118);
		Size = UDim2.new(1, 0, 0, 5);
		Text = "";
		TextColor3 = Color3.new(0.866667, 0.843137, 0.843137);
		Font = Enum.Font.SciFi;
		FontSize = Enum.FontSize.Size28;
		TextWrapped = true
	}

	
	return Main, Frame1, Frame2, Frame4, Frame3
end

if game.CoreGui:FindFirstChild('Aimbot') then return end
local GUI, Enabled, Heads, Walls, Status = FormAssets()
GUI.Parent = game.CoreGui

local Folder = Instance.new('Folder', GUI)
local Camera = workspace.CurrentCamera;

local Run = game:GetService('RunService');
local Input = game:GetService('UserInputService');
local Players = game:GetService('Players');
local Player = Players['LocalPlayer']

local Functions = {};

local Mouse = Player:GetMouse()
local Client = {ESP=false;Heads=true;Walls=true;Status=false}

local Red, Green = Color3.new(1, 0, 0), Color3.new(0, 1, 126/255)
local VP = Camera.ViewportSize
local VX, VY = VP.X, VP.Y
local Magic, Pixels = 9*(1/math.pi), VX*VY
local Radius = math.sqrt(Pixels*Magic)

Enabled['Title'].MouseButton1Down:Connect(function()
	Client.ESP = not Client.ESP
	
	if Client.ESP then
		Enabled.Value.Text = 'Enabled'
	else
		Enabled.Value.Text = 'Disabled'
	end
end)

Heads['Title'].MouseButton1Down:Connect(function()
	Client.Heads = not Client.Heads
	
	if Client.Heads then
		Heads.Value.Text = 'Enabled'
	else
		Heads.Value.Text = 'Disabled'
	end
end)

Walls['Title'].MouseButton1Down:Connect(function()
	Client.Walls = not Client.Walls
	
	if Client.Walls then
		Walls.Value.Text = 'Enabled'
	else
		Walls.Value.Text = 'Disabled'
	end
end)

Status['Title'].MouseButton1Down:Connect(function()
	Client.Status = not Client.Status
	
	if Client.Status then
		Status.Title.BorderColor3 = Green
		Status.Title.TextColor3 = Green
	else
		Status.Title.BorderColor3 = Red
		Status.Title.TextColor3 = Red
	end
end)

Input['InputBegan']:Connect(function(input, og)
	if og then return end
	if input.KeyCode == Enum.KeyCode.Delete then
		GUI.Enabled = not GUI.Enabled
	end
end)

local function GetPos(Head)
	if not Head then return end
	local ScreenPos, InFov = Camera:WorldToScreenPoint(Head.Position)
	if not InFov then return end
	
	local TV = Vector2.new(ScreenPos.X, ScreenPos.Y)
	local MV = Vector2.new(Mouse.X, Mouse.Y)
		
	if (TV - MV).magnitude <= Radius then
		return ScreenPos
	end
end

local function GetTarget(Character, MyHead)
	local Dist, Ret = math.huge;
	local Targets = Players:GetPlayers() do
		for i = 1, #Targets do
			local Target = Targets[i]
			if (Target.TeamColor ~= Player.TeamColor) then
				local TChar = Target and Target.Character
				
				local Head = TChar and TChar:FindFirstChild('Head')
				local Torso = TChar and TChar:FindFirstChild('Torso')
				
				local ScreenPos = GetPos(Head)
				if ScreenPos and Head and Torso then
					local Distance, RayStart, Vector;
					if (Camera.Focus.p - Camera.CoordinateFrame.p).magnitude <= 1 then
	               		RayStart = MyHead.Position + MyHead.CFrame.lookVector * 16 + Vector3.new(0, 4, 0)
		            else
		                RayStart = MyHead.Position + Vector3.new(0, 4, 0)
					end
					
					local TV = Vector2.new(ScreenPos.X, ScreenPos.Y)
					local MV = Vector2.new(Mouse.X, Mouse.Y)
					Distance = (TV-MV).magnitude
					Vector 	 = (Torso.Position-RayStart)
					
					if Distance <= Dist then Dist = Distance
						local NewRay = Ray.new(RayStart, Vector.unit * 1000)
						local Hit, Pos = workspace:FindPartOnRayWithIgnoreList(NewRay, {Character})
						
						if (Hit and Hit:IsDescendantOf(TChar)) or (not Client.Walls) then
							Ret = Target
						end
					end
				end
			end
		end
	end

	return Ret
end

Run.Heartbeat:connect(function()
	local Character = (Player.Character or Player.CharacterAdded:wait())
	local Head = Character:WaitForChild('Head')
	
	if Client.Status then
		local Target = GetTarget(Character, Head)
		workspace.DeadBody:ClearAllChildren()
		
		local Flame = Camera:FindFirstChild('Flame', true)
		if Target and Flame then
			Flame.Size = Vector3.new(1,5,1)
			SaveTable.HookApi.SetHook(Flame, 'Anchored', function(old)
				return false
			end)
			Flame.Anchored = true
			
			if Client.Heads then
				Flame.CFrame = Target.Character.Head.CFrame * CFrame.new(0, 0, .1)
			else
				local Rand = Random.new()
				local Int = Rand:NextInteger(1, 5)
				if Int <= 2 then
					Flame.CFrame = Target.Character.Head.CFrame * CFrame.new(0, 0, .1)
				elseif Int <= 4 then
					Flame.CFrame = Target.Character.Torso.CFrame * CFrame.new(0, 0, .1)
				else
					Flame.CFrame = CFrame.new()
				end
			end
		end
	end
	
	local Targets = Players:GetPlayers() do
		for i = 1, #Targets do
			local Target = Targets[i]
			local Char = Target.Character
			local ESP = Folder:FindFirstChild(Target.Name)
			
			if Client.ESP and Char then
				local HRP = Char:FindFirstChild('HumanoidRootPart')
				if (Target.Team == Player.Team) then
					if ESP then
						ESP.Enabled = false
					end
				elseif not ESP then
					local NEW_ESP = HRP and create('BillboardGui', Folder){
						Name = Target.Name;
						Size = UDim2.new(6, 0, 8, 0);
						StudsOffset = Vector3.new(0, 0.75, 0);
						AlwaysOnTop = true
					}
					
					local Frame = HRP and create('Frame', NEW_ESP){
						ZIndex = 1000;
						Size = UDim2.new(0.6, 0, 0.8, 0);
						Position = UDim2.new(0.2, 0, 0.3, 0);
						BorderSizePixel = 3;
						BackgroundTransparency = 0.3;
						BackgroundColor3 = Red
					}
					
					local Label = HRP and create('TextLabel', Frame){
						Position = UDim2.new(0, 0, -0.1, 0);
						Size = UDim2.new(1, 0, 0.3, 0);
						Font = "SourceSansLight";
						TextColor3 = Color3.new(1,1,1);
						TextStrokeColor3 = Color3.new(0,0,0);
						TextStrokeTransparency = 0;
						BackgroundColor3 = Color3.new(1, 1, 1);
						TextScaled = true;
						BackgroundTransparency = 1
					}
				elseif ESP then
					ESP.Enabled = true
				end
				
				if ESP and (ESP.Parent == Folder) then
					if HRP then
						ESP.Adornee = HRP
					end
					
					local Label = ESP:FindFirstChild('TextLabel', true)
					if Label then
						Label.Text = Target.Name.." Distance: "..math.floor(((Character.PrimaryPart.Position - HRP.Position).magnitude));
					end
					
					local NewRay = Ray.new(Head.CFrame.p, (Char.Head.CFrame.p - Head.CFrame.p).unit * 2000)
					local Hit, Pos = workspace:FindPartOnRayWithIgnoreList(NewRay, {Character, Camera}, false, true)
					
					if Hit and (Hit == Char.Head) then
						ESP.Frame.BackgroundColor3 = Green
					else
						ESP.Frame.BackgroundColor3 = Red
					end
				end
			elseif ESP then
				ESP.BackgroundColor3.Visible = false
			end
		end
	end
end)				
			

Phantom Forces Script 4

 

							
							
					local api = {};
local library = loadstring(game:HttpGet("https://pastebin.com/raw/j3TcLjYu", true))()
local runService = game:GetService('RunService')
local inputService = game:GetService('UserInputService')
local ffc = game.FindFirstChild;
local WorldToViewport = workspace.CurrentCamera.WorldToViewportPoint;
local client = game:GetService("Players").LocalPlayer;
local BLANK_VECTOR = Vector3.new();
local reg = getreg or debug.getregistry;
local isp = is_protected_closure or function() return false end
local guv = secret953 or debug.getupvalues
local islclosure = islclosure or function(f) return pcall(string.dump, f) end

for i, func in next, reg() do
   if type(func) == "function" and islclosure(func) and (not isp(func)) then
       local upv = select(2, pcall(guv, func))
       if type(upv) == "table" and upv.network then
           api.network = upv.network
       end
   end
end

api.camera = guv(guv(api.network.add).funcs.killed).camera;
api.hud = guv(guv(api.network.add).funcs.startvotekick).hud;
api.char = guv(api.hud.fireradar).char;

local old_loadgun = api.char.loadgun;
function api.char.loadgun(self, data, ...)
   data.camkickmin = BLANK_VECTOR;
   data.camkickmax = BLANK_VECTOR;
   data.aimcamkickmin = BLANK_VECTOR;
   data.aimcamkickmax = BLANK_VECTOR;
   data.aimtranskickmin = BLANK_VECTOR;
   data.aimtranskickmax = BLANK_VECTOR;
   data.transkickmin = BLANK_VECTOR;
   data.transkickmax = BLANK_VECTOR;
   data.rotkickmin = BLANK_VECTOR;
   data.rotkickmax = BLANK_VECTOR;
   data.aimrotkickmin = BLANK_VECTOR;
   data.aimrotkickmax = BLANK_VECTOR;
   data.hipfirespread = 0;
   data.hipfirestability = 0;
   data.swayamp = 0;
   data.swayspeed = 0;
   data.steadyspeed = 0;
   data.breathspeed = 0;
   return old_loadgun(self, data, ...)
end


local function findTarg()
   local _distance = math.huge
   local found_player = nil;

   for _, player in next, game:GetService("Players"):GetPlayers() do
       if player ~= client and player.Team ~= client.Team and player.Character ~= nil then
           local vector, visible = WorldToViewport(workspace.CurrentCamera, ffc(player.Character, 'Head').CFrame.p);
           if ffc(player.Character, 'HumanoidRootPart') and (ffc(player.Character, 'HumanoidRootPart').Position - workspace.Lobby.Spawn1.Position).magnitude > 100 then
               if visible then
                   local position_of_head = Vector2.new(vector.X, vector.Y)
                   local center_of_screen = Vector2.new(api.camera.cframe.p.X, api.camera.cframe.p.Y)
                   local distance_between_points = (center_of_screen - position_of_head).magnitude

                   local parts = workspace.CurrentCamera:GetPartsObscuringTarget({workspace.CurrentCamera.CFrame.p, ffc(player.Character, 'Head').Position}, {player.Character, workspace.Ignore, client.Character, workspace.CurrentCamera})

                   if (distance_between_points < _distance) and (#parts  0.3 then
       targ = findTarg();
       last = tick();
   end
end)

coroutine.wrap(function()
   while wait() do
       if targ and api.aimbot and inputService:IsKeyDown(Enum.KeyCode.X) then
           if targ.Character and ffc(targ.Character,'Head') then
               api.camera:setlookvector(CFrame.new(api.camera.cframe.p, ffc(targ.Character,'Head').CFrame.p).lookVector)
           end
       end
   end
end)()				
			

The above are the Phantom Forces Roblox Scripts. You can use the scripts with any executor of your own choice. Enjoy the game!

Jenith

Written by Jenith

A gaming fanatic and a article writer.

Exclusive Working Roblox Promo Codes - September 2021 2

Exclusive Working Roblox Promo Codes – September 2021

Codes for Bad Business

Exclusive Codes For Bad Business Roblox and Weight Lifting Simulator Roblox – September 2021