-----Credits to oDemorx, Kulajdus, NotProHacks for making this script.
-----Works on almost all FPS Games accept Phantom Forces works on CBRO, Strucid,
ETC.
pcall(function()
local espcolor = [Link](140, 69, 102)
local wallhack_esp_transparency = .4
local gui_hide_button = {[Link], "h"}
local plrs = game:GetService("Players")
local lplr = game:GetService("Players").LocalPlayer
local TeamBased = true ; local teambasedswitch = "o"
local presskeytoaim = true; local aimkey = "e"
aimbothider = false; aimbothiderspeed = .5
local Aim_Assist = false ; Aim_Assist_Key = {[Link], "z"}
local espupdatetime = 5; autoesp = false; local charmsesp = true
local movementcounting = true
local mouselock = false
local canaimat = true
local lockaim = true; local lockangle = 5
local ver = "2.4"
local cam = [Link]
local BetterDeathCount = true
local ballisticsboost = 0
local mouse = lplr:GetMouse()
local switch = false
local key = "k"
local aimatpart = nil
local lightesp = false
local abs = [Link]
local Gui = [Link]("ScreenGui")
local Move = [Link]("Frame")
local Main = [Link]("Frame")
local EspStatus = [Link]("TextLabel")
local st1 = [Link]("TextLabel")
local st1_2 = [Link]("TextLabel")
local st1_3 = [Link]("TextBox")
local Name = [Link]("TextLabel")
--Properties:
[Link] = [Link]:WaitForChild("PlayerGui")
local aimbotstatus = {"qc", "qr", "qe", "qd", "qi", "qt", "qs", "dd", "sp", "ql",
"qa", "qd", "qs"}
local gotstring = 0
local function getrandomstring()
gotstring = gotstring+666
local str = ""
local randomstring = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "g", "k",
"l", "m", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
"а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","о","п","р","с","т","у","ф"
,"х","ч","щ","ъ","ы","ъ","э","ю","я", "`", "$",
"0","1","2","3","4","5","6","7","8","9", }
local counting123 = 0
for i, v in ipairs(randomstring) do
counting123 = i
end
do
[Link](tick()+gotstring)
for i = 3, [Link](1,100) do
[Link](i+tick()+gotstring)
local oneortwo = [Link](1,2)
if oneortwo == 2 then
[Link](i+tick()+gotstring)
str = str..""..randomstring[[Link](1,
counting123)]
else
[Link](i+tick()+gotstring)
str =
str..""..[Link](randomstring[[Link](1, counting123)])
end
end
end
return str
end
local mousedown = false
local isonmovething = false
local mouseoffset = [Link]()
local mousedown = false
local bspeed = 3584
local aimbotoffset = {dd = ":", sp = " ", qa = "a", qb = "b",qc = "c", qd = "d", qe
= "e", qf = "f", qg = "g" , qh = "h" , qi = "i", qj = "j", qk = "k", ql = "l", qm =
"m", qn = "n", qo = "o", qp = "p", qq = "q", qr = "r", qs = "s", qt = "t", qu =
"u", qv = "w", qx = "x", qy = "y", qz = "z"}
[Link] = getrandomstring()
[Link] = getrandomstring()
[Link] = true
[Link] = Gui
Move.BackgroundColor3 = [Link](0.0431373, 1, 0.0745098)
[Link] = 0.40000000596046
[Link] = 0
[Link] = [Link](0.5, 0,0.018, 0)
[Link] = [Link](0, 320, 0, 30)
[Link]:Connect(function()
isonmovething = true
end)
[Link]:Connect(function()
isonmovething = mousedown and true or false
end)
mouse.Button1Down:connect(function()
mousedown = true
mouseoffset = [Link] - [Link](mouse.X, mouse.Y)
end)
mouse.Button1Up:connect(function()
mousedown = false
end)
[Link]:Connect(function()
if isonmovething == true and mousedown then
[Link] = [Link](0, mouseoffset.X + mouse.X, 0, mouseoffset.Y
+ mouse.Y)
end
end)
local function uc (st)
local ast = ""
for i, v in ipairs(st) do
local let = aimbotoffset[v]
ast = ast..let
end
return ast
end
[Link] = getrandomstring()
[Link] = Move
Main.BackgroundColor3 = [Link](0.176471, 0.176471, 0.176471)
[Link] = 0.69999998807907
[Link] = [Link](0, 0, 0.995670795, 0)
[Link] = [Link](1.0000006, 0, 11.2, 0)
[Link] = getrandomstring()
[Link] = Main
st1.BackgroundColor3 = [Link](1, 1, 1)
[Link] = 1
[Link] = [Link](0, 0, 0, 0)
[Link] = [Link](1, 0, 0.161862016, 0)
[Link] = [Link]
[Link] = uc(aimbotstatus)
st1.TextColor3 = [Link](0.0431373, 1, 0.0745098)
[Link] = true
[Link] = 14
[Link] = true
st1_2.Name = getrandomstring()
st1_2.Parent = Main
st1_2.BackgroundColor3 = [Link](1, 1, 1)
st1_2.BackgroundTransparency = 1
st1_2.Position = [Link](0, 0, 0.375590861, 0)
st1_2.Size = [Link](0.999999881, 0, 0.161862016, 0)
st1_2.Font = [Link]
st1_2.TextXAlignment = [Link]
st1_2.Text = "Current ballistics: 0"
st1_2.TextColor3 = [Link](0.0431373, 1, 0.0745098)
st1_2.TextScaled = true
st1_2.TextSize = 14
st1_2.TextWrapped = true
local aimbothiderbox = [Link]("TextBox")
[Link] = getrandomstring()
[Link] = "Speed :"..tostring(aimbothiderspeed).." off"
[Link] = [Link](1, 0,0.162, 0)
[Link] = true
aimbothiderbox.TextColor3 =[Link](255, 0, 0)
[Link] = [Link](0, 0,0.853, 0)
[Link] = 1
[Link] = Main
st1_3.Name = getrandomstring()
st1_3.Parent = Main
st1_3.BackgroundColor3 = [Link](1, 1, 1)
st1_3.BackgroundTransparency = 1
st1_3.Position = [Link](0, 0, 0.18558608, 0)
st1_3.Size = [Link](0.999999881, 0, 0.161862016, 0)
st1_3.Font = [Link]
st1_3.Text = "Bullet speed = 3584"
st1_3.TextColor3 = [Link](0.0431373, 1, 0.0745098)
st1_3.TextScaled = true
st1_3.TextSize = 14
st1_3.TextWrapped = true
local teambasedstatus = st1_3:Clone()
[Link] = Main
[Link] = true
[Link] = [Link](0, 0,.7, 0)
[Link] = [Link](1, 0,.1, 0)
[Link] = getrandomstring()
[Link] = "Team Based: "..tostring(TeamBased)
local espstatustext = teambasedstatus:Clone()
[Link] = getrandomstring()
[Link] = [Link](0, 0,0.58, 0)
[Link] = "Esp loop :"..tostring(autoesp)
[Link] = Main
local hide = [Link]("TextButton")
[Link] = "_"
[Link] = 1
[Link] = true
[Link] = true
[Link] = [Link](0.1, 0,1, 0)
[Link] = [Link](0.9, 0,-0.15, 0)
[Link] = getrandomstring()
[Link] = Move
[Link] = getrandomstring()
[Link] = Move
Name.BackgroundColor3 = [Link](1, 1, 1)
[Link] = 1
[Link] = [Link](0.838, 0, 1, 0)
[Link] = [Link]
[Link] = "FPS gui v"..ver
Name.TextColor3 = [Link](0, 0, 0)
[Link] = true
[Link] = 14
[Link] = true
[Link] = [Link]
local scr = [Link]("ScrollingFrame")
[Link] = [Link]
[Link] = [Link]
[Link] = 0
[Link] = 1
[Link] = getrandomstring()
[Link] = [Link](1, 0, 1, 0)
[Link] = [Link](0,0,0,0)
[Link] = scr
[Link] = Move
startpos = [Link]
[Link] = true
-- Scripts:
hided = false
hide.MouseButton1Click:Connect(function()
if hided == false then
hided = true
Main:TweenPosition([Link](0, 0, -1.5, 0))
else
hided = false
Main:TweenPosition(startpos)
end
end)
[Link]:Connect(function()
local numb = tonumber([Link])
if aimbothider == true then
aimbothiderbox.TextColor3 =[Link](11, 255, 19)
else
aimbothiderbox.TextColor3 =[Link](255, 0, 0)
end
if numb ~= nil then
aimbothiderspeed = numb
if aimbothider == true then
[Link] = "Speed :"..tostring(aimbothiderspeed).."
on"
else
[Link] = "Speed :"..tostring(aimbothiderspeed).."
off"
end
else
if aimbothider == true then
[Link] = "Speed :"..tostring(aimbothiderspeed).."
on"
else
[Link] = "Speed :"..tostring(aimbothiderspeed).."
off"
end
end
end)
local plrsforaim = {}
[Link] = true
[Link] = false
--[Link] = "Chat"
[Link] = 999
pcall(function()
if not game:GetService("CoreGui") then
[Link] = [Link]
else
[Link] = game:GetService("CoreGui")
end
end)
local espheadthing
do
local BillboardGui = [Link]("BillboardGui")
local PName = [Link]("TextLabel")
local Pdist = [Link]("TextLabel")
local ImageLabel = [Link]("ImageLabel")
local ImageLabel_2 = [Link]("ImageLabel")
--Properties:
--[Link] = [Link]
[Link] = [Link]
[Link] = true
[Link] = 0
[Link] = [Link](0, 100, 0, 46)
[Link] = "headoverthing"
[Link] = "PName"
[Link] = BillboardGui
PName.BackgroundColor3 = espcolor
[Link] = 0.55000001192093
[Link] = 0
[Link] = [Link](0, 100, 0, 23)
[Link] = [Link]
[Link] = "urmom"
PName.TextColor3 = [Link](0, 0, 0)
[Link] = true
[Link] = 14
[Link] = true
[Link] = uc(aimbotstatus)
[Link] = "Pdist"
[Link] = BillboardGui
[Link] = [Link](0.5, 0)
Pdist.BackgroundColor3 = espcolor
[Link] = 0.55000001192093
[Link] = 0
[Link] = [Link](0.5, 0, 0.5, 0)
[Link] = [Link](0, 70, 0, 23)
[Link] = [Link]
[Link] = "666"
Pdist.TextColor3 = [Link](0, 0, 0)
[Link] = true
[Link] = 14
[Link] = true
[Link] = BillboardGui
ImageLabel.BackgroundColor3 = [Link](0.298039, 1, 0)
[Link] = 1
ImageLabel.BorderColor3 = espcolor
[Link] = [Link](1, -15, 0.5, 0)
[Link] = 180
[Link] = [Link](0, 15, 0, 23)
[Link] = "rbxassetid://2832171824"
ImageLabel.ImageColor3 = espcolor
[Link] = 0.55000001192093
ImageLabel_2.Parent = BillboardGui
ImageLabel_2.BackgroundColor3 = espcolor
ImageLabel_2.BackgroundTransparency = 1
ImageLabel_2.BorderColor3 = [Link](0.298039, 1, 0)
ImageLabel_2.Position = [Link](0, 0, 0.5, 0)
ImageLabel_2.Rotation = 180
ImageLabel_2.Size = [Link](0, 15, 0, 23)
ImageLabel_2.Image = "rbxassetid://2832177613"
ImageLabel_2.ImageColor3 = espcolor
ImageLabel_2.ImageTransparency = 0.55000001192093
espheadthing = BillboardGui
end
f = {}
[Link] = function(v)
if [Link] and [Link] ~= nil then
local destr = false
if TeamBased then
destr = true
local plr =
plrs:GetPlayerFromCharacter([Link])
if plr and [Link] and [Link] ~=
[Link] then
destr = false
end
end
if lightesp == true then
[Link].TextColor3 = [Link](1,1,1)
[Link].TextColor3 = [Link](1,1,1)
else
[Link].TextColor3 = [Link](0,0,0)
[Link].TextColor3 = [Link](0,0,0)
end
local d = [Link](([Link].p -
[Link].p).magnitude)
[Link] = tostring(d)
if d < 14 then
[Link] = false
else
[Link] = true
end
[Link] = [Link](0,.6+d/14,0)
if destr then
v:Destroy()
end
else
v:Destroy()
end
end
[Link] = uc(aimbotstatus)
local espforlder
local partconverter = [Link]("Part")
--local headsupdatelist = {}
st1_3.FocusLost:connect(function()
if tonumber(st1_3.Text) then
bspeed = tonumber(st1_3.Text)
else
end
end)
[Link] = function()
pcall(function()
--print("ESP ran")
if espforlder then
espforlder:Destroy()
espforlder = [Link]("Folder")
[Link] = [Link]
else
espforlder = [Link]("Folder")
[Link] = [Link]
end
for i, v in pairs(espforlder:GetChildren()) do
v:Destroy()
end
for _, plr in pairs(plrs:GetChildren()) do
if [Link] and [Link] > 0 and [Link] ~=
[Link] then
if TeamBased == true then
if [Link] ~= [Link] then
pcall(function()
local e = espforlder:FindFirstChild([Link])
if not e then
local fold = [Link]("Folder", espforlder)
[Link] = [Link]
--[Link] = [Link]
--local teamc = [Link]
for i, p in pairs([Link]:GetChildren())
do
if p:IsA("BasePart") and [Link] ~=
"HumanoidRootPart" then
if charmsesp then
local urmom =
[Link]("BoxHandleAdornment")
[Link] = 10
[Link] = true
urmom.Color3 = espcolor
[Link] = [Link]
[Link] = p
[Link] = tick().." Ur mom has
big gay"
[Link] =
wallhack_esp_transparency
[Link] = fold
if [Link] == "Head" then
local th =
p:FindFirstChild("headoverthing")
if not th then
local ht =
espheadthing:Clone()
[Link] =
[Link]
[Link] = p
--
[Link](headsupdatelist, ht)
delay(0, function()
while wait(0.08)
and plr and p do
[Link](ht)
end
end)
[Link] = p
end
end
end
end
end
[Link]:Connect(function()
fold:Destroy()
end)
end
end)
end
else
local e = espforlder:FindFirstChild([Link])
if not e then
local fold = [Link]("Folder", espforlder)
[Link] = [Link]
--[Link] = [Link]
--local teamc = Move.BackgroundColor3
for i, p in pairs([Link]:GetChildren())
do
if p:IsA("BasePart") and [Link] ~=
"HumanoidRootPart" then
pcall(function()
if charmsesp then
local urmom =
[Link]("BoxHandleAdornment")
[Link] = 10
[Link] = true
urmom.Color3 = espcolor
[Link] = [Link]
[Link] = p
[Link] = tick().." Ur mom has
big gay"
[Link] =
wallhack_esp_transparency
[Link] = fold
end
if [Link] == "Head" then
local th =
p:FindFirstChild("headoverthing")
if not th then
local ht =
espheadthing:Clone()
[Link] =
[Link]
[Link] = p
delay(0, function()
while wait(0.08)
and plr and p do
[Link](ht)
end
end)
--
[Link](headsupdatelist, ht)
[Link] = p
end
end
end)
end
end
[Link]:Connect(function()
fold:Destroy()
end)
end
end
end
end
end)
end
local uis = game:GetService("UserInputService")
local bringall = false
local hided2 = false
local upping = false
local downing = false
[Link]:Connect(function(a)
if a == "t" then
--print("worked1")
[Link]()
elseif a == gui_hide_button[2] and uis:IsKeyDown(gui_hide_button[1]) then
if hided2 == false then
hided2 = true
autoesp =false
if espforlder then
espforlder:Destroy()
end
[Link] = false
else
[Link] = true
hided2 = false
end
elseif a == "" then
if aimbothider == false then
aimbothider = true
if aimbothider == true then
[Link] = "Speed :"..tostring(aimbothiderspeed).."
on"
else
[Link] = "Speed :"..tostring(aimbothiderspeed).."
off"
end
else
aimbothider = false
if aimbothider == true then
[Link] = "Speed :"..tostring(aimbothiderspeed).."
on"
else
[Link] = "Speed :"..tostring(aimbothiderspeed).."
off"
end
end
if aimbothider == true then
aimbothiderbox.TextColor3 =[Link](11, 255, 19)
else
aimbothiderbox.TextColor3 =[Link](255, 0, 0)
end
elseif a == "l" then
if not uis:IsKeyDown([Link]) then
if autoesp == false then
autoesp = true
else
autoesp = false
end
else
if lightesp == true then
lightesp = false
else
lightesp = true
end
end
elseif a == "]" then
upping = true
downing = false
elseif a== "[" then
downing = true
upping = false
elseif a == Aim_Assist_Key[2] and uis:IsKeyDown(Aim_Assist_Key[1]) then
if Aim_Assist == true then
Aim_Assist = false
--print("disabled")
else
Aim_Assist = true
end
end
if a == "j" then
if [Link] then
[Link]:Destroy()
end
end
if a == key then
if switch == false then
switch = true
else
switch = false
if aimatpart ~= nil then
aimatpart = nil
end
end
elseif a == "b" and uis:IsKeyDown([Link]) and not
uis:IsKeyDown([Link].R) then
if movementcounting then
movementcounting = false
else
movementcounting = true
end
elseif a == teambasedswitch then
if TeamBased == true then
TeamBased = false
[Link] = "Team Based: "..tostring(TeamBased)
else
TeamBased = true
[Link] = "Team Based: "..tostring(TeamBased)
end
elseif a == "b" and uis:IsKeyDown([Link]) and
uis:IsKeyDown([Link].R) then
ballisticsboost = 0
elseif a == aimkey then
if not aimatpart then
local maxangle = [Link](20)
for i, plr in pairs(plrs:GetChildren()) do
if [Link] ~= [Link] and [Link] and
[Link] and [Link] and [Link] > 1
then
if TeamBased == true then
if [Link] ~= [Link] then
local an = checkfov([Link])
if an < maxangle then
maxangle = an
aimatpart = [Link]
end
end
else
local an = checkfov([Link])
if an < maxangle then
maxangle = an
aimatpart = [Link]
end
--print(plr)
end
local old = aimatpart
[Link]:Connect(function()
--print("died")
if aimatpart and aimatpart == old then
aimatpart = nil
end
end)
end
end
else
aimatpart = nil
canaimat = false
delay(1.1, function()
canaimat = true
end)
end
end
end)
function getfovxyz (p0, p1, deg)
local x1, y1, z1 = p0:ToOrientation()
local cf = [Link](p0.p, p1.p)
local x2, y2, z2 = cf:ToOrientation()
local d = [Link]
if deg then
return [Link](d(x1-x2), d(y1-y2), d(z1-z2))
else
return [Link]((x1-x2), (y1-y2), (z1-z2))
end
end
function aimat(part)
if part then
--print(part)
local d = ([Link].p - [Link].p).magnitude
local calculatedrop
local timetoaim = 0
local pos2 = [Link]()
if movementcounting == true then
timetoaim = d/bspeed
pos2 = [Link] * timetoaim
end
local minuseddrop = (ballisticsboost+50)/50
if ballisticsboost ~= 0 then
calculatedrop = d - (d/minuseddrop)
else
calculatedrop = 0
end
--print(calculatedrop)
local addative = [Link]()
if movementcounting then
addative = pos2
end
local cf = [Link]([Link].p, (addative + [Link].p+
[Link](0, calculatedrop, 0)))
if aimbothider == true or Aim_Assist == true then
[Link] = [Link]:Lerp(cf, aimbothiderspeed)
else
[Link] = cf
end
--print(cf)
end
end
function checkfov (part)
local fov = getfovxyz([Link], [Link])
local angle = [Link](fov.X) + [Link](fov.Y)
return angle
end
pcall(function()
delay(0, function()
while wait(.32) do
if Aim_Assist and not aimatpart and canaimat and [Link]
and [Link] and [Link] > 0 then
for i, plr in pairs(plrs:GetChildren()) do
local minangle = [Link](5.5)
local lastpart = nil
local function gg(plr)
pcall(function()
if [Link] ~= [Link] and
[Link] and [Link] and [Link] > 0 and
[Link] then
local raycasted = false
local cf1 =
[Link]([Link].p, [Link].p) * [Link](0, 0, -4)
local r1 = [Link](cf1.p,
[Link] * 9000)
local obj, pos =
[Link]:FindPartOnRayWithIgnoreList(r1, {[Link]})
local dist =
([Link].p- pos).magnitude
if dist < 4 then
raycasted = true
end
if raycasted == true then
local an1 =
getfovxyz([Link], [Link])
local an = abs(an1.X) +
abs(an1.Y)
if an < minangle then
minangle = an
lastpart =
[Link]
end
end
end
end)
end
if TeamBased then
if [Link] ~= [Link] then
gg(plr)
end
else
gg(plr)
end
--print([Link](minangle))
if lastpart then
aimatpart = lastpart
[Link]:Connect(function()
if aimatpart == lastpart then
aimatpart = nil
end
end)
end
end
end
end
end)
end)
local oldheadpos
local lastaimapart
game:GetService("RunService").RenderStepped:Connect(function(dt)
if uis:IsKeyDown([Link]) or
uis:IsKeyDown([Link]) then
if upping then
ballisticsboost = ballisticsboost + dt/1.9
elseif downing then
ballisticsboost = ballisticsboost - dt/1.9
end
end
if movementcounting then
st1_2.TextColor3 = [Link](0.0431373, 1, 0.0745098)
st1_2.Text = "Current ballistics:
"..tostring([Link](ballisticsboost*10)/10)
else
st1_2.TextColor3 = [Link](1,0,0)
end
[Link] = "Esp loop :"..tostring(autoesp)
if aimatpart and [Link] and [Link] then
if BetterDeathCount and lastaimapart and lastaimapart == aimatpart then
local dist = (oldheadpos - [Link].p).magnitude
if dist > 40 then
aimatpart = nil
end
end
lastaimapart = aimatpart
oldheadpos = [Link].p
do
if [Link] == [Link] then
aimatpart = nil
end
aimat(aimatpart)
pcall(function()
if Aim_Assist == true then
local cf1 = [Link]([Link].p,
[Link].p) * [Link](0, 0, -4)
local r1 = [Link](cf1.p, [Link] * 1000)
local obj, pos =
[Link]:FindPartOnRayWithIgnoreList(r1, {[Link]})
local dist = ([Link].p- pos).magnitude
if obj then
--print(obj:GetFullName())
end
if not obj or dist > 6 then
aimatpart = nil
--print("ooof")
end
canaimat = false
delay(.5, function()
canaimat = true
end)
end
end)
end
end
end)
delay(0, function()
while wait(espupdatetime) do
if autoesp == true then
pcall(function()
[Link]()
end)
end
end
end)
--warn("loaded")
end)