Soluplayz

Strucid Hacks

Mar 9th, 2019
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local plrs = game:GetService("Players")
  2. local TeamBased = true ; local teambasedswitch = "o"
  3. local presskeytoaim = true; local aimkey = "e"
  4. local raycast = false
  5.  
  6. local espupdatetime = 5; autoesp = false
  7.  
  8.  
  9.  
  10. local lockaim = true; local lockangle = 5
  11.  
  12.  
  13.  
  14. --function findwat(folder, what)
  15. --  for i, smth in pairs(folder:GetChildren()) do
  16. --      if string.find(string.lower(tostring(smth)), string.lower(what)) then
  17. --          return smth
  18. --      end
  19. --  end
  20. --end
  21. --
  22. --local plrs = findwat(game, "Players")
  23.  
  24.  
  25.  
  26.  
  27. local Gui = Instance.new("ScreenGui")
  28. local Move = Instance.new("Frame")
  29. local Main = Instance.new("Frame")
  30. local EspStatus = Instance.new("TextLabel")
  31. local st1 = Instance.new("TextLabel")
  32. local st1_2 = Instance.new("TextLabel")
  33. local st1_3 = Instance.new("TextLabel")
  34. local Name = Instance.new("TextLabel")
  35.  
  36. -- Scripts:
  37.  
  38.  
  39. local plrsforaim = {}
  40.  
  41. local lplr = game:GetService("Players").LocalPlayer
  42. Move.Draggable = true
  43. Gui.ResetOnSpawn = false
  44. Gui.Name = "Chat"
  45. Gui.DisplayOrder = 999
  46.  
  47.     Gui.Parent = plrs.LocalPlayer.PlayerGui
  48.  
  49.  
  50. f = {}
  51. local espforlder
  52.  
  53. f.addesp = function()
  54.     --print("ESP ran")
  55.     if espforlder then
  56.     else
  57.         espforlder = Instance.new("Folder")
  58.         espforlder.Parent = game.Workspace.CurrentCamera
  59.     end
  60.     for i, v in pairs(espforlder:GetChildren()) do
  61.         v:Destroy()
  62.     end
  63.     for _, plr in pairs(plrs:GetChildren()) do
  64.         if plr.Character and plr.Character.Humanoid.Health > 0 and plr.Name ~= lplr.Name then
  65.             if TeamBased == true then
  66.                 if plr.Team.Name ~= plrs.LocalPlayer.Team.Name  then
  67.                     local e = espforlder:FindFirstChild(plr.Name)
  68.                     if not e then
  69.                         --print("Added esp for team based")
  70.                         local bill = Instance.new("BillboardGui", espforlder)
  71.                         bill.Name = plr.Name
  72.                         bill.AlwaysOnTop = true
  73.                         bill.Size = UDim2.new(1,0,1,0)
  74.                         bill.Adornee = plr.Character.Head
  75.                         local Frame = Instance.new('Frame',bill)
  76.                         Frame.Active = true
  77.                         Frame.BackgroundColor3 = Color3.new(0/255,255/255,0/255)
  78.                         Frame.BackgroundTransparency = 0
  79.                         Frame.BorderSizePixel = 0
  80.                         Frame.AnchorPoint = Vector2.new(.5, .5)
  81.                         Frame.Position = UDim2.new (0.5,0,0.5,0)
  82.                         Frame.Size = UDim2.new (1,0,1,0)
  83.                         Frame.Rotation = 0
  84.                         plr.Character.Humanoid.Died:Connect(function()
  85.                             bill:Destroy()
  86.                         end)
  87.                     end
  88.                 end
  89.             else
  90.                 local e = espforlder:FindFirstChild(plr.Name)
  91.                 if not e then
  92.                     --print("Added esp")
  93.                     local bill = Instance.new("BillboardGui", espforlder)
  94.                     bill.Name = plr.Name
  95.                     bill.AlwaysOnTop = true
  96.                     bill.Size = UDim2.new(1,0,1,0)
  97.                     bill.Adornee = plr.Character.Head
  98.                     local Frame = Instance.new('Frame',bill)
  99.                     Frame.Active = true
  100.                     Frame.BackgroundColor3 = Color3.new(0/255,255/255,0/255)
  101.                     Frame.BackgroundTransparency = 0
  102.                     Frame.BorderSizePixel = 0
  103.                     Frame.AnchorPoint = Vector2.new(.5, .5)
  104.                     Frame.Position = UDim2.new (0.5,0,0.5,0)
  105.                     Frame.Size = UDim2.new (1,0,1,0)
  106.                     Frame.Rotation = 0
  107.                     plr.Character.Humanoid.Died:Connect(function()
  108.                         bill:Destroy()
  109.                     end)
  110.                 end
  111.             end
  112.            
  113.            
  114.         end
  115.     end
  116. end
  117. local cam = game.Workspace.CurrentCamera
  118.  
  119. local mouse = lplr:GetMouse()
  120. local switch = false
  121. local key = "k"
  122. local aimatpart = nil
  123. mouse.KeyDown:Connect(function(a)
  124.     if a == "t" then
  125.         print("worked1")
  126.         f.addesp()
  127.     elseif a == "u" then
  128.         if raycast == true then
  129.             raycast = false
  130.         else
  131.             raycast = true
  132.         end
  133.     elseif a == "l" then
  134.         if autoesp == false then
  135.             autoesp = true
  136.         else
  137.             autoesp = false
  138.         end
  139.     end
  140.     if a == "j" then
  141.         if mouse.Target then
  142.             mouse.Target:Destroy()
  143.         end
  144.     end
  145.     if a == key then
  146.         if switch == false then
  147.             switch = true
  148.         else
  149.             switch = false
  150.             if aimatpart ~= nil then
  151.                 aimatpart = nil
  152.             end
  153.         end
  154.     elseif a == teambasedswitch then
  155.         if TeamBased == true then
  156.             TeamBased = false
  157.             teambasedstatus.Text = tostring(TeamBased)
  158.         else
  159.             TeamBased = true
  160.             teambasedstatus.Text = tostring(TeamBased)
  161.         end
  162.     elseif a == aimkey then
  163.         if not aimatpart then
  164.             local maxangle = math.rad(20)
  165.             for i, plr in pairs(plrs:GetChildren()) do
  166.                 if plr.Name ~= lplr.Name and plr.Character and plr.Character.Head and plr.Character.Humanoid and plr.Character.Humanoid.Health > 1 then
  167.                     if TeamBased == true then
  168.                         if plr.Team.Name ~= lplr.Team.Name then
  169.                             local an = checkfov(plr.Character.Head)
  170.                             if an < maxangle then
  171.                                 maxangle = an
  172.                                 aimatpart = plr.Character.Head
  173.                             end
  174.                         end
  175.                     else
  176.                         local an = checkfov(plr.Character.Head)
  177.                             if an < maxangle then
  178.                                 maxangle = an
  179.                                 aimatpart = plr.Character.Head
  180.                             end
  181.                             print(plr)
  182.                     end
  183.                     plr.Character.Humanoid.Died:Connect(function()
  184.                         if aimatpart.Parent == plr.Character or aimatpart == nil then
  185.                             aimatpart = nil
  186.                         end
  187.                     end)
  188.                 end
  189.             end
  190.         else
  191.             aimatpart = nil
  192.         end
  193.     end
  194. end)
  195.  
  196. function getfovxyz (p0, p1, deg)
  197.     local x1, y1, z1 = p0:ToOrientation()
  198.     local cf = CFrame.new(p0.p, p1.p)
  199.     local x2, y2, z2 = cf:ToOrientation()
  200.     --local d = math.deg
  201.     if deg then
  202.         --return Vector3.new(d(x1-x2), d(y1-y2), d(z1-z2))
  203.     else
  204.         return Vector3.new((x1-x2), (y1-y2), (z1-z2))
  205.     end
  206. end
  207.  
  208. function getaimbotplrs()
  209.     plrsforaim = {}
  210.     for i, plr in pairs(plrs:GetChildren()) do
  211.         if plr.Character and plr.Character.Humanoid and plr.Character.Humanoid.Health > 0 and plr.Name ~= lplr.Name and plr.Character.Head then
  212.            
  213.             if TeamBased == true then
  214.                 if plr.Team.Name ~= lplr.Team.Name then
  215.                     local cf = CFrame.new(game.Workspace.CurrentCamera.CFrame.p, plr.Character.Head.CFrame.p)
  216.                     local r = Ray.new(cf, cf.LookVector * 10000)
  217.                     local ign = {}
  218.                     for i, v in pairs(plrs.LocalPlayer.Character:GetChildren()) do
  219.                         if v:IsA("BasePart") then
  220.                             table.insert(ign , v)
  221.                         end
  222.                     end
  223.                     local obj = game.Workspace:FindPartOnRayWithIgnoreList(r, ign)
  224.                     if obj.Parent == plr.Character and obj.Parent ~= lplr.Character then
  225.                         table.insert(plrsforaim, obj)
  226.                     end
  227.                 end
  228.             else
  229.                 local cf = CFrame.new(game.Workspace.CurrentCamera.CFrame.p, plr.Character.Head.CFrame.p)
  230.                 local r = Ray.new(cf, cf.LookVector * 10000)
  231.                 local ign = {}
  232.                 for i, v in pairs(plrs.LocalPlayer.Character:GetChildren()) do
  233.                     if v:IsA("BasePart") then
  234.                         table.insert(ign , v)
  235.                     end
  236.                 end
  237.                 local obj = game.Workspace:FindPartOnRayWithIgnoreList(r, ign)
  238.                 if obj.Parent == plr.Character and obj.Parent ~= lplr.Character then
  239.                     table.insert(plrsforaim, obj)
  240.                 end
  241.             end
  242.            
  243.            
  244.         end
  245.     end
  246. end
  247.  
  248. function aimat(part)
  249.     cam.CFrame = CFrame.new(cam.CFrame.p, part.CFrame.p)
  250. end
  251. function checkfov (part)
  252.     local fov = getfovxyz(game.Workspace.CurrentCamera.CFrame, part.CFrame)
  253.     local angle = math.abs(fov.X) + math.abs(fov.Y)
  254.     return angle
  255. end
  256.  
  257. game:GetService("RunService").RenderStepped:Connect(function()
  258.     if aimatpart then
  259.         aimat(aimatpart)
  260.         if aimatpart.Parent == plrs.LocalPlayer.Character then
  261.             aimatpart = nil
  262.         end
  263.     end
  264.    
  265.    
  266. --  if switch == true then
  267. --      local maxangle = 99999
  268. --      
  269. --      --print("Loop")
  270. --      if true and raycast == false then
  271. --          for i, plr in pairs(plrs:GetChildren()) do
  272. --              if plr.Name ~= lplr.Name and plr.Character and plr.Character.Head and plr.Character.Humanoid and plr.Character.Humanoid.Health > 1 then
  273. --                  if TeamBased then
  274. --                      if plr.Team.Name ~= lplr.Team.Name or plr.Team.TeamColor ~= lplr.Team.TeamColor then
  275. --                          local an = checkfov(plr.Character.Head)
  276. --                          if an < maxangle then
  277. --                              maxangle = an
  278. --                              aimatpart = plr.Character.Head
  279. --                              if an < lockangle then
  280. --                                  break
  281. --                              end
  282. --                          end
  283. --                      end
  284. --                  else
  285. --                      local an = checkfov(plr.Character.Head)
  286. --                          if an < maxangle then
  287. --                              maxangle = an
  288. --                              aimatpart = plr.Character.Head
  289. --                              if an < lockangle then
  290. --                                  break
  291. --                              end
  292. --                          end
  293. --                  end
  294. --                  
  295. --                  
  296. --                  
  297. --                  
  298. --              end
  299. --          end
  300. --      elseif raycast == true then
  301. --          
  302. --      end
  303.        
  304.         if raycast == true and switch == false and not aimatpart then
  305.             getaimbotplrs()
  306.             aimatpart = nil
  307.             local maxangle = 999
  308.             for i, v in ipairs(plrsforaim) do
  309.                 if v.Parent ~= lplr.Character then
  310.                     local an = checkfov(v)
  311.                     if an < maxangle and v ~= lplr.Character.Head then
  312.                         maxangle = an
  313.                         aimatpart = v
  314.                         print(v:GetFullName())
  315.                         v.Parent.Humanoid.Died:connect(function()
  316.                             aimatpart = nil
  317.                         end)
  318.                     end
  319.                 end
  320.             end
  321.        
  322.     end
  323. end)
  324. delay(0, function()
  325.     while wait(espupdatetime) do
  326.         if autoesp == true then
  327.             pcall(function()
  328.             f.addesp()
  329.             end)
  330.         end
  331.     end
  332. end)
  333. warn("loaded")
Add Comment
Please, Sign In to add comment