Advertisement
Upscalefanatic3

Jailbreak AutoRob GUI

Jun 26th, 2019
6,523
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --[[
  2. Game Link: https://www.roblox.com/games/606849621/Jailbreak-JETPACKS
  3. https://v3rmillion.net/showthread.php?tid=688367
  4. Edited By LuaPhysics#6400 (Broke When Jewelry Store Is Opened)
  5. ***NOTE: Jewelry Removed Bescause Of The Error.***
  6. __ ____ __
  7. /\ \ /\ _`\ /\ \ __
  8. \ \ \ __ __ __ \ \ \L\ \ \ \___ __ __ ____/\_\ ___ ____
  9. \ \ \ __/\ \/\ \ /'__`\ \ \ ,__/\ \ _ `\/\ \/\ \ /',__\/\ \ /'___\ /',__\
  10. \ \ \L\ \ \ \_\ \/\ \L\.\_\ \ \/ \ \ \ \ \ \ \_\ \/\__, `\ \ \/\ \__//\__, `\
  11. \ \____/\ \____/\ \__/.\_\\ \_\ \ \_\ \_\/`____ \/\____/\ \_\ \____\/\____/
  12. \/___/ \/___/ \/__/\/_/ \/_/ \/_/\/_/`/___/> \/___/ \/_/\/____/\/___/
  13. /\___/
  14. \/__/
  15. --]]
  16. if not getrawmetatable then
  17. local h = Instance.new("Hint",workspace)
  18. h.Text = "Incompatible exploit."
  19. wait(2)
  20. h:Destroy()
  21. return
  22. end
  23. local player = game:GetService("Players").LocalPlayer or game:GetService("Players"):GetPropertyChangedSignal("LocalPlayer"):Wait() or game:GetService("Players").LocalPlayer
  24. local stepconn,uptorso,humanoid
  25. local root = {}
  26. local v30=Vector3.new()
  27. local HOLD_E = false
  28. local abort = false
  29. local green,red=Color3.fromRGB(0,230,0),Color3.fromRGB(230,0,0)
  30. local settings = {enabled=true,jewlAllowCrims=false,preferLongTP=false,bankRadius2=19,preferUnsafeEsc=false,warnSeconds=1.5}
  31. local settingsModified = false
  32. if readfile then
  33. pcall(function()
  34. local new = game:GetService("HttpService"):JSONDecode(readfile("JBAR.txt"))
  35. --corruption?
  36. local doOverwrite=false
  37. for k,v in pairs(new) do
  38. if settings[k]==nil then
  39. doOverwrite=true
  40. new[k]=nil
  41. end
  42. end
  43. for k,v in pairs(settings) do
  44. if new[k]==nil then
  45. doOverwrite=true
  46. new[k]=v
  47. end
  48. end
  49. --use input
  50. if doOverwrite then
  51. settingsModified = true
  52. writefile("JBAR.txt",game:GetService("HttpService"):JSONEncode(new))
  53. end
  54. settings = new
  55. end)
  56. end
  57. --// handle character //
  58. local Stepped = game:GetService("RunService").Stepped
  59. local NCparts = {}
  60. local NCconn
  61. local NCfunc = function()
  62. for i=1,#NCparts do
  63. NCparts[i].CanCollide=false
  64. end
  65. end
  66. local function noclip()
  67. if not NCconn then
  68. NCconn = Stepped:Connect(NCfunc)
  69. end
  70. end
  71. local function yesclip()
  72. if NCconn then
  73. NCconn:Disconnect()
  74. NCconn = nil
  75. end
  76. end
  77. local lastRootCf
  78. local function onRootChanged()
  79. if (root.CFrame.p-Vector3.new(-177.3,19.6,1013.2)).magnitude < 1 then
  80. root.CFrame = lastRootCf
  81. end
  82. end
  83. local function newchar(char)
  84. if char then
  85. root = char:WaitForChild("HumanoidRootPart")
  86. root:GetPropertyChangedSignal("CFrame"):Connect(onRootChanged)
  87. uptorso = char:WaitForChild("UpperTorso")
  88. humanoid = char:WaitForChild("Humanoid")
  89. wait(0.2)
  90. NCparts = {}
  91. for _,v in ipairs(char:GetChildren()) do
  92. if v:IsA("BasePart") then
  93. NCparts[#NCparts+1]=v
  94. end
  95. end
  96. end
  97. end
  98. newchar(player.Character)
  99. player.CharacterAdded:Connect(newchar)
  100. Stepped:Connect(function()
  101. lastRootCf = root.CFrame
  102. end)
  103. --// interface //
  104. Create = function(class,parent,props)
  105. local new = Instance.new(class)
  106. for k,v in next,props do
  107. new[k]=v
  108. end
  109. new.Parent = parent
  110. return new
  111. end
  112.  
  113. gui=Create("ScreenGui",game.CoreGui,{Name="AutoRob", ResetOnSpawn=false, ZIndexBehavior="Sibling"})
  114. main=Create("Frame",gui,{Name="Main", ClipsDescendants=true, Draggable=true, Active=true, Size=UDim2.new(0,333,0,140), Position=UDim2.new(0.1,0,0.3,0), BackgroundColor3=Color3.new(0,0.118,0.239)})
  115. homeFrame=Create("Frame",main,{Name="homeFrame", BackgroundTransparency=1, Size=UDim2.new(1,-30,1,-55), Position=UDim2.new(0,15,0,40)})
  116. AbortBtn=Create("TextButton",homeFrame,{Name="AbortBtn", Size=UDim2.new(0.48,0,0.3,0), Text="ABORT", Font="SourceSans", Position=UDim2.new(0.52,0,0.25,0), TextSize=23,
  117. BackgroundColor3=Color3.new(0.502,0.498,0.506), AutoButtonColor=false})
  118. Shade=Create("Frame",AbortBtn,{Name="Shade", BackgroundTransparency=0.89999997615814, Size=UDim2.new(1,0,0.5,0), Position=UDim2.new(0,0,0.5,0), BackgroundColor3=Color3.new(), Visible=false})
  119. Status=Create("TextLabel",homeFrame,{Name="Status", Size=UDim2.new(1,0,0.27,0), Text="Status: Loading...", TextSize=15, TextXAlignment="Left", Font="Code",
  120. BackgroundTransparency=0.25, Position=UDim2.new(0,0,0.73,0), BackgroundColor3=Color3.new(1,1,1)})
  121. ToggleBtn=Create("TextButton",homeFrame,{Name="ToggleBtn", Size=UDim2.new(0.48,0,0.3,0), Text="TOGGLE", Font="SourceSans", Position=UDim2.new(0,0,0.25,0), TextSize=23,
  122. BackgroundColor3=settings.enabled and green or red})
  123. Shade_2=Create("Frame",ToggleBtn,{Name="Shade", BackgroundTransparency=0.89999997615814, Size=UDim2.new(1,0,0.5,0), Position=UDim2.new(0,0,0.5,0), BackgroundColor3=Color3.new()})
  124. availabels=Create("Frame",homeFrame,{Name="availabels", BackgroundTransparency=1, Size=UDim2.new(1,0,0.23,0), Position=UDim2.new(0,0,-0.12,0), BackgroundColor3=Color3.new(1,1,1)})
  125. jewelryLbl=Create("TextLabel",availabels,{Name="jewelryLbl", Size=UDim2.new(0.2,0,1,0), Text="Jewel", TextSize=18, Font="SourceSansLight", BackgroundTransparency=1,
  126. Position=UDim2.new(0.2,0,0,0), TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)})
  127. trainLbl=Create("TextLabel",availabels,{Name="trainLbl", Size=UDim2.new(0.2,0,1,0), Text="Train", TextSize=18, Font="SourceSansLight", BackgroundTransparency=1,
  128. Position=UDim2.new(0.6,0,0,0), TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)})
  129. bankLbl=Create("TextLabel",availabels,{Name="bankLbl", Size=UDim2.new(0.2,0,1,0), Text="Bank", TextSize=18, Font="SourceSansLight", BackgroundTransparency=1,
  130. Position=UDim2.new(0.8,0,0,0), TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)})
  131. airdropLbl=Create("TextLabel",availabels,{Name="airdropLbl", Size=UDim2.new(0.2,0,1,0), Text="Airdrop", TextSize=18, Font="SourceSansLight", BackgroundTransparency=1,
  132. Position=UDim2.new(0.4,0,0,0), TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)})
  133. museumLbl=Create("TextLabel",availabels,{Name="museumLbl", Size=UDim2.new(0.2,0,1,0), Text="Museum", TextSize=18, Font="SourceSansLight", BackgroundTransparency=1,
  134. TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)})
  135. CloseBtn=Create("TextButton",main,{Name="CloseBtn", TextWrapped=true, TextStrokeTransparency=0.69999998807907, Size=UDim2.new(0,25,0,25), TextColor3=Color3.new(0.9,0.9,0.9), Text="X",
  136. BackgroundTransparency=1, Font="GothamBold", Position=UDim2.new(1,-22,0,0), TextScaled=true})
  137. CogBtn=Create("ImageButton",main,{Name="CogBtn", Image="rbxassetid://135740223", Size=UDim2.new(0,25,0,25), Position=UDim2.new(0,0,0,2), BackgroundTransparency=1})
  138. setsframe=Create("Frame",main,{Name="setsframe", BackgroundTransparency=0.019999999552965, Size=UDim2.new(1,-10,0.8,-10), Position=UDim2.new(-1,5,0.2,5), BorderSizePixel=0, BackgroundColor3=Color3.new(1,1,1)})
  139. Frame=Create("Frame",setsframe,{BackgroundTransparency=1, Size=UDim2.new(1,0,0.25,0)})
  140. BankRadiusBox=Create("TextBox",Frame,{Name="BankRadiusBox", TextWrapped=true, Size=UDim2.new(0,40,0,15), Text=settings.bankRadius2, Font="GothamSemibold", Position=UDim2.new(0.78,0,0.2,0),
  141. TextScaled=true, BackgroundColor3=Color3.new(1,1,1)})
  142. Label=Create("TextLabel",Frame,{TextWrapped=true, Size=UDim2.new(0.8,0,1,0), Text="Bank Cops Danger Range", TextSize=15, Font="Code", BackgroundTransparency=1})
  143. Frame_2=Create("Frame",setsframe,{BackgroundTransparency=0.93000000715256, Size=UDim2.new(1,0,0.25,0), Position=UDim2.new(0,0,0.25,0), BackgroundColor3=Color3.new()})
  144. JewlSetBtn=Create("TextButton",Frame_2,{Name="JewlSetBtn", Size=UDim2.new(0,25,0,15), Text=settings.jewlAllowCrims and 'X' or '', Font="SourceSansSemibold", Position=UDim2.new(0.8,0,0.2,0), TextSize=20,
  145. BackgroundColor3=Color3.new(1,1,1)})
  146. Label_2=Create("TextLabel",Frame_2,{TextWrapped=true, Size=UDim2.new(0.8,0,1,0), Text="Let Crims Enter Jewelry", TextSize=15, Font="Code", BackgroundTransparency=1})
  147. Frame_3=Create("Frame",setsframe,{BackgroundTransparency=1, Size=UDim2.new(1,0,0.25,0), Position=UDim2.new(0,0,0.5,0)})
  148. WarnSetBtn=Create("TextButton",Frame_3,{Name="WarnSetBtn", Size=UDim2.new(0,25,0,15), Text=settings.warnSeconds>1.51 and 'X' or '', Font="SourceSansSemibold", Position=UDim2.new(0.8,0,0.2,0), TextSize=20,
  149. BackgroundColor3=Color3.new(1,1,1)})
  150. Label_3=Create("TextLabel",Frame_3,{TextWrapped=true, Size=UDim2.new(0.8,0,1,0), Text="Prefer Longer Warnings", TextSize=15, Font="Code", BackgroundTransparency=1})
  151. Frame_4=Create("Frame",setsframe,{BackgroundTransparency=0.93000000715256, Size=UDim2.new(1,0,0.25,0), Position=UDim2.new(0,0,0.75,0), BackgroundColor3=Color3.new()})
  152. EscSetBtn=Create("TextButton",Frame_4,{Name="EscSetBtn", Size=UDim2.new(0,25,0,15), Text=settings.preferUnsafeEsc and 'X' or '', Font="SourceSansSemibold", Position=UDim2.new(0.8,0,0.2,0), TextSize=20,
  153. BackgroundColor3=Color3.new(1,1,1)})
  154. Label_4=Create("TextLabel",Frame_4,{TextWrapped=true, Size=UDim2.new(0.8,0,1,0), Text="Remember Your Position", TextSize=15, Font="Code", BackgroundTransparency=1})
  155. Title=Create("TextLabel",main,{Name="Title", TextWrapped=true, Size=UDim2.new(0.5,0,0,20), Text="Jailbreak Auto-Rob", TextSize=18, Font="Highway",
  156. BackgroundTransparency=1, Position=UDim2.new(0.24,0,0,3), TextColor3=Color3.new(0.9,0.9,0.9), BackgroundColor3=Color3.new(1,1,1)})
  157. SaveSetsBtn=Create("TextButton",main,{Name="SaveSetsBtn", Size=UDim2.new(0,60,0,25), Text="Save", Font="SourceSans", Style="RobloxRoundDefaultButton", Position=UDim2.new(0,30,0,-25),
  158. TextSize=20})
  159.  
  160. --gui code
  161. CloseBtn.MouseButton1Click:Connect(function() gui:Destroy() abort=true end)
  162. CloseBtn.MouseEnter:Connect(function() CloseBtn.TextColor3=red end)
  163. CloseBtn.MouseLeave:Connect(function() CloseBtn.TextColor3=Color3.new(0.9,0.9,0.9) end)
  164. local function toggleCanAbort(bool)
  165. AbortBtn.AutoButtonColor=bool
  166. AbortBtn.BackgroundColor3 = bool and Color3.new(0.353,0.557,0.914) or Color3.new(0.502,0.498,0.506)
  167. Shade.Visible = bool
  168. abort=false
  169. end
  170. AbortBtn.MouseButton1Click:Connect(function()
  171. if AbortBtn.AutoButtonColor then
  172. if stepconn then stepconn:Disconnect() end
  173. local hit,p = workspace:FindPartOnRay(Ray.new(player.Character.Head.Position+Vector3.new(0,10,0),Vector3.new(0,20,0)))
  174. if hit then
  175. player.Character:MoveTo(p)
  176. else
  177. local angle = math.random()*math.pi*2
  178. local door = workspace.Apartments.Skyscraper1.ExitDoor.Touch
  179. local oldcf = door.CFrame
  180. door.CFrame = root.CFrame
  181. wait()
  182. door.CFrame = oldcf
  183. root.CFrame = root.CFrame+Vector3.new(80*math.cos(angle),math.max(0,200-root.CFrame.y),80*math.sin(angle))
  184. end
  185. toggleCanAbort(false)
  186. abort=true
  187. AbortBtn.Text = "Aborted."
  188. wait(2.8)
  189. AbortBtn.Text = "ABORT"
  190. end
  191. end)
  192. local function setStatus(txt)
  193. Status.Text = "Status: "..txt
  194. end
  195. local tweenCogOut = game:GetService("TweenService"):Create(CogBtn,TweenInfo.new(0.25),{Rotation=135})
  196. local tweenCogIn = game:GetService("TweenService"):Create(CogBtn,TweenInfo.new(0.25),{Rotation=0})
  197. local cogOut = false
  198. CogBtn.MouseButton1Click:Connect(function()
  199. cogOut = not cogOut
  200. if cogOut then
  201. setsframe:TweenPosition(UDim2.new(0,5,0.2,5),nil,"Quart",0.3,true)
  202. homeFrame:TweenPosition(UDim2.new(1,15,0,40),nil,"Quart",0.3,true)
  203. if writefile then SaveSetsBtn:TweenPosition(UDim2.new(0,30,0,2),nil,"Quart",0.3,true) end
  204. tweenCogOut:Play()
  205. else
  206. setsframe:TweenPosition(UDim2.new(-1,5,0.2,5),nil,"Quart",0.3,true)
  207. homeFrame:TweenPosition(UDim2.new(0,15,0,40),nil,"Quart",0.3,true)
  208. SaveSetsBtn:TweenPosition(UDim2.new(0,30,0,-25),nil,"Quart",0.3,true)
  209. tweenCogIn:Play()
  210. end
  211. end)
  212. local bankBoxOld=BankRadiusBox.Text
  213. BankRadiusBox:GetPropertyChangedSignal("Text"):Connect(function()
  214. BankRadiusBox.Text=BankRadiusBox.Text:sub(1,4)
  215. local num = tonumber(BankRadiusBox.Text)
  216. if num then
  217. if num>99 then
  218. BankRadiusBox.Text = '99'
  219. end
  220. elseif BankRadiusBox.Text~='' then
  221. BankRadiusBox.Text = bankBoxOld
  222. end
  223. bankBoxOld = BankRadiusBox.Text
  224. end)
  225. BankRadiusBox.FocusLost:Connect(function()
  226. if tonumber(BankRadiusBox.Text) then
  227. settings.bankRadius2=tonumber(BankRadiusBox.Text)
  228. end
  229. BankRadiusBox.Text=tostring(settings.bankRadius2)
  230. end)
  231. JewlSetBtn.MouseButton1Click:Connect(function()
  232. settings.jewlAllowCrims = not settings.jewlAllowCrims
  233. JewlSetBtn.Text = settings.jewlAllowCrims and "X" or ""
  234. end)
  235. WarnSetBtn.MouseButton1Click:Connect(function()
  236. settings.warnSeconds = settings.warnSeconds>1.51 and 1.5 or 3
  237. WarnSetBtn.Text = settings.warnSeconds>1.51 and "X" or ""
  238. end)
  239. EscSetBtn.MouseButton1Click:Connect(function()
  240. settings.preferUnsafeEsc = not settings.preferUnsafeEsc
  241. EscSetBtn.Text = settings.preferUnsafeEsc and "X" or ""
  242. end)
  243. SaveSetsBtn.MouseButton1Click:Connect(function()
  244. if writefile and SaveSetsBtn.Style.Name=="RobloxRoundDefaultButton" then
  245. SaveSetsBtn.Style="RobloxRoundButton"
  246. writefile("JBAR.txt",game:GetService("HttpService"):JSONEncode(settings))
  247. SaveSetsBtn.Text="Saved."
  248. wait(1)
  249. SaveSetsBtn.Text="Save"
  250. SaveSetsBtn.Style="RobloxRoundDefaultButton"
  251. end
  252. end)
  253. ToggleBtn.MouseButton1Click:Connect(function()
  254. settings.enabled = not settings.enabled
  255. ToggleBtn.BackgroundColor3 = settings.enabled and green or red
  256. end)
  257. local function warnFlash(s)
  258. setStatus(s.." ready.")
  259. local col0 = main.BackgroundColor3
  260. local elapsed = 0
  261. while elapsed < settings.warnSeconds do
  262. for a=0,1,1/(30*.25) do
  263. main.BackgroundColor3 = col0:lerp(red,a)
  264. elapsed=elapsed+wait()
  265. end
  266. for a=0,1,1/(30*.25) do
  267. main.BackgroundColor3 = red:lerp(col0,a)
  268. elapsed=elapsed+wait()
  269. end
  270. end
  271. main.BackgroundColor3 = col0
  272. end
  273. --// vitals //
  274. player:WaitForChild("PlayerScripts"):WaitForChild("LocalScript")
  275. wait(0.5)
  276. wait(5 - workspace.DistributedGameTime)
  277. local oldWTSP = workspace.CurrentCamera.WorldToScreenPoint
  278. local MT = getrawmetatable(game)
  279. if setreadonly then
  280. setreadonly(MT,false)
  281. elseif make_writeable then
  282. make_writeable(MT)
  283. end
  284. local old__namecall = MT.__namecall
  285. function MT:__namecall(...)
  286. local args = {...}
  287. local m = args[#args]
  288. if m=="WorldToScreenPoint" and self.ClassName=="Camera" then
  289. local ret = oldWTSP(self,...)
  290. return ret,true
  291. elseif m=="FindPartOnRay" and args[1].Origin==uptorso.Position and args[1].Direction.Y==-8 then
  292. return nil, args[1].Origin+args[1].Direction, v30, Enum.Material.Air
  293. elseif m=="ChangeState" and args[1].Name=="FallingDown" then
  294. workspace.CurrentCamera.CameraSubject = humanoid
  295. for _,e in next, Enum.HumanoidStateType:GetEnumItems() do
  296. if e ~= Enum.HumanoidStateType.None and e ~= Enum.HumanoidStateType.Dead then
  297. humanoid:SetStateEnabled(e, true)
  298. end
  299. end
  300. return wait(9e9)
  301. end
  302. return old__namecall(self,...)
  303. end
  304. getupvalues = getupvalues or debug.getupvalues
  305. local punchSpec, specs
  306. if (getreg or debug.getregistry) and getupvalues then
  307. local reg = (getreg or debug.getregistry)()
  308. for a=1,#reg do
  309. local f = reg[a]
  310. if type(f)=="function" then
  311. for _,t in next,getupvalues(f) do
  312. if type(t)=="table" then
  313. if specs==nil and t.Specs and t.Frame and #t==0 then
  314. specs = t.Specs
  315. elseif punchSpec==nil and #t==3 then
  316. for b=1,3 do
  317. if type(t[b])=="table" and t[b].Name=="Punch" then
  318. punchSpec = t[b]
  319. if (getconsts or debug.getconstants) then
  320. for c,v in next,(getconsts or debug.getconstants)(punchSpec.Callback) do
  321. if v == 0.5 then
  322. (setconst or setconstant or debug.setconstant)(punchSpec.Callback,c,0)
  323. end
  324. end
  325. end
  326. end
  327. end
  328. end
  329. end
  330. end
  331. end
  332. if specs and punchSpec then
  333. break
  334. end
  335. end
  336. end
  337. --// misc code //
  338. local windowFocused = false
  339. game:GetService("UserInputService").WindowFocused:Connect(function() windowFocused=true end)
  340. game:GetService("UserInputService").WindowFocusReleased:Connect(function() windowFocused=false end)
  341. spawn(function()
  342. game:GetService("UserInputService").InputBegan:Wait()
  343. windowFocused=true
  344. end)
  345. for _,part in ipairs(workspace.Buildings:GetChildren()) do
  346. if (part.Position-Vector3.new(-302.6,30.3,1431.9)).magnitude < 1 then
  347. part.CanCollide=false
  348. end
  349. end
  350. for _,part in ipairs(workspace.Jewelrys:GetChildren()[1].Building:GetChildren()) do
  351. if part.Name=="Part" and (part.Position-Vector3.new(157.8,63.4,1336.6)).magnitude < 1 then
  352. part.CanCollide = false
  353. end
  354. end
  355. local museumArray = { {CFrame.new(1053.6,101.7,1245.6),workspace.Museum.MummyCase.Mummy.Head},{CFrame.new(1037.1,116.6,1254.8),workspace.Museum.Reference.Items.Gold},
  356. {CFrame.new(1046.8,116.6,1262.7),workspace.Museum.Reference.Items.SpinnerRim},{CFrame.new(1029.4,116.6,1247.7),workspace.Museum.Reference.Items.Cone.Cone},
  357. {CFrame.new(1038.8,101.7,1238.7),workspace.Museum.EgyptionCase.Mask},{CFrame.new(1105.3,101.7,1151),workspace.Museum.JewelCase.Jewel} }
  358. --// subroutines //
  359. local function keyclick(num)
  360. if windowFocused and keypress and keyrelease then
  361. keypress(num)
  362. wait()
  363. keyrelease(num)
  364. end
  365. end
  366. local function exitVehicle()
  367. if humanoid.Sit then
  368. keyclick(0x20)
  369. wait(0.07)
  370. humanoid.Jump=true
  371. wait(0.3)
  372. end
  373. end
  374. local function perfectTP(cf)
  375. local oldg = workspace.Gravity
  376. workspace.Gravity = 0
  377. local door = workspace.Apartments.Skyscraper1.ExitDoor.Touch
  378. local oldcf = door.CFrame
  379. local elapsed = 0
  380. while (root.Position-cf.p).magnitude > 14 and elapsed < 9 and not abort do
  381. door.CFrame = root.CFrame
  382. elapsed=elapsed+wait()
  383. door.CFrame = oldcf
  384. root.CFrame = cf
  385. root.Velocity,root.RotVelocity=v30,v30
  386. elapsed=elapsed+wait(0.5)
  387. end
  388. workspace.Gravity = oldg
  389. end
  390. local function miniTP(cf)
  391. local cf0 = (cf-cf.p) + root.Position + Vector3.new(0,4,0)
  392. local diff = cf.p - root.Position
  393. local oldg = workspace.Gravity
  394. workspace.Gravity = 0
  395. for i=0,diff.magnitude,1.8 do
  396. if abort then break end
  397. root.CFrame = cf0 + diff.Unit * i
  398. root.Velocity,root.RotVelocity=v30,v30
  399. wait()
  400. end
  401. if not abort then root.CFrame = cf end
  402. workspace.Gravity = oldg
  403. end
  404. local function strToNum(str)
  405. return tonumber((tostring(str):gsub("%D", "")))
  406. end
  407. local function isBagFull()
  408. return player.PlayerGui.MainGui.CollectMoney.Visible and strToNum(player.PlayerGui.MainGui.CollectMoney.Money.Text)+2 > strToNum(player.PlayerGui.MainGui.CollectMoney.Maximum.Text)
  409. end
  410. local vault
  411. local function isVaultOpen()
  412. return (vault.Door.Closed.CFrame.lookVector - vault.Door.Hinge.CFrame.lookVector).magnitude > 0.1
  413. end
  414. local function copsTooClose(radius)
  415. local players = game:GetService("Teams").Police:GetPlayers()
  416. for i=1,#players do
  417. local p = players[i]
  418. if p.Character and p.Character:FindFirstChild("HumanoidRootPart") and p.Character:FindFirstChild("Humanoid") then
  419. local rootp = p.Character.HumanoidRootPart.Position
  420. if (vault.Door.Hinge.Position - rootp).magnitude < radius and p.Character.Humanoid.Health>0 and workspace:FindPartOnRayWithWhitelist(Ray.new(rootp,vault.TriggerDoor.Position - vault.Door.Hinge.CFrame.lookVector*3 - rootp),{vault.Decoration,vault.Parent.Parent.TopFloor})==nil then
  421. return true
  422. end
  423. end
  424. end
  425. return false
  426. end
  427. local function waitWhile(t,exitFunc)
  428. local elapsed = 0
  429. local increment = 0.1
  430. t = (t == nil or t <= 0) and 0.001 or t
  431. increment = (increment > t) and t or increment
  432. while elapsed < t and abort == false and (exitFunc==nil or exitFunc(elapsed)) do
  433. elapsed = elapsed + wait(t-elapsed < increment and t-elapsed or increment)
  434. end
  435. return elapsed
  436. end
  437. local function jailbreak()
  438. if player.Team.Name=="Prisoner" then
  439. --jailbreak :^)
  440. setStatus("Breaking out...")
  441. perfectTP(CFrame.new(-298+math.random()*10,18,1430))
  442. waitWhile(4,function() return player.Team.Name=="Prisoner" end)
  443. end
  444. end
  445. --// entity status //
  446. local isSteamEngineOpen = workspace.Trains:FindFirstChild("SteamEngine")~=nil
  447. local current_boxcar = workspace.Trains:FindFirstChild("BoxCar")
  448. local temp_boxcar = current_boxcar or {} --bugfix for multiple boxcar attempts
  449. workspace.Trains.ChildAdded:Connect(function(child)
  450. wait(math.random())
  451. if child.Name=="SteamEngine" then
  452. isSteamEngineOpen = true
  453. elseif child.Name=="BoxCar" and current_boxcar==nil and temp_boxcar.Parent==nil then
  454. temp_boxcar = child
  455. wait(24 + math.random()*53) --confuse cops
  456. if child.Parent and current_boxcar==nil then
  457. current_boxcar = child
  458. end
  459. end
  460. trainLbl.TextColor3 = (current_boxcar or isSteamEngineOpen) and green or Color3.new(1,1,1)
  461. end)
  462. workspace.Trains.ChildRemoved:Connect(function(child)
  463. if current_boxcar == child then
  464. current_boxcar = nil
  465. elseif child.Name=="SteamEngine" then
  466. isSteamEngineOpen = false
  467. end
  468. trainLbl.TextColor3 = (current_boxcar or isSteamEngineOpen) and green or Color3.new(1,1,1)
  469. end)
  470. trainLbl.TextColor3 = (current_boxcar or isSteamEngineOpen) and green or Color3.new(1,1,1)
  471. local airdrops = {}
  472. local function checkNewDrop(child)
  473. local briefcase = child:WaitForChild("Briefcase",2)
  474. if briefcase then
  475. local e=0
  476. while true do
  477. e=e+wait(0.25)
  478. local hitpart = workspace:FindPartOnRayWithIgnoreList(Ray.new(briefcase.Position,Vector3.new(0,-17,0)),{child},false,true)
  479. if e>25 or (hitpart and hitpart.CanCollide) or child:FindFirstChild("Parachute")==nil then
  480. break
  481. end
  482. end
  483. if child.Parent and briefcase.Parent then
  484. airdrops[#airdrops+1]=child
  485. airdropLbl.TextColor3 = green
  486. end
  487. end
  488. end
  489. for _,child in ipairs(workspace:GetChildren()) do
  490. if child.Name=="Drop" and child.ClassName=="Model" then
  491. spawn(function() checkNewDrop(child) end)
  492. end
  493. end
  494. workspace.ChildAdded:Connect(function(child)
  495. if child.Name=="Drop" and child.ClassName=="Model" then
  496. checkNewDrop(child)
  497. end
  498. end)
  499. workspace.ChildRemoved:Connect(function(child)
  500. if child.Name=="Drop" and child.ClassName=="Model" then
  501. for i=1,#airdrops do
  502. if airdrops[i]==child then
  503. table.remove(airdrops,i)
  504. airdropLbl.TextColor3 = #airdrops>0 and green or Color3.new(1,1,1)
  505. break
  506. end
  507. end
  508. end
  509. end)
  510. local bankSign = workspace.Banks:GetChildren()[1].Extra.Sign.Decal
  511. local museumPart = workspace.Museum.Roof.Hole.Part
  512. local isBankOpen = bankSign.Transparency>0.01
  513. local isMuseumOpen = not museumPart.CanCollide
  514. local isBankCalm = #workspace.Ringers.Bank:GetChildren()==0
  515. bankSign:GetPropertyChangedSignal("Transparency"):Connect(function()
  516. wait()
  517. isBankOpen = bankSign.Transparency>0.01
  518. bankLbl.TextColor3 = isBankOpen and green or Color3.new(1,1,1)
  519. if not isBankOpen then
  520. isBankCalm=true
  521. end
  522. end)
  523.  
  524. museumPart:GetPropertyChangedSignal("CanCollide"):Connect(function()
  525. wait()
  526. isMuseumOpen = not museumPart.CanCollide
  527. museumLbl.TextColor3 = isMuseumOpen and green or Color3.new(1,1,1)
  528. end)
  529. bankLbl.TextColor3 = isBankOpen and green or Color3.new(1,1,1)
  530. museumLbl.TextColor3 = isMuseumOpen and green or Color3.new(1,1,1)
  531. workspace.Ringers.Bank.ChildAdded:Connect(function() isBankCalm=false end)
  532. workspace.Ringers.Jewelry.ChildAdded:Connect(function() isJewlCalm=false end)
  533. --// rob funcs //
  534. local function robBank()
  535. toggleCanAbort(true)
  536. warnFlash("Bank")
  537. if humanoid==nil or humanoid.Health<1 then wait(5) end
  538. if abort or not settings.enabled then return true end
  539. exitVehicle()
  540. jailbreak()
  541. local formerCF = root.CFrame
  542. setStatus("TPing to bank...")
  543. --enter
  544. perfectTP(CFrame.new(23.6, 18.07, 853.5))
  545. waitWhile(2,function() return isBankCalm end)
  546. if abort then return true end
  547. setStatus("Opening vault...")
  548. vault = workspace.Banks:GetChildren()[1].Layout:GetChildren()[1]
  549. local vaultcf = vault.Door.Hinge.CFrame
  550. perfectTP(vaultcf + vaultcf.lookVector*-3 + vaultcf.rightVector*6)
  551. if abort then return end
  552. --get in vault
  553. if (vaultcf.p - vault.Money.CFrame.p).magnitude < 30 then
  554. if vault.Name=="TheMint" then
  555. root.CFrame = vaultcf + vaultcf.lookVector*3 + vaultcf.rightVector*13.5
  556. else
  557. root.CFrame = vaultcf + vaultcf.lookVector*3 + vaultcf.rightVector*-5.5 + Vector3.new(0,3,0)
  558. end
  559. else
  560. if vault:FindFirstChild("Lasers") then
  561. for _,laser in ipairs(vault.Lasers:GetChildren()) do
  562. if laser.Name=="LaserTrack" then
  563. laser:Destroy()
  564. end
  565. end
  566. end
  567. root.CFrame = vault.Money.CFrame
  568. end
  569. --wait until open
  570. waitWhile(300,function() return isBankOpen and isVaultOpen()==false end)
  571. waitWhile(3,function() return isBankOpen and (not (isVaultOpen() and copsTooClose(settings.bankRadius2))) end)
  572. setStatus("Robbery started!")
  573. --wait for bag to fill or player leaves
  574. waitWhile(80,function() return isBagFull()==false and isBankOpen and (not (isVaultOpen() and copsTooClose(settings.bankRadius2))) end)
  575. setStatus("Escaping...")
  576. --escape
  577. if settings.preferUnsafeEsc then
  578. perfectTP(formerCF)
  579. else
  580. perfectTP(CFrame.new(-298+math.random()*10,18,1430))
  581. end
  582. end
  583. local function robBoxcar()
  584. toggleCanAbort(true)
  585. warnFlash("Train")
  586. if humanoid==nil or humanoid.Health<1 then wait(5) end
  587. if abort or not settings.enabled then return true end
  588. local gold = current_boxcar.Model.Rob.Gold
  589. local trainFront = workspace.Trains.LocomotiveFront.Model.Front
  590. exitVehicle()
  591. jailbreak()
  592. local formerCF = root.CFrame
  593. setStatus("TPing to train...")
  594. --enter
  595. perfectTP(root.CFrame)
  596. if abort then return true end
  597. if current_boxcar.Parent then
  598. if specs then
  599. local trainDoorSpec,trainVaultSpec
  600. for i=1,#specs do
  601. local s = specs[i]
  602. if not s then
  603. elseif trainDoorSpec==nil and s.Name=="Open Door" and tostring(s.Part)=="RoofDoorClosed" and current_boxcar:IsAncestorOf(s.Part) then
  604. trainDoorSpec = s
  605. elseif trainVaultSpec==nil and s.Name=="Breach Vault" and current_boxcar:IsAncestorOf(s.Part) then
  606. trainVaultSpec = s
  607. end
  608. end
  609. if trainDoorSpec then
  610. trainDoorSpec:Callback(true)
  611. end
  612. if trainVaultSpec then
  613. trainVaultSpec:Callback(true)
  614. end
  615. else
  616. setStatus("Opening door...")
  617. --open door
  618. stepconn = Stepped:Connect(function()
  619. root.CFrame = current_boxcar.Skeleton.RoofDoorClosed.CFrame + Vector3.new(0,-5,0)
  620. root.Velocity,root.RotVelocity=v30,v30
  621. end)
  622. waitWhile(0.5)
  623. HOLD_E = true
  624. waitWhile(9,function() return (current_boxcar.Skeleton.RoofDoor.Position-current_boxcar.Skeleton.RoofDoorClosed.Position).Magnitude < 1 end)
  625. stepconn:Disconnect()
  626. waitWhile()
  627. HOLD_E = false
  628. setStatus("Opening vault...")
  629. --open vault
  630. stepconn = Stepped:Connect(function()
  631. root.CFrame = gold.CFrame+(gold.CFrame.lookVector*4.5)
  632. root.Velocity,root.RotVelocity=v30,v30
  633. end)
  634. waitWhile(0.5)
  635. HOLD_E = true
  636. waitWhile(9,function() return current_boxcar.Skeleton.Vault.Part.RotVelocity.Magnitude < .001 end)
  637. stepconn:Disconnect()
  638. waitWhile(0.2)
  639. HOLD_E = false
  640. end
  641. setStatus("Robbery started!")
  642. --get gold
  643. stepconn = Stepped:Connect(function()
  644. root.CFrame = gold.CFrame
  645. root.Velocity,root.RotVelocity=v30,v30
  646. end)
  647. waitWhile(65,function() return isBagFull()==false and trainFront.Position.X > -1584 end)
  648. stepconn:Disconnect()
  649. --if trainFront.Position.X < -1200 and trainFront.Position.Z < 550 then
  650. -- boxcars={}
  651. --end
  652. end
  653. setStatus("Escaping...")
  654. --escape
  655. if settings.preferUnsafeEsc then
  656. perfectTP(formerCF)
  657. else
  658. perfectTP(CFrame.new(-298+math.random()*10,18,1430))
  659. end
  660. end
  661. local function robMuseum()
  662. toggleCanAbort(true)
  663. warnFlash("Museum")
  664. if humanoid==nil or humanoid.Health<1 then wait(5) end
  665. if abort or not settings.enabled then return true end
  666. exitVehicle()
  667. jailbreak()
  668. local formerCF = root.CFrame
  669. setStatus("TPing to museum...")
  670. --enter
  671. perfectTP(CFrame.new(1067.8,102.8,1193.8))
  672. if abort then return true end
  673. --collect artifacts
  674. setStatus("Robbery started!")
  675. if specs then
  676. for i=1,#specs do
  677. local s = specs[i]
  678. if s and s.Name and s.Name:sub(1,5)=="Grab " and workspace.Museum:IsAncestorOf(s.Part) then
  679. s:Callback(true)
  680. wait()
  681. end
  682. end
  683. else
  684. local bag = player.PlayerGui.MainGui.MuseumBag.TextLabel
  685. bag.Text = "9".. bag.Text:sub(2)
  686. for i=1,#museumArray do
  687. local tpcf = museumArray[i][1]
  688. local part = museumArray[i][2]
  689. if part.Transparency < .99 then
  690. if abort or isMuseumOpen==false or bag.Text:sub(1,1) == bag.Text:sub(5,5) then
  691. break
  692. end
  693. perfectTP(tpcf)
  694. HOLD_E = true
  695. waitWhile(9,function() return part.Transparency < .99 end)
  696. HOLD_E = false
  697. waitWhile(0.1)
  698. end
  699. end
  700. end
  701. --go back
  702. if settings.preferUnsafeEsc then
  703. perfectTP(formerCF)
  704. else
  705. perfectTP(CFrame.new(-298+math.random()*10,18,1430))
  706. end
  707. setStatus("Bypassing by waiting...")
  708. waitWhile(16)
  709. exitVehicle()
  710. formerCF = root.CFrame
  711. --tp to collector
  712. setStatus("Selling...")
  713. perfectTP(CFrame.new(1639,50,-1800))
  714. waitWhile(5,function() return player.PlayerGui.MainGui.MuseumBag.Visible end)
  715. setStatus("Escaping...")
  716. --escape
  717. if settings.preferUnsafeEsc then
  718. perfectTP(formerCF)
  719. else
  720. perfectTP(CFrame.new(-298+math.random()*10,18,1430))
  721. end
  722. end
  723. local function robSteamEngine()
  724. toggleCanAbort(true)
  725. warnFlash("Steam engine")
  726. if humanoid==nil or humanoid.Health<1 then wait(5) end
  727. if abort or not settings.enabled then return true end
  728. exitVehicle()
  729. jailbreak()
  730. local formerCF = root.CFrame
  731. --collect items
  732. setStatus("Robbery started!")
  733. local grabNum=0
  734. for j=1,2 do
  735. for i=1,#specs do
  736. local s = specs[i]
  737. if s and s.Enabled and s.Name and s.Name:sub(1,5)=="Grab " and workspace.Trains:IsAncestorOf(s.Part) then
  738. if j==2 or s.Name:sub(7)=="riefcase" then
  739. waitWhile(1.35)
  740. s:Callback(true)
  741. grabNum=grabNum+1
  742. if abort or grabNum>9 then
  743. break
  744. end
  745. end
  746. end
  747. end
  748. if abort or grabNum>9 then
  749. break
  750. end
  751. end
  752. exitVehicle()
  753. formerCF = root.CFrame
  754. setStatus("Selling...")
  755. --tp to collector
  756. perfectTP(CFrame.new(1639,50,-1800))
  757. waitWhile(5,function() return player.PlayerGui.MainGui.MuseumBag.Visible end)
  758. setStatus("Escaping...")
  759. --escape
  760. if settings.preferUnsafeEsc then
  761. perfectTP(formerCF)
  762. else
  763. perfectTP(CFrame.new(-298+math.random()*10,18,1430))
  764. end
  765. end
  766. local function robAirdrop()
  767. toggleCanAbort(true)
  768. warnFlash("Airdrop")
  769. if humanoid==nil or humanoid.Health<1 then wait(5) end
  770. if abort or not settings.enabled then return true end
  771. local current_airdrop = airdrops[1]
  772. if current_airdrop and current_airdrop.Parent and current_airdrop:FindFirstChild("Briefcase") then
  773. local briefcase = current_airdrop.Briefcase
  774. exitVehicle()
  775. jailbreak()
  776. local formerCF = root.CFrame
  777. --enter
  778. setStatus("TPing to airdrop...")
  779. noclip()
  780. root.Velocity,root.RotVelocity=v30,v30
  781. perfectTP(briefcase.CFrame+Vector3.new(0,-6,0))
  782. if abort then
  783. yesclip()
  784. return true
  785. elseif briefcase.Parent then
  786. --collect
  787. setStatus("Robbery started!")
  788. root.CFrame = briefcase.CFrame + Vector3.new(0,-6,0)
  789. root.Anchored = true
  790. waitWhile(0.1)
  791. if specs then
  792. for i=1,#specs do
  793. local s = specs[i]
  794. if s and s.Name and s.Name:lower()=="pick up briefcase" and current_airdrop:IsAncestorOf(s.Part) then
  795. s:Callback(true)
  796. break
  797. end
  798. end
  799. else
  800. HOLD_E = true
  801. waitWhile(18,function()
  802. root.CFrame = briefcase.CFrame + Vector3.new(0,-6,0)
  803. return briefcase.Parent ~= nil
  804. end)
  805. HOLD_E = false
  806. end
  807. root.Anchored = false
  808. end
  809. yesclip()
  810. --escape
  811. setStatus("Escaping...")
  812. if settings.preferUnsafeEsc then
  813. perfectTP(formerCF)
  814. else
  815. perfectTP(CFrame.new(-298+math.random()*10,18,1430))
  816. end
  817. end
  818. end
  819. --HOLD_E thread
  820. if keypress then
  821. spawn(function()
  822. while wait(0.2) and gui.Parent do
  823. if HOLD_E then
  824. keyclick(0x45)
  825. while wait(0.1) and HOLD_E do
  826. if windowFocused then
  827. keypress(0x45)
  828. end
  829. end
  830. keyrelease(0x45)
  831. end
  832. end
  833. end)
  834. end
  835. --notification
  836. if specs or keypress then
  837. game:GetService("StarterGui"):SetCore("SendNotification",{Title="Auto-Rob by sirelKilla",Text=settingsModified and "Settings changed!" or ''})
  838. else
  839. game:GetService("StarterGui"):SetCore("SendNotification",{Title="Auto-Rob by sirelKilla",Text="Your exploit does NOT support AFK",Button1="OK",Duration=20})
  840. end
  841. --// main loop //
  842. local waiti=0
  843. local idleTick=0
  844. local airdropTick = 0
  845. while wait(0.5) and gui.Parent do
  846. if workspace.Trains:FindFirstChild("LocomotiveFront") then --avoid train tunnel
  847. local trainpos = workspace.Trains.LocomotiveFront.Model.Front.Position
  848. if trainpos.X < -1300 and trainpos.Z < 350 then
  849. current_boxcar=nil
  850. end
  851. end --avoid train stop
  852. if (fireclickdetector or click_detector) and workspace.Switches.BranchBack.Rail.Transparency < .9 then
  853. (fireclickdetector or click_detector)(workspace.Switches.BranchBack.Lever.Click.ClickDetector,1)
  854. end --avoid afk
  855. if tick()-idleTick > 60 then
  856. idleTick=tick()
  857. game:GetService("VirtualUser"):CaptureController()
  858. game:GetService("VirtualUser"):ClickButton2(Vector2.new())
  859. end
  860. player.PlayerGui.MainGui.CollectMoney.Visible=false
  861. if settings.enabled then
  862. if isMuseumOpen then
  863. if not robMuseum() then
  864. isMuseumOpen=false
  865. museumLbl.TextColor3 = Color3.new(1,1,1)
  866. setStatus("Museum success!")
  867. end
  868. toggleCanAbort(false)
  869. wait(2)
  870. elseif #airdrops > 0 and tick()-airdropTick > 20 then
  871. if not robAirdrop() then
  872. airdropTick = tick()
  873. setStatus("Airdrop success!")
  874. end
  875. toggleCanAbort(false)
  876. wait(2)
  877. elseif isSteamEngineOpen and specs then
  878. if not robSteamEngine() then
  879. isSteamEngineOpen=false
  880. trainLbl.TextColor3 = Color3.new(1,1,1)
  881. setStatus("Train success!")
  882. end
  883. toggleCanAbort(false)
  884. wait(2)
  885. elseif current_boxcar then
  886. if not robBoxcar() then
  887. current_boxcar = nil
  888. trainLbl.TextColor3 = Color3.new(1,1,1)
  889. setStatus("Train success!")
  890. end
  891. toggleCanAbort(false)
  892. wait(2)
  893. elseif isBankOpen then
  894. if not robBank() then
  895. isBankOpen=false
  896. bankLbl.TextColor3 = Color3.new(1,1,1)
  897. setStatus("Bank success!")
  898. end
  899. toggleCanAbort(false)
  900. wait(2)
  901. else
  902. setStatus("Wait for stores to open".. string.rep('.',waiti%3+1))
  903. waiti=waiti+1
  904. end
  905. else
  906. setStatus("Disabled.")
  907. end
  908. end
  909. print("Hello, shelly_issad")
  910. print("Player Detection Added By LuaPhysics")
  911. print("LuaPhysics#6400 ~Discord~");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement