WolfScripts

Untitled

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