Advertisement
SealTheTiel

SB2 Underground Autofarm V4

Apr 9th, 2019
6,542
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 10.96 KB | None | 0 0
  1. --Noclip -- not Mine
  2. local noclip = true
  3. game:GetService('RunService').Stepped:connect(function()
  4.   if noclip then
  5.     game.Players.LocalPlayer.Character.Humanoid:ChangeState(11)
  6.   end
  7. end)
  8.  
  9. --Anti Afk -- not Mine
  10. local vu = game:GetService("VirtualUser")
  11. game:GetService("Players").LocalPlayer.Idled:connect(function()
  12.     vu:Button2Down(Vector2.new(0,0),workspace.CurrentCamera.CFrame)
  13.     wait(1)
  14.     vu:Button2Up(Vector2.new(0,0),workspace.CurrentCamera.CFrame)
  15. end)
  16.  
  17. _G.farm = true
  18.  
  19. local Rawr = {}
  20. local Api = {}
  21. local Log = {}
  22.  
  23. local function Service(name)
  24.   return game:GetService(name)
  25. end
  26.  
  27. function Rawr:Check(...) --secret sauce
  28.   local player = Api.GetPlayer()
  29.   local character = Api.GetCharacter()
  30.   local args = {...}
  31.  
  32.   if(character and character.PrimaryPart and args[1]:lower()=="cframe")then
  33.     --player.Character = Api.FakeCharacter
  34.     player.Character.RobloxLocked = true
  35.     wait(Api.GetSetting("rawr_bypass_speed"))
  36.     character:SetPrimaryPartCFrame(args[2])
  37.     wait(Api.GetSetting("rawr_bypass_speed"))
  38.     --player.Character = character
  39.     player.Character.RobloxLocked = false
  40.   end
  41. end
  42.  
  43. function Api.GetPlayer()
  44.   return game:GetService("Players").LocalPlayer
  45. end
  46.  
  47. function Api.Replicate(object)
  48.   local Model = Instance.new("Model")
  49.   Model.Name = object.Name
  50.   for index, child in pairs(object:GetChildren()) do
  51.     local c = child:Clone()
  52.     c.Parent = Model
  53.   end
  54.   if(object.PrimaryPart)then
  55.     Model.PrimaryPart = Model[object.PrimaryPart.Name]
  56.   end
  57.   return Model
  58. end
  59.  
  60. function Api.GetCharacter()
  61.   return Api.Character or Api.GetPlayer().Character
  62. end
  63.  
  64. function Api.GetEntity(model)
  65.   return model:FindFirstChild("Entity")
  66. end
  67.  
  68. function Api.Settings(...)
  69.   Api.Settings = {}
  70.   for name, value in pairs(...) do
  71.     Api.Settings[name] = value
  72.   end
  73. end
  74.  
  75. function Api.GetSetting(name)
  76.   return Api.Settings[name]
  77. end
  78.  
  79. function Api.IsValid(model)
  80.   if(model.PrimaryPart and model:FindFirstChild("Entity") and model.Entity:FindFirstChild("Health") and model.Parent~=nil and model:FindFirstChild("Nameplate"))then
  81.     return true
  82.   end
  83. end
  84.  
  85. function Api.GetPlayerDistances(model)
  86.   local localPlayer = Api.GetPlayer()
  87.   local distances = {}
  88.   for index, player in pairs(Service("Players"):GetChildren()) do
  89.     if(player~=localPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") and model:FindFirstChild("HumanoidRootPart"))then
  90.       distances[player.Name] = (model.HumanoidRootPart.Position - player.Character.HumanoidRootPart.Position).magnitude
  91.     end
  92.   end
  93.   return distances
  94. end
  95.  
  96. function Api.CheckNear(monster)
  97.   if(Api.GetSetting("avoid_players_nearby")["Enabled"] == true)then
  98.     local max_distance = Api.GetSetting("avoid_players_nearby")["Distance"]
  99.     local distances = Api.GetPlayerDistances(monster)
  100.     for player, distance in pairs(distances)do
  101.       if(distance <= max_distance)then
  102.         return false
  103.       end
  104.     end
  105.   end
  106.   return true
  107. end
  108.  
  109. function Api.CheckBlacklist(monster)
  110.   for index, blacklist in pairs(Api.Blacklist) do
  111.     if(monster == blacklist)then
  112.       return false
  113.     end
  114.   end
  115.   return true
  116. end
  117.  
  118. function Api.GetMonsters()
  119.   local targets = {}
  120.   for index, monster in pairs(Service("Workspace").Mobs:GetChildren()) do
  121.     local entity = monster:FindFirstChildOfClass("Folder")
  122.     local filterApplied = false
  123.     --local distanceCheck = Api.CheckNear(monster)
  124.     if(monster.PrimaryPart and Api.IsValid(monster) and Api.CheckBlacklist(monster))then
  125.       if(Api.GetSetting("monster_filter")["Enabled"] == true)then
  126.         if(entity.Health.Value >= Api.GetSetting("monster_filter")["max_monster_health"] and entity.Exp.Value >= Api.GetSetting("monster_filter")["min_exp_earned"])then
  127.           table.insert(targets, monster)
  128.         end
  129.         filterApplied = true
  130.       elseif(Api.GetSetting("target_specific_enemy").Enabled == true)then
  131.         if(Api.GetSetting("target_specific_enemy").Names[monster.Nameplate.SurfaceGui.TextLabel.Text] == true)then
  132.           table.insert(targets, monster)
  133.         end
  134.         filterApplied = true
  135.       end
  136.       if(filterApplied == false)then
  137.         table.insert(targets, monster)
  138.       end
  139.     end
  140.   end
  141.   return targets
  142. end
  143.  
  144. function Api:Connect()
  145.   local player = Api.GetPlayer()
  146.   local character = Api.GetCharacter()
  147.   local setupCharacter = function(character)
  148.   Api.FakeCharacter = Api.Replicate(character)
  149. end
  150.  
  151. setupCharacter(character)
  152. player.CharacterAdded:Connect(setupCharacter)
  153. end
  154.  
  155. hu = game.Players.LocalPlayer.Character.Humanoid
  156. local l = Instance.new("Humanoid")
  157. l.Parent = game.Players.LocalPlayer.Character
  158. l.RigType = "R15"
  159. l.Name = "Humanoid"
  160. wait(0.1)
  161. hu.Parent = game.Players.LocalPlayer
  162. game.Workspace.CurrentCamera.CameraSubject = game.Players.LocalPlayer.Character
  163. game.Players.LocalPlayer.Character.Animate.Disabled = true
  164. wait(0.1)
  165. game.Players.LocalPlayer.Character.Animate.Disabled = false
  166. wait(0.5)
  167. --not Mine, by Mortalkombatman2, modified by ZombieRushFan 
  168. function Api.BigHitbox()
  169. for i,v in pairs(game.Workspace.Mobs:children()) do
  170.   if v:FindFirstChild("HumanoidRootPart") then
  171.     local bodyforce = Instance.new("BodyForce")
  172.     bodyforce.Parent = v.HumanoidRootPart
  173.     v.HumanoidRootPart.Size = Vector3.new(Api.GetSetting("hbx"), Api.GetSetting("hby"), Api.GetSetting("hbz"))
  174.     v.HumanoidRootPart.CanCollide = false
  175.     v.HumanoidRootPart.BodyForce.force = Vector3.new(0, game.workspace.Gravity, 0) * v.HumanoidRootPart:GetMass()
  176.   end
  177. end
  178. end
  179.  
  180. function Api:SetKeys()
  181. game:GetService("UserInputService").InputBegan:connect(function(Key)
  182. if(Key.KeyCode == Api.GetSetting("stop_key"))then
  183.   Api.Enabled = false
  184. elseif(Key.KeyCode == Api.GetSetting("pause_key"))then
  185.   Api.Paused = true
  186. elseif(Key.KeyCode == Api.GetSetting("unpause_key"))then
  187.   Api.Paused = false
  188. end
  189. end)
  190. end
  191. --[[
  192. CREATED BY Methode @v3rmillion
  193. MODIFIED BY ZombieRushFan @v3rmillion || Styler12#2196 || Sealtiel Dy @FB
  194. ]]
  195. function Api:Init()
  196. Api.Blacklist = {}
  197. Api.Start = tick()
  198. Api.Paused = false
  199. Api.CanClick = false
  200. Api.Enabled = true
  201. wait(Api.GetSetting("StartDelay"))
  202. spawn(function()
  203. while wait(Api.GetSetting("click_break_speed")) and Api.Enabled do
  204.   if(Api.Paused == false and Api.CanClick == true)then
  205.     if(mouse1click)then
  206.       mouse1click()
  207.     end
  208.   else
  209.     wait()
  210.   end
  211. end
  212. end)
  213. while wait() and Api.Enabled and _G.farm == true do
  214.   if(Api.Paused == false)then
  215.     --game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(116, 900, 23865)) --F10 Boss
  216.     --game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(12400, 540, -3380)) --F9 Boss
  217.     --game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(-3650, 2850, -7700)) --F9 Mini Boss
  218.     for index, monster in pairs(Api.GetMonsters()) do
  219.       if(Api.IsValid(monster) and Api.Enabled and _G.farm==true)then -- recheck
  220.         Rawr:Check("CFrame", monster:GetPrimaryPartCFrame() * CFrame.Angles(math.rad(Api.GetSetting("rocX")),math.rad(Api.GetSetting("rocY")),math.rad(Api.GetSetting("rocZ"))) * CFrame.new(Api.GetSetting("dfmX"), Api.GetSetting("dfmY"),  Api.GetSetting("dfmZ"))) -- bypass
  221.         wait(Api.GetSetting("swap_monster_speed"))
  222.         local entity = Api.GetEntity(monster)
  223.         local base = entity.Health.Value
  224.         entity.Health.Changed:Connect(function()
  225.         if(entity.Health.Value == base)then
  226.           dontBreak = false
  227.         end
  228.         end)
  229.         Api.BigHitbox()
  230.         dontBreak = true
  231.         local timer = 0
  232.         while dontBreak and Api.Enabled do
  233.           if(Api.Paused == false)then
  234.             local thisTime = wait()
  235.             wait(thisTime)
  236.             timer = timer + thisTime
  237.             if(timer >= Api.GetSetting("timeout")["time"])then
  238.               warn('Timeout exceeded!')
  239.               if(Api.GetSetting("timeout")["blacklist_monster_after_timeout"] == true)then
  240.                 table.insert(Api.Blacklist, monster)
  241.               end
  242.               break
  243.             end
  244.             if(Api.IsValid(monster) and entity.Health.Value > 0 and _G.farm == true)then
  245.               local character = Api.GetCharacter()
  246.               if(character)then
  247.                 Api.CanClick = false -- true
  248.                 character:SetPrimaryPartCFrame(monster:GetPrimaryPartCFrame() * CFrame.Angles(math.rad(Api.GetSetting("rocX")),math.rad(Api.GetSetting("rocY")),math.rad(Api.GetSetting("rocZ"))) * CFrame.new(Api.GetSetting("dfmX"), Api.GetSetting("dfmY"), Api.GetSetting("dfmZ")))
  249.               else
  250.                 character = Api.GetCharacter()
  251.                 if(character)then
  252.                   Rawr:Check("CFrame", monster:GetPrimaryPartCFrame() * CFrame.Angles(math.rad(Api.GetSetting("rocX")),math.rad(Api.GetSetting("rocY")),math.rad(Api.GetSetting("rocZ"))) * CFrame.new(Api.GetSetting("dfmX"),  Api.GetSetting("dfmY"), Api.GetSetting("dfmZ"))) -- bypass
  253.                   wait(Api.GetSetting("swap_monster_speed"))
  254.                 end
  255.               end
  256.             else
  257.               Api.CanClick = false
  258.               break
  259.             end
  260.           else
  261.             wait()
  262.           end
  263.         end
  264.         wait(Api.GetSetting("swap_monster_speed"))
  265.       end
  266.     end
  267.   end
  268. end
  269. end
  270.  
  271. Api.Settings({
  272. ["start_delay"] = 1,
  273. ["stop_key"] = Enum.KeyCode.Escape,
  274. ["pause_key"] = Enum.KeyCode.LeftControl,
  275. ["unpause_key"] = Enum.KeyCode.RightControl,
  276. ["rawr_bypass_speed"] = 0.1, -- 0.1
  277. ["swap_monster_speed"] = 0, -- 0.05,
  278. ["click_break_speed"] = 0.01,
  279. ["hbx"] = 9, -- size of hitbox X-Axis
  280. ["hby"] = 45, -- size of hitbox Y-Axis
  281. ["hbz"] = 9, -- size of hitbox Z-Axis
  282. ["rocX"] = 0, -- rotation of character based on X-Axis
  283. ["rocY"] = 0,  -- rotation of character based on Y-Axis
  284. ["rocZ"] = 0,  -- rotation of character based on Z-Axis
  285. ["dfmX"] = 0,  -- distance from the mob in X-Axis based on rotation
  286. ["dfmY"] = -17,  -- distance from the mob in Y-Axis based on rotation
  287. ["dfmZ"] = 0, -- distance from the mob in Z-Axis based on rotation
  288. ["timeout"] = {
  289.   ["time"] = 45,
  290.   ["blacklist_monster_after_timeout"] = false
  291. },
  292. ["monster_filter"] = {
  293.   ["Enabled"] = false,
  294.   ["max_monster_health"] = 0,
  295.   ["min_exp_earned"] = 1,
  296. },
  297. ["avoid_players_nearby"] = {
  298.   ["Enabled"] = false,
  299.   ["Distance"] = 200
  300. },
  301. ["target_specific_enemy"] = {
  302.   ["Enabled"] = false,
  303.   ["Names"] = {
  304.     --just follow the format to add new mobs
  305.     ["Grim the Overseer"] = true,
  306.     ["Baal"] = true,
  307.     ["Shady Villager"] = false,
  308.     ["Winged Minion"] = false,
  309.     ["Wendigo"] = false,
  310.     ["Undead Warrior"] = false,
  311.     ["Gargoyle Reaper"] = true,
  312.     ["Mortis the Flaming Sear"] = true,
  313.     ["Polyserpant"] = false,
  314.     ["Ent"] = false,
  315.     ["Patrolman Elite"] = true,
  316.     ["Rotling"] = true,
  317.     ["Sa'jun the Centurian Chieftain"] = false,
  318.     ["Fire Scorpion"] = false,
  319.     ["Dungeon Dweller"] = true,
  320.     ["Bamboo Spider"] = true,
  321.     ["Boneling"] = true,
  322.     ["Treeray"] = true,
  323.     ["Birchman"] = true,
  324.   }
  325. }
  326. })
  327.  
  328. Api:SetKeys()
  329. Api:Connect()
  330. Api:Init()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement