Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Catshac is gay
- -- ^^ Probably going to steal this video idea
- local plrs = game:GetService("Players")
- local TeamBased = true ; local teambasedswitch = "o"
- local presskeytoaim = true; local aimkey = "e"
- local raycast = false
- local espupdatetime = 5; autoesp = false
- local lockaim = true; local lockangle = 5
- --function findwat(folder, what)
- -- for i, smth in pairs(folder:GetChildren()) do
- -- if string.find(string.lower(tostring(smth)), string.lower(what)) then
- -- return smth
- -- end
- -- end
- --end
- --
- --local plrs = findwat(game, "Players")
- local Gui = Instance.new("ScreenGui")
- local Move = Instance.new("Frame")
- local Main = Instance.new("Frame")
- local EspStatus = Instance.new("TextLabel")
- local st1 = Instance.new("TextLabel")
- local st1_2 = Instance.new("TextLabel")
- local st1_3 = Instance.new("TextLabel")
- local Name = Instance.new("TextLabel")
- --Properties:
- Gui.Name = "Gui"
- Gui.Parent = plrs.LocalPlayer:WaitForChild("PlayerGui")
- Move.Name = "Move"
- Move.Parent = Gui
- Move.BackgroundColor3 = Color3.new(0.631373, 0.631373, 0.631373)
- Move.BackgroundTransparency = 0.40000000596046
- Move.BorderSizePixel = 0
- Move.Position = UDim2.new(0.005, 0,0.018, 0)
- Move.Size = UDim2.new(0.28141585, 0, 0.0320388414, 0)
- Main.Name = "Main"
- Main.Parent = Move
- Main.BackgroundColor3 = Color3.new(0.176471, 0.176471, 0.176471)
- Main.BackgroundTransparency = 0.69999998807907
- Main.Position = UDim2.new(0, 0, 0.995670795, 0)
- Main.Size = UDim2.new(1.0000006, 0, 9.79697132, 0)
- EspStatus.Name = "EspStatus"
- EspStatus.Parent = Main
- EspStatus.BackgroundColor3 = Color3.new(1, 1, 1)
- EspStatus.BackgroundTransparency = 1
- EspStatus.Size = UDim2.new(0.272955924, 0, 0.161862016, 0)
- EspStatus.Font = Enum.Font.ArialBold
- EspStatus.Text = "Press T to update Esp"
- EspStatus.TextColor3 = Color3.new(0.0431373, 1, 0.0745098)
- EspStatus.TextScaled = true
- EspStatus.TextSize = 14
- EspStatus.TextWrapped = true
- st1.Name = "st1"
- st1.Parent = Main
- st1.BackgroundColor3 = Color3.new(1, 1, 1)
- st1.BackgroundTransparency = 1
- st1.Position = UDim2.new(0.271787882, 0, 0, 0)
- st1.Size = UDim2.new(0.728211343, 0, 0.161862016, 0)
- st1.Font = Enum.Font.ArialBold
- st1.Text = "Press "..aimkey.." to lock on a person inside ur view"
- st1.TextColor3 = Color3.new(0.0431373, 1, 0.0745098)
- st1.TextScaled = true
- st1.TextSize = 14
- st1.TextWrapped = true
- st1_2.Name = "st1"
- st1_2.Parent = Main
- st1_2.BackgroundColor3 = Color3.new(1, 1, 1)
- st1_2.BackgroundTransparency = 1
- st1_2.Position = UDim2.new(0, 0, 0.375590861, 0)
- st1_2.Size = UDim2.new(0.999999881, 0, 0.161862016, 0)
- st1_2.Font = Enum.Font.ArialBold
- st1_2.Text = "Press L to enable esp loop"
- st1_2.TextColor3 = Color3.new(0.0431373, 1, 0.0745098)
- st1_2.TextScaled = true
- st1_2.TextSize = 14
- st1_2.TextWrapped = true
- st1_3.Name = "st1"
- st1_3.Parent = Main
- st1_3.BackgroundColor3 = Color3.new(1, 1, 1)
- st1_3.BackgroundTransparency = 1
- st1_3.Position = UDim2.new(0, 0, 0.18558608, 0)
- st1_3.Size = UDim2.new(0.999999881, 0, 0.161862016, 0)
- st1_3.Font = Enum.Font.ArialBold
- st1_3.Text = "Press O to change team based mode"
- st1_3.TextColor3 = Color3.new(0.0431373, 1, 0.0745098)
- st1_3.TextScaled = true
- st1_3.TextSize = 14
- st1_3.TextWrapped = true
- local teambasedstatus = st1_3:Clone()
- teambasedstatus.Parent = st1_3
- teambasedstatus.TextScaled = true
- teambasedstatus.Position = UDim2.new(0, 0,0.694, 0)
- teambasedstatus.Text = tostring(TeamBased)
- Name.Name = "Name"
- Name.Parent = Move
- Name.BackgroundColor3 = Color3.new(1, 1, 1)
- Name.BackgroundTransparency = 1
- Name.Size = UDim2.new(0.838, 0, 0.980000019, 0)
- Name.Font = Enum.Font.Cartoon
- Name.Text = "Arsenal Mod V 2.0"
- Name.TextColor3 = Color3.new(0, 0, 0)
- Name.TextScaled = true
- Name.TextSize = 14
- Name.TextWrapped = true
- Name.TextXAlignment = Enum.TextXAlignment.Left
- -- Scripts:
- local plrsforaim = {}
- local lplr = game:GetService("Players").LocalPlayer
- Move.Draggable = true
- Gui.ResetOnSpawn = false
- Gui.Name = "Chat"
- Gui.DisplayOrder = 999
- Gui.Parent = plrs.LocalPlayer.PlayerGui
- f = {}
- local espforlder
- f.addesp = function()
- --print("ESP ran")
- if espforlder then
- else
- espforlder = Instance.new("Folder")
- espforlder.Parent = game.Workspace.CurrentCamera
- end
- for i, v in pairs(espforlder:GetChildren()) do
- v:Destroy()
- end
- for _, plr in pairs(plrs:GetChildren()) do
- if plr.Character and plr.Character.Humanoid.Health > 0 and plr.Name ~= lplr.Name then
- if TeamBased == true then
- if plr.Team.Name ~= plrs.LocalPlayer.Team.Name then
- local e = espforlder:FindFirstChild(plr.Name)
- if not e then
- --print("Added esp for team based")
- local bill = Instance.new("BillboardGui", espforlder)
- bill.Name = plr.Name
- bill.AlwaysOnTop = true
- bill.Size = UDim2.new(1,0,1,0)
- bill.Adornee = plr.Character.Head
- local Frame = Instance.new('Frame',bill)
- Frame.Active = true
- Frame.BackgroundColor3 = Color3.new(0/255,255/255,0/255)
- Frame.BackgroundTransparency = 0
- Frame.BorderSizePixel = 0
- Frame.AnchorPoint = Vector2.new(.5, .5)
- Frame.Position = UDim2.new (0.5,0,0.5,0)
- Frame.Size = UDim2.new (1,0,1,0)
- Frame.Rotation = 0
- plr.Character.Humanoid.Died:Connect(function()
- bill:Destroy()
- end)
- end
- end
- else
- local e = espforlder:FindFirstChild(plr.Name)
- if not e then
- --print("Added esp")
- local bill = Instance.new("BillboardGui", espforlder)
- bill.Name = plr.Name
- bill.AlwaysOnTop = true
- bill.Size = UDim2.new(1,0,1,0)
- bill.Adornee = plr.Character.Head
- local Frame = Instance.new('Frame',bill)
- Frame.Active = true
- Frame.BackgroundColor3 = Color3.new(0/255,255/255,0/255)
- Frame.BackgroundTransparency = 0
- Frame.BorderSizePixel = 0
- Frame.AnchorPoint = Vector2.new(.5, .5)
- Frame.Position = UDim2.new (0.5,0,0.5,0)
- Frame.Size = UDim2.new (1,0,1,0)
- Frame.Rotation = 0
- plr.Character.Humanoid.Died:Connect(function()
- bill:Destroy()
- end)
- end
- end
- end
- end
- end
- local cam = game.Workspace.CurrentCamera
- local mouse = lplr:GetMouse()
- local switch = false
- local key = "k"
- local aimatpart = nil
- mouse.KeyDown:Connect(function(a)
- if a == "t" then
- print("worked1")
- f.addesp()
- elseif a == "u" then
- if raycast == true then
- raycast = false
- else
- raycast = true
- end
- elseif a == "l" then
- if autoesp == false then
- autoesp = true
- else
- autoesp = false
- end
- end
- if a == "j" then
- if mouse.Target then
- mouse.Target: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 == teambasedswitch then
- if TeamBased == true then
- TeamBased = false
- teambasedstatus.Text = tostring(TeamBased)
- else
- TeamBased = true
- teambasedstatus.Text = tostring(TeamBased)
- end
- elseif a == aimkey then
- if not aimatpart then
- local maxangle = math.rad(20)
- for i, plr in pairs(plrs:GetChildren()) do
- if plr.Name ~= lplr.Name and plr.Character and plr.Character.Head and plr.Character.Humanoid and plr.Character.Humanoid.Health > 1 then
- if TeamBased == true then
- if plr.Team.Name ~= lplr.Team.Name then
- local an = checkfov(plr.Character.Head)
- if an < maxangle then
- maxangle = an
- aimatpart = plr.Character.Head
- end
- end
- else
- local an = checkfov(plr.Character.Head)
- if an < maxangle then
- maxangle = an
- aimatpart = plr.Character.Head
- end
- print(plr)
- end
- plr.Character.Humanoid.Died:Connect(function()
- if aimatpart.Parent == plr.Character or aimatpart == nil then
- aimatpart = nil
- end
- end)
- end
- end
- else
- aimatpart = nil
- end
- end
- end)
- function getfovxyz (p0, p1, deg)
- local x1, y1, z1 = p0:ToOrientation()
- local cf = CFrame.new(p0.p, p1.p)
- local x2, y2, z2 = cf:ToOrientation()
- --local d = math.deg
- if deg then
- --return Vector3.new(d(x1-x2), d(y1-y2), d(z1-z2))
- else
- return Vector3.new((x1-x2), (y1-y2), (z1-z2))
- end
- end
- function getaimbotplrs()
- plrsforaim = {}
- for i, plr in pairs(plrs:GetChildren()) do
- if plr.Character and plr.Character.Humanoid and plr.Character.Humanoid.Health > 0 and plr.Name ~= lplr.Name and plr.Character.Head then
- if TeamBased == true then
- if plr.Team.Name ~= lplr.Team.Name then
- local cf = CFrame.new(game.Workspace.CurrentCamera.CFrame.p, plr.Character.Head.CFrame.p)
- local r = Ray.new(cf, cf.LookVector * 10000)
- local ign = {}
- for i, v in pairs(plrs.LocalPlayer.Character:GetChildren()) do
- if v:IsA("BasePart") then
- table.insert(ign , v)
- end
- end
- local obj = game.Workspace:FindPartOnRayWithIgnoreList(r, ign)
- if obj.Parent == plr.Character and obj.Parent ~= lplr.Character then
- table.insert(plrsforaim, obj)
- end
- end
- else
- local cf = CFrame.new(game.Workspace.CurrentCamera.CFrame.p, plr.Character.Head.CFrame.p)
- local r = Ray.new(cf, cf.LookVector * 10000)
- local ign = {}
- for i, v in pairs(plrs.LocalPlayer.Character:GetChildren()) do
- if v:IsA("BasePart") then
- table.insert(ign , v)
- end
- end
- local obj = game.Workspace:FindPartOnRayWithIgnoreList(r, ign)
- if obj.Parent == plr.Character and obj.Parent ~= lplr.Character then
- table.insert(plrsforaim, obj)
- end
- end
- end
- end
- end
- function aimat(part)
- cam.CFrame = CFrame.new(cam.CFrame.p, part.CFrame.p)
- end
- function checkfov (part)
- local fov = getfovxyz(game.Workspace.CurrentCamera.CFrame, part.CFrame)
- local angle = math.abs(fov.X) + math.abs(fov.Y)
- return angle
- end
- game:GetService("RunService").RenderStepped:Connect(function()
- if aimatpart then
- aimat(aimatpart)
- if aimatpart.Parent == plrs.LocalPlayer.Character then
- aimatpart = nil
- end
- end
- -- if switch == true then
- -- local maxangle = 99999
- --
- -- --print("Loop")
- -- if true and raycast == false then
- -- for i, plr in pairs(plrs:GetChildren()) do
- -- if plr.Name ~= lplr.Name and plr.Character and plr.Character.Head and plr.Character.Humanoid and plr.Character.Humanoid.Health > 1 then
- -- if TeamBased then
- -- if plr.Team.Name ~= lplr.Team.Name or plr.Team.TeamColor ~= lplr.Team.TeamColor then
- -- local an = checkfov(plr.Character.Head)
- -- if an < maxangle then
- -- maxangle = an
- -- aimatpart = plr.Character.Head
- -- if an < lockangle then
- -- break
- -- end
- -- end
- -- end
- -- else
- -- local an = checkfov(plr.Character.Head)
- -- if an < maxangle then
- -- maxangle = an
- -- aimatpart = plr.Character.Head
- -- if an < lockangle then
- -- break
- -- end
- -- end
- -- end
- --
- --
- --
- --
- -- end
- -- end
- -- elseif raycast == true then
- --
- -- end
- if raycast == true and switch == false and not aimatpart then
- getaimbotplrs()
- aimatpart = nil
- local maxangle = 999
- for i, v in ipairs(plrsforaim) do
- if v.Parent ~= lplr.Character then
- local an = checkfov(v)
- if an < maxangle and v ~= lplr.Character.Head then
- maxangle = an
- aimatpart = v
- print(v:GetFullName())
- v.Parent.Humanoid.Died:connect(function()
- aimatpart = nil
- end)
- end
- end
- end
- end
- end)
- delay(0, function()
- while wait(espupdatetime) do
- if autoesp == true then
- pcall(function()
- f.addesp()
- end)
- end
- end
- end)
- warn("loaded")
Add Comment
Please, Sign In to add comment