Advertisement
lafur

Untitled

Aug 5th, 2020 (edited)
1,716
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --[[
  2. /////////AutoFight///////
  3. ////Made by Indencito////
  4. ]]
  5. local lp = game.Players.LocalPlayer
  6. local players = game.Players:GetChildren()
  7. local availPlayers = {Ninja_tron9000}
  8. local currentOuts = {Ninja_tron9000}
  9. local outlined = false
  10. local cam = workspace.CurrentCamera
  11. local db = false
  12. local gotoRefresh = 0.5
  13. local params = {
  14.     ["AgentHeight"] = 5;
  15.     ["AgentRaduis"] = 7;
  16.     ["AgentCanJump"] = true
  17. }
  18. function Goto(player,pos)
  19.     local char
  20.     if player~=nil then
  21.         char = player.Character
  22.     end
  23.     local hum
  24.     if char then
  25.         hum = char:FindFirstChild("Humanoid")
  26.     end
  27.     if char and hum then
  28.         local parts = {}
  29.         local health = hum.Health
  30.         local paths = game:GetService("PathfindingService")
  31.         local path = paths:CreatePath(params)
  32.         local health2 = lp.Character.Humanoid.Health
  33.         if health>0 and health2>0 then
  34.             path:ComputeAsync(char.PrimaryPart.Position,(lp.Character.PrimaryPart.CFrame*CFrame.new(0,0,-7.5)).Position)
  35.             local points = path:GetWaypoints()
  36.             for i=1,#points do
  37.                 local new = Instance.new("Part")
  38.                 new.Material = Enum.Material.Neon
  39.                 new.Transparency = 0.5
  40.                 new.Color = Color3.new(255,0,0)
  41.                 table.insert(parts,i,new)
  42.                 new.Anchored = true
  43.                 new.CanCollide = false
  44.                 new.Parent = workspace
  45.                 if i>1 then
  46.                     local mag = (points[i-1].Position-points[i].Position).Magnitude
  47.                     new.CFrame = CFrame.new(points[i-1].Position,points[i].Position)*CFrame.new(0,0,-mag/2)
  48.                     new.Size = Vector3.new(1,1,mag)
  49.                 end
  50.             end
  51.             if #points>0 then
  52.                 for i = 1,#points do
  53.                     local i = #points-(i-1)
  54.                     if health>0 and health2>0 then
  55.                         if path.Status == Enum.PathStatus.Success then
  56.                             lp.Character.Humanoid:MoveTo(points[i].Position)
  57.                             if points[i].Action == Enum.PathWaypointAction.Jump then
  58.                                 lp.Character.Humanoid.Jump = true
  59.                             end
  60.                             lp.Character.Humanoid.MoveToFinished:Wait()
  61.                             if i == 1 then
  62.                                 for i = 1,#parts do
  63.                                     parts[i]:Destroy()
  64.                                 end
  65.                                 parts = {}
  66.                                 db = true
  67.                             end
  68.                         else
  69.                             break
  70.                         end
  71.                     else
  72.                         break
  73.                     end
  74.                 end
  75.             end
  76.         end
  77.     else
  78.         if pos and not hum then
  79.             local parts = {}
  80.             local timer = tick()
  81.             local paths = game:GetService("PathfindingService")
  82.             local path = paths:CreatePath(params)
  83.             local health2 = lp.Character.Humanoid.Health
  84.             if health2>0 then
  85.                 path:ComputeAsync(pos,(lp.Character.PrimaryPart.CFrame*CFrame.new(0,0,-7.5)).Position)
  86.                 local points = path:GetWaypoints()
  87.                 for i=1,#points do
  88.                     local new = Instance.new("Part")
  89.                     new.Material = Enum.Material.Neon
  90.                     new.Transparency = 0.5
  91.                     new.BrickColor = BrickColor.new("Really red")
  92.                     table.insert(parts,i,new)
  93.                     new.Anchored = true
  94.                     new.CanCollide = false
  95.                     new.Parent = workspace
  96.                     if i>1 then
  97.                         local mag = (points[i-1].Position-points[i].Position).Magnitude
  98.                         new.CFrame = CFrame.new(points[i-1].Position,points[i].Position)*CFrame.new(0,0,-mag/2)
  99.                         new.Size = Vector3.new(0.5,0.5,mag)
  100.                     end
  101.                 end
  102.                 if #points>0 then
  103.                     for i = 1,#points do
  104.                         local i = #points-(i-1)
  105.                         if health2>0 then
  106.                             if path.Status == Enum.PathStatus.Success then
  107.                                 if tick()-timer<gotoRefresh then
  108.                                     lp.Character.Humanoid:MoveTo(points[i].Position)
  109.                                     if points[i].Action == Enum.PathWaypointAction.Jump then
  110.                                         lp.Character.Humanoid.Jump = true
  111.                                     end
  112.                                     lp.Character.Humanoid.MoveToFinished:Wait()
  113.                                     if i == 1 then
  114.                                         for i = 1,#parts do
  115.                                             parts[i]:Destroy()
  116.                                         end
  117.                                         parts = {}
  118.                                     end
  119.                                 else
  120.                                     print("timed out pathfinding")
  121.                                     for i = 1,#parts do
  122.                                         parts[i]:Destroy()
  123.                                     end
  124.                                     parts = {}
  125.                                     break
  126.                                 end
  127.                             else
  128.                                 break
  129.                             end
  130.                         else
  131.                             break
  132.                         end
  133.                     end
  134.                 end
  135.             end
  136.         end
  137.     end
  138. end
  139. function chat(string)
  140.     game:service("Chat"):Chat(lp.Character.Head, string, Enum.ChatColor.White)
  141. end
  142. function auto(dist)
  143.     while wait() do
  144.         local function FindTorso(dist)
  145.             local pos = lp.Character:FindFirstChild("HumanoidRootPart").Position
  146.             local list = game.Players:GetChildren()
  147.             local root = nil
  148.             local temp = nil
  149.             local human = nil
  150.             local temp2 = nil
  151.             for x = 1, #list do
  152.                 temp2 = list[x]
  153.                 if (temp2.className == "Player") and (temp2 ~= lp) then
  154.                     temp2 = temp2.Character
  155.                     temp = temp2:findFirstChild("HumanoidRootPart")
  156.                     human = temp2:findFirstChild("Humanoid")
  157.                     if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
  158.                         if (temp.Position - pos).magnitude < dist then
  159.                             root = temp
  160.                             dist = (temp.Position - pos).magnitude
  161.                         end
  162.                     end
  163.                 end
  164.             end
  165.             return root
  166.         end
  167.         if db == true then
  168.             local root = FindTorso(dist)
  169.             if root then
  170.                 local find = game.Players:FindFirstChild(root.Parent.Name)
  171.                 if find then
  172.                     local ray = Ray.new(lp.Character.PrimaryPart.Position,root.Position)
  173.                     local hit,pos = workspace:FindPartOnRayWithIgnoreList(ray,{lp.Character})
  174.                     if not hit then
  175.                         target(find)
  176.                     else
  177.                         if hit.CanCollide == true then
  178.                             db = false
  179.                             Goto(find)
  180.                             repeat until db == true
  181.                             target(find)
  182.                         else
  183.                             target(find)
  184.                         end
  185.                     end
  186.                 end
  187.             end
  188.         else
  189.             break
  190.         end
  191.     end
  192. end
  193. function target(player)
  194.     if player~=nil then
  195.         local tool = nil
  196.         local hum = lp.Character:WaitForChild("Humanoid")
  197.         local hum2 = player.Character:WaitForChild("Humanoid")
  198.         local root1 = lp.Character:WaitForChild("HumanoidRootPart")
  199.         local root2 = player.Character:WaitForChild("HumanoidRootPart")
  200.         while wait() do
  201.             repeat until hum ~=nil and hum2 ~=nil
  202.             local verify = player.Character:FindFirstChild("Humanoid").Health
  203.             local verify2 = lp.Character:FindFirstChild("Humanoid").Health
  204.             if verify>0 then
  205.                 if verify2>0 then
  206.                     if db == true then
  207.                         local mag = (root1.Position-root2.Position).Magnitude
  208.                         if hum2.Jump==true then
  209.                             hum.Jump = true
  210.                         end
  211.                         if mag<=15 then
  212.                             local tools = lp.Backpack:GetChildren()
  213.                             if #tools>0 then
  214.                                 tool = tools[1]
  215.                                 tool.Parent = lp.Character
  216.                                 tool:Activate()
  217.                             else
  218.                                 if tool~=nil then
  219.                                     if tool.ClassName=="Tool" then
  220.                                         tool:Activate()
  221.                                     end
  222.                                 end
  223.                             end
  224.                             local frame = root2.CFrame*CFrame.new(-3,0,0)
  225.                             local mag = (root1.Position-root2.Position).Magnitude
  226.                             local ray = Ray.new(root1.Position,frame.Position)
  227.                             local hit,position = workspace:FindPartOnRayWithIgnoreList(ray,{lp.Character})
  228.                             if hit==nil then
  229.                                 local extraframe = root2.CFrame*CFrame.new(2,0,0)
  230.                                 cam.CFrame = CFrame.new(cam.CFrame.Position,extraframe.Position)
  231.                                 Goto(nil,frame.Position)--test
  232.                             else
  233.                                 if hit~=nil then
  234.                                     local extraframe = root2.CFrame*CFrame.new(2,0,0)
  235.                                     cam.CFrame = CFrame.new(cam.CFrame.Position,extraframe.Position)
  236.                                 end
  237.                                 local frame = root2.CFrame*CFrame.new(-3,0,0)
  238.                                 Goto(nil,frame.Position)--test
  239.                             end
  240.                         else
  241.                             local frame = root2.CFrame*CFrame.new(0,0,-7.5)
  242.                             local extraframe = root2.CFrame*CFrame.new(-2,0,0)
  243.                             cam.CFrame = CFrame.new(cam.CFrame.Position,extraframe.Position)
  244.                             Goto(nil,frame.Position)--test
  245.                         end
  246.                     else
  247.                         break
  248.                     end
  249.                 else
  250.                     print("failed to pwn "..player.Name..". sorry!")
  251.                     availPlayers = {}
  252.                     if #currentOuts>0 then
  253.                         for i = 1,#currentOuts do
  254.                             if currentOuts[i]~=nil then
  255.                                 currentOuts[i]:Destroy()
  256.                             end
  257.                             table.remove(currentOuts,i)
  258.                         end
  259.                     end
  260.                     for i = 1,#availPlayers do
  261.                         table.remove(availPlayers,i)
  262.                     end
  263.                     outlined=false
  264.                     break
  265.                 end
  266.             else
  267.                 chat(player.Name.." is a noob")
  268.                 if tool~=nil then
  269.                     tool.Parent = lp.Backpack
  270.                 end
  271.                 for i = 1,#currentOuts do
  272.                     if currentOuts[i].Parent.Parent == player.Character then
  273.                         table.remove(currentOuts,i)
  274.                     end
  275.                 end
  276.                 for i = 1,#availPlayers do
  277.                     if availPlayers[i]==player.Name then
  278.                         table.remove(availPlayers,i)
  279.                     end
  280.                 end
  281.                 break
  282.             end
  283.         end
  284.     end
  285. end
  286. function outlineP()
  287.     outlined = true
  288.     local players = game.Players:GetChildren()
  289.     for i = 1,#players do
  290.         local player = players[i]
  291.         local char = player.Character
  292.         local outline = Instance.new("SelectionBox")
  293.         outline.Color3 = Color3.new(255,0,0)
  294.         outline.LineThickness = .1
  295.         outline.SurfaceColor3 = Color3.new(172,0,0)
  296.         outline.SurfaceTransparency = .9
  297.         outline.Transparency = .3
  298.         local root = char:FindFirstChild("HumanoidRootPart")
  299.         if (root~=nil) then
  300.             outline.Parent = root
  301.             outline.Adornee = root
  302.             table.insert(availPlayers,i,player)
  303.             table.insert(currentOuts,i,outline)
  304.         else
  305.             outline:Destroy()
  306.         end
  307.     end
  308. end
  309. local mouse = lp:GetMouse()
  310. mouse.Button1Down:Connect(function()
  311.     local pos = mouse.Hit.p
  312.     local target = mouse.Target
  313.     if target.Parent:FindFirstChild("Humanoid")~=nil then
  314.         local find = game.Players:FindFirstChild(target.Parent.Name)
  315.         if (find~=nil) then
  316.             if outlined == true then
  317.                 for o = 1,#availPlayers do
  318.                     if availPlayers[o].Name==find.Name then
  319.                         target(find)
  320.                         print("yes")
  321.                     end
  322.                 end
  323.             else
  324.                 print("no outlined players")
  325.             end
  326.         end
  327.     end
  328. end)
  329. lp.Chatted:Connect(function(msg)
  330.     local text1 = ""
  331.     local text2 = ""
  332.     if string.lower(msg)=="/e outline" then
  333.         local players = game.Players:GetChildren()
  334.         if #currentOuts>0 then
  335.             for i = 1,#currentOuts do
  336.                 if currentOuts[i]~=nil then
  337.                     currentOuts[i]:Destroy()
  338.                 end
  339.                 table.remove(currentOuts,i)
  340.             end
  341.         end
  342.         if #availPlayers>0 then
  343.             for i = 1,#availPlayers do
  344.                 table.remove(availPlayers,i)
  345.             end
  346.         end
  347.         outlineP()
  348.         for i = 1,#players do
  349.             text1 = text1..players[i].Name..", "
  350.         end
  351.         local text2 = "[Autofight]: The player list is "..text1
  352.         --////////////
  353.         game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage",{
  354.             Text = text2..[[. The command for a specific player is "/e target PLAYER", you can use abbreviation as well.]];
  355.             Color = Color3.new(0,175,0);
  356.             Font = Enum.Font.SourceSansBold;
  357.             FontSize = Enum.FontSize.Size18;
  358.         })
  359.         --////////////
  360.     else
  361.         local msg = string.lower(msg)
  362.         if string.sub(msg,1,10)=="/e target " then
  363.             local players = game.Players:GetChildren()
  364.             if outlined == true then
  365.                 local name = string.lower(string.sub(msg,11,#msg))
  366.                 for i = 1,#players do
  367.                     local name2 = string.lower(players[i].Name)
  368.                     if string.sub(name2,1,#name)==name then
  369.                         for o = 1,#availPlayers do
  370.                             wait()
  371.                             if availPlayers[o].Name==players[i].Name then
  372.                                 local ray = Ray.new(lp.Character.PrimaryPart.Position,players[i].Character.PrimaryPart.Position)
  373.                                 local hit,pos = workspace:FindPartOnRayWithIgnoreList(ray,{lp.Character})
  374.                                 if not hit then
  375.                                     game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage",{
  376.                                         Text = "[Autofight]: Now targeting "..players[i].Name..". make sure Shift Lock is on and dont move.";
  377.                                         Color = Color3.new(0,128,128);
  378.                                         Font = Enum.Font.SourceSansBold;
  379.                                         FontSize = Enum.FontSize.Size18;
  380.                                     })
  381.                                     db = true
  382.                                     target(players[i])
  383.                                 else
  384.                                     game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage",{
  385.                                         Text = "[Autofight]: Now targeting "..players[i].Name..". make sure Shift Lock is on and dont move.";
  386.                                         Color = Color3.new(0,128,128);
  387.                                         Font = Enum.Font.SourceSansBold;
  388.                                         FontSize = Enum.FontSize.Size18;
  389.                                     })
  390.                                     db = false
  391.                                     Goto(players[i])
  392.                                     repeat until db == true
  393.                                     target(players[i])
  394.                                 end
  395.                             end
  396.                         end
  397.                     end
  398.                 end
  399.             else
  400.                 game:GetService("StarterGui"):SetCore("ChatMakeSystemMessage",{
  401.                     Text = "[Autofight]: No players outlined, use /e outline command to begin...";
  402.                     Color = Color3.new(255,0,0);
  403.                     Font = Enum.Font.SourceSansBold;
  404.                     FontSize = Enum.FontSize.Size18;
  405.                 })
  406.             end
  407.         else
  408.             if string.lower(msg) == "/e stop" then
  409.                 if db == true then db = false
  410.                 else
  411.                     print("Not targeting anyone")
  412.                                                                                                    print("AutoFight made by Indencito")
  413.                 end
  414.             else
  415.                 local msg = string.lower(msg)
  416.                 if string.sub(msg,1,7) == "/e auto" then
  417.                     if string.sub(msg,9,#msg)~=nil then
  418.                         local dist = tonumber(string.sub(msg,9,#msg))
  419.                         if db == true then db = false end
  420.                         db = true
  421.                         auto(dist)
  422.                     end
  423.                 end
  424.             end
  425.         end
  426.     end
  427. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement