--!nocheck --!nolint --[[ @authors DODOHUB This file was automatically generated with darklua, it is not intended for manual editing. --]] __BUILD = { DATE = "2025-10-23 23:10:30", VERSION = "v0.0.0", CONFIG = "Release", } local a={cache={}}do do local b=function()getgenv().__DODOHUB=(function(b)local c={loaderLoaded=false,scriptLoaded=false}if typeof(b)~='table'then b={}end for d ,e in pairs(c)do if b[d]==nil then b[d]=e end end return b end)(getgenv(). __DODOHUB)local b,c=function()getgenv().__DODOHUB.loaderLoaded=true end,function ()getgenv().__DODOHUB.scriptLoaded=true end return{loaderLoaded=(getgenv(). __DODOHUB.loaderLoaded),scriptLoaded=(getgenv().__DODOHUB.scriptLoaded), setLoaderLoaded=b,setScriptLoaded=c}end function a.a()local c=a.cache.a if not c then c={c=b()}a.cache.a=c end return c.c end end do local b=function()local b,c, d,e,f,g,h=game:GetService'Players',game:GetService'TweenService',game:GetService 'UserInputService',{},{},false,{}function e.init(i)for j,k in pairs(i)do h[j]=k end createUI()setupConnections()playFadeIn()g=true end local i,j,k=function(i) local j=Instance.new'ScreenGui'j.Name='EnterpriseLogin'j.ResetOnSpawn=false j. ZIndexBehavior=Enum.ZIndexBehavior.Sibling j.DisplayOrder=1000 j.Parent=i return j end,function(i)local j=Instance.new'Frame'j.Name='MainFrame'j.Size=UDim2.new(0 ,360,0,320)j.Position=UDim2.new(0.5,-180,0.5,-160)j.BackgroundColor3=Color3. fromRGB(15,15,25)j.BackgroundTransparency=0.05 j.BorderSizePixel=0 j.ZIndex=2 j. Parent=i local k=Instance.new'UICorner'k.CornerRadius=UDim.new(0,16)k.Parent=j local l=Instance.new'UIStroke'l.Color=Color3.fromRGB(80,80,100)l.Thickness=1 l. Transparency=0.1 l.Parent=j return j end,function(i)local j=Instance.new'Frame'j .Name='InnerGlow'j.Size=UDim2.new(1,-2,1,-2)j.Position=UDim2.new(0,1,0,1)j. BackgroundColor3=Color3.fromRGB(25,25,35)j.BackgroundTransparency=0.7 j. BorderSizePixel=0 j.Parent=i local k=Instance.new'UICorner'k.CornerRadius=UDim. new(0,15)k.Parent=j return j end function createUI()local l=b.LocalPlayer local m=l:WaitForChild'PlayerGui'f.screenGui=i(m)f.mainFrame=j(f.screenGui)k(f. mainFrame)createLogoSection()createInputSection()createButtons()createFooter() end function createLogoSection()f.logoFrame=Instance.new'Frame'f.logoFrame.Name= 'LogoFrame'f.logoFrame.Size=UDim2.new(1,0,0,120)f.logoFrame.Position=UDim2.new(0 ,0,0,0)f.logoFrame.BackgroundTransparency=1 f.logoFrame.Parent=f.mainFrame f. logoShadow=Instance.new'ImageLabel'f.logoShadow.Name='LogoShadow'f.logoShadow. Size=UDim2.new(0,90,0,90)f.logoShadow.Position=UDim2.new(0.5,-43,0.5,-43)f. logoShadow.BackgroundTransparency=1 f.logoShadow.Image='rbxassetid://'..h. ASSET_ID f.logoShadow.ImageColor3=Color3.fromRGB(0,0,0)f.logoShadow. ImageTransparency=0.8 f.logoShadow.ScaleType=Enum.ScaleType.Fit f.logoShadow. ZIndex=1 f.logoShadow.Parent=f.logoFrame f.logo=Instance.new'ImageLabel'f.logo. Name='Logo'f.logo.Size=UDim2.new(0,90,0,90)f.logo.Position=UDim2.new(0.5,-45,0.5 ,-45)f.logo.BackgroundTransparency=1 f.logo.Image='rbxassetid://'..h.ASSET_ID f. logo.ScaleType=Enum.ScaleType.Fit f.logo.ZIndex=2 f.logo.Parent=f.logoFrame f. logoBorder=Instance.new'Frame'f.logoBorder.Name='LogoBorder'f.logoBorder.Size= UDim2.new(0,92,0,92)f.logoBorder.Position=UDim2.new(0.5,-46,0.5,-46)f.logoBorder .BackgroundTransparency=1 f.logoBorder.BorderSizePixel=0 f.logoBorder.ZIndex=3 f .logoBorder.Parent=f.logoFrame local l=Instance.new'UICorner'l.CornerRadius=UDim .new(0,8)l.Parent=f.logoBorder local m=Instance.new'UIStroke'm.Color=Color3. fromRGB(60,60,80)m.Thickness=1 m.Transparency=0.6 m.Parent=f.logoBorder end function createInputSection()f.inputContainer=Instance.new'Frame'f. inputContainer.Name='InputContainer'f.inputContainer.Size=UDim2.new(1,-50,0,40)f .inputContainer.Position=UDim2.new(0,25,0,140)f.inputContainer.BackgroundColor3= Color3.fromRGB(30,30,40)f.inputContainer.BackgroundTransparency=0 f. inputContainer.BorderSizePixel=0 f.inputContainer.Parent=f.mainFrame local l= Instance.new'UICorner'l.CornerRadius=UDim.new(0,6)l.Parent=f.inputContainer local m=Instance.new'UIStroke'm.Color=Color3.fromRGB(50,50,65)m.Thickness=1 m. Transparency=0 m.Parent=f.inputContainer f.textInput=Instance.new'TextBox'f. textInput.Name='TextInput'f.textInput.Size=UDim2.new(1,-20,1,-8)f.textInput. Position=UDim2.new(0,10,0,4)f.textInput.BackgroundTransparency=1 f.textInput. Text=''f.textInput.PlaceholderText='ACCESS KEY'f.textInput.PlaceholderColor3= Color3.fromRGB(120,120,130)f.textInput.TextColor3=Color3.fromRGB(250,250,255)f. textInput.TextSize=14 f.textInput.Font=Enum.Font.GothamBold f.textInput. TextXAlignment=Enum.TextXAlignment.Left f.textInput.TextYAlignment=Enum. TextYAlignment.Center f.textInput.TextWrapped=false f.textInput.ClearTextOnFocus =false f.textInput.MultiLine=false f.textInput.TextScaled=false f.textInput. ClipsDescendants=true f.textInput.MaxVisibleGraphemes=50 f.textInput.Parent=f. inputContainer end function createButtons()f.closeButton=Instance.new 'TextButton'f.closeButton.Name='CloseButton'f.closeButton.Size=UDim2.new(0,24,0, 24)f.closeButton.Position=UDim2.new(1,-40,0,15)f.closeButton.BackgroundColor3= Color3.fromRGB(50,50,60)f.closeButton.BackgroundTransparency=0.1 f.closeButton. BorderSizePixel=0 f.closeButton.Text='\u{d7}'f.closeButton.TextColor3=Color3. fromRGB(200,200,210)f.closeButton.TextSize=16 f.closeButton.Font=Enum.Font. GothamBold f.closeButton.Parent=f.mainFrame local l=Instance.new'UICorner'l. CornerRadius=UDim.new(0,4)l.Parent=f.closeButton local m=Instance.new'UIStroke'm .Color=Color3.fromRGB(70,70,85)m.Thickness=1 m.Transparency=0.3 m.Parent=f. closeButton f.submitButton=Instance.new'TextButton'f.submitButton.Name= 'SubmitButton'f.submitButton.Size=UDim2.new(1,-50,0,36)f.submitButton.Position= UDim2.new(0,25,0,200)f.submitButton.BackgroundColor3=Color3.fromRGB(40,100,160)f .submitButton.BackgroundTransparency=0 f.submitButton.BorderSizePixel=0 f. submitButton.Text='SUBMIT'f.submitButton.TextColor3=Color3.fromRGB(255,255,255)f .submitButton.TextSize=14 f.submitButton.Font=Enum.Font.GothamBold f. submitButton.Parent=f.mainFrame f.submitButton:SetAttribute('BaseColor',f. submitButton.BackgroundColor3)f.submitButton:SetAttribute('HoverEnabled',true)f. submitButton.TextStrokeTransparency=1 local n=Instance.new'UICorner'n. CornerRadius=UDim.new(0,6)n.Parent=f.submitButton f.getKeyButton=Instance.new 'TextButton'f.getKeyButton.Name='GetKeyButton'f.getKeyButton.Size=UDim2.new(1,- 50,0,36)f.getKeyButton.Position=UDim2.new(0,25,0,245)f.getKeyButton. BackgroundColor3=Color3.fromRGB(35,35,45)f.getKeyButton.BackgroundTransparency=0 f.getKeyButton.BorderSizePixel=0 f.getKeyButton.Text='GET KEY'f.getKeyButton. TextColor3=Color3.fromRGB(200,200,210)f.getKeyButton.TextSize=14 f.getKeyButton. Font=Enum.Font.GothamBold f.getKeyButton.Parent=f.mainFrame local o=Instance.new 'UICorner'o.CornerRadius=UDim.new(0,6)o.Parent=f.getKeyButton local p=Instance. new'UIStroke'p.Color=Color3.fromRGB(55,55,65)p.Thickness=1 p.Transparency=0 p. Parent=f.getKeyButton end function createFooter()f.divider=Instance.new'Frame'f. divider.Name='Divider'f.divider.Size=UDim2.new(1,-50,0,1)f.divider.Position= UDim2.new(0,25,0,295)f.divider.BackgroundColor3=Color3.fromRGB(50,50,60)f. divider.BackgroundTransparency=0.3 f.divider.BorderSizePixel=0 f.divider.Parent= f.mainFrame f.footerLabel=Instance.new'TextLabel'f.footerLabel.Name= 'FooterLabel'f.footerLabel.Size=UDim2.new(1,-50,0,14)f.footerLabel.Position= UDim2.new(0,25,0,305)f.footerLabel.BackgroundTransparency=1 f.footerLabel.Text=h .FOOTER_TEXT f.footerLabel.TextColor3=Color3.fromRGB(100,100,110)f.footerLabel. TextSize=11 f.footerLabel.Font=Enum.Font.Gotham f.footerLabel.TextXAlignment= Enum.TextXAlignment.Center f.footerLabel.Parent=f.mainFrame end function setupConnections()local l={mainFrame=f.mainFrame.Position,logo=f.logo.Position, inputContainer=f.inputContainer.Position,submitButton=f.submitButton.Position, getKeyButton=f.getKeyButton.Position}f.submitButton.MouseButton1Click:Connect( function()handleSubmit()end)f.getKeyButton.MouseButton1Click:Connect(function() handleGetKey()end)f.closeButton.MouseButton1Click:Connect(function()f.screenGui: Destroy()end)createHoverEffect(f.getKeyButton,Color3.fromRGB(35,35,45),Color3. fromRGB(50,50,60))createHoverEffect(f.closeButton,Color3.fromRGB(50,50,60), Color3.fromRGB(70,70,80))createInputFocusEffect(f.textInput,f.inputContainer) createClickEffect(f.submitButton)createClickEffect(f.getKeyButton) createClickEffect(f.closeButton)d.InputBegan:Connect(function(m,n)if n then return end if m.KeyCode==Enum.KeyCode.Return then handleSubmit()elseif m.KeyCode ==Enum.KeyCode.Tab then f.textInput:CaptureFocus()end end)end function playFadeIn()f.mainFrame.BackgroundTransparency=1 f.logo.ImageTransparency=1 f. inputContainer.BackgroundTransparency=1 f.textInput.TextTransparency=1 f. textInput.PlaceholderColor3=Color3.fromRGB(150,150,150)f.submitButton. BackgroundTransparency=1 f.submitButton.TextTransparency=1 f.getKeyButton. BackgroundTransparency=1 f.getKeyButton.TextTransparency=1 f.closeButton. BackgroundTransparency=1 f.closeButton.TextTransparency=1 local l,m,n,o,p,q=c: Create(f.mainFrame,TweenInfo.new(0.8,Enum.EasingStyle.Quart,Enum.EasingDirection .Out),{BackgroundTransparency=0.05}),c:Create(f.logo,TweenInfo.new(0.8,Enum. EasingStyle.Quart,Enum.EasingDirection.Out),{ImageTransparency=0}),c:Create(f. inputContainer,TweenInfo.new(0.8,Enum.EasingStyle.Quart,Enum.EasingDirection.Out ),{BackgroundTransparency=0}),c:Create(f.textInput,TweenInfo.new(0.8,Enum. EasingStyle.Quart,Enum.EasingDirection.Out),{TextTransparency=0}),c:Create(f. submitButton,TweenInfo.new(0.8,Enum.EasingStyle.Quart,Enum.EasingDirection.Out), {BackgroundTransparency=0}),c:Create(f.submitButton,TweenInfo.new(0.8,Enum. EasingStyle.Quart,Enum.EasingDirection.Out),{TextTransparency=0})l:Play()m:Play( )n:Play()o:Play()p:Play()q:Play()local r,s=c:Create(f.getKeyButton,TweenInfo. new(0.8,Enum.EasingStyle.Quart,Enum.EasingDirection.Out),{BackgroundTransparency =0}),c:Create(f.getKeyButton,TweenInfo.new(0.8,Enum.EasingStyle.Quart,Enum. EasingDirection.Out),{TextTransparency=0})r:Play()s:Play()local t,u=c:Create(f. closeButton,TweenInfo.new(0.8,Enum.EasingStyle.Quart,Enum.EasingDirection.Out),{ BackgroundTransparency=0.1}),c:Create(f.closeButton,TweenInfo.new(0.8,Enum. EasingStyle.Quart,Enum.EasingDirection.Out),{TextTransparency=0})t:Play()u:Play( )end function createHoverEffect(l,m,n)local o o=l.MouseEnter:Connect(function() if not isAnimating then local p=l:GetAttribute'HoverEnabled'if p~=false then c: Create(l,TweenInfo.new(0.2,Enum.EasingStyle.Quart,Enum.EasingDirection.Out),{ BackgroundColor3=n}):Play()end end end)l.MouseLeave:Connect(function()if not isAnimating then local p=l:GetAttribute'BaseColor'c:Create(l,TweenInfo.new(0.2, Enum.EasingStyle.Quart,Enum.EasingDirection.Out),{BackgroundColor3=typeof(p)== 'Color3'and p or m}):Play()end end)end function createInputFocusEffect(l,m)local n n=l.Focused:Connect(function()c:Create(m,TweenInfo.new(0.2,Enum.EasingStyle. Quart,Enum.EasingDirection.Out),{BackgroundTransparency=0}):Play()c:Create(m: FindFirstChild'UIStroke',TweenInfo.new(0.2,Enum.EasingStyle.Quart,Enum. EasingDirection.Out),{Transparency=0.2}):Play()end)l.FocusLost:Connect(function( )c:Create(m,TweenInfo.new(0.2,Enum.EasingStyle.Quart,Enum.EasingDirection.Out),{ BackgroundTransparency=0}):Play()c:Create(m:FindFirstChild'UIStroke',TweenInfo. new(0.2,Enum.EasingStyle.Quart,Enum.EasingDirection.Out),{Transparency=0}):Play( )end)end function createClickEffect(l)l.MouseButton1Down:Connect(function()c: Create(l,TweenInfo.new(0.1,Enum.EasingStyle.Quart,Enum.EasingDirection.Out),{ Size=UDim2.new(l.Size.X.Scale,l.Size.X.Offset-2,l.Size.Y.Scale,l.Size.Y.Offset-2 )}):Play()end)l.MouseButton1Up:Connect(function()c:Create(l,TweenInfo.new(0.1, Enum.EasingStyle.Quart,Enum.EasingDirection.Out),{Size=UDim2.new(l.Size.X.Scale, l.Size.X.Offset+2,l.Size.Y.Scale,l.Size.Y.Offset+2)}):Play()end)end function handleSubmit()local l=f.textInput.Text if l==''then local m=c:Create(f. inputContainer,TweenInfo.new(0.1,Enum.EasingStyle.Quart,Enum.EasingDirection. InOut,0,true),{Position=UDim2.new(0,20,0,140)})m:Play()m.Completed:Connect( function()c:Create(f.inputContainer,TweenInfo.new(0.1,Enum.EasingStyle.Quart, Enum.EasingDirection.Out),{Position=UDim2.new(0,25,0,140)}):Play()end)return end e.setState'validating'pcall(h.KEY_SUBMIT_CALLBACK,l)end function handleGetKey() pcall(h.GET_KEY_CALLBACK)if f and f.getKeyButton then local l=f.getKeyButton local m=l.Text if l:GetAttribute'Busy'then return end l:SetAttribute('Busy',true )l.Text='LINK COPIED'task.delay(1.2,function()if l and l.Parent then l.Text=m l: SetAttribute('Busy',nil)end end)end end function e.destroy()if f.screenGui then f.screenGui:Destroy()end g=false end function e.setState(l,m)if not f. submitButton then return end if l=='validating'then f.submitButton.Text= 'VALIDATING...'f.submitButton.BackgroundColor3=Color3.fromRGB(60,60,80)f. submitButton.TextColor3=Color3.fromRGB(255,255,255)f.submitButton.Active=false f .submitButton:SetAttribute('BaseColor',f.submitButton.BackgroundColor3)f. submitButton:SetAttribute('HoverEnabled',false)elseif l=='error'then f. submitButton.Text=m or'ERROR'f.submitButton.BackgroundColor3=Color3.fromRGB(160, 40,40)f.submitButton.TextColor3=Color3.fromRGB(255,255,255)f.submitButton.Active =true f.submitButton:SetAttribute('BaseColor',f.submitButton.BackgroundColor3)f. submitButton:SetAttribute('HoverEnabled',false)local n=c:Create(f.inputContainer ,TweenInfo.new(0.1,Enum.EasingStyle.Quart,Enum.EasingDirection.InOut,0,true),{ Position=UDim2.new(0,20,0,140)})n:Play()n.Completed:Connect(function()c:Create(f .inputContainer,TweenInfo.new(0.1,Enum.EasingStyle.Quart,Enum.EasingDirection. Out),{Position=UDim2.new(0,25,0,140)}):Play()end)elseif l=='reset'then f. submitButton.Text='SUBMIT'f.submitButton.BackgroundColor3=Color3.fromRGB(40,100, 160)f.submitButton.TextColor3=Color3.fromRGB(255,255,255)f.submitButton.Active= true f.submitButton:SetAttribute('BaseColor',f.submitButton.BackgroundColor3)f. submitButton:SetAttribute('HoverEnabled',true)end end function e.setKeyText(l)if f.textInput then f.textInput.Text=l end end function e.getKeyText()return f. textInput and f.textInput.Text or''end function e.show()if g then return end g= true if f.screenGui then f.screenGui.Enabled=true end end function e.hide()if not g then return end g=false if f.screenGui then f.screenGui.Enabled=false end end return e end function a.b()local c=a.cache.b if not c then c={c=b()}a.cache. b=c end return c.c end end end local b=a.a()if b.scriptLoaded then return end b. setLoaderLoaded()local c,d,e,f,g,h,i=loadstring(game:HttpGet 'https://sdkapi-public.luarmor.net/library.lua')(),a.b(),{KEY_DIRECTORY= 'dodohub',KEY_FILE_PATH='dodohub/key.txt',KEY_FILE_ALTERNATE='dodohub/key.txt', LOGO_ASSET_ID='94126317688222',FOOTER_TEXT='DODOHUB | .gg/Esq624R7FB', GET_KEY_URL=[[https://ads.luarmor.net/get_key?for=dodohub__ads-oeruTshXacdj]], LOADER_URL= [[https://raw.githubusercontent.com/dodohubx-rgb/dodohub/refs/heads/main/loader.luau]] ,LOADER_MAX_WAIT_TIME=60},{ads={[105555311806207]= 'a05bf6f6f0615db868a8d25c1f1c67b2',[122826953758426]= 'd237e7bf18b1113b1a22733af557c3a2'},premium={[105555311806207]= '7588dbfaad66bed7ea5e339650f903cd',[122826953758426]= 'c46d1914040bfb845c98147bdad3a013'}},function(c)return typeof(c)=='function'end, function()if typeof(script_key)=='string'and script_key~=''then return script_key end return nil end,function()return premium==true end local j,k,l,m= function(j,k)local l=k and f.premium or f.ads return l[j]end,function()if g( isfolder)then local j,k=pcall(isfolder,e.KEY_DIRECTORY)if j and k then return true end end if g(makefolder)then return pcall(makefolder,e.KEY_DIRECTORY)end return false end,function(j)if g(isfile)then local k,l=pcall(isfile,j)return k and l end if g(readfile)then local k=pcall(readfile,j)return k end return false end,function(j)if not g(readfile)then return nil end local k,l=pcall(readfile,j) if k and typeof(l)=='string'and l~=''then return l end return nil end local n,o= function(n,o)if not k()then return false end if g(writefile)then return pcall( writefile,n,o)end if g(delfile)then pcall(delfile,n)end if g(appendfile)then return pcall(appendfile,n,o)end return false end,function()if l(e.KEY_FILE_PATH) then local n=m(e.KEY_FILE_PATH)if n then return n end end if l(e. KEY_FILE_ALTERNATE)then return m(e.KEY_FILE_ALTERNATE)end return nil end local p ,q=function(p)return n(e.KEY_FILE_PATH,p)end,function(p,q)c.script_id=q return c .check_key(p)end local r,s,t,u=function()local r=h()or o()if not r then return false end local s=j(game.PlaceId,i())if not s then return false end local t=q(r, s)if t and t.code=='KEY_VALID'then getgenv().script_key=r c.load_script()return true end return false end,function()local r,s=pcall(getgenv)if r and typeof(s)== 'table'and typeof(s.setclipboard)=='function'then pcall(s.setclipboard,e. GET_KEY_URL)end end,function(r)d.setState'validating'local s=j(game.PlaceId,i()) if not s then d.setState('error','Unsupported game')return end local t=q(r,s)if not t then d.setState('error','Validation failed')return end if t.code== 'KEY_VALID'then d.destroy()getgenv().script_key=r p(r)c.load_script()if i()then startPremiumRetryLoop()else task.spawn(function()while not b.scriptLoaded do task.wait(60)if b.scriptLoaded then return end c.load_script()end end)end return end if t.code=='KEY_INVALID'then d.setState('error','Invalid key')return end d. setState('error',t.message or'Unknown error')end,function()task.spawn(function() while not b.scriptLoaded do task.wait(60)if b.scriptLoaded then return end local r=j(game.PlaceId,true)if r then c.script_id=r c.load_script()end end end)end local v=function()local v=h()or o()if i()then if v then getgenv().script_key=v end local w=j(game.PlaceId,true)if w then c.script_id=w c.load_script()end u() return end if r()then return end d.init{ASSET_ID=e.LOGO_ASSET_ID,FOOTER_TEXT=e. FOOTER_TEXT,GET_KEY_CALLBACK=s,KEY_SUBMIT_CALLBACK=t}if v then d.setKeyText(v) end end repeat wait(1)until game:IsLoaded()and game:GetService'Players'. LocalPlayer v()