Advertisement
Hellotop2

Untitled

Feb 9th, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.75 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 green,red=Color3.fromRGB(0,240,0),Color3.fromRGB(240,0,0)
  10. local safeMove = 80 --distance allowed by anti exploit
  11. local settings = {doMuseum=true,doJewl=true,doBank=true,doTrain=true,doAirdrop=true,trainAllowCancel=true,jewlAllowCrims=false,preferLongTP=false,bankRadius2=19,preferUnsafeEsc=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. warn("Settings overwritten")
  32. writefile("JBAR.txt",game:GetService("HttpService"):JSONEncode(new))
  33. end
  34. settings = new
  35. end)
  36. end
  37.  
  38. --interface
  39. Create = function(class,parent,props)
  40. local new = Instance.new(class)
  41. for k,v in next,props do
  42. new[k]=v
  43. end
  44. new.Parent = parent
  45. return new
  46. end
  47.  
  48. gui=Create("ScreenGui",game.CoreGui,{Name="AutoRob", ResetOnSpawn=false, ZIndexBehavior="Sibling"})
  49. main=Create("Frame",gui,{Name="main", Active=true, Draggable=true, Size=UDim2.new(0,333,0,217), Position=UDim2.new(0.1,0,0.3,0), BackgroundColor3=Color3.new(0,0.118,0.239), ClipsDescendants=true})
  50. Frame=Create("Frame",main,{BackgroundTransparency=1, Size=UDim2.new(1,-50,1,-50), Position=UDim2.new(0,25,0,42)})
  51. AbortBtn=Create("TextButton",Frame,{Name="AbortBtn", Size=UDim2.new(0.5,0,0.185,0), Text="ABORT", Font="SourceSans", Style="RobloxRoundButton",
  52. Position=UDim2.new(0.25,0,0.5,0), TextSize=25, AutoButtonColor=false})
  53. Status=Create("TextLabel",Frame,{Name="Status", Size=UDim2.new(1,0,0.16,0), Text="Status: Loading luraph...", TextSize=15, TextXAlignment="Left",
  54. Font="Code", BackgroundTransparency=0.25, Position=UDim2.new(0,0,0.75,0), BackgroundColor3=Color3.new(1,1,1)})
  55. Frame_2=Create("Frame",Frame,{BackgroundTransparency=1, Size=UDim2.new(1,0,0.43,0), Position=UDim2.new(0,0,0,0), BackgroundColor3=Color3.new(1,1,1)})
  56. BankBtn=Create("TextButton",Frame_2,{Name="BankBtn", TextWrapped=true, Size=UDim2.new(0.5,-6,0.5,-6), TextColor3=Color3.new(0.118,0.118,0.118), Text="Bank",
  57. Font="SourceSansLight", TextSize=24, BackgroundColor3=settings.doBank and green or red, Position=UDim2.new(0.5,6,0.5,6)})
  58. Shade=Create("Frame",BankBtn,{Name="Shade", BackgroundTransparency=0.93999999761581, Size=UDim2.new(1,0,0.5,0), Position=UDim2.new(0,0,0.5,0), BackgroundColor3=Color3.new()})
  59. MuseumBtn=Create("TextButton",Frame_2,{Name="MuseumBtn", TextWrapped=true, Size=UDim2.new(0.5,-6,0.5,-6), TextColor3=Color3.new(0.118,0.118,0.118), Text="Museum",
  60. Font="SourceSansLight", TextSize=24, BackgroundColor3=settings.doMuseum and green or red})
  61. Shade_2=Create("Frame",MuseumBtn,{Name="Shade", BackgroundTransparency=0.93999999761581, Size=UDim2.new(1,0,0.5,0), Position=UDim2.new(0,0,0.5,0), BackgroundColor3=Color3.new()})
  62. JewlBtn=Create("TextButton",Frame_2,{Name="JewlBtn", TextWrapped=true, Size=UDim2.new(0.5,-6,0.5,-6), TextColor3=Color3.new(0.118,0.118,0.118), Text="Jewelry",
  63. Font="SourceSansLight", Position=UDim2.new(0.5,6,0,0), TextSize=24, BackgroundColor3=settings.doJewl and green or red})
  64. Shade_3=Create("Frame",JewlBtn,{Name="Shade", BackgroundTransparency=0.93999999761581, Size=UDim2.new(1,0,0.5,0), Position=UDim2.new(0,0,0.5,0), BackgroundColor3=Color3.new()})
  65. TrainBtn=Create("TextButton",Frame_2,{Name="TrainBtn", TextWrapped=true, Size=UDim2.new(0.5,-6,0.5,-6), TextColor3=Color3.new(0.118,0.118,0.118), Text="Trains",
  66. Font="SourceSansLight", Position=UDim2.new(0,0,0.5,6), TextSize=24, BackgroundColor3=settings.doTrain and green or red})
  67. Shade_4=Create("Frame",TrainBtn,{Name="Shade", BackgroundTransparency=0.93999999761581, Size=UDim2.new(1,0,0.5,0), Position=UDim2.new(0,0,0.5,0), BackgroundColor3=Color3.new()})
  68. CloseBtn=Create("TextButton",main,{Name="CloseBtn", TextWrapped=true, TextStrokeTransparency=0.69999998807907, Size=UDim2.new(0,25,0,25), TextColor3=Color3.new(1,1,1),
  69. Text="X", BackgroundTransparency=1, Font="GothamBold", Position=UDim2.new(1,-22,0,0), TextScaled=true})
  70. 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})
  71. setsframe=Create("Frame",main,{Name="setsframe", BackgroundTransparency=0.019999999552965, Size=UDim2.new(1,-10,0.85,-10), Position=UDim2.new(-1,5,0.15,5), BorderSizePixel=0,
  72. BackgroundColor3=Color3.new(1,1,1)})
  73. Frame_3=Create("Frame",setsframe,{BackgroundTransparency=1, Size=UDim2.new(1,0,0.2,0)})
  74. Frame_4=Create("Frame",Frame_3,{BackgroundTransparency=1, Size=UDim2.new(1,-10,1,-10), Position=UDim2.new(0,5,0,5)})
  75. Label=Create("TextLabel",Frame_4,{TextWrapped=true, Size=UDim2.new(0.8,0,1,0), Text="Bank Cops Safety Radius", Font="SourceSans", BackgroundTransparency=1, TextScaled=true})
  76. BankRadiusBox=Create("TextBox",Frame_4,{Name="BankRadiusBox", TextWrapped=true, Size=UDim2.new(0,40,0,20), Text=tostring(settings.bankRadius2), Font="Code", Position=UDim2.new(0.827,0,0.1,0),
  77. TextScaled=true, BackgroundColor3=Color3.new(1,1,1)})
  78. Frame_5=Create("Frame",setsframe,{BackgroundTransparency=0.93, Size=UDim2.new(1,0,0.2,0), Position=UDim2.new(0,0,0.2,0), BackgroundColor3=Color3.new()})
  79. Frame_6=Create("Frame",Frame_5,{BackgroundTransparency=1, Size=UDim2.new(1,-10,1,-10), Position=UDim2.new(0,5,0,5)})
  80. Label_2=Create("TextLabel",Frame_6,{TextWrapped=true, Size=UDim2.new(0.8,0,1,0), Text="Let Crims Enter Jewelry", Font="SourceSans", BackgroundTransparency=1, TextScaled=true})
  81. JewlSetBtn=Create("TextButton",Frame_6,{Name="JewlSetBtn", Size=UDim2.new(0,25,0,20), Text=settings.jewlAllowCrims and "X" or "", Font="SourceSansSemibold", Position=UDim2.new(0.85,0,0.1,0), TextSize=25,
  82. BackgroundColor3=Color3.new(1,1,1)})
  83. Frame_7=Create("Frame",setsframe,{BackgroundTransparency=1, Size=UDim2.new(1,0,0.2,0), Position=UDim2.new(0,0,0.4,0)})
  84. Frame_8=Create("Frame",Frame_7,{BackgroundTransparency=1, Size=UDim2.new(1,-10,1,-10), Position=UDim2.new(0,5,0,5)})
  85. Label_3=Create("TextLabel",Frame_8,{TextWrapped=true, Size=UDim2.new(0.8,0,1,0), Text="Prefer Longer TP Method", Font="SourceSans", BackgroundTransparency=1, TextScaled=true})
  86. TpSetBtn=Create("TextButton",Frame_8,{Name="TpSetBtn", Size=UDim2.new(0,25,0,20), Text=settings.preferLongTP and "X" or "", Font="SourceSansSemibold", Position=UDim2.new(0.85,0,0.1,0), TextSize=25,
  87. BackgroundColor3=Color3.new(1,1,1)})
  88. Frame_9=Create("Frame",setsframe,{BackgroundTransparency=0.93, Size=UDim2.new(1,0,0.2,0), Position=UDim2.new(0,0,0.6,0), BackgroundColor3=Color3.new()})
  89. Frame_10=Create("Frame",Frame_9,{BackgroundTransparency=1, Size=UDim2.new(1,-10,1,-10), Position=UDim2.new(0,5,0,5)})
  90. Label_4=Create("TextLabel",Frame_10,{TextWrapped=true, Size=UDim2.new(0.8,0,1,0), Text="Escape To Former Position", Font="SourceSans", BackgroundTransparency=1, TextScaled=true})
  91. EscSetBtn=Create("TextButton",Frame_10,{Name="EscSetBtn", Size=UDim2.new(0,25,0,20), Text=settings.preferUnsafeEsc and "X" or "", Font="SourceSansSemibold", Position=UDim2.new(0.85,0,0.1,0), TextSize=25,
  92. BackgroundColor3=Color3.new(1,1,1)})
  93. Frame_11=Create("Frame",setsframe,{BackgroundTransparency=1, Size=UDim2.new(1,0,0.2,0), Position=UDim2.new(0,0,0.8,0)})
  94. SaveSetsBtn=Create("TextButton",Frame_11,{Name="SaveSetsBtn", Size=UDim2.new(0.6,0,0.9,0), Text=writefile and "Save Defaults" or "Save Unsupported", Font="SourceSans", Style=writefile and "RobloxRoundDefaultButton" or "RobloxRoundButton", Position=UDim2.new(0.2,0,0.05,0),
  95. TextSize=25})
  96. title=Create("TextLabel",main,{Name="title", TextWrapped=true, Size=UDim2.new(0.5,0,0,20), Text="Jailbreak Auto-Rob", TextSize=18,
  97. Font="SourceSansLight", BackgroundTransparency=1, Position=UDim2.new(0.25,0,0,3), TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)})
  98. Slider=Create("Frame",main,{Name="Slider", Size=UDim2.new(0,50,0,20), Position=UDim2.new(0,30,0,4), BackgroundColor3=Color3.new(1,1,1)})
  99. toggleOff=Create("TextButton",Slider,{Name="toggleOff", BorderSizePixel=0, Size=UDim2.new(0.5,0,1,0), TextColor3=Color3.new(), Text="",
  100. Font="SourceSans", TextSize=14, BackgroundColor3=Color3.new(.25,.25,.25), AutoButtonColor=false})
  101. toggleOn=Create("TextButton",Slider,{Name="toggleOn", BorderSizePixel=0, Size=UDim2.new(0.5,0,1,0), TextColor3=Color3.new(), Text="",
  102. Font="SourceSans", Position=UDim2.new(0.5,0,0,0), TextSize=14, BackgroundColor3=Color3.new(.39,.39,.39), AutoButtonColor=false})
  103. slide=Create("Frame",Slider,{Name="slide", Size=UDim2.new(0,6,1,4), Position=UDim2.new(0.5,-3,0,-2), BorderSizePixel=0, BackgroundColor3=Color3.new(0.8,0.8,0.8)})
  104.  
  105. player = game:GetService("Players").LocalPlayer
  106. abort = false
  107. local root,uptorso,humanoid
  108. local v30=Vector3.new()
  109. local RNG=Random.new()
  110. --gui code
  111. CloseBtn.MouseButton1Click:Connect(function() gui:Destroy() abort=true end)
  112. CloseBtn.MouseEnter:Connect(function() CloseBtn.TextColor3=red end)
  113. CloseBtn.MouseLeave:Connect(function() CloseBtn.TextColor3=Color3.new(1,1,1) end)
  114. local stepconn
  115.  
  116. MuseumBtn.MouseButton1Click:Connect(function()
  117. if museumEvent then
  118. settings.doMuseum = not settings.doMuseum
  119. MuseumBtn.BackgroundColor3=settings.doMuseum and green or red
  120. else
  121. local h = Instance.new("Hint",workspace)
  122. h.Text = "Incompatible exploit."
  123. wait(2)
  124. h:Destroy()
  125. end
  126. end)
  127. JewlBtn.MouseButton1Click:Connect(function()
  128. settings.doJewl = not settings.doJewl
  129. JewlBtn.BackgroundColor3=settings.doJewl and green or red
  130. end)
  131. BankBtn.MouseButton1Click:Connect(function()
  132. settings.doBank = not settings.doBank
  133. BankBtn.BackgroundColor3=settings.doBank and green or red
  134. end)
  135. TrainBtn.MouseButton1Click:Connect(function()
  136. settings.doTrain = not settings.doTrain
  137. TrainBtn.BackgroundColor3=settings.doTrain and green or red
  138. end)
  139. local function toggleCanAbort(bool)
  140. AbortBtn.AutoButtonColor=bool
  141. AbortBtn.Style=bool and "RobloxRoundDefaultButton" or "RobloxRoundButton"
  142. abort=false
  143. end
  144.  
  145. AbortBtn.MouseButton1Click:Connect(function()
  146. if AbortBtn.AutoButtonColor==true then
  147. if stepconn then stepconn:Disconnect() end
  148. local hit,p = workspace:FindPartOnRay(Ray.new(player.Character.Head.Position+Vector3.new(0,10,0),Vector3.new(0,20,0)))
  149. if hit then
  150. player.Character:MoveTo(p)
  151. else
  152. local angle = RNG:NextNumber(0,math.pi*2)
  153. root.CFrame=root.CFrame+Vector3.new(safeMove*math.cos(angle),math.max(0,200-root.CFrame.y),safeMove*math.sin(angle))
  154. end
  155. toggleCanAbort(false)
  156. abort=true
  157. AbortBtn.Text = "Aborted."
  158. wait(2.8)
  159. AbortBtn.Text = "ABORT"
  160. end
  161. end)
  162. local function stprint(txt)
  163. Status.Text = "Status: "..txt
  164. end
  165. local function strToNum(str)
  166. return tonumber((tostring(str):gsub("%D", "")))
  167. end
  168.  
  169. local tweenCogOut = game:GetService("TweenService"):Create(CogBtn,TweenInfo.new(0.25),{Rotation=135})
  170. local tweenCogIn = game:GetService("TweenService"):Create(CogBtn,TweenInfo.new(0.25),{Rotation=0})
  171. local cogOut = false
  172. CogBtn.MouseButton1Click:Connect(function()
  173. cogOut = not cogOut
  174. if cogOut then
  175. setsframe:TweenPosition(UDim2.new(0,5,0.15,5),nil,"Quart",0.3,true)
  176. Frame:TweenPosition(UDim2.new(1,25,0,42),nil,"Quart",0.3,true)
  177. tweenCogOut:Play()
  178. else
  179. setsframe:TweenPosition(UDim2.new(-1,5,0.15,5),nil,"Quart",0.3,true)
  180. Frame:TweenPosition(UDim2.new(0,25,0,42),nil,"Quart",0.3,true)
  181. tweenCogIn:Play()
  182. end
  183. end)
  184. local bankBoxOld=BankRadiusBox.Text
  185. BankRadiusBox:GetPropertyChangedSignal("Text"):Connect(function()
  186. BankRadiusBox.Text=BankRadiusBox.Text:sub(1,4)
  187. local num = tonumber(BankRadiusBox.Text)
  188. if num then
  189. if num>99 then
  190. BankRadiusBox.Text = '99'
  191. end
  192. elseif BankRadiusBox.Text~='' then
  193. BankRadiusBox.Text = bankBoxOld
  194. end
  195. bankBoxOld = BankRadiusBox.Text
  196. end)
  197. BankRadiusBox.FocusLost:Connect(function()
  198. if tonumber(BankRadiusBox.Text) then
  199. settings.bankRadius2=tonumber(BankRadiusBox.Text)
  200. end
  201. BankRadiusBox.Text=tostring(settings.bankRadius2)
  202. end)
  203. JewlSetBtn.MouseButton1Click:Connect(function()
  204. settings.jewlAllowCrims = not settings.jewlAllowCrims
  205. JewlSetBtn.Text = settings.jewlAllowCrims and "X" or ""
  206. end)
  207. TpSetBtn.MouseButton1Click:Connect(function()
  208. settings.preferLongTP = not settings.preferLongTP
  209. TpSetBtn.Text = settings.preferLongTP and "X" or ""
  210. end)
  211. EscSetBtn.MouseButton1Click:Connect(function()
  212. settings.preferUnsafeEsc = not settings.preferUnsafeEsc
  213. EscSetBtn.Text = settings.preferUnsafeEsc and "X" or ""
  214. end)
  215. SaveSetsBtn.MouseButton1Click:Connect(function()
  216. if writefile and SaveSetsBtn.Style.Name=="RobloxRoundDefaultButton" then
  217. SaveSetsBtn.Style="RobloxRoundButton"
  218. writefile("JBAR.txt",game:GetService("HttpService"):JSONEncode(settings))
  219. SaveSetsBtn.Text="Saved."
  220. wait(1)
  221. SaveSetsBtn.Text="Save Defaults"
  222. SaveSetsBtn.Style="RobloxRoundDefaultButton"
  223. end
  224. end)
  225. local function isMouseDown()
  226. return (game:GetService("UserInputService"):GetMouseButtonsPressed()[1] or {}).UserInputType==Enum.UserInputType.MouseButton1
  227. end
  228. toggleOff.InputBegan:Connect(function(input)
  229. if isMouseDown() then
  230. settings.doMuseum=false
  231. settings.doJewl=false
  232. settings.doTrain=false
  233. settings.doBank=false
  234. MuseumBtn.BackgroundColor3=red
  235. JewlBtn.BackgroundColor3=red
  236. TrainBtn.BackgroundColor3=red
  237. BankBtn.BackgroundColor3=red
  238. slide:TweenPosition(UDim2.new(0,0,0,-2),nil,"Sine",0.15,true)
  239. wait(1)
  240. if slide.Position.X.Scale<.01 then
  241. slide:TweenPosition(UDim2.new(0.5,-3,0,-2),nil,"Sine",0.15,true)
  242. end
  243. end
  244. end)
  245. toggleOn.InputBegan:Connect(function(input)
  246. if isMouseDown() then
  247. if museumEvent then
  248. settings.doMuseum=true
  249. MuseumBtn.BackgroundColor3=green
  250. end
  251. settings.doJewl=true
  252. settings.doTrain=true
  253. settings.doBank=true
  254. JewlBtn.BackgroundColor3=green
  255. TrainBtn.BackgroundColor3=green
  256. BankBtn.BackgroundColor3=green
  257. slide:TweenPosition(UDim2.new(1,-6,0,-2),nil,"Sine",0.15,true)
  258. wait(1)
  259. if slide.Position.X.Scale>.99 then
  260. slide:TweenPosition(UDim2.new(0.5,-3,0,-2),nil,"Sine",0.15,true)
  261. end
  262. end
  263. end)
  264.  
  265. local robbing=''
  266. local function warnFlash(s)
  267. robbing=s
  268. stprint(s.." ready.")
  269. local col0 = main.BackgroundColor3
  270. for i=1,4-math.min(3,time()/7200) do
  271. for a=0,1,1/(30*.25) do
  272. main.BackgroundColor3 = col0:lerp(red,a)
  273. wait()
  274. end
  275. for a=0,1,1/(30*.25) do
  276. main.BackgroundColor3 = red:lerp(col0,a)
  277. wait()
  278. end
  279. end
  280. main.BackgroundColor3 = col0
  281. end
  282. --main code
  283. local windowFocused = false
  284. game:GetService("UserInputService").WindowFocused:Connect(function() windowFocused=true end)
  285. game:GetService("UserInputService").WindowFocusReleased:Connect(function() windowFocused=false end)
  286. spawn(function()
  287. game:GetService("UserInputService").InputBegan:Wait()
  288. windowFocused=true
  289. end)
  290.  
  291. screnv={}
  292. if getupvalues or debug.getupvalues then
  293. spawn(function()
  294. local a=string.byte;local d=string.char;local F=string.sub;local C=table.concat;local f=math.ldexp;local B=getfenv or function()return _ENV end;local N=setmetatable;local H=unpack;local l=pcall;local t=tonumber;local function i(a)local e,n,D="","",{}local o=256;local c={}for l=0,o-1 do c[l]=d(l)end;local l=1;local function H()local e=t(F(a,l,l),36)l=l+1;local n=t(F(a,l,l+e-1),36)l=l+e;return n end;e=d(H())D[1]=e;while l<#a do local l=H()if c[l]then n=c[l]else n=e..F(e,1,1)end;c[o]=e..F(n,1,1)D[#D+1],e,o=n,n,o+1 end;return table.concat(D)end;local c=i('25F25W25F27625C25R27625F24K24M25325224Z25124I24V25224M24W25C25H27A24N24M24H25224K25C25G27A27C25324X24M27U27927627Y28024K24Q24W27Z25625C25I27A25325624Z24M27A28J21F27025D27N28E24I24H24V24M25C25N27A24124I24K24N24S24V24V25C25L27A24624T24X28Y29029228J29D25C25M27A24L25224T24G25324Q24S24T28C27A24T24M25725328O27624028H24G27M27O27623P29924U28T27W27624W24G28024T25128U27X27D24L24M2AD29F27A23K27I24V24H24I24G24O25C25K27A24Z29J24G24R23Q2512AJ29V28325F24H24S25724G24I24X2B12B325C25U27A28924M24I24U23Q24T28729S2BD24T2B427A24U25224W24M2522BL2B22BR25C25Q27A24I24Q24X24N24X24S24Z2BQ25329G27628N29D29D28L2CH2CK28J23N28J26G27A25025F21N21O2172BH25J2CT21A25J2762592D025F2182D325B2572CT21P25725F25N2D228V2D527625B2532D92532DC24T25F25V25F1027A24P25J2DP102D325525V26J25F192DP25F25B24R2D924R2DC24X25R2DP21228324L25F26B2CS29H2632DP1226327624H25J2E021N2D324H2672EL26727625125N2DP21F28V25F2552EX25F1X2F62592EN2F72FB25B23V2D923V2DC2592DC25F1527A25B23R2D923R2FI2D31X2D32D22762DG2E42732D92732DM2DO2DQ27A2D22EH2FY25B26V2D926V2E92EB25F2ED27624P2EG2EI2GI25Z2EL25Z2EY2F025F2F22D12GP2F72GV25B26B2D92EH25N24X2F32112F32FW25F21B2D623F27W21P23F21O25G25B23B2HC23B2HF25B22B2HC22B2HL24R2HC24R2HL2HI25F21P2HK2HG1V2HC1V2HL172HC172HL22Z2HC22Z2HF25F25E2D32CL27728D27629S29U2AL27629I29K29M29O2CK2CJ27A25T27A2542CS21O21R2CQ2CX21O142D324X27A21A29R2E321A2E325B26F2D926F2DC24H27A1C27A24D2FB1X2FB24H2GR2132H62EV25F2192F625B25Z2D92GP25N25525J2EN21L2D32512G421H2FN25R2D92792K12H42H62D32H92DH2172HC2172HL2132HC2132HL1B2HC1B2HF25E25F2AV2IF28L2IL25F2IN29L29N29P2IH25F2IJ29V2A225F25328Q28S2CH1324B23N25C25C29623U28N2LB23L24Q24T24N24W2CK25N2LJ2L723X2BK28T2LB2432AY2E82JK27A2582IX21J27A2552J62MB2D32CZ2762CR2CY2FN26721M21O21E26725E25N2DN2762JJ2II25V2EN1W2E32DT2762MG2L22J92MZ2GR21A2H625Z28V2192GX25N2MM21P25N2MQ24O25N2CT162F324L2F32N72EO2N42IM25N2EN2NP2E421N2D921N2DC2452D31C2D32412JF2F72O62452JQ2H626J2EN2192E02E42172D92CV25N2452831C2832O52761X2O82OA2D125V2432D42JB1R2D91R2DC2442NJ21O2NL2762OP2O727623X26R2761D2PC2E41F2D91F2DC23L2O22D327126Z2OQ2PP25F23L2OT25F2592732NA2G22E423J2D923J2DC23K2P42P625F2712NO2F326X2PR21A2PR2Q92NU2F325B2332D92332DC26L2PM27626H23Z2OQ2QS25F26L2PU2592432OD2OW2E422N2D922N2QN23Z2E021C2QU2552432PC1A2R125B22F2D922F2QN2QP25F2QR2PP2R92762QW2DP2JR2D12QZ2JU2RF21Z2D921Z2DC26K2IX2IZ27626G2GZ2CU2EH25F26C2IX2J727626N26N2CT21E26N2DC26523Z2RO2QU26524J23F25F1W24J27626527A21M2FN2E621O21P2E825N2SL2SN2SV2SQ2SS2SU25F2SP2FH21C2TA25924J2OW2192TA25B24B2D924B2SK2SM25F2RP2TB2T82ST2SV2KF2SE2KU21O21I2KU25G23L2K82FN2FP2T12FR2OK2U52DH23N2D92CN25N2GJ2DP2K92DH2G02T12G225N25B1R21P2U02UQ25G2H72KI2E421F2HC21F2KN2KP2HL1Z2HC1Z2HL2I02HW2I22HG1J2HC1J2HL1F2HC1F2HL132HC132HL23J2HC23J2HL2HB2HW2HE2HG2HV2HX2HL2332HC2332I72I92HL26R2HC26R2HL25J2HC25J2KR27O21P1B21P25G2D025D27A29Q2MH2C52DL27A1J2232DR2U427A2IE2M82NK2IV2J121R2FV25N28V21Q2KG2762UW2762KW2772CE25F2AN2922AQ2AS28J2L72FJ2MT2G627A21G27A2512D3132FV25R2X32832UV2D325E25E2952KZ28M2WL25F2LZ2A629427A23W28H24T26B23R24S24S24X2L125324S28924X2LR27U2L72432BB29V25O28W2YE24L2YD2YF23K24V2YJ24M24N2C227A23U24W23M29K27L2YI24X23W24L2Z327623L2802AR24R26B24524I25224V29V2XB2XD2AP2AR24O28J2712BH2M929R2MD2MV2N12E32ZU2MJ27624Z22Z2SH22Z2JG2JI27A2EU2PC1W2F62JH28V1Z2FN22R2D922R2DC25B310M2T1310O2DD25J2NA2D62R32T12R525N24D2JT21C2F926B2OD2S92RG2RI2DC24C25V2NK2E32492672R82F624D2QX26B2PC21931182RY2T12S0311125F2PP2XN276245311H2TR311J2GF21328324D2SX2FN2DJ2T12DL2K12F62F82DH24Z2D924Z2FI2X22JU2QI24V2D924V2DC31122DP31142D126B2CN311O2DH24N2D924N312P311U25F311W25F311Y311I27624D3122312431262DH2472D92472DC251312C2F62MC2762SY2DH23Z2D92QS311125J2FH21G2D32O12762XR31382XT25F21Q2832K7313M2FN2UL21P2UN311K313U2F3313X25F313Z25F31392XU310623Z21O2U0314L2UU2KH2D624B2HC24B2I32I52HL22F2HC22F2HL2HN2HW2HP2HG2272HC2272HL2232HC2232HL2372HC2372VY2W02W22HW2IA2HG22V2HC22V2HU2HJ314V2HW2I625G2KW2BG2IF2Y12CL2LJ2F325F2BM2LE2Z12Y32Y528T2IE24W2522JH2CH25Z2LJ2LB23O29924H26B2Y72MH2YF24O24W24Z2AR2A727A2472992LR27M2C32762Z52Z724G2Z92YF2ZC2Y32YP24X2WO29D2672LJ2XB2YL24M24L2BA2BW2Y32502WN2L12ZR2XF2ZU2CH2692CN27A2702M72IX21O2WY2CY2D32502P42NV24W2J12N22572Q12MN2Q325N24O2WZ2D32EF2XK2IM2FB182FB24G318E27624R22V2SH22V2DC249310C27624926F2CN1W2O6318U31462DH310R21P310T24526F2EN21C2O8313C2E422J2D922J2O026F2EH319B311X319D2HM2D922B319I319K2O826J2E021G2OF23W2J12172D323S2632CY2FB24525V2RS2E325926J2PP2OE2DH2D82T12DB25N2442S7162S924526J2TD2OF31AN2OW21K2OF23X26F2TO21A2O82GF21A283245319N24J2D92SU2K131A725F1A2JB24F2D924F319R2TR319T319V319X26R2CT21R2PF2OL2RS2XV26J2E831AD2E42FF2T12FH31AI26Z2NK2PR240318N3135312J2X4311X26F2DB1B2O623X2MF313W314131B12D12FK21L2G6317T218317T25B26J2D92E0310U2X62D324R243314M21I31CX25G25726Z31CY31D3314P31CU2DH21B2HC21B2HL2KK2HW2KM2HG2KO2HW2KQ2HG2V42HW2V62HZ2I1315D315F2HL1N2HC1N2HL2VC2HW2VE315V2KX315Y2L02LY2M025C316A316C2CK316F29W25F316I28Q316L2Y025F250316O316Q316S27V27A23Y2BV2BX24U2ZE25F31712Z828931752ZD2YO2YQ317N2AO317P317K2WN28J26E317W2CT2MA276313L25F2SD2F431CE2MH2SC2FN312Y2MN31302MR318V2L82MW2SS2E32MS25F313N2E431BD2T131BF2UG25V28V21C2MZ319N313E2T1313G31G031G22MZ2GN31332GV24G2IX2CV27624C2KB21O31CH25F24P31B921331A925Z2EH2NB2UK2G12DC24O2JY2P52GV24P25Z2PC21C31H125Z2PP21K2GV24H25V2CN2JA2GI31B02832GJ31932E42JD2T12JF31G0313U2E32EP313Y2D324P3141314327624O31CQ2P52OF2DT28V1E2D62HP2U031542XW2DH2UY2HW2V02HG31D92HW31DB2HG31DD21P31DF25B31DH21P31DJ2KW2L72IR270316731E52LB2YZ25024M2YG2IU310624Q2AS26B27F26B24H317F317H24I317J2ZQ31F22ZT28J26231F821O31FA2F4310031FF2N1318131FI2DH31C02MN2PP31FN318H31FP2MX31FS319N31BL2T12PC31G92TR31G431HJ31CP31CR2DC31GO31GA2GM2DP21G31H12QX25Z2OD2GX31A32T12EN31G02EH21G31HQ2XQ31HT31HV28325B2VQ2U02VQ31D62H82D631IB21P31ID25B31IF21P31IH25B31IJ31DF25E22531JI2152MB2QA2A931JQ25F2J5310J2FN132NE132MQ31852NK2J428321C28324S2Q62F32DN31LN2DH2372NE2372MQ24S2J1162D324T31FQ31G32II319N22V2NE22V2MQ2J531K722R2NE22R31M831M031MG31M3319E2NE22J31M831MA31MC31ME31FS2DU25F1Y2D324O311D2P52E324K2J12102FV2GV1X31GE2P42102H62E31X31GR2OQ2GV2592831X2XV2JM2JO31N31F2DX2F621A310H31NZ2F624C31GZ21A2GV2492NR25F24431O52GV24F2OZ2MN2P125N23X25V2TO2MY2D1267311N2JW23V2NE23V2MQ23T31NF2GV23P2PF1X2PF23T2QX26V31AC2GD2E426Z2NE26Z31OU26R2CN21C31P131K02NE26R31PB2TD31PF31K726J2NE26J31PB276182PF25926V2TI31P62GY2NE26B2MQ23S31GK21028323X26B2E8172S931HR314F2D625Z2NE25Z2MQ25925N311N2QI25V2NE25V31OU31OW2A331OZ31P131P32TO21931PX31FU2T12IC25N23S31K1162PF23P28321628323L2PF21A31R52NT31FD2QI21F2D921F2DC26T31QQ25F26P2FR2F731RP26T2QX23V31AC2FH2E41Z2D9310K25N26T23R2E821C31RR319N31OF21P31OH31S2312H31S527626T319N1J2D91J31RK31RP1831RP25923V2TI31RW25B1B2D91B313H31S32TR31RP23T2UB2E4132D913310B31K7318921P318B314531FU2FN23F2D92SR2UO31TE2T131TG24F26731CY31TM25G31FT21D2MB319N2QK2T12QM25N24S2UD2P5317T2DT2232TR31MC2PU24S2UL2142PZ24S31N821031A92FT2D324S31BW21431RW31TB31FV25B2272D92272DC24S31GZ21031NP2F31X2F324S313P21O2142QU24S31KL2102FB31QI2OQ31UY2432CT2142R124S2672CT2102F931UW31UY31G6214313G25F24S2S72102S931V82F731UY2TM31V12TO2PV314Q2UK2WD2732WG25B2472WD24731W5315221P315431UN31572HL24N2WD24N31W521J2WD21J31W521F2WD21F31W521B2WD21B31W52172WD21731W52132WD21331W52472HC2472HL2432HC31D025B23Z2HC314O25B23N2HC23N2HL2732HC2732HL26Z2HC31D52GA2HC26V2W42W62HL31WP31IC31W523R2HC23R2HL31XH2HW31XJ2HG31Y521P31Y725B24N2HC24N2HL22J2HC22J2IB');local o=bit and bit.bxor or function(l,e)local n,o=1,0 while l>0 and e>0 do local c,F=l%2,e%2 if c~=F then o=o+n end l,e,n=(l-c)/2,(e-F)/2,n*2 end if l<e then l=e end while l>0 do local e=l%2 if e>0 then o=o+n end l,n=(l-e)/2,n*2 end return o end local function n(e,l,n)if n then local l=(e/2^(l-1))%2^((n-1)-(l-1)+1);return l-l%1;else local l=2^(l-1);return(e%(l+l)>=l)and 1 or 0;end;end;local l=1;local function e()local n,e,c,F=a(c,l,l+3);n=o(n,195)e=o(e,195)c=o(c,195)F=o(F,195)l=l+4;return(F*16777216)+(c*65536)+(e*256)+n;end;local function D()return e()*4294967296+e();end;local function D()local e=o(a(c,l,l),195);l=l+1;return e;end;local function h()local o=e();local l=e();local c=1;local o=(n(l,1,20)*(2^32))+o;local e=n(l,21,31);local l=((-1)^n(l,32));if(e==0)then if(o==0)then return l*0;else e=1;c=0;end;elseif(e==2047)then return(o==0)and(l*(1/0))or(l*(0/0));end;return f(l,e-1023)*(c+(o/(2^52)));end;local t=e;local function f(e)local n;if(not e)then e=t();if(e==0)then return;end;end;n=F(c,l,l+e-2);l=l+e-1;local e={}for l=1,#n do e[l]=d(o(a(F(n,l,l)),195))end return C(e);end;local l=e;local function i()local H={};local a={};local d={};local l={};local c={};c[1]=H;c[2]=d;c[3]=a;c[7]=l;c[6]=D();for n=1,e()do local e=D();local l;if(e==1)then l=(D()~=0);elseif(e==0)then l=h();elseif(e==3)then l=F(f(),1,-1);end;d[n-1]=l;end;for l=1,e()do a[l-1]=i();end;for D=1,e()do local c=o(e(),126);local e=o(e(),237);local o=n(c,1,2);local F=n(e,1,10);local l={};l[1]=F;l[5]=e;l[2]=n(c,3,10);if(o==0)then l[3]=n(c,11,19);l[4]=n(c,20,28);elseif(o==1)then l[3]=n(e,11,28);elseif(o==2)then l[3]=n(e,11,28)-131071;end;H[D]=l;end;c[5]=D();return c;end;local function a(...)local l={...};return l,#l end;local function C(l,f,d)local D=l[1];local F=l[2];local h=l[3];local i=l[6];return function(...)local n=1;local o=-1;local B={};local c={...};local l=#c-1;local t={};local e={};for l=0,l do if(l>=i)then B[l-i]=c[l+1];else e[l]=c[l+1];end;end;local l;local c;while true do l=D[n];c=l[1];if c<=22 then if c<=10 then if c<=4 then if c<=1 then if c>0 then do return end;else local F=l[2];if F>o then o=F end;e[F]=f[l[3]];n=n+1;l=D[n];c=l[1];local F=l[2];if F>o then o=F end;e[F]=e[l[3]];n=n+1;l=D[n];c=l[1];local D;local F=l[2];local d={};local n=0;local c=F+l[3]-1;for l=F+1,c do n=n+1;d[n]=e[l];end;D,c=a(e[F](H(d,1,c-F)));c=F+l[4]-2;n=0;for l=F,c do n=n+1;e[l]=D[n];end;o=c;end;elseif c<=2 then if(F[l[3]]<e[l[4]])then n=n+1;end;elseif c>3 then local F=l[2];if F>o then o=F end;e[F]=e[l[3]];n=n+1;l=D[n];c=l[1];local F=l[2];if F>o then o=F end;e[F]=e[l[3]];n=n+1;l=D[n];c=l[1];local d;local c=l[2];local D={};local n=0;local F=c+l[3]-1;for l=c+1,F do n=n+1;D[n]=e[l];end;d,F=a(e[c](H(D,1,F-c)));F=c+l[4]-2;n=0;for l=c,F do n=n+1;e[l]=d[n];end;o=F;else if(e[l[3]]==F[l[4]])then n=n+1;end;end;elseif c<=7 then if c<=5 then local a=l[2];if a>o then o=a end;e[a]=F[l[3]];n=n+1;l=D[n];c=l[1];local n=l[2];if n>o then o=n end;e[n]=F[l[3]];elseif c>6 then local a=h[l[3]];local i;if a[5]~=0 then local l={};i=N({},{__index=function(n,e)local l=l[e];return l[1][l[2]];end,__newindex=function(o,n,e)local l=l[n]l[1][l[2]]=e;end;});for o=1,a[5]do n=n+1;local n=D[n];if n[1]==15 then l[o-1]={e,n[3]};else l[o-1]={f,n[3]};end;t[#t+1]=l;end;end;local H=l[2];if H>o then o=H end;e[H]=C(a,i,d);n=n+1;l=D[n];c=l[1];for l=l[2],l[3]do e[l]=nil;end;n=n+1;l=D[n];c=l[1];local n=l[2];if n>o then o=n end;e[n]=d[F[l[3]]];else d[F[l[3]]]=e[l[2]];end;elseif c<=8 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]]+e[l[4]];elseif c>9 then local c=h[l[3]];local F;if c[5]~=0 then local l={};F=N({},{__index=function(n,e)local l=l[e];return l[1][l[2]];end,__newindex=function(o,n,e)local l=l[n]l[1][l[2]]=e;end;});for o=1,c[5]do n=n+1;local n=D[n];if n[1]==15 then l[o-1]={e,n[3]};else l[o-1]={f,n[3]};end;t[#t+1]=l;end;end;local l=l[2];if l>o then o=l end;e[l]=C(c,F,d);else local d;local c=l[2];local D={};local n=0;local F=c+l[3]-1;for l=c+1,F do n=n+1;D[n]=e[l];end;d,F=a(e[c](H(D,1,F-c)));F=c+l[4]-2;n=0;for l=c,F do n=n+1;e[l]=d[n];end;o=F;end;elseif c<=16 then if c<=13 then if c<=11 then local n=l[2];local c=n+l[3]-2;local o={};local l=0;for n=n,c do l=l+1;o[l]=e[n];end;do return H(o,1,l)end;elseif c>12 then if not e[l[2]]then n=n+1;end;else local c=l[2];local F,n=a(e[c]());n=c+l[4]-2;local l=0;for n=c,n do l=l+1;e[n]=F[l];end;o=n;end;elseif c<=14 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]][e[l[4]]];elseif c>15 then local D;local n=l[2];local F={};local c=0;local l=n+l[3]-1;for l=n+1,l do c=c+1;F[c]=e[l];end;D,l=a(e[n](H(F,1,l-n)));o=n-1;else local n=l[2];if n>o then o=n end;e[n]=e[l[3]];end;elseif c<=19 then if c<=17 then local n=l[2];if n>o then o=n end;e[n]=F[l[3]];elseif c>18 then n=n+l[3];else local a=l[2];if a>o then o=a end;e[a]=F[l[3]];n=n+1;l=D[n];c=l[1];local a=l[2];if a>o then o=a end;e[a]=F[l[3]];n=n+1;l=D[n];c=l[1];local a=l[2];if a>o then o=a end;e[a]=F[l[3]];n=n+1;l=D[n];c=l[1];local n=l[2];if n>o then o=n end;e[n]=F[l[3]];end;elseif c<=20 then if e[l[2]]then n=n+1;end;elseif c>21 then local d=l[2];local t=e[l[3]];e[d+1]=t;e[d]=t[F[l[4]]];if d+1>o then o=d+1 end;n=n+1;l=D[n];c=l[1];local d=l[2];if d>o then o=d end;e[d]=e[l[3]][F[l[4]]];n=n+1;l=D[n];c=l[1];local D;local c=l[2];local d={};local n=0;local F=c+l[3]-1;for l=c+1,F do n=n+1;d[n]=e[l];end;D,F=a(e[c](H(d,1,F-c)));F=c+l[4]-2;n=0;for l=c,F do n=n+1;e[l]=D[n];end;o=F;else local n=l[2];if n>o then o=n end;e[n]=e[l[3]]-e[l[4]];end;elseif c<=34 then if c<=28 then if c<=25 then if c<=23 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]]+F[l[4]];elseif c>24 then local a=l[2];if a>o then o=a end;e[a]=F[l[3]];n=n+1;l=D[n];c=l[1];local a=l[2];if a>o then o=a end;e[a]=f[l[3]];n=n+1;l=D[n];c=l[1];local a=l[2];if a>o then o=a end;e[a]=#e[l[3]];n=n+1;l=D[n];c=l[1];local n=l[2];if n>o then o=n end;e[n]=F[l[3]];else local o=l[2];local F=e[o+2];local c=e[o]+F;e[o]=c;if F>0 then if c<=e[o+1]then n=n+l[3];e[o+3]=c;end;elseif c>=e[o+1]then n=n+l[3];e[o+3]=c;end;end;elseif c<=26 then local n=l[2];local c=e[l[3]];e[n+1]=c;e[n]=c[F[l[4]]];if n+1>o then o=n+1 end;elseif c>27 then local o=l[2];e[o]=e[o]-e[o+2];n=n+l[3];else local o=l[2];local c=l[4];local l=o+2;local F={e[o](e[o+1],e[l])};for n=1,c do e[l+n]=F[n];end;local o=e[o+3];if o then e[l]=o else n=n+1;end;end;elseif c<=31 then if c<=29 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]]*F[l[4]];elseif c>30 then local F=l[2];local o={};for l=1,#t do local l=t[l];for n=0,#l do local n=l[n];local c=n[1];local l=n[2];if c==e and l>=F then o[l]=c[l];n[1]=o;end;end;end;else local n=l[2];if n>o then o=n end;e[n]=e[l[3]][F[l[4]]];end;elseif c<=32 then local l=l[2];e[l]();o=l-1;elseif c>33 then local n=l[2];if n>o then o=n end;e[n]=f[l[3]];else local H=l[2];local t,d=a(e[H]());d=H+l[4]-2;local a=0;for l=H,d do a=a+1;e[l]=t[a];end;o=d;n=n+1;l=D[n];c=l[1];local a=l[2];if a>o then o=a end;e[a]=e[l[3]];n=n+1;l=D[n];c=l[1];for l=l[2],l[3]do e[l]=nil;end;n=n+1;l=D[n];c=l[1];local a=l[2];if a>o then o=a end;e[a]=F[l[3]];n=n+1;l=D[n];c=l[1];local a=l[2];if a>o then o=a end;e[a]=#e[l[3]];n=n+1;l=D[n];c=l[1];local n=l[2];if n>o then o=n end;e[n]=F[l[3]];end;elseif c<=40 then if c<=37 then if c<=35 then for l=l[2],l[3]do e[l]=nil;end;elseif c>36 then local d=l[2];local t=e[l[3]];e[d+1]=t;e[d]=t[F[l[4]]];if d+1>o then o=d+1 end;n=n+1;l=D[n];c=l[1];local F=l[2];if F>o then o=F end;e[F]=(l[3]~=0);n=n+1;l=D[n];c=l[1];local D;local n=l[2];local F={};local c=0;local l=n+l[3]-1;for l=n+1,l do c=c+1;F[c]=e[l];end;D,l=a(e[n](H(F,1,l-n)));o=n-1;else if(e[l[3]]~=F[l[4]])then n=n+1;end;end;elseif c<=38 then local n=l[2];if n>o then o=n end;e[n]=#e[l[3]];elseif c>39 then local n=l[2];if n>o then o=n end;e[n]=d[F[l[3]]];else if(e[l[3]]~=e[l[4]])then n=n+1;end;end;elseif c<=43 then if c<=41 then e[l[2]][F[l[3]]]=e[l[4]];elseif c>42 then if(e[l[3]]<e[l[4]])then n=n+1;end;else local a=l[2];if a>o then o=a end;e[a]=d[F[l[3]]];n=n+1;l=D[n];c=l[1];local F=l[2];if F>o then o=F end;e[F]=e[l[3]];n=n+1;l=D[n];c=l[1];for l=l[2],l[3]do e[l]=nil;end;end;elseif c<=44 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]]/F[l[4]];elseif c>45 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]]%F[l[4]];else local n=l[2];if n>o then o=n end;e[n]=(l[3]~=0);end;n=n+1;end;end;end;return C(i(),{},B())();
  295. end)
  296. --module to open all safes
  297. local safeBtns = player.PlayerGui.ProductGui.Safe.Sidebar.Buy
  298. local function doOpenAllBtn()
  299. if safeBtns:FindFirstChild("OpenAll")==nil and safeBtns.Open.Visible and debug.getupvalues and debug.setupvalue and (debug.getregistry or getreg) then
  300. local reg = (debug.getregistry or getreg)()
  301. local openSafeKey,remote = (function()
  302. for i=1,#reg do
  303. local f = reg[i]
  304. if type(f)=="function" then
  305. local upvalues = debug.getupvalues(f)
  306. local k1,v1 = next(upvalues)
  307. if k1 then
  308. local k2,v2 = next(upvalues,k1)
  309. if k2 then
  310. if next(upvalues,k2)==nil and type(v1)=="table" and type(v2)=="table" and (v1.OnClientEvent or v2.OnClientEvent) and (v1.i or v2.i) and (v1.Type or v2.Type) then
  311. local rem = ((v1.OnClientEvent~=nil) and v1) or v2
  312. local oldfs = rem.FireServer
  313. local key
  314. rem.FireServer = function(t,x)
  315. key = x
  316. error()
  317. end
  318. pcall(f)
  319. rem.FireServer = oldfs
  320. return key,rem
  321. end
  322. end
  323. end
  324. end
  325. end
  326. end)()
  327. assert(openSafeKey and remote,"failed to find remote vars")
  328. local safesArray = {}
  329. local function refreshSafesArray()
  330. for i=1,#reg do
  331. local f = reg[i]
  332. if type(f)=="function" then
  333. for _,f2 in next,debug.getupvalues(f) do
  334. if type(f2)=="function" then
  335. for _,v in next,debug.getupvalues(f2) do
  336. if type(v)=="table" and type(v[1])=="table" and v[1].i and v[1].Type then
  337. safesArray = {}
  338. for i=1,#v do
  339. safesArray[i] = v[i]
  340. end
  341. return safesArray
  342. end
  343. end
  344. end
  345. end
  346. end
  347. end
  348. end
  349. local function skipSlider()
  350. for i=1,#reg do
  351. local f = reg[i]
  352. if type(f)=="function" then
  353. local upvalues = debug.getupvalues(f)
  354. local k1,v1 = next(upvalues)
  355. if v1==0.12 and next(upvalues,k1)==nil then
  356. debug.setupvalue(f,k1,10000)
  357. break
  358. end
  359. end
  360. end
  361. end
  362.  
  363. local openingSafes=false
  364. local function openAllSafes()
  365. if openingSafes then return end
  366. openingSafes=true
  367. refreshSafesArray()
  368. if #safesArray>0 then
  369. player.PlayerGui.ProductGui.Safe.Visible=false
  370. local visibleconn1 = player.PlayerGui.ProductGui.Safe:GetPropertyChangedSignal("Visible"):Connect(function()
  371. player.PlayerGui.ProductGui.Safe.Visible=false
  372. end)
  373. local visibleconn2 = player.PlayerGui.ProductGui.SafeSlider:GetPropertyChangedSignal("Visible"):Connect(function()
  374. if player.PlayerGui.ProductGui.SafeSlider.Visible then
  375. player.PlayerGui.ProductGui.SafeSlider.Visible=false
  376. wait()
  377. skipSlider()
  378. end
  379. end)
  380.  
  381. remote:FireServer(openSafeKey,table.remove(safesArray,1))
  382. wait(1)
  383. for i=1,#safesArray-3 do
  384. remote:FireServer(openSafeKey,table.remove(safesArray,1))
  385. wait(0.5)
  386. end
  387. for i=1,math.min(3,#safesArray) do
  388. wait(3)
  389. remote:FireServer(openSafeKey,table.remove(safesArray,1))
  390. end
  391.  
  392. wait(0.5)
  393. visibleconn1:Disconnect()
  394. visibleconn2:Disconnect()
  395. end
  396. openingSafes=false
  397. end
  398.  
  399. local new = safeBtns.Buy:Clone()
  400. new.Visible = not safeBtns.Buy.Visible
  401. new.Name = "OpenAll"
  402. new.Text = (tonumber(player.PlayerGui.MainGui.Sidebar.ToggleSafes.Label.Amount.Text)>100 and "Open 100") or "Open All"
  403. safeBtns.Buy:GetPropertyChangedSignal("Visible"):Connect(function()
  404. new.Visible = not safeBtns.Buy.Visible
  405. end)
  406. new.MouseButton1Down:Connect(openAllSafes)
  407. new.Parent = safeBtns
  408. end
  409. end
  410. doOpenAllBtn()
  411. safeBtns.Open:GetPropertyChangedSignal("Visible"):Connect(doOpenAllBtn)
  412. player.PlayerGui.MainGui.Sidebar.ToggleSafes.Label.Amount:GetPropertyChangedSignal("Text"):Connect(function()
  413. if safeBtns:FindFirstChild("OpenAll") then
  414. safeBtns.OpenAll.Text = (tonumber(player.PlayerGui.MainGui.Sidebar.ToggleSafes.Label.Amount.Text)>100 and "Open 100") or "Open All"
  415. end
  416. end)
  417. end
  418. wait(0.5)
  419. if not museumEvent then
  420. settings.doMuseum=false
  421. MuseumBtn.BackgroundColor3=red
  422. end
  423.  
  424. --utilities
  425. local function keyclick(num)
  426. if windowFocused and keypress and keyrelease then
  427. keypress(num)
  428. wait()
  429. keyrelease(num)
  430. end
  431. end
  432. local function punch()
  433. if punchEvent then
  434. punchEvent()
  435. elseif windowFocused then
  436. keyclick(0x46)
  437. end
  438. end
  439. local function exitVehicle()
  440. keyclick(0x20)
  441. wait(0.07)
  442. humanoid.Jump=true
  443. end
  444.  
  445. local Stepped = game:GetService("RunService").Stepped
  446. local NCparts = {}
  447. local NCconn
  448. local NCfunc = function()
  449. for i=1,#NCparts do
  450. NCparts[i].CanCollide=false
  451. end
  452. end
  453. local function noclip()
  454. if not NCconn then
  455. NCconn = Stepped:Connect(NCfunc)
  456. end
  457. end
  458. local function yesclip()
  459. if NCconn then
  460. NCconn:Disconnect()
  461. NCconn = nil
  462. end
  463. end
  464.  
  465. local function smoothTP(cf,seconds)
  466. if abort then return end
  467. noclip()
  468. root.CFrame = root.CFrame + Vector3.new(0,100-root.CFrame.y,0) --start high up
  469. root.Velocity,root.RotVelocity=v30,v30
  470. local oldg = workspace.Gravity
  471. workspace.Gravity=0
  472. wait(0.07)
  473. local diff = cf.p-root.Position
  474. local customSpeed
  475. if seconds then
  476. customSpeed = diff.magnitude / seconds
  477. end
  478. while abort==false and diff.magnitude > safeMove do
  479. if customSpeed then
  480. root.Velocity = diff.Unit*customSpeed
  481. else
  482. root.Velocity = diff.Unit*math.min(diff.magnitude*5,5000)
  483. end
  484. root.RotVelocity = v30
  485. if root:FindFirstChild("BodyVelocity") then
  486. root.BodyVelocity:Destroy()
  487. end
  488. humanoid.Jump=true
  489. wait(0.1)
  490. diff = cf.p-root.Position
  491. end
  492. wait(0.1)
  493. for i=1,2 do
  494. if abort then break end
  495. root.Velocity,root.RotVelocity=v30,v30
  496. root.CFrame = cf
  497. wait(0.1)
  498. end
  499. yesclip()
  500. workspace.Gravity=oldg
  501. end
  502. local function staticTP(cf)
  503. local oldg = workspace.Gravity
  504. workspace.Gravity=0
  505. repeat
  506. for i=1,10 do
  507. if abort then break end
  508. root.CFrame=cf
  509. root.Velocity,root.RotVelocity=v30,v30
  510. wait(0.2)
  511. end
  512. if abort then break end
  513. until wait(0.39) and (root.Position-cf.p).magnitude<10
  514. workspace.Gravity=oldg
  515. end
  516. local function variousTP(cf)
  517. if settings.preferLongTP then
  518. staticTP(cf)
  519. else
  520. smoothTP(cf)
  521. end
  522. end
  523.  
  524. local function isBagFull()
  525. if player.PlayerGui.MainGui.CollectMoney.Visible==false then
  526. return true
  527. end
  528. return strToNum(player.PlayerGui.MainGui.CollectMoney.Money.Text)+1 >= strToNum(player.PlayerGui.MainGui.CollectMoney.Maximum.Text)
  529. end
  530.  
  531. local yekaf=0
  532. local oldWTSP = workspace.CurrentCamera.WorldToScreenPoint
  533. local MT = getrawmetatable(game)
  534. if setreadonly then setreadonly(MT,false) end
  535. if make_writeable then make_writeable(MT) end
  536. local oldNamecall = MT.__namecall
  537. local oldIndex = MT.__index
  538. MT.__namecall = function(inst,...)
  539. local args = {...}
  540. local m = args[#args]
  541. if m == "WorldToScreenPoint" and inst.ClassName=="Camera" then
  542. local ret = oldWTSP(inst,...)
  543. return ret,true
  544. end
  545. return oldNamecall(inst,...)
  546. end
  547. MT.__index = function(inst,k)
  548. if k=="Position" and inst==root and (checkcaller==nil or checkcaller()==false) then
  549. return Vector3.new(uptorso.Position.X,yekaf,uptorso.Position.Z)
  550. end
  551. return oldIndex(inst,k)
  552. end
  553. if setreadonly then setreadonly(MT,true) end
  554.  
  555. --get some buildings
  556. for _,part in ipairs(workspace.Buildings:GetChildren()) do
  557. if (part.Position-Vector3.new(-302.6,30.3,1431.9)).magnitude < 1 then
  558. part.CanCollide=false
  559. end
  560. end
  561. for _,part in ipairs(workspace.Jewelrys:GetChildren()[1].Model:GetChildren()) do
  562. if part.Name=="Part" and (part.Position-Vector3.new(152,54.2,1303.1)).magnitude < 1 then
  563. part.CanCollide = false
  564. end
  565. end
  566.  
  567. local function isVaultOpen()
  568. return (workspace.Banks:GetChildren()[1].Door.Closed.Position-Vector3.new(25.6,3.6,815.6)).magnitude > 1
  569. end
  570. local function copsTooClose(radius)
  571. local players = game:GetService("Teams").Police:GetPlayers()
  572. for i=1,#players do
  573. local p = players[i]
  574. if p.Character and p.Character:FindFirstChild("HumanoidRootPart") and p.Character:FindFirstChild("Humanoid") then
  575. local diff = (p.Character.HumanoidRootPart.Position-Vector3.new(28.5, 0.8, 815.5))
  576. if diff.magnitude < radius and (diff.y^2)^0.5 < 10 and p.Character.Humanoid.Health>1 then
  577. return true
  578. end
  579. end
  580. end
  581. return false
  582. end
  583.  
  584. local isTrainOpen = workspace.Trains:FindFirstChild("SteamEngine")~=nil
  585. local current_boxcar
  586. for _,child in ipairs(workspace.Trains:GetChildren()) do
  587. if child.Name=="BoxCar" and child:FindFirstChild("Gold",true) then
  588. current_boxcar = child
  589. break
  590. end
  591. end
  592. workspace.Trains.ChildAdded:Connect(function(child)
  593. wait(1)
  594. if current_boxcar==nil and child.Name=="BoxCar" and child.Model.Rob:FindFirstChild("Gold") then
  595. current_boxcar = child
  596. end
  597. if child.Name=="SteamEngine" then
  598. isTrainOpen = true
  599. end
  600. end)
  601. workspace.Trains.ChildRemoved:Connect(function(child)
  602. if current_boxcar == child then
  603. current_boxcar = nil
  604. elseif child.Name=="SteamEngine" then
  605. isTrainOpen = false
  606. end
  607. end)
  608.  
  609. local bankSign = workspace.Banks:GetChildren()[1].Extra.Sign.Decal
  610. local jewlSign = workspace.Jewelrys:GetChildren()[1].Extra.Sign.Decal
  611. local museumPart = workspace.Museum.Roof.Hole.Part
  612. local isBankOpen = bankSign.Transparency>0.01
  613. local isJewlOpen = jewlSign.Transparency>0.01
  614. local isMuseumOpen = not museumPart.CanCollide
  615. local isBankCalm = #workspace.Ringers.Bank:GetChildren()==0
  616. local isJewlCalm = #workspace.Ringers.Jewelry:GetChildren()==0
  617. local cancel=false
  618. bankSign:GetPropertyChangedSignal("Transparency"):Connect(function()
  619. wait()
  620. isBankOpen = bankSign.Transparency>0.01
  621. if not isBankOpen then
  622. isBankCalm=true
  623. end
  624. end)
  625. jewlSign:GetPropertyChangedSignal("Transparency"):Connect(function()
  626. wait()
  627. isJewlOpen = jewlSign.Transparency>0.01
  628. if not isJewlOpen then
  629. isJewlCalm=true
  630. end
  631. end)
  632. museumPart:GetPropertyChangedSignal("CanCollide"):Connect(function()
  633. wait()
  634. isMuseumOpen = not museumPart.CanCollide
  635. end)
  636.  
  637. workspace.Ringers.Bank.ChildAdded:Connect(function() isBankCalm=false end)
  638. workspace.Ringers.Jewelry.ChildAdded:Connect(function() isJewlCalm=false end)
  639. --rob funcs
  640. local function robJewelry()
  641. if humanoid==nil or humanoid.Health<1 then wait(5) end
  642. toggleCanAbort(true)
  643. warnFlash("Jewelry")
  644. if abort or not settings.doJewl then cancel=true return end
  645. stprint("TPing to jewelry...")
  646. exitVehicle()
  647. local formerCF = root.CFrame
  648. variousTP(CFrame.new(156.8, 17.6, 1329.8))
  649. if abort then cancel=true return end
  650. --enter
  651. if RNG:NextInteger(1,2)==1 then
  652. root.CFrame = CFrame.new(142.17, 17.88, 1351.08)
  653. else
  654. root.CFrame = CFrame.new(89.7, 17.88, 1302.53)*CFrame.Angles(0,math.pi/-2,0)
  655. end
  656. wait(0.5)
  657. if settings.jewlAllowCrims and isJewlCalm then
  658. root.CFrame = CFrame.new(156.8, 17.6, 1329.8)
  659. for i=1,10 do
  660. if isJewlCalm and not abort then wait(0.5) end
  661. end
  662. end
  663. screnv.tick = function() return 0/0 end
  664. stprint("Robbery started!")
  665. local broke = 0
  666. --get jewels
  667. local boxes = workspace.Jewelrys:GetChildren()[1].Boxes:GetChildren()
  668. for i = #boxes, 2, -1 do --shuffle
  669. local j = RNG:NextInteger(1, i)
  670. boxes[j], boxes[i] = boxes[i], boxes[j]
  671. end
  672. for i=1,#boxes do
  673. local box = boxes[i]
  674. if abort or (broke>3 and isBagFull()) then
  675. --duffel bag full
  676. break
  677. end
  678.  
  679. if box.Transparency < 0.9 then
  680. if box.Position.X < 115 and box.Position.Z > 1330 then
  681. root.CFrame = CFrame.new(box.Position+box.CFrame.lookVector*2.5+Vector3.new(0,0,-2.5),box.Position)
  682. elseif box.Position.Z > 1338 then
  683. root.CFrame = CFrame.new(box.Position+box.CFrame.lookVector*-2.5,box.Position)
  684. else
  685. root.CFrame = CFrame.new(box.Position+box.CFrame.lookVector*2.5,box.Position)
  686. end
  687. wait(0.2)
  688. local hits = 0
  689. while abort==false and hits<4 and box.Transparency<0.9 do
  690. punch()
  691. hits=hits+1
  692. if punchEvent==nil then wait(0.5) else wait(0.05) end
  693. end
  694. broke=broke+1
  695. wait(0.2)
  696. end
  697. end
  698. screnv.tick=tick
  699.  
  700. root.CFrame = CFrame.new(156.8, 17.6, 1329.8)
  701. wait(0.8)
  702. stprint("Escaping...")
  703. variousTP(CFrame.new(-365.3, 35.52, 1578.5))
  704. wait(0.5)
  705. if settings.preferUnsafeEsc then
  706. variousTP(formerCF)
  707. else
  708. variousTP(CFrame.new(-303+RNG:NextNumber(-3,3),17.4,1430))
  709. end
  710. end
  711.  
  712. local function robBank()
  713. if humanoid==nil or humanoid.Health<1 then wait(5) end
  714. toggleCanAbort(true)
  715. warnFlash("Bank")
  716. if abort or not settings.doBank then cancel=true return end
  717. stprint("TPing to bank...")
  718. exitVehicle()
  719. local formerCF = root.CFrame
  720. variousTP(CFrame.new(121, 139.6, 834))
  721. if abort then cancel=true return end
  722. smoothTP(CFrame.new(23.6, 18.07, 853.5))
  723. wait(0.1)
  724. if isBankCalm then wait(1) end
  725. stprint("Opening vault...")
  726. if abort then return end
  727. root.CFrame = CFrame.new(30,0.78,816)*CFrame.Angles(0,math.pi/4,0)
  728. wait(0.5)
  729. --gets in vault
  730. for i=1,4 do
  731. if abort then break end
  732. root.CFrame = CFrame.new(21.7, 1.3, 829.6)*CFrame.Angles(0,math.pi/-2,0)
  733. wait(.25)
  734. end
  735. --wait until open
  736. local elapsed=0
  737. while abort==false and isBankOpen==true and isVaultOpen()==false and elapsed<20 do
  738. elapsed=elapsed+wait(.1)
  739. end
  740. elapsed = 0
  741. while abort==false and isBankOpen==true and (not (isVaultOpen() and copsTooClose(settings.bankRadius2))) and elapsed<5 do
  742. elapsed=elapsed+wait(.1)
  743. end
  744. stprint("Robbery started!")
  745. --wait for bag to fill or player leaves
  746. while abort==false and isBagFull()==false and (not (isVaultOpen() and copsTooClose(settings.bankRadius2))) and elapsed<70 do
  747. elapsed=elapsed+wait(.1)
  748. end
  749. stprint("Escaping...")
  750. if settings.preferUnsafeEsc then
  751. variousTP(formerCF)
  752. else
  753. variousTP(CFrame.new(-303+RNG:NextNumber(-3,3),17.4,1430))
  754. end
  755. end
  756.  
  757. local function robBoxcar()
  758. if humanoid==nil or humanoid.Health<1 then wait(5) end
  759. toggleCanAbort(true)
  760. warnFlash("Train")
  761. if abort or not settings.doTrain then cancel=true return end
  762. local gold = current_boxcar.Model.Rob.Gold
  763. local trainFront = workspace.Trains.LocomotiveFront.Model.Front
  764. stprint("TPing to train...")
  765. --tp
  766. exitVehicle()
  767. local formerCF = root.CFrame
  768. variousTP(gold.CFrame+gold.CFrame.rightVector*14)
  769. while (root.Position-gold.Position).magnitude > safeMove and abort==false do
  770. smoothTP(gold.CFrame+gold.CFrame.rightVector*14)
  771. end
  772. if abort then
  773. cancel=true
  774. return
  775. end
  776. if current_boxcar.Parent then
  777. local elapsed
  778. if boxcarEvent then
  779. boxcarEvent(current_boxcar)
  780. wait(0.1)
  781. else
  782. stprint("Opening door...")
  783. --open door
  784. if not abort then
  785. stepconn = Stepped:Connect(function()
  786. root.CFrame = current_boxcar.Skeleton.RoofDoorClosed.CFrame + Vector3.new(0,-5,0)
  787. root.Velocity,root.RotVelocity=v30,v30
  788. end)
  789. wait(0.5)
  790. while math.abs(yekaf - root.CFrame.Y) > 1.1 and not abort do
  791. wait(0.5)
  792. end
  793. holde=true
  794. keyclick(0x45)
  795. if keypress and keyrelease then
  796. --keypress doesn't seem to "hold" so this is necessary
  797. spawn(function()
  798. while wait(0.1) and holde do
  799. if windowFocused then keypress(0x45) end
  800. end
  801. keyrelease(0x45)
  802. end)
  803. end
  804. elapsed=0
  805. while abort==false and elapsed<9 and (current_boxcar.Skeleton.RoofDoor.Position-current_boxcar.Skeleton.RoofDoorClosed.Position).Magnitude < 1 do
  806. elapsed=elapsed+wait(0.3)
  807. end
  808. stepconn:Disconnect()
  809. wait()
  810. end
  811. holde=false
  812. stprint("Opening vault...")
  813. --open vault
  814. if not abort then
  815. stepconn = Stepped:Connect(function()
  816. root.CFrame = gold.CFrame+(gold.CFrame.lookVector*4.5)
  817. root.Velocity,root.RotVelocity=v30,v30
  818. end)
  819. wait(0.5)
  820. holde=true
  821. keyclick(0x45)
  822. if keypress and keyrelease then
  823. --keypress doesn't seem to "hold" so this is necessary
  824. spawn(function()
  825. while wait(0.1) and holde do
  826. if windowFocused then keypress(0x45) end
  827. end
  828. keyrelease(0x45)
  829. end)
  830. end
  831. elapsed=0
  832. while abort==false and elapsed<9 and current_boxcar.Skeleton.Vault.Part.RotVelocity.Magnitude < .001 do
  833. elapsed=elapsed+wait(0.3)
  834. end
  835. stepconn:Disconnect()
  836. wait(0.2)
  837. end
  838. holde=false
  839. end
  840. elapsed=0
  841. stprint("Robbery started!")
  842. --get gold
  843. if not abort then
  844. stepconn = Stepped:Connect(function()
  845. root.CFrame = gold.CFrame+(gold.CFrame.lookVector*3)
  846. root.Velocity,root.RotVelocity=v30,v30
  847. end)
  848. while abort==false and (not(elapsed>6 and isBagFull())) and trainFront.Position.X > -1584 and elapsed<65 do
  849. elapsed=elapsed+wait(0.3)
  850. end
  851. stepconn:Disconnect()
  852. if trainFront.Position.X < -1200 and trainFront.Position.Z < 550 then
  853. --boxcars={}
  854. end
  855. end
  856. end
  857. stprint("Escaping...")
  858. if settings.preferUnsafeEsc then
  859. variousTP(formerCF)
  860. else
  861. variousTP(CFrame.new(-303+RNG:NextNumber(-3,3),17.4,1430))
  862. end
  863. end
  864.  
  865. local function robMuseum()
  866. if humanoid==nil or humanoid.Health<1 then wait(5) end
  867. toggleCanAbort(true)
  868. warnFlash("Museum")
  869. if abort or not settings.doMuseum then cancel=true return end
  870. stprint("TPing to museum...")
  871. exitVehicle()
  872. local formerCF = root.CFrame
  873. --tp inside
  874. variousTP(CFrame.new(1067.8,102.8,1193.8))
  875. wait(0.5)
  876. if abort then cancel=true return end
  877. --instantly collect enough artifacts, dont wait too long
  878. stprint("Robbery started!")
  879. museumEvent()
  880. root.CFrame = CFrame.new(1036.5,101.2,1161.6)
  881. local t0=tick()
  882. wait(0.9)
  883. stprint("Escaping...")
  884. smoothTP(CFrame.new(1695.7,75.6,-1848.3),15)
  885. while abort==false and tick()-t0 < 16 do
  886. wait(0.3)
  887. end
  888. --tp to collector
  889. stprint("Selling...")
  890. if not abort then root.CFrame = CFrame.new(1643,50,-1800) end
  891. wait(1)
  892. if settings.preferUnsafeEsc then
  893. variousTP(formerCF)
  894. elseif not abort then
  895. root.CFrame = CFrame.new(1695.7+RNG:NextNumber(-3,3),75.6,-1848.3)
  896. end
  897. end
  898.  
  899. local function robSteamEngine()
  900. if humanoid==nil or humanoid.Health<1 then wait(5) end
  901. toggleCanAbort(true)
  902. warnFlash("Steam engine")
  903. if abort or not settings.doTrain then cancel=true return end
  904. exitVehicle()
  905. local formerCF = root.CFrame
  906. if player.Team.Name=="Prisoner" then
  907. --jailbreak :^)
  908. stprint("Breaking out...")
  909. variousTP(CFrame.new(-1609,110,-1574))
  910. local elapsed=0
  911. while abort==false and player.Team.Name=="Prisoner" and elapsed<3 do
  912. elapsed=elapsed+wait(0.3)
  913. end
  914. end
  915. --collect items and tp to volcano
  916. stprint("Robbery started!")
  917. spawn(steamEngineEvent)
  918. local t0=tick()
  919. smoothTP(CFrame.new(1695.7,75.6,-1848.3),10.2)
  920. while abort==false and tick()-t0 < 10.2 do
  921. wait(0.3)
  922. end
  923. stprint("Selling...")
  924. --tp to collector
  925. if not abort then root.CFrame = CFrame.new(1643,50,-1800) end
  926. wait(1)
  927. if settings.preferUnsafeEsc then
  928. variousTP(formerCF)
  929. elseif not abort then
  930. root.CFrame = CFrame.new(1695.7+RNG:NextNumber(-3,3),75.6,-1848.3)
  931. end
  932. end
  933.  
  934. local spyfunc = hookfunction or replaceclosure
  935. if spyfunc then
  936. oldWTSP = spyfunc(oldWTSP,function(self,v3)
  937. local ret = oldWTSP(self,v3)
  938. return ret,true
  939. end)
  940. end
  941.  
  942. local function newchar(char)
  943. if char then
  944. root = char:WaitForChild("HumanoidRootPart",4)
  945. uptorso = char:WaitForChild("UpperTorso",2)
  946. yekaf = uptorso.Position.Y - 0.6
  947. humanoid = char:WaitForChild("Humanoid",2)
  948. wait(0.2)
  949. NCparts = {}
  950. for _,v in ipairs(char:GetChildren()) do
  951. if v:IsA("BasePart") then
  952. NCparts[#NCparts+1]=v
  953. end
  954. end
  955. end
  956. end
  957. newchar(player.Character)
  958. player.CharacterAdded:Connect(newchar)
  959.  
  960. Stepped:Connect(function()
  961. local y = uptorso.Position.Y - 0.6
  962. if math.abs(y-yekaf) < 1 then
  963. yekaf = y
  964. else
  965. yekaf = yekaf + math.sign(y-yekaf)*1
  966. end
  967. end)
  968.  
  969. --airdrops thread
  970. if airdropEvent then
  971. spawn(function()
  972. while wait(0.5) and gui.Parent do
  973. local children = workspace:GetChildren()
  974. for i=1,#children do
  975. local child = children[i]
  976. if child.Name=="Drop" and child.ClassName=="Model" and child:FindFirstChild("Briefcase") and child:FindFirstChild("Parachute")==nil then
  977. airdropEvent()
  978. wait(0.5)
  979. break
  980. end
  981. end
  982. end
  983. end)
  984. end
  985.  
  986. --main loop
  987. local waiti=0
  988. local idletick=0
  989. while wait(0.5) and gui.Parent do
  990. if workspace.Trains:FindFirstChild("LocomotiveFront") then
  991. local trainpos = workspace.Trains.LocomotiveFront.Model.Front.Position
  992. if trainpos.X < -1300 and trainpos.Z < 350 then
  993. current_boxcar=nil
  994. end
  995. end
  996. if tick()-idletick > 60 then
  997. idletick=tick()
  998. game:GetService("VirtualUser"):CaptureController()
  999. game:GetService("VirtualUser"):ClickButton2(Vector2.new())
  1000. end
  1001.  
  1002. cancel=false
  1003. if settings.doMuseum and isMuseumOpen and museumEvent then
  1004. pcall(robMuseum)
  1005. toggleCanAbort(false)
  1006. if not cancel then
  1007. isMuseumOpen=false
  1008. stprint("Museum success!")
  1009. end
  1010. wait(2)
  1011. elseif settings.doJewl and isJewlOpen then
  1012. pcall(robJewelry)
  1013. toggleCanAbort(false)
  1014. if not cancel then
  1015. isJewlOpen=false
  1016. stprint("Jewelry success!")
  1017. end
  1018. wait(2)
  1019. elseif settings.doTrain and isTrainOpen and steamEngineEvent then
  1020. pcall(robSteamEngine)
  1021. toggleCanAbort(false)
  1022. if not cancel then
  1023. isTrainOpen=false
  1024. stprint("Train success!")
  1025. end
  1026. wait(2)
  1027. elseif settings.doTrain and current_boxcar then
  1028. pcall(robBoxcar)
  1029. toggleCanAbort(false)
  1030. if not cancel then
  1031. current_boxcar = nil
  1032. stprint("Train success!")
  1033. end
  1034. wait(2)
  1035. elseif settings.doBank and isBankOpen then
  1036. pcall(robBank)
  1037. toggleCanAbort(false)
  1038. if not cancel then
  1039. isBankOpen=false
  1040. stprint("Bank success!")
  1041. end
  1042. wait(2)
  1043. else
  1044. stprint("Wait for stores to open".. string.rep('.',waiti%3+1))
  1045. waiti=waiti+1
  1046. end
  1047. end
  1048. while wait() do
  1049. local r = (math.sin(workspace.DistributedGameTime/2)/2)+0.5
  1050. local g = (math.sin(workspace.DistributedGameTime)/2)+0.5
  1051. local b = (math.sin(workspace.DistributedGameTime*1.5)/2)+0.5
  1052. local color = Color3.new(r, g, b)
  1053. main.BackgroundColor3 = color
  1054. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement