XxTw1st3d_D3m0nxX

Jailbreak Auto rob 2021

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