local active = false local gui = Instance.new("ScreenGui",game.Players.LocalPlayer.PlayerGui) gui.ResetOnSpawn = false local button = Instance.new("TextButton",gui) button.BackgroundColor3 = Color3.fromRGB(0,0,0) button.TextColor3 = Color3.fromRGB(255,255,255) button.FontFace = Font.fromName("PressStart2P") button.Text = "Enable Exploit" button.Position = UDim2.new(0, 0,0.238, 0) button.Size = UDim2.new(0.1,0,0.1,0) button.TextScaled = true local ignore local extra_Y = 10 local box = Vector3.new(10,8,10) local bind = Instance.new("BindableEvent") local Bread = false local SizeX = 0 local SizeZ = 0 local midp = Vector3.zero local getfloor = nil local ExtraZ = -1 local ExtraX = 0 local Iextra = 8 local relcframe = Vector3.zero local currentTween = nil local destination = game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame local cdead = false button.Activated:Connect(function() if active == false then active = true button.Text = "Enabled" button.TextColor3 = Color3.fromRGB(0,255,0) checkdead() CreateIgnoreList() else button.Text = "Enable Exploit" button.TextColor3 = Color3.fromRGB(255,255,255) game.Workspace.CurrentCamera.CameraType = Enum.CameraType.Fixed game.Workspace.CurrentCamera.CameraSubject = game.Players.LocalPlayer.Character.HumanoidRootPart active = false end end) local function gettargetpos(tar) local X = math.round((tar:FindFirstChildWhichIsA("BasePart").Position.X-midp.X)/box.X) local Z = math.round((tar:FindFirstChildWhichIsA("BasePart").Position.Z-midp.Z)/box.Z) return X,Z end local function getRandomExcludingZero(min, max) local randomNumber = math.random(min, max) if randomNumber >= 0 then randomNumber = randomNumber + 1 end return randomNumber end function checkdead() if cdead == false then cdead = true local connec connec = game.Players.LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid").Died:Connect(function() active = false button.Text = "Enable Exploit" button.TextColor3 = Color3.fromRGB(255,255,255) connec:Disconnect() cdead = false end) end end local function gettarget() wait() local target = nil local distance = math.huge local Banned3 = {} for i,v in pairs(game.Players:GetPlayers()) do table.insert(Banned3,v.Character) end local Success, Error = pcall(function() for i,v in pairs(game.Workspace:GetDescendants()) do if v:IsA("Humanoid") and v.Parent:FindFirstChildWhichIsA("BasePart") and table.find(Banned3,v.Parent) == nil and v.Parent:FindFirstChildWhichIsA("BasePart").Anchored == false and (v.Parent:FindFirstChildWhichIsA("BasePart").Position-game.Players.LocalPlayer.Character.HumanoidRootPart.Position).Magnitude < distance then target = v.Parent distance = (v.Parent:FindFirstChildWhichIsA("BasePart").Position-game.Players.LocalPlayer.Character.HumanoidRootPart.Position).Magnitude end end end) if target ~= nil then local position = target:FindFirstChildWhichIsA("BasePart").Position return target else return gettarget() end end local function getbiggest(tbl) local biggest =0 local biggestpart = nil for i,v in tbl do if v.Size.X*v.Size.Z*v.Size.Y > biggest then biggest = v.Size.X*v.Size.Z*v.Size.Y biggestpart = v end end return biggestpart end local function checkzzone(cframe,size) local overlapParams = OverlapParams.new() local Folder = {} for i,v in pairs(ignore) do table.insert(Folder,v) end for i,v in pairs(game.Players:GetPlayers()) do table.insert(Folder,v.Character) end overlapParams.FilterDescendantsInstances = Folder overlapParams.FilterType = Enum.RaycastFilterType.Blacklist local bound = game.Workspace:GetPartBoundsInBox(cframe,size,overlapParams) if #bound==0 then return true end for i,v in pairs(bound) do if v:IsA("BasePart") then v.CanTouch = false end end return false end local function RayC(pos1,dir,ignore2,Valid) local hit = nil local pos = pos1+dir local ray = Ray.new(pos1,dir) hit = game.Workspace:FindPartOnRayWithWhitelist(ray,ignore2) if hit ~= nil then table.insert(Valid,hit) table.remove(ignore2,table.find(ignore2,hit)) return RayC(pos1,dir,ignore2,Valid) else return Valid end end local function Filtering(ban,Valid) for ia ,av in pairs(ban) do for i,v in pairs(Valid) do if v:IsDescendantOf(av) ==true then table.remove(Valid,i) end end end return Valid end local function MakeIgnore() local Valid = {} local BannedMo = {} for i,v in pairs(game.Workspace:GetDescendants()) do if v:IsA("BasePart") and v.CanCollide == true and v.Parent:FindFirstChildWhichIsA("Humanoid") and v.Parent:FindFirstChildWhichIsA("BasePart") and v.Parent:FindFirstChildWhichIsA("BasePart").Anchored==true and table.find(BannedMo,v.Parent) == nil then table.insert(BannedMo,v.Parent) else if v:IsA("BasePart") and v.Anchored == true and v:FindFirstChildWhichIsA("TouchTransmitter") == nil and v.Parent:FindFirstChildWhichIsA("Humanoid") == nil and table.find(Valid,v) == nil then table.insert(Valid,v) end end end return Filtering(BannedMo,Valid) end local function getfloorsize(floor) local X = floor.Size.X local Z = floor.Size.Z local Y = floor.Size.Y local TB = { X; Y; Z; } local smallest = math.huge for i,v in pairs(TB) do if v < smallest then smallest = v end end if TB[2] == smallest then return X,Z elseif TB[1] == smallest then return Y,Z else return X,Y end end function createfloor() ignore = MakeIgnore() local ignore2 = {table.unpack(ignore)} local getfloor2 = RayC(game.Players.LocalPlayer.Character.HumanoidRootPart.Position,Vector3.new(0,-9000,0),ignore2,{}) getfloor = getbiggest(getfloor2) local signal signal = getfloor:GetPropertyChangedSignal("Parent"):Connect(function(par) if par == nil then signal:Disconnect() createfloor() end end) end function CreateIgnoreList() --local force = Instance.new("BodyForce",game.Players.LocalPlayer.Character.HumanoidRootPart) local totalmash = 0 for i,v in pairs (game.Players.LocalPlayer.Character:GetDescendants()) do if v:IsA("BasePart") and v.Massless == false then v.Massless = true end end --force.force = Vector3.new(0,totalmash*game.workspace.Gravity,0) local bread = false createfloor() repeat wait() until getfloor ~= nil midp = getfloor.Position local big1 ,big2 = getfloorsize(getfloor) SizeX, SizeZ = math.round(big1/box.X/2),math.round(big2/box.Z/2) end local function tween(part,cframe) if currentTween~= nil then currentTween:Cancel() currentTween = nil end game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.lookAt(game.Players.LocalPlayer.Character.PrimaryPart.Position,cframe.Position) local r1 = Vector3.new(CFrame.lookAt(game.Players.LocalPlayer.Character.PrimaryPart.Position,cframe.Position):ToOrientation()) currentTween = game:GetService("TweenService"):Create(part,TweenInfo.new(1),{CFrame = CFrame.new(cframe.Position)*CFrame.fromOrientation(math.rad(math.deg(r1.X)),math.rad(math.deg(r1.Y)),math.rad(math.deg(r1.Z)))}) currentTween:Play() end bind.Event:Connect(function() wait() local tar = gettarget() --game.Workspace.CurrentCamera.CameraType = Enum.CameraType.Scriptable --game.Workspace.CurrentCamera.CFrame = CFrame.lookAt(tar:FindFirstChild("HumanoidRootPart").Position + Vector3.new(0,30,0),tar:FindFirstChild("HumanoidRootPart").Position) --local position2,inbound = game.Workspace.CurrentCamera:WorldToScreenPoint(game.Workspace.Part.Position) local frame = Instance.new("Frame",game.Players.LocalPlayer.PlayerGui.ScreenGui) --game:GetService("VirtualUser"):MoveMouse(Vector2.new(position2.X,position2.Y),game.Workspace.CurrentCamera.CFrame) end) bind.Event:Connect(function() wait() local Success, Error = pcall(function() local xS = math.random(-(SizeX-8),SizeX-8) local xZ= math.random(-(SizeZ-8),SizeZ-8) local tar = gettarget() if tar ~= nil and tar:IsDescendantOf(game.Workspace) == true and tar:FindFirstChildWhichIsA("Humanoid") ~= nil then xS,xZ = gettargetpos(tar) end local negX = SizeX local negZ = SizeZ-5+ExtraZ*Iextra local RelX = xS+ExtraX*Iextra local RelZ = xZ+ExtraZ*Iextra if RelX <0 then negX = -SizeX end if RelZ <0 then negZ = -SizeZ+5-ExtraZ*Iextra end local cframe = CFrame.new(midp+Vector3.new(box.X*((RelX+math.random(-10,10))%negX),box.Y+getfloor.Size.Y/2+game.Players.LocalPlayer.Character.HumanoidRootPart.Size.Y/2+extra_Y+math.random(1,200),box.Z*(RelZ%negZ))) if checkzzone(cframe,box) == true and checkzzone(game.Players.LocalPlayer.Character.PrimaryPart.CFrame,box) == true then --destination = cframe tween(game.Players.LocalPlayer.Character.HumanoidRootPart,cframe) --else --tween(game.Players.LocalPlayer.Character.HumanoidRootPart,game.Players.LocalPlayer.Character.HumanoidRootPart.CFrame*CFrame.new(math.random(-30,30)*5,700,-math.random(5,30)*5)) end end) end) delay(0,function() while true do wait() if active == true and game.Players.LocalPlayer.Character and game.Players.LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid") and game.Players.LocalPlayer.Character:FindFirstChildWhichIsA("Humanoid").Health > 0 then bind:Fire() end end end) local position,inbound = game.Workspace.CurrentCamera:WorldToScreenPoint(game.Workspace.Part.Position) local frame = Instance.new("Frame",game.Players.LocalPlayer.PlayerGui.ScreenGui) frame.Size = UDim2.new(0,0.5,0,0.5) frame.Position = UDim2.new(0, position.X, 0, position.Y)