Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --https://v3rmillion.net/showthread.php?tid=688367
- if not getrawmetatable then
- local h = Instance.new("Hint",workspace)
- h.Text = "Incompatible exploit."
- wait(2)
- h:Destroy()
- return
- end
- player = game:GetService("Players").LocalPlayer
- local root,uptorso,humanoid
- local v30=Vector3.new()
- local RNG=Random.new()
- local HOLD_E = false
- local abort = false
- local stepconn
- local green,red=Color3.fromRGB(0,230,0),Color3.fromRGB(230,0,0)
- local safeMove = 80 --distance allowed by anti exploit
- local settings = {enabled=true,jewlAllowCrims=false,preferLongTP=false,bankRadius2=19,preferUnsafeEsc=false}
- if readfile then
- pcall(function()
- local new = game:GetService("HttpService"):JSONDecode(readfile("JBAR.txt"))
- --corruption?
- local doOverwrite=false
- for k,v in pairs(new) do
- if settings[k]==nil then
- doOverwrite=true
- new[k]=nil
- end
- end
- for k,v in pairs(settings) do
- if new[k]==nil then
- doOverwrite=true
- new[k]=v
- end
- end
- --use input
- if doOverwrite then
- warn("Settings overwritten")
- writefile("JBAR.txt",game:GetService("HttpService"):JSONEncode(new))
- end
- settings = new
- end)
- end
- --handle character
- local Stepped = game:GetService("RunService").Stepped
- local NCparts = {}
- local NCconn
- local NCfunc = function()
- for i=1,#NCparts do
- NCparts[i].CanCollide=false
- end
- end
- local function noclip()
- if not NCconn then
- NCconn = Stepped:Connect(NCfunc)
- end
- end
- local function yesclip()
- if NCconn then
- NCconn:Disconnect()
- NCconn = nil
- end
- end
- local lastRootCf
- local function onRootChanged()
- if (root.CFrame.p-Vector3.new(-38.7,19.5,1094.2)).magnitude < 1 then
- root.CFrame = lastRootCf
- end
- end
- local function newchar(char)
- if char then
- root = char:WaitForChild("HumanoidRootPart")
- root:GetPropertyChangedSignal("CFrame"):Connect(onRootChanged)
- uptorso = char:WaitForChild("UpperTorso")
- humanoid = char:WaitForChild("Humanoid")
- wait(0.2)
- NCparts = {}
- for _,v in ipairs(char:GetChildren()) do
- if v:IsA("BasePart") then
- NCparts[#NCparts+1]=v
- end
- end
- end
- end
- newchar(player.Character)
- player.CharacterAdded:Connect(newchar)
- Stepped:Connect(function()
- lastRootCf = root.CFrame
- end)
- --interface
- Create = function(class,parent,props)
- local new = Instance.new(class)
- for k,v in next,props do
- new[k]=v
- end
- new.Parent = parent
- return new
- end
- gui=Create("ScreenGui",game.CoreGui,{Name="AutoRob", ResetOnSpawn=false, ZIndexBehavior="Sibling"})
- 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)})
- homeFrame=Create("Frame",main,{Name="homeFrame", BackgroundTransparency=1, Size=UDim2.new(1,-30,1,-55), Position=UDim2.new(0,15,0,40)})
- 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,
- BackgroundColor3=Color3.new(0.502,0.498,0.506), AutoButtonColor=false})
- 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})
- Status=Create("TextLabel",homeFrame,{Name="Status", Size=UDim2.new(1,0,0.27,0), Text="Status: Loading luraph...", TextSize=15, TextXAlignment="Left", Font="Code",
- BackgroundTransparency=0.25, Position=UDim2.new(0,0,0.73,0), BackgroundColor3=Color3.new(1,1,1)})
- 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,
- BackgroundColor3=settings.enabled and green or red})
- 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()})
- 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)})
- jewelryLbl=Create("TextLabel",availabels,{Name="jewelryLbl", Size=UDim2.new(0.2,0,1,0), Text="Jewel", TextSize=18, Font="SourceSansLight", BackgroundTransparency=1,
- Position=UDim2.new(0.2,0,0,0), TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)})
- trainLbl=Create("TextLabel",availabels,{Name="trainLbl", Size=UDim2.new(0.2,0,1,0), Text="Train", TextSize=18, Font="SourceSansLight", BackgroundTransparency=1,
- Position=UDim2.new(0.6,0,0,0), TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)})
- bankLbl=Create("TextLabel",availabels,{Name="bankLbl", Size=UDim2.new(0.2,0,1,0), Text="Bank", TextSize=18, Font="SourceSansLight", BackgroundTransparency=1,
- Position=UDim2.new(0.8,0,0,0), TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)})
- airdropLbl=Create("TextLabel",availabels,{Name="airdropLbl", Size=UDim2.new(0.2,0,1,0), Text="Airdrop", TextSize=18, Font="SourceSansLight", BackgroundTransparency=1,
- Position=UDim2.new(0.4,0,0,0), TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)})
- museumLbl=Create("TextLabel",availabels,{Name="museumLbl", Size=UDim2.new(0.2,0,1,0), Text="Museum", TextSize=18, Font="SourceSansLight", BackgroundTransparency=1,
- TextColor3=Color3.new(1,1,1), BackgroundColor3=Color3.new(1,1,1)})
- 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",
- BackgroundTransparency=1, Font="GothamBold", Position=UDim2.new(1,-22,0,0), TextScaled=true})
- 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})
- 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)})
- Frame=Create("Frame",setsframe,{BackgroundTransparency=1, Size=UDim2.new(1,0,0.25,0)})
- 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),
- TextScaled=true, BackgroundColor3=Color3.new(1,1,1)})
- Label=Create("TextLabel",Frame,{TextWrapped=true, Size=UDim2.new(0.8,0,1,0), Text="Bank Cops Safety Radius", TextSize=15, Font="Code", BackgroundTransparency=1})
- 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()})
- 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,
- BackgroundColor3=Color3.new(1,1,1)})
- 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})
- Frame_3=Create("Frame",setsframe,{BackgroundTransparency=1, Size=UDim2.new(1,0,0.25,0), Position=UDim2.new(0,0,0.5,0)})
- TpSetBtn=Create("TextButton",Frame_3,{Name="TpSetBtn", Size=UDim2.new(0,25,0,15), Text=settings.preferLongTP and 'X' or '', Font="SourceSansSemibold", Position=UDim2.new(0.8,0,0.2,0), TextSize=20,
- BackgroundColor3=Color3.new(1,1,1)})
- Label_3=Create("TextLabel",Frame_3,{TextWrapped=true, Size=UDim2.new(0.8,0,1,0), Text="Prefer Longer TP Method", TextSize=15, Font="Code", BackgroundTransparency=1})
- 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()})
- 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,
- BackgroundColor3=Color3.new(1,1,1)})
- Label_4=Create("TextLabel",Frame_4,{TextWrapped=true, Size=UDim2.new(0.8,0,1,0), Text="Escape To Former Position", TextSize=15, Font="Code", BackgroundTransparency=1})
- Title=Create("TextLabel",main,{Name="Title", TextWrapped=true, Size=UDim2.new(0.5,0,0,20), Text="Jailbreak Auto-Rob", TextSize=18, Font="Highway",
- BackgroundTransparency=1, Position=UDim2.new(0.24,0,0,3), TextColor3=Color3.new(0.9,0.9,0.9), BackgroundColor3=Color3.new(1,1,1)})
- SaveSetsBtn=Create("TextButton",main,{Name="SaveSetsBtn", Size=UDim2.new(0,60,0,25), Text="Save", Font="SourceSans", Style="RobloxRoundDefaultButton", Position=UDim2.new(0,30,0,-25),
- TextSize=20})
- --gui code
- CloseBtn.MouseButton1Click:Connect(function() gui:Destroy() abort=true end)
- CloseBtn.MouseEnter:Connect(function() CloseBtn.TextColor3=red end)
- CloseBtn.MouseLeave:Connect(function() CloseBtn.TextColor3=Color3.new(0.9,0.9,0.9) end)
- local function toggleCanAbort(bool)
- AbortBtn.AutoButtonColor=bool
- AbortBtn.BackgroundColor3 = bool and Color3.new(0.353,0.557,0.914) or Color3.new(0.502,0.498,0.506)
- Shade.Visible = bool
- abort=false
- end
- AbortBtn.MouseButton1Click:Connect(function()
- if AbortBtn.AutoButtonColor==true then
- if stepconn then stepconn:Disconnect() end
- local hit,p = workspace:FindPartOnRay(Ray.new(player.Character.Head.Position+Vector3.new(0,10,0),Vector3.new(0,20,0)))
- if hit then
- player.Character:MoveTo(p)
- else
- local angle = RNG:NextNumber(0,math.pi*2)
- root.CFrame=root.CFrame+Vector3.new(safeMove*math.cos(angle),math.max(0,200-root.CFrame.y),safeMove*math.sin(angle))
- end
- toggleCanAbort(false)
- abort=true
- AbortBtn.Text = "Aborted."
- wait(2.8)
- AbortBtn.Text = "ABORT"
- end
- end)
- local function stprint(txt)
- Status.Text = "Status: "..txt
- end
- local function strToNum(str)
- return tonumber((tostring(str):gsub("%D", "")))
- end
- local tweenCogOut = game:GetService("TweenService"):Create(CogBtn,TweenInfo.new(0.25),{Rotation=135})
- local tweenCogIn = game:GetService("TweenService"):Create(CogBtn,TweenInfo.new(0.25),{Rotation=0})
- local cogOut = false
- CogBtn.MouseButton1Click:Connect(function()
- cogOut = not cogOut
- if cogOut then
- setsframe:TweenPosition(UDim2.new(0,5,0.2,5),nil,"Quart",0.3,true)
- homeFrame:TweenPosition(UDim2.new(1,15,0,40),nil,"Quart",0.3,true)
- if writefile then SaveSetsBtn:TweenPosition(UDim2.new(0,30,0,2),nil,"Quart",0.3,true) end
- tweenCogOut:Play()
- else
- setsframe:TweenPosition(UDim2.new(-1,5,0.2,5),nil,"Quart",0.3,true)
- homeFrame:TweenPosition(UDim2.new(0,15,0,40),nil,"Quart",0.3,true)
- SaveSetsBtn:TweenPosition(UDim2.new(0,30,0,-25),nil,"Quart",0.3,true)
- tweenCogIn:Play()
- end
- end)
- local bankBoxOld=BankRadiusBox.Text
- BankRadiusBox:GetPropertyChangedSignal("Text"):Connect(function()
- BankRadiusBox.Text=BankRadiusBox.Text:sub(1,4)
- local num = tonumber(BankRadiusBox.Text)
- if num then
- if num>99 then
- BankRadiusBox.Text = '99'
- end
- elseif BankRadiusBox.Text~='' then
- BankRadiusBox.Text = bankBoxOld
- end
- bankBoxOld = BankRadiusBox.Text
- end)
- BankRadiusBox.FocusLost:Connect(function()
- if tonumber(BankRadiusBox.Text) then
- settings.bankRadius2=tonumber(BankRadiusBox.Text)
- end
- BankRadiusBox.Text=tostring(settings.bankRadius2)
- end)
- JewlSetBtn.MouseButton1Click:Connect(function()
- settings.jewlAllowCrims = not settings.jewlAllowCrims
- JewlSetBtn.Text = settings.jewlAllowCrims and "X" or ""
- end)
- TpSetBtn.MouseButton1Click:Connect(function()
- settings.preferLongTP = not settings.preferLongTP
- TpSetBtn.Text = settings.preferLongTP and "X" or ""
- end)
- EscSetBtn.MouseButton1Click:Connect(function()
- settings.preferUnsafeEsc = not settings.preferUnsafeEsc
- EscSetBtn.Text = settings.preferUnsafeEsc and "X" or ""
- end)
- SaveSetsBtn.MouseButton1Click:Connect(function()
- if writefile and SaveSetsBtn.Style.Name=="RobloxRoundDefaultButton" then
- SaveSetsBtn.Style="RobloxRoundButton"
- writefile("JBAR.txt",game:GetService("HttpService"):JSONEncode(settings))
- SaveSetsBtn.Text="Saved."
- wait(1)
- SaveSetsBtn.Text="Save"
- SaveSetsBtn.Style="RobloxRoundDefaultButton"
- end
- end)
- ToggleBtn.MouseButton1Click:Connect(function()
- settings.enabled = not settings.enabled
- ToggleBtn.BackgroundColor3 = settings.enabled and green or red
- end)
- local function warnFlash(s)
- stprint(s.." ready.")
- local col0 = main.BackgroundColor3
- for i=1,4-math.min(3,time()/7200) do
- for a=0,1,1/(30*.25) do
- main.BackgroundColor3 = col0:lerp(red,a)
- wait()
- end
- for a=0,1,1/(30*.25) do
- main.BackgroundColor3 = red:lerp(col0,a)
- wait()
- end
- end
- main.BackgroundColor3 = col0
- end
- --vitals
- local mainScr = player.PlayerScripts.LocalScript
- local oldWTSP = workspace.CurrentCamera.WorldToScreenPoint
- local MT = getrawmetatable(game)
- if setreadonly then
- setreadonly(MT,false)
- elseif make_writeable then
- make_writeable(MT)
- end
- local old__namecall = MT.__namecall
- local old__index = MT.__index
- function MT:__namecall(...)
- local args = {...}
- local m = args[#args]
- if m=="WorldToScreenPoint" and self.ClassName=="Camera" then
- local ret = oldWTSP(self,...)
- return ret,true
- elseif m=="FindPartOnRay" and typeof(args[1])=="Ray" and args[1].Origin==uptorso.Position and args[1].Direction==Vector3.new(0,-8,0) then
- return nil, args[1].Origin+args[1].Direction, v30, Enum.Material.Air
- end
- return old__namecall(self,...)
- end
- function MT:__index(k)
- if screnv==nil and getfenv(2).script==mainScr then
- screnv = getfenv(2)
- screnv.getfenv = function() return screnv end
- end
- if k=="PlatformStand" and self==humanoid and getfenv(2).script==mainScr then
- return true
- end
- return old__index(self,k)
- end
- if getupvalues or debug.getupvalues then
- spawn(function()
- local t=string.byte;local d=string.char;local C=string.sub;local H=table.concat;local f=math.ldexp;local D=getfenv or function()return _ENV end;local K=setmetatable;local G=unpack;local l=pcall;local S=tonumber;local function i(G)local e,n,a="","",{}local o=256;local c={}for l=0,o-1 do c[l]=d(l)end;local l=1;local function t()local e=S(C(G,l,l),36)l=l+1;local n=S(C(G,l,l+e-1),36)l=l+e;return n end;e=d(t())a[1]=e;while l<#G do local l=t()if c[l]then n=c[l]else n=e..C(e,1,1)end;c[o]=e..C(n,1,1)a[#a+1],e,o=n,n,o+1 end;return table.concat(a)end;local c=i('21O21427521521027521422722522K22L22G22M22121W22L22522J21521A27922422522222L22721521B27927B22K22I22527T27827527X27Z22721T22J27Y22921521927922K22922G2252172792792601N21427M28D22122221W2252151W27923E22122722421Z21W21W2151Y27923H21Y22I28Y29029228I28J2792151X27922622L21Y22322K21T21Z21Y28B27921Y22522822K28O27523F28G22327L27N27523229921X28T1Z27922G29K22321S23122M22521Y29W28221422221Z22822322122I2AF2AH29W21L27928822522121X23121Y28629T2AS2AI27727921X22L22J22522L2B02AG2B621127922121T22I22422I21Z22G2B522K27529H27529D2142BV28K1N2BX28J2C027522W21629E1327926D21425S25Z2602792692182CB25K21827526K2CJ21426A2CM26M2282CB25G2282141W2CL28V2CO27526M22K2CS2BR1W27021421K21426127926W2182D82612CM26G21K102142DH2D021S2CS21S2CV2682102D825N28226S2141821425L27926S21C2D825V21C27526O2182DJ25L2CM26O21G2E421G27526C1W2D826L28V2DK2EG21425P2EO26K2E62EP2ET26M22O2CS22O2CV26K2CV21426327926M2302CS2302F02CM25P2CM2CL2752CZ21426M1K2CS1K2CV2D62DE2792CL2DY2FG26M1S2CS1S2DQ2DS2142DU27526W2DX2DZ2DB21O2E42742142EI2EK2EM26K2G825P2G826M182CS2DY1W2682EM25Y2GC2FD2CP24027V25G24025Z21B26M24C2GT24C2GW26M2542GT2542H221S2GT21S2H22GZ21425G2H12GX26S2GT26S2H226K2GT26K2H223K2GT23K2GW2CM2BW29E29F28C27529T29V29G29I2AC29N29P2C228L21521528J21M27926H2CA25Z25O2C82CG25Z25Q2CM26827925K2792702D821425K2IR26M1C2CS1C2CV26O2CE27925O2ET25P2ET26O2EJ21425U2GC2EE21426J2EO26M21O2CS2741W26G2182E62682CM26C2D721425H2F52102CS2782JK2GN2GP2CK2CP25C2GT25C2H225O2GT25O2H22682GT2682GW2A92BU2HV2I72BT21429J29L2I429Q2HX2142HZ29W2A321422K28Q28S2C026G23422W2152BV23H22P28N2KT22Y21T21Y22422J2C21W2L12KP22U2AZ28T2KT23C2AC2DP2HT21423A27926L2IE25D27926G2IN2LV2CM2CI2752C92CH2F521G25T25Z25X21G28U2D62752692IP21K2E625S2IR2DC27525M2CM26S2IR2IT2G12J825K2GC21O28V26J2GG1W2M625G1W28U26X1W2CB26B2EM26S2EM25M2EM26O2MO2IR2N82E62MS2D025S2CS25S2CV25G2CM2CF27525C2IY2EP2NS2N02D82JA2CK102E626J2DJ2FH25C2CS25C2NM2822692822NR27525P2NU2J82NX21426K21K23C2CN2IU26O2CS2J01W25H2N425Z2N62NQ2NS2OD2752641O2OY2P02FH26C2CS2JQ2N42NO2CM24S1G2OC2PB2CA2OF2GC1K2MV2FL2FH2442CS2442CV25T2OS2OU21424S2N92EM24O2PD25K2PD2PT2NG2EM26M23O2CS23O2CV2582P827525422S2OC2QC2142582PF2CK23C2O02OK2FH2502CS2502Q722S2DJ25I2QE26G23C2P026E2QL26M2582CS2582Q72Q92142QB2PB2QT2752QG2NW2GC2QJ2JD2QZ24S2CS24S2CV2592IE2IG2752552GI2CC2DY2142512IE2IO27525A142CB25X142CV23W22S2R82QE23W2202402CA22027523W2F52F52DN25Z25G2DP1W2S42S62SD2S92SB2SO2EZ25I2SC2OH2202OK26J2SU26M2342CS2342S32S52142R92142S82SA25S2SU23W2JZ2RX2KD25Z25F2KD21B2NL2D82JT2D02F72SI2F91W25G2JR2TN2FH22W2CS22W2CV2G22TM2F52FJ2SI2FL1W26M26O25Y2TH2U921B2FE2OH2CP2602GT2602K62K82H225K2GT25K2H22HH2HD2HJ2GX26W2GT26W2H226C2GT26C2H226G2GT26G2H22442GT2442H22GS2HD2GV2GX2HC2HE2H223O2GT23O2HO2HQ2H21O2GT1O2H22182GT2182KA27N25G26825Y21B2C52762KP22N2BJ22K2BV26W24G26J21422Y2HV2HT2LS2N52IC2II25O2FD1W28V26D2K02UF27629F2KJ22Z27H21W22222122321V28N28J2KP2F12MC2FP27926727926C2CM2652FD2102WM2822UE2UE2952KG29E28L28N2LG2LI29427922V28G21Y1823021Z21Z22I2I127522K21Z28822I2L927T2KP23C2AQ29W21328W2XW2262XV2XX22Z21W2Y22252242152BH27522P22J22X29L27K2Y122I22V2262YM27922Y27Z2WX21S1823I22122L21W29W2WS2WU2WW2WY2I828J1M2J12CB2LU2752MB2IS2ME2752MP21426X2RV27926A23K2S023K2IZ2J12E721G2P025S2EO2OP2142ID2D023S2CS23S2CV26M31092SI310B2CW2182MV2CP2QN2SI2QP1W25O2JC25I2ER182O02RS2R02R22CV25P21K2N52MO21G2QS2EO25O2QH2OH182P026J310V2RH2SI2RJ310O2142PB2X727525G31132T631152FY25U2822RN2FH2F52D22SI2D426G2EO2EQ2D022G2CS22G2F02WL2JD2Q221W2CS21W2CV310P2D8310R2CK182TZ311B2D02242CS224312C311H214311J2HD311M312F21425O311P311R2SF2D023G2CS23G2CV26C311Z2EO2LW2D02F522S2CS2QC310O2182EZ2672CM2NN2752XB275312W2XE2EH312Z2FH2U425G2U63116313G2EM313J214313L312V2XD21426D28226A22S25Z2TH31472UD2GQ2D02342GT2342HK2HM2H22582GT2582H22H42HD2H62GX24K2GT24K2H224G2GT24G2H22482GT2482VH2VJ2VL2HD2HR2GX23W2GT23W2HB2H0314H2HD2HN21B2AV2XJ2HV2I62BZ2HV2142L12EM2142B12KW2YK29R2752LH2A72152HT22J22L2222C221O2L12KT233299222182XP27522N2XX21V22J22G2WX28T27V27523G2992L927L2YN2142YP2YR2232YT2XX2YW315V2142Y822I2W62HV21G2L12KJ2Y42252262AP2BB316Z2W421T2Z92792WT2922ZC21V2C21A2TZ2I927928M2752WF25Z2662WH2CH2CM2WN2CH2EM2CF2CB2WJ27526I2PL2M72PN1W26X2WI2MM2ZZ2142E231852ET26P318C27526Y23W2S02SE1W2RW2142MD2ZO1C2TZ25S2NS318R26M2F5310E25G310G25G1C2E625I2NU313Q26M24W2CS24W2NM1C2DY3198311K319A2542CS254319F319H2NU102DJ2672O22XB2CB2602CM26121C2CH2ET25G21K2NW2IR26K102PB2O12D02CR2SI2CU2OQ2RQ26B2RS25G102SS2O231AJ2OK25C2O22641C2T325K2NU2FY25K2822TT31392D02202CS2SC2JK31A421426E2IU2382CS238319O2T6319Q319S319U1O31832P225G312X2NY2DP31AA2FH2EX2SI2EZ2OQ1G2N52PD25D318K2HD31262WN311K1C2CU2622NS2642LZ313I314231AX2CK2F22IM2CK2TZ2CN31CH26M102CS2DJ310H2K1318L23C314825F31CR21B26I1G31CS31CX314B31CP2FH25G2GT25G2H22K32HD2K52GX2K72HD2K92GX2UN2HD2UP2HG2HI314Z31512H22702GT2702H22UV2HD2UX21B2KF2HU2XK1N316Z315X28T3160316231643166279316828Q316B2XI214316E22I316G316I316V27U27922T2BA2BC21X2YY2YO2YQ2YS288316X2YX2Y72Y92XZ214317I2WV2WX21V317D2W52X02791D2LR2LT2LV2LX2752JL2ZO317Y2ZS312K2S0312N2D5318E2IQ2MG2IR2ZL31902D031BA2SI31BC1W26W21K28V25I2MI319A31312SI313331FU31FW2T62MI2G6312Q2G826P2IE2CD2OC2JV25Z31CC21431FV31A52CK21O2DY2MW2D0313S2U626X2JH2OT2G826W21O2P025I31GV21O2PB25C2G82NC2TZ2ZP26W31AW2822G231B02FH2IW2SI2IY31G4313G2IR2E8313K2CM31H8313O2ZQ31CL2OT2O22DC28V25W2CP2H62TH314Q2XG2UG2UI2H231D32HD31D52GX31D725G31D926M31DB25G31DD316L31DW28J2I72XN315Y2KT2YI22N2252XY2IB27522G21T2WY1827E182223178317A221317C316R316T31EQ2YU316Y31EU317231EW31EY317K2ZE279192IC31F8313P2ZO2X82EM2NH318S31FF21426I23C2S02OK31FU318E31GW2DY25S31GV319A31BR25G31BT26S2MU2T62G82DW31HC26M2TX2SI2TZ1W31K431FX31K72E3312Q2ET2N82RC2CK21C2O02EV31BI2SI2P031KE2G3312R25O21O2QS31K731BM318F319A2RQ25G2GK31K42P02672G83184313Z2MM314231442D031GT25G2JJ26I315B2TH315B31D02WP2FH2UH2HD2UJ2GX31I425G31I626M31I831IA31IC31DD31IB2UL21B24I31F72CB25E2LV31JL318131JO2IM28V31072FH2482MZ24828U31822OT2IL28225I2822712PQ2EM2D631MF31912MZ23S28U2712II26B2CM31FL31G62ZK319A2582MZ25828U31CF311T2D02542MZ25431N031MT31N731MW2D024G2MZ24G31N031N231N42MF31N62142702DD21426N2CM26X31102OT2IR26T2II25T2FD2GE31GA2OS2PP2CK2IR310Z31GL2OC2G826K28225P2XF2J42J631NY31O031FB3136310027525Z311Z31GT25K2G82ZP2ZP25H31OY2G825Q2ON2M72OP26421K2T32MH2CK31012JD2JF1G2MZ1G28U26031OA27525W2P225P2P2260311726K1S31A92FW2FH102MZ1031PL1O2TZ25I31PS31L32MZ316B1W2601O2SS31Q731K921C2MZ21C31Q331852P231PV2SX31PY26M21K2MZ21K28U26131GF25T282264182DP26C2RS31HK31LC2D02182MZ21828U26K1W311A2Q22142MZ28N31QB31PN21431PP2OC31PS31PU1S2T326J31QP2602CS2CD1W26131KR26B2P225W28225R28225S2P225K31S01W2Q12D025K2CS2IO1W24K31RJ24G2F92EP31SJ24K31PU22O31A92EZ2FH26W2CS2G231SF2302DP25I31SL319A2682CS31ME24K230312431SY27524K319A26G2CS2LW31SV318531SJ26K22O2SX31SQ26M2402CS2SA1W26C31SW2T631SJ2CD2U22D02482CS2482ZY31K92Q42SI2Q631TP319A2ZV2SI2ZX2U731U725G31U925Q21G31CS31UF21B2ZL25J31F931K9310L25G310N27131O325T31A62FB2CM2712U425K2PJ2JQ31K924K2CS31T91W27131GT25T31OJ2EM25P2EM27131KB25K31CH27131A025Z25T2ET31RB2OC31VC2TP25K31SJ27121G2CB25T2ER31VA31VC31BR25K31SQ2712RQ25T2RS31VM2EP31VC313B31GG2QE31I02D022S2VW22S2VZ26M2242VW22431WH23S2GT23S2H22502GT2502H222K2VW22K31WH2VS2HD2VU2GX2142GT2142H225W2VW25W31WH25S2VW25S31WH2642VW26431WH2242GT2242H22202GT2202H22382GT2382H223C2GT31CU26M22S2GT314A2EW2GT22O2H22302GT2302H222W2GT22W2H231X32HD31X52GX23G2GT23G31XU31XW31YL2HD31XX31XJ2HD31XL2GX24W2GT24W2GW');local o=bit and bit.bxor or function(l,e)local n,o=1,0 while l>0 and e>0 do local c,C=l%2,e%2 if c~=C then o=o+n end l,e,n=(l-c)/2,(e-C)/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 c,n,C,e=t(c,l,l+3);c=o(c,40)n=o(n,40)C=o(C,40)e=o(e,40)l=l+4;return(e*16777216)+(C*65536)+(n*256)+c;end;local function a()return e()*4294967296+e();end;local function a()local e=o(t(c,l,l),40);l=l+1;return e;end;local function i()local l=e();local e=e();local C=1;local o=(n(e,1,20)*(2^32))+l;local l=n(e,21,31);local e=((-1)^n(e,32));if(l==0)then if(o==0)then return e*0;else l=1;C=0;end;elseif(l==2047)then return(o==0)and(e*(1/0))or(e*(0/0));end;return f(e,l-1023)*(C+(o/(2^52)));end;local f=e;local function S(e)local n;if(not e)then e=f();if(e==0)then return;end;end;n=C(c,l,l+e-2);l=l+e-1;local e={}for l=1,#n do e[l]=d(o(t(C(n,l,l)),40))end return H(e);end;local l=e;local function W()local t={};local d={};local G={};local l={};local c={};c[1]=t;c[2]=G;c[3]=d;c[7]=l;for n=1,e()do local e=a();local l;if(e==2)then l=(a()~=0);elseif(e==3)then l=i();elseif(e==1)then l=C(S(),1,-1);end;G[n-1]=l;end;c[6]=a();c[5]=a();for l=1,e()do d[l-1]=W();end;for a=1,e()do local C=o(e(),196);local e=o(e(),224);local o=n(C,1,2);local c=n(e,1,10);local l={};l[1]=c;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;t[a]=l;end;return c;end;local function t(...)local l={...};return l,#l end;local function i(l,f,S)local a=l[1];local c=l[2];local W=l[3];local H=l[6];return function(...)local n=1;local o=-1;local h={};local C={...};local l=#C-1;local d={};local e={};for l=0,l do if(l>=H)then h[l-H]=C[l+1];else e[l]=C[l+1];end;end;local l;local C;while true do l=a[n];C=l[1];if C<=22 then if C<=10 then if C<=4 then if C<=1 then if C>0 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]]-e[l[4]];else S[c[l[3]]]=e[l[2]];end;elseif C<=2 then local c=l[2];if c>o then o=c end;e[c]=f[l[3]];n=n+1;l=a[n];C=l[1];local c=l[2];if c>o then o=c end;e[c]=e[l[3]];n=n+1;l=a[n];C=l[1];local d;local c=l[2];local a={};local n=0;local C=c+l[3]-1;for l=c+1,C do n=n+1;a[n]=e[l];end;d,C=t(e[c](G(a,1,C-c)));C=c+l[4]-2;n=0;for l=c,C do n=n+1;e[l]=d[n];end;o=C;elseif C>3 then local n=l[2];if n>o then o=n end;e[n]=c[l[3]];else local n=l[2];if n>o then o=n end;e[n]=e[l[3]]+e[l[4]];end;elseif C<=7 then if C<=5 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]];elseif C>6 then local c=l[2];if c>o then o=c end;e[c]=e[l[3]];n=n+1;l=a[n];C=l[1];local c=l[2];if c>o then o=c end;e[c]=e[l[3]];n=n+1;l=a[n];C=l[1];local a;local C=l[2];local d={};local n=0;local c=C+l[3]-1;for l=C+1,c do n=n+1;d[n]=e[l];end;a,c=t(e[C](G(d,1,c-C)));c=C+l[4]-2;n=0;for l=C,c do n=n+1;e[l]=a[n];end;o=c;else local G=l[2];if G>o then o=G end;e[G]=S[c[l[3]]];n=n+1;l=a[n];C=l[1];local c=l[2];if c>o then o=c end;e[c]=e[l[3]];n=n+1;l=a[n];C=l[1];for l=l[2],l[3]do e[l]=nil;end;end;elseif C<=8 then local d=l[2];local S=e[l[3]];e[d+1]=S;e[d]=S[c[l[4]]];if d+1>o then o=d+1 end;n=n+1;l=a[n];C=l[1];local d=l[2];if d>o then o=d end;e[d]=e[l[3]][c[l[4]]];n=n+1;l=a[n];C=l[1];local d;local c=l[2];local a={};local n=0;local C=c+l[3]-1;for l=c+1,C do n=n+1;a[n]=e[l];end;d,C=t(e[c](G(a,1,C-c)));C=c+l[4]-2;n=0;for l=c,C do n=n+1;e[l]=d[n];end;o=C;elseif C>9 then local t=W[l[3]];local H;if t[5]~=0 then local l={};H=K({},{__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,t[5]do n=n+1;local n=a[n];if n[1]==5 then l[o-1]={e,n[3]};else l[o-1]={f,n[3]};end;d[#d+1]=l;end;end;local G=l[2];if G>o then o=G end;e[G]=i(t,H,S);n=n+1;l=a[n];C=l[1];for l=l[2],l[3]do e[l]=nil;end;n=n+1;l=a[n];C=l[1];local n=l[2];if n>o then o=n end;e[n]=S[c[l[3]]];else local G=l[2];if G>o then o=G end;e[G]=c[l[3]];n=n+1;l=a[n];C=l[1];local G=l[2];if G>o then o=G end;e[G]=f[l[3]];n=n+1;l=a[n];C=l[1];local G=l[2];if G>o then o=G end;e[G]=#e[l[3]];n=n+1;l=a[n];C=l[1];local n=l[2];if n>o then o=n end;e[n]=c[l[3]];end;elseif C<=16 then if C<=13 then if C<=11 then local o=l[2];local c=e[o+2];local C=e[o]+c;e[o]=C;if c>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;elseif C>12 then local o=l[2];local c=l[4];local l=o+2;local C={e[o](e[o+1],e[l])};for n=1,c do e[l+n]=C[n];end;local o=e[o+3];if o then e[l]=o else n=n+1;end;else n=n+l[3];end;elseif C<=14 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]][c[l[4]]];elseif C>15 then local G=l[2];if G>o then o=G end;e[G]=c[l[3]];n=n+1;l=a[n];C=l[1];local n=l[2];if n>o then o=n end;e[n]=c[l[3]];else local c=l[2];local o={};for l=1,#d do local l=d[l];for n=0,#l do local l=l[n];local C=l[1];local n=l[2];if C==e and n>=c then o[n]=C[n];l[1]=o;end;end;end;end;elseif C<=19 then if C<=17 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]]%c[l[4]];elseif C>18 then if(e[l[3]]<e[l[4]])then n=n+1;end;else local d=l[2];local S=e[l[3]];e[d+1]=S;e[d]=S[c[l[4]]];if d+1>o then o=d+1 end;n=n+1;l=a[n];C=l[1];local c=l[2];if c>o then o=c end;e[c]=(l[3]~=0);n=n+1;l=a[n];C=l[1];local a;local n=l[2];local c={};local C=0;local l=n+l[3]-1;for l=n+1,l do C=C+1;c[C]=e[l];end;a,l=t(e[n](G(c,1,l-n)));o=n-1;end;elseif C<=20 then for l=l[2],l[3]do e[l]=nil;end;elseif C>21 then local G=l[2];if G>o then o=G end;e[G]=c[l[3]];n=n+1;l=a[n];C=l[1];local G=l[2];if G>o then o=G end;e[G]=c[l[3]];n=n+1;l=a[n];C=l[1];local n=l[2];if n>o then o=n end;e[n]=c[l[3]];else local n=l[2];if n>o then o=n end;e[n]=(l[3]~=0);end;elseif C<=34 then if C<=28 then if C<=25 then if C<=23 then local n=l[2];local C=e[l[3]];e[n+1]=C;e[n]=C[c[l[4]]];if n+1>o then o=n+1 end;elseif C>24 then local C=W[l[3]];local c;if C[5]~=0 then local l={};c=K({},{__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=a[n];if n[1]==5 then l[o-1]={e,n[3]};else l[o-1]={f,n[3]};end;d[#d+1]=l;end;end;local l=l[2];if l>o then o=l end;e[l]=i(C,c,S);else local n=l[2];if n>o then o=n end;e[n]=e[l[3]][e[l[4]]];end;elseif C<=26 then local a;local c=l[2];local d={};local n=0;local C=c+l[3]-1;for l=c+1,C do n=n+1;d[n]=e[l];end;a,C=t(e[c](G(d,1,C-c)));C=c+l[4]-2;n=0;for l=c,C do n=n+1;e[l]=a[n];end;o=C;elseif C>27 then local l=l[2];e[l]();o=l-1;else local n=l[2];if n>o then o=n end;e[n]=e[l[3]]/c[l[4]];end;elseif C<=31 then if C<=29 then local o=l[2];e[o]=e[o]-e[o+2];n=n+l[3];elseif C>30 then for l=l[2],l[3]do e[l]=nil;end;n=n+1;l=a[n];C=l[1];local G=l[2];if G>o then o=G end;e[G]=c[l[3]];n=n+1;l=a[n];C=l[1];local G=l[2];if G>o then o=G end;e[G]=#e[l[3]];n=n+1;l=a[n];C=l[1];local n=l[2];if n>o then o=n end;e[n]=c[l[3]];else local o=l[2];local C=o+l[3]-2;local n={};local l=0;for o=o,C do l=l+1;n[l]=e[o];end;do return G(n,1,l)end;end;elseif C<=32 then if(e[l[3]]~=e[l[4]])then n=n+1;end;elseif C>33 then local n=l[2];if n>o then o=n end;e[n]=#e[l[3]];else if not e[l[2]]then n=n+1;end;end;elseif C<=40 then if C<=37 then if C<=35 then if(e[l[3]]==c[l[4]])then n=n+1;end;elseif C>36 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]]*c[l[4]];else do return end;end;elseif C<=38 then if e[l[2]]then n=n+1;end;elseif C>39 then local n=l[2];if n>o then o=n end;e[n]=e[l[3]]+c[l[4]];else local C=l[2];local c,n=t(e[C]());n=C+l[4]-2;local l=0;for n=C,n do l=l+1;e[n]=c[l];end;o=n;end;elseif C<=43 then if C<=41 then local n=l[2];if n>o then o=n end;e[n]=f[l[3]];elseif C>42 then local n=l[2];if n>o then o=n end;e[n]=S[c[l[3]]];else if(c[l[3]]<e[l[4]])then n=n+1;end;end;elseif C<=44 then e[l[2]][c[l[3]]]=e[l[4]];elseif C>45 then if(e[l[3]]~=c[l[4]])then n=n+1;end;else local a;local n=l[2];local c={};local C=0;local l=n+l[3]-1;for l=n+1,l do C=C+1;c[C]=e[l];end;a,l=t(e[n](G(c,1,l-n)));o=n-1;end;n=n+1;end;end;end;return i(W(),{},D())();
- end)
- end
- wait(0.5)
- --utilities
- local windowFocused = false
- game:GetService("UserInputService").WindowFocused:Connect(function() windowFocused=true end)
- game:GetService("UserInputService").WindowFocusReleased:Connect(function() windowFocused=false end)
- spawn(function()
- game:GetService("UserInputService").InputBegan:Wait()
- windowFocused=true
- end)
- local function keyclick(num)
- if windowFocused and keypress and keyrelease then
- keypress(num)
- wait()
- keyrelease(num)
- end
- end
- local function punch()
- if punchEvent then
- punchEvent()
- elseif windowFocused then
- keyclick(0x46)
- end
- end
- local function exitVehicle()
- if humanoid.Sit then
- keyclick(0x20)
- wait(0.07)
- humanoid.Jump=true
- wait(0.3)
- end
- end
- local function smoothTP(cf,seconds)
- if abort then return end
- noclip()
- root.CFrame = root.CFrame + Vector3.new(0,100-root.CFrame.y,0) --start high up
- root.Velocity,root.RotVelocity=v30,v30
- local oldg = workspace.Gravity
- workspace.Gravity=0
- wait(0.07)
- local diff = cf.p-root.Position
- local customSpeed
- if seconds then
- customSpeed = diff.magnitude / seconds
- end
- while abort==false and diff.magnitude > safeMove do
- if customSpeed then
- root.Velocity = diff.Unit*customSpeed
- else
- root.Velocity = diff.Unit*math.min(diff.magnitude*5,5000)
- end
- root.RotVelocity = v30
- if root:FindFirstChild("BodyVelocity") then
- root.BodyVelocity:Destroy()
- end
- humanoid.Jump=true
- wait(0.1)
- diff = cf.p-root.Position
- end
- wait(0.1)
- for i=1,2 do
- if abort then break end
- root.Velocity,root.RotVelocity=v30,v30
- root.CFrame = cf
- wait(0.1)
- end
- yesclip()
- workspace.Gravity=oldg
- end
- local function perfectTP(cf)
- if abort then return end
- root.CFrame = cf
- local door = workspace.Apartments.Skyscraper6.ExitDoor.Touch
- local oldcf = door.CFrame
- door.CFrame = root.CFrame
- wait()
- door.CFrame = oldcf
- end
- local function staticTP(cf)
- local oldg = workspace.Gravity
- workspace.Gravity=0
- repeat
- for i=1,10 do
- if abort then break end
- root.CFrame=cf
- root.Velocity,root.RotVelocity=v30,v30
- wait(0.2)
- end
- if abort then break end
- until wait(0.39) and (root.Position-cf.p).magnitude<10
- workspace.Gravity=oldg
- end
- local function variousTP(cf)
- if settings.preferLongTP then
- staticTP(cf)
- else
- perfectTP(cf)
- end
- end
- local function isBagFull()
- return player.PlayerGui.MainGui.CollectMoney.Visible==false or strToNum(player.PlayerGui.MainGui.CollectMoney.Money.Text)+1 >= strToNum(player.PlayerGui.MainGui.CollectMoney.Maximum.Text)
- end
- --get some buildings
- for _,part in ipairs(workspace.Buildings:GetChildren()) do
- if (part.Position-Vector3.new(-302.6,30.3,1431.9)).magnitude < 1 then
- part.CanCollide=false
- end
- end
- for _,part in ipairs(workspace.Jewelrys:GetChildren()[1].Building:GetChildren()) do
- if part.Name=="Part" and (part.Position-Vector3.new(157.8,63.4,1336.6)).magnitude < 1 then
- part.CanCollide = false
- end
- end
- local vault
- local function isVaultOpen()
- return (vault.Door.Closed.CFrame.lookVector - vault.Door.Hinge.CFrame.lookVector).magnitude > 0.1
- end
- local function copsTooClose(radius)
- local players = game:GetService("Teams").Police:GetPlayers()
- for i=1,#players do
- local p = players[i]
- if p.Character and p.Character:FindFirstChild("HumanoidRootPart") and p.Character:FindFirstChild("Humanoid") then
- local rootp = p.Character.HumanoidRootPart.Position
- 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
- return true
- end
- end
- end
- return false
- end
- 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},
- {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},
- {CFrame.new(1038.8,101.7,1238.7),workspace.Museum.EgyptionCase.Mask},{CFrame.new(1105.3,101.7,1151),workspace.Museum.JewelCase.Jewel} }
- local function jailbreak()
- if player.Team.Name=="Prisoner" then
- --jailbreak :^)
- stprint("Breaking out...")
- variousTP(CFrame.new(-1609,110,-1574))
- local elapsed=0
- while abort==false and player.Team.Name=="Prisoner" and elapsed<3 do
- elapsed=elapsed+wait(0.3)
- end
- end
- end
- local isTrainOpen = workspace.Trains:FindFirstChild("SteamEngine")~=nil
- local current_boxcar
- for _,child in ipairs(workspace.Trains:GetChildren()) do
- if child.Name=="BoxCar" and child:FindFirstChild("Gold",true) then
- current_boxcar = child
- break
- end
- end
- workspace.Trains.ChildAdded:Connect(function(child)
- wait(1)
- if current_boxcar==nil and child.Name=="BoxCar" and child.Model.Rob:FindFirstChild("Gold") then
- current_boxcar = child
- end
- if child.Name=="SteamEngine" then
- isTrainOpen = true
- end
- trainLbl.TextColor3 = (current_boxcar or isTrainOpen) and green or Color3.new(1,1,1)
- end)
- workspace.Trains.ChildRemoved:Connect(function(child)
- if current_boxcar == child then
- current_boxcar = nil
- elseif child.Name=="SteamEngine" then
- isTrainOpen = false
- end
- trainLbl.TextColor3 = (current_boxcar or isTrainOpen) and green or Color3.new(1,1,1)
- end)
- trainLbl.TextColor3 = (current_boxcar or isTrainOpen) and green or Color3.new(1,1,1)
- local airdrops = {}
- local function checkNewDrop(child)
- local briefcase = child:WaitForChild("Briefcase",2)
- if briefcase then
- local e=0
- while true do
- e=e+wait(0.25)
- local hitpart = workspace:FindPartOnRayWithIgnoreList(Ray.new(briefcase.Position,Vector3.new(0,-17,0)),{child},false,true)
- if e>25 or (hitpart and hitpart.CanCollide) or child:FindFirstChild("Parachute")==nil then
- break
- end
- end
- if child.Parent and briefcase.Parent then
- airdrops[#airdrops+1]=child
- airdropLbl.TextColor3 = green
- end
- end
- end
- for _,child in ipairs(workspace:GetChildren()) do
- if child.Name=="Drop" and child.ClassName=="Model" then
- spawn(function() checkNewDrop(child) end)
- end
- end
- workspace.ChildAdded:Connect(function(child)
- if child.Name=="Drop" and child.ClassName=="Model" then
- checkNewDrop(child)
- end
- end)
- workspace.ChildRemoved:Connect(function(child)
- if child.Name=="Drop" and child.ClassName=="Model" then
- for i=1,#airdrops do
- if airdrops[i]==child then
- table.remove(airdrops,i)
- airdropLbl.TextColor3 = #airdrops>0 and green or Color3.new(1,1,1)
- break
- end
- end
- end
- end)
- local bankSign = workspace.Banks:GetChildren()[1].Extra.Sign.Decal
- local jewlSign = workspace.Jewelrys:GetChildren()[1].Extra.Sign.Decal
- local museumPart = workspace.Museum.Roof.Hole.Part
- local isBankOpen = bankSign.Transparency>0.01
- local isJewlOpen = jewlSign.Transparency>0.01
- local isMuseumOpen = not museumPart.CanCollide
- local isBankCalm = #workspace.Ringers.Bank:GetChildren()==0
- local isJewlCalm = #workspace.Ringers.Jewelry:GetChildren()==0
- local cancel=false
- bankSign:GetPropertyChangedSignal("Transparency"):Connect(function()
- wait()
- isBankOpen = bankSign.Transparency>0.01
- bankLbl.TextColor3 = isBankOpen and green or Color3.new(1,1,1)
- if not isBankOpen then
- isBankCalm=true
- end
- end)
- jewlSign:GetPropertyChangedSignal("Transparency"):Connect(function()
- wait()
- isJewlOpen = jewlSign.Transparency>0.01
- jewelryLbl.TextColor3 = isJewlOpen and green or Color3.new(1,1,1)
- if not isJewlOpen then
- isJewlCalm=true
- end
- end)
- museumPart:GetPropertyChangedSignal("CanCollide"):Connect(function()
- wait()
- isMuseumOpen = not museumPart.CanCollide
- museumLbl.TextColor3 = isMuseumOpen and green or Color3.new(1,1,1)
- end)
- bankLbl.TextColor3 = isBankOpen and green or Color3.new(1,1,1)
- jewelryLbl.TextColor3 = isJewlOpen and green or Color3.new(1,1,1)
- museumLbl.TextColor3 = isMuseumOpen and green or Color3.new(1,1,1)
- workspace.Ringers.Bank.ChildAdded:Connect(function() isBankCalm=false end)
- workspace.Ringers.Jewelry.ChildAdded:Connect(function() isJewlCalm=false end)
- --rob funcs
- function robJewelry()
- if humanoid==nil or humanoid.Health<1 then wait(5) end
- toggleCanAbort(true)
- warnFlash("Jewelry")
- if abort or not settings.enabled then cancel=true return end
- exitVehicle()
- local formerCF = root.CFrame
- jailbreak()
- stprint("TPing to jewelry...")
- variousTP(CFrame.new(156.8, 17.6, 1329.8))
- if abort then cancel=true return end
- --enter
- if RNG:NextInteger(1,2)==1 then
- root.CFrame = CFrame.new(142.17, 17.88, 1351.08)
- else
- root.CFrame = CFrame.new(89.7, 17.88, 1302.53)*CFrame.Angles(0,math.pi/-2,0)
- end
- wait(0.5)
- if settings.jewlAllowCrims and isJewlCalm then
- root.CFrame = CFrame.new(156.8, 17.6, 1329.8)
- for i=1,10 do
- if isJewlCalm and not abort then wait(0.5) end
- end
- end
- screnv.tick = function() return 0/0 end
- stprint("Robbery started!")
- local broke = 0
- --get jewels
- local boxes = workspace.Jewelrys:GetChildren()[1].Boxes:GetChildren()
- for i = #boxes, 2, -1 do --shuffle
- local j = RNG:NextInteger(1, i)
- boxes[j], boxes[i] = boxes[i], boxes[j]
- end
- for i=1,#boxes do
- local box = boxes[i]
- if abort or (broke>3 and isBagFull()) then
- --duffel bag full
- break
- end
- if box.Transparency < 0.9 then
- if box.Position.X < 120 and box.Position.Z > 1330 then
- root.CFrame = CFrame.new(box.Position+box.CFrame.lookVector*2.5+Vector3.new(0,0,-2.5),box.Position)
- elseif box.Position.Z < 1309 and box.Position.Z > 1304 then
- root.CFrame = CFrame.new(box.Position+box.CFrame.lookVector*2.5+Vector3.new(0,0,2.5),box.Position)
- else
- root.CFrame = CFrame.new(box.Position+box.CFrame.lookVector*2.5,box.Position)
- end
- wait(0.2)
- local hits = 0
- while abort==false and hits<4 and box.Transparency<0.9 do
- punch()
- hits=hits+1
- wait(0.05)
- end
- broke=broke+1
- wait(0.2)
- end
- end
- screnv.tick=tick
- if not abort then root.CFrame = CFrame.new(156.8, 17.6, 1329.8) end
- wait(0.5)
- stprint("Escaping...")
- variousTP(CFrame.new(-365.3, 35.52, 1578.5))
- for i=1,3 do
- if not abort then wait(0.5) end
- end
- if settings.preferUnsafeEsc then
- variousTP(formerCF)
- else
- variousTP(CFrame.new(-303+RNG:NextNumber(-3,3),17.4,1430))
- end
- end
- function robBank()
- if humanoid==nil or humanoid.Health<1 then wait(5) end
- toggleCanAbort(true)
- warnFlash("Bank")
- if abort or not settings.enabled then cancel=true return end
- exitVehicle()
- local formerCF = root.CFrame
- jailbreak()
- stprint("TPing to bank...")
- variousTP(CFrame.new(23.6, 18.07, 853.5))
- if abort then cancel=true return end
- wait(0.3)
- for i=1,3 do
- if isBankCalm and abort==false then wait(0.5) end
- end
- stprint("Opening vault...")
- vault = workspace.Banks:GetChildren()[1].Layout:GetChildren()[1]
- local vaultcf = vault.Door.Hinge.CFrame
- variousTP(vaultcf + vaultcf.lookVector*-3 + vaultcf.rightVector*6)
- wait(0.5)
- if abort then return end
- --gets in vault
- if (vaultcf.p - vault.Money.CFrame.p).magnitude < 30 then
- if vault.Name=="TheMint" then
- root.CFrame = vaultcf + vaultcf.lookVector*3 + vaultcf.rightVector*-3
- else
- root.CFrame = vaultcf + vaultcf.lookVector*3 + vaultcf.rightVector*-5.5
- end
- else
- if vault:FindFirstChild("Lasers") then
- for _,laser in ipairs(vault.Lasers:GetChildren()) do
- if laser.Name=="LaserTrack" then
- laser:Destroy()
- end
- end
- end
- root.CFrame = vault.Money.CFrame
- end
- --wait until open
- local elapsed=0
- while abort==false and isBankOpen==true and isVaultOpen()==false do
- elapsed=elapsed+wait(.1)
- end
- elapsed = 0
- while abort==false and isBankOpen==true and (not (isVaultOpen() and copsTooClose(settings.bankRadius2))) and elapsed<6 do
- elapsed=elapsed+wait(.1)
- end
- if not abort then
- if (vaultcf.p - vault.Money.CFrame.p).magnitude < 30 then
- if vault.Name=="TheMint" then
- root.CFrame = vaultcf + vaultcf.lookVector*3 + vaultcf.rightVector*-3
- else
- root.CFrame = vaultcf + vaultcf.lookVector*3 + vaultcf.rightVector*-5.5
- end
- else
- root.CFrame = vault.Money.CFrame
- end
- end
- stprint("Robbery started!")
- --wait for bag to fill or player leaves
- while abort==false and isBagFull()==false and (not (isVaultOpen() and copsTooClose(settings.bankRadius2))) and elapsed<70 do
- elapsed=elapsed+wait(.1)
- end
- stprint("Escaping...")
- if settings.preferUnsafeEsc then
- variousTP(formerCF)
- else
- variousTP(CFrame.new(-303+RNG:NextNumber(-3,3),17.4,1430))
- end
- end
- function robBoxcar()
- if humanoid==nil or humanoid.Health<1 then wait(5) end
- toggleCanAbort(true)
- warnFlash("Train")
- if abort or not settings.enabled then cancel=true return end
- local gold = current_boxcar.Model.Rob.Gold
- local trainFront = workspace.Trains.LocomotiveFront.Model.Front
- --tp
- exitVehicle()
- local formerCF = root.CFrame
- jailbreak()
- stprint("TPing to train...")
- variousTP(gold.CFrame+gold.CFrame.rightVector*14)
- while (root.Position-gold.Position).magnitude > safeMove and abort==false do
- smoothTP(gold.CFrame+gold.CFrame.rightVector*14)
- end
- if abort then
- cancel=true
- return
- end
- if current_boxcar.Parent then
- local elapsed
- if boxcarEvent then
- boxcarEvent(current_boxcar)
- wait(0.1)
- else
- stprint("Opening door...")
- --open door
- if not abort then
- stepconn = Stepped:Connect(function()
- root.CFrame = current_boxcar.Skeleton.RoofDoorClosed.CFrame + Vector3.new(0,-5,0)
- root.Velocity,root.RotVelocity=v30,v30
- end)
- wait(0.5)
- HOLD_E = true
- elapsed=0
- while abort==false and elapsed<9 and (current_boxcar.Skeleton.RoofDoor.Position-current_boxcar.Skeleton.RoofDoorClosed.Position).Magnitude < 1 do
- elapsed=elapsed+wait(0.3)
- end
- stepconn:Disconnect()
- wait()
- end
- HOLD_E = false
- stprint("Opening vault...")
- --open vault
- if not abort then
- stepconn = Stepped:Connect(function()
- root.CFrame = gold.CFrame+(gold.CFrame.lookVector*4.5)
- root.Velocity,root.RotVelocity=v30,v30
- end)
- wait(0.5)
- HOLD_E = true
- elapsed=0
- while abort==false and elapsed<9 and current_boxcar.Skeleton.Vault.Part.RotVelocity.Magnitude < .001 do
- elapsed=elapsed+wait(0.3)
- end
- stepconn:Disconnect()
- wait(0.2)
- end
- HOLD_E = false
- end
- elapsed=0
- stprint("Robbery started!")
- --get gold
- if not abort then
- stepconn = Stepped:Connect(function()
- root.CFrame = gold.CFrame+(gold.CFrame.lookVector*3)
- root.Velocity,root.RotVelocity=v30,v30
- end)
- while abort==false and (not(elapsed>6 and isBagFull())) and trainFront.Position.X > -1584 and elapsed<65 do
- elapsed=elapsed+wait(0.3)
- end
- stepconn:Disconnect()
- if trainFront.Position.X < -1200 and trainFront.Position.Z < 550 then
- --boxcars={}
- end
- end
- end
- stprint("Escaping...")
- if settings.preferUnsafeEsc then
- variousTP(formerCF)
- else
- variousTP(CFrame.new(-303+RNG:NextNumber(-3,3),17.4,1430))
- end
- end
- function robMuseum()
- if humanoid==nil or humanoid.Health<1 then wait(5) end
- toggleCanAbort(true)
- warnFlash("Museum")
- if abort or not settings.enabled then cancel=true return end
- exitVehicle()
- local formerCF = root.CFrame
- jailbreak()
- stprint("TPing to museum...")
- --tp inside
- variousTP(CFrame.new(1067.8,102.8,1193.8))
- wait(0.5)
- if abort then cancel=true return end
- --collect artifacts
- stprint("Robbery started!")
- if museumEvent then
- museumEvent()
- else
- local bag = player.PlayerGui.MainGui.MuseumBag.TextLabel
- bag.Text = "9".. bag.Text:sub(2)
- for i=1,#museumArray do
- local tpcf = museumArray[i][1]
- local part = museumArray[i][2]
- if part.Transparency < .99 then
- if abort or isMuseumOpen==false or bag.Text:sub(1,1) == bag.Text:sub(5,5) then
- break
- end
- root.CFrame = tpcf
- wait(0.2)
- HOLD_E = true
- local elapsed=0
- while abort==false and part.Transparency < .99 and elapsed<9 do
- root.CFrame = tpcf
- elapsed=elapsed+wait(0.3)
- end
- HOLD_E = false
- wait(0.1)
- end
- end
- end
- local t0=tick()
- if settings.preferUnsafeEsc then
- variousTP(formerCF)
- elseif not abort then
- variousTP(CFrame.new(-303+RNG:NextNumber(-3,3),17.4,1430))
- end
- stprint("Bypassing by waiting...")
- --smoothTP(CFrame.new(1695.7,75.6,-1848.3),15)
- while abort==false and tick()-t0 < 16 do
- wait(0.3)
- end
- exitVehicle()
- formerCF = root.CFrame
- --tp to collector
- stprint("Selling...")
- variousTP(CFrame.new(1639,50,-1800))
- for i=1,3 do
- if not abort then wait(0.5) end
- end
- stprint("Escaping...")
- if settings.preferUnsafeEsc then
- variousTP(formerCF)
- elseif not abort then
- root.CFrame = CFrame.new(1695.7+RNG:NextNumber(-3,3),75.6,-1848.3)
- end
- end
- function robSteamEngine()
- if humanoid==nil or humanoid.Health<1 then wait(5) end
- toggleCanAbort(true)
- warnFlash("Steam engine")
- if abort or not settings.enabled then cancel=true return end
- exitVehicle()
- local formerCF = root.CFrame
- jailbreak()
- --collect items and tp to volcano
- stprint("Robbery started!")
- spawn(steamEngineEvent)
- local t0=tick()
- local elapsed = 0
- --smoothTP(CFrame.new(1695.7,75.6,-1848.3),10.2)
- while abort==false and elapsed < 10.2 do
- elapsed=elapsed+wait(0.3)
- end
- exitVehicle()
- formerCF = root.CFrame
- stprint("Selling...")
- --tp to collector
- --if not abort then root.CFrame = CFrame.new(1643,50,-1800) end
- variousTP(CFrame.new(1639,50,-1800))
- for i=1,3 do
- if not abort then wait(0.5) end
- end
- stprint("Escaping...")
- if settings.preferUnsafeEsc then
- variousTP(formerCF)
- elseif not abort then
- root.CFrame = CFrame.new(1695.7+RNG:NextNumber(-3,3),75.6,-1848.3)
- end
- end
- function robAirdrop()
- if humanoid==nil or humanoid.Health<1 then wait(5) end
- toggleCanAbort(true)
- warnFlash("Airdrop")
- if abort or not settings.enabled then cancel=true return end
- local current_airdrop = airdrops[1]
- if current_airdrop and current_airdrop.Parent and current_airdrop:FindFirstChild("Briefcase") then
- local briefcase = current_airdrop.Briefcase
- exitVehicle()
- local formerCF = root.CFrame
- jailbreak()
- --tp
- stprint("TPing to airdrop...")
- variousTP(briefcase.CFrame+Vector3.new(0,-6,0))
- if abort then cancel=true formerCFairdrop = nil return end
- if briefcase.Parent then
- --collect
- stprint("Robbery started!")
- noclip()
- stepconn = Stepped:Connect(function()
- root.CFrame = briefcase.CFrame + Vector3.new(0,-6,0)
- root.Velocity,root.RotVelocity=v30,v30
- end)
- wait(0.5)
- if airdropEvent then
- airdropEvent(current_airdrop)
- else
- HOLD_E = true
- local elapsed=0
- while abort==false and elapsed<20 and briefcase.Parent do
- elapsed=elapsed+wait(0.3)
- end
- HOLD_E = false
- end
- stepconn:Disconnect()
- yesclip()
- end
- --escape
- stprint("Escaping...")
- if settings.preferUnsafeEsc then
- variousTP(formerCF)
- else
- variousTP(CFrame.new(-303+RNG:NextNumber(-3,3),17.4,1430))
- end
- end
- end
- --HOLD_E thread
- if keypress then
- spawn(function()
- while wait(0.2) and gui.Parent do
- if HOLD_E then
- keyclick(0x45)
- while wait(0.1) and HOLD_E do
- if windowFocused then
- keypress(0x45)
- end
- end
- keyrelease(0x45)
- end
- end
- end)
- end
- --main loop
- local waiti=0
- local idleTick=0
- local airdropTick = 0
- while wait(0.5) and gui.Parent do
- if workspace.Trains:FindFirstChild("LocomotiveFront") then
- local trainpos = workspace.Trains.LocomotiveFront.Model.Front.Position
- if trainpos.X < -1300 and trainpos.Z < 350 then
- current_boxcar=nil
- end
- end
- if tick()-idleTick > 60 then
- idleTick=tick()
- game:GetService("VirtualUser"):CaptureController()
- game:GetService("VirtualUser"):ClickButton2(Vector2.new())
- end
- cancel=false
- if settings.enabled then
- if isMuseumOpen then
- pcall(robMuseum)
- toggleCanAbort(false)
- if not cancel then
- isMuseumOpen=false
- museumLbl.TextColor3 = Color3.new(1,1,1)
- stprint("Museum success!")
- end
- wait(2)
- elseif isJewlOpen then
- pcall(robJewelry)
- toggleCanAbort(false)
- if not cancel then
- isJewlOpen=false
- jewelryLbl.TextColor3 = Color3.new(1,1,1)
- stprint("Jewelry success!")
- end
- wait(2)
- elseif #airdrops > 0 and tick()-airdropTick > 20 then
- pcall(robAirdrop)
- toggleCanAbort(false)
- if not cancel then
- airdropTick = tick()
- airdropLbl.TextColor3 = #airdrops>0 and green or Color3.new(1,1,1)
- stprint("Airdrop success!")
- end
- wait(2)
- elseif isTrainOpen and steamEngineEvent then
- pcall(robSteamEngine)
- toggleCanAbort(false)
- if not cancel then
- isTrainOpen=false
- trainLbl.TextColor3 = Color3.new(1,1,1)
- stprint("Train success!")
- end
- wait(2)
- elseif current_boxcar then
- pcall(robBoxcar)
- toggleCanAbort(false)
- if not cancel then
- current_boxcar = nil
- trainLbl.TextColor3 = Color3.new(1,1,1)
- stprint("Train success!")
- end
- wait(2)
- elseif isBankOpen then
- pcall(robBank)
- toggleCanAbort(false)
- if not cancel then
- isBankOpen=false
- bankLbl.TextColor3 = Color3.new(1,1,1)
- stprint("Bank success!")
- end
- wait(2)
- else
- stprint("Wait for stores to open".. string.rep('.',waiti%3+1))
- waiti=waiti+1
- end
- else
- stprint("Disabled.")
- end
- end
Add Comment
Please, Sign In to add comment