diff --git a/main.luau b/main.luau index 9556da8..645b360 100644 --- a/main.luau +++ b/main.luau @@ -2413,31 +2413,33 @@ UnlockMouseWhileOpen:boolean?,EnableSidebarResize:boolean?,EnableCompacting:bool SidebarCompacted:boolean?,MinContainerWidth:number?,MinSidebarWidth:number?,SidebarCompactWidth:number?, CompactWidthActivation:number?})->Window,Toggle:(self:Library,Value:boolean?)->()}return nil end)()end,[11]=function() local aa,ab,ac=a(11)local ad return(function(...)local ae,af=game:GetService'ReplicatedStorage',ab.Parent local ag,ah,ai -,aj,ak,al,am,an,ao=ac(af:WaitForChild'UIConfig'),ac(af:WaitForChild'tabs':WaitForChild'ESPTab'),ac(af:WaitForChild'tabs' -:WaitForChild'FlyTab'),ac(af:WaitForChild'tabs':WaitForChild'NoclipTab'),ac(af:WaitForChild'tabs':WaitForChild'LocalTab' -),ac(af:WaitForChild'tabs':WaitForChild'AimbotTab'),ac(af:WaitForChild'tabs':WaitForChild'ItemSpawnerTab'),ac(af: -WaitForChild'tabs':WaitForChild'UtilsTab'),ac(af:WaitForChild'tabs':WaitForChild'UISettingsTab')local function ap(): -ModuleScript print'[LOG] Searching for Obsidian Init module...'local aq=ae:FindFirstChild'Init'if aq and aq.ClassName== -'ModuleScript'then print'[LOG] Found Init module in ReplicatedStorage'return aq end local ar=af.Parent and af.Parent: -FindFirstChild'Init'if ar and ar.ClassName=='ModuleScript'then print'[LOG] Found Init module in Root.Parent'return ar -end local as=ae:FindFirstChild'Shared'if as then local at=as:FindFirstChild'init'or as:FindFirstChild'Init'if at and at. -ClassName=='ModuleScript'then print'[LOG] Found Init module in ReplicatedStorage.Shared'return at end end print +,aj,ak,al,am,an,ao,ap=ac(af:WaitForChild'UIConfig'),ac(af:WaitForChild'tabs':WaitForChild'ESPTab'),ac(af:WaitForChild +'tabs':WaitForChild'FlyTab'),ac(af:WaitForChild'tabs':WaitForChild'NoclipTab'),ac(af:WaitForChild'tabs':WaitForChild +'LocalTab'),ac(af:WaitForChild'tabs':WaitForChild'AimbotTab'),ac(af:WaitForChild'tabs':WaitForChild'ItemSpawnerTab'),ac( +af:WaitForChild'tabs':WaitForChild'VisualTab'),ac(af:WaitForChild'tabs':WaitForChild'UtilsTab'),ac(af:WaitForChild'tabs' +:WaitForChild'UISettingsTab')local function aq():ModuleScript print'[LOG] Searching for Obsidian Init module...'local ar +=ae:FindFirstChild'Init'if ar and ar.ClassName=='ModuleScript'then print'[LOG] Found Init module in ReplicatedStorage' +return ar end local as=af.Parent and af.Parent:FindFirstChild'Init'if as and as.ClassName=='ModuleScript'then print +'[LOG] Found Init module in Root.Parent'return as end local at=ae:FindFirstChild'Shared'if at then local au=at: +FindFirstChild'init'or at:FindFirstChild'Init'if au and au.ClassName=='ModuleScript'then print +'[LOG] Found Init module in ReplicatedStorage.Shared'return au end end print '[LOG] ERROR: Could not find Obsidian Init-Module'error [[Konnte Obsidian Init-Module nicht finden. Erwartet: ReplicatedStorage.Init oder ReplicatedStorage.Shared.init]]end -local aq={}function aq.start()print'[LOG] Loading Obsidian Library...'local ar=ac(ap())local as=ar.Library local at=as. -Options print'[LOG] Setting up UI color scheme...'as.Scheme.AccentColor=Color3.fromRGB(72,165,255)as.Scheme. -BackgroundColor=Color3.fromRGB(10,12,18)as.Scheme.MainColor=Color3.fromRGB(17,22,31)as.Scheme.OutlineColor=Color3. -fromRGB(42,50,66)print'[LOG] Creating main window...'local au=as:CreateWindow(ag.Window)print -'[LOG] Adding tabs to window...'local av={ESP=au:AddTab('ESP','rbxassetid://85516936572279'),Player=au:AddTab('Player', -'rbxassetid://120044548842840'),Aimbot=au:AddTab('Aimbot','rbxassetid://110420827043048'),ItemSpawner=au:AddTab( -'Item Spawner','rbxassetid://110420827043048'),Utils=au:AddTab('Utils','rbxassetid://110420827043048'),Fly=au:AddTab( -'Fly','rbxassetid://123769058034984'),Noclip=au:AddTab('Noclip','rbxassetid://129313475515456'),['UI Settings']=au: -AddTab('UI Settings','rbxassetid://78969686563882')}print'[LOG] Building ESP tab...'ah.build(as,av)print -'[LOG] Building Player tab...'ak.build(as,av)print'[LOG] Building Aimbot tab...'al.build(as,av)print -'[LOG] Building Item Spawner tab...'am.build(as,av)print'[LOG] Building Utils tab...'an.build(as,av)print -'[LOG] Building Fly tab...'ai.build(as,av)print'[LOG] Building Noclip tab...'aj.build(as,av)print -'[LOG] Building UI Settings tab...'ao.build(as,av,at)print'[LOG] All tabs initialized successfully'print -'[LOG] Obsidian Admin Panel ready!'end return aq end)()end,[12]=function()local aa,ab,ac=a(12)local ad return(function( +local ar={}function ar.start()print'[LOG] Loading Obsidian Library...'local as=ac(aq())local at=as.Library local au=at. +Options print'[LOG] Setting up UI color scheme...'at.Scheme.AccentColor=Color3.fromRGB(72,165,255)at.Scheme. +BackgroundColor=Color3.fromRGB(10,12,18)at.Scheme.MainColor=Color3.fromRGB(17,22,31)at.Scheme.OutlineColor=Color3. +fromRGB(42,50,66)print'[LOG] Creating main window...'local av=at:CreateWindow(ag.Window)print +'[LOG] Adding tabs to window...'local aw={ESP=av:AddTab('ESP','rbxassetid://6031071053'),Player=av:AddTab('Player', +'rbxassetid://6031071508'),Aimbot=av:AddTab('Aimbot','rbxassetid://6031071320'),ItemSpawner=av:AddTab('Item Spawner', +'rbxassetid://6031071146'),Visual=av:AddTab('Visual','rbxassetid://6031071569'),Utils=av:AddTab('Utils', +'rbxassetid://6031071626'),Fly=av:AddTab('Fly','rbxassetid://6031071087'),Noclip=av:AddTab('Noclip', +'rbxassetid://6031071453'),['UI Settings']=av:AddTab('UI Settings','rbxassetid://6031071591')}print +'[LOG] Building ESP tab...'ah.build(at,aw)print'[LOG] Building Player tab...'ak.build(at,aw)print +'[LOG] Building Aimbot tab...'al.build(at,aw)print'[LOG] Building Item Spawner tab...'am.build(at,aw)print +'[LOG] Building Visual tab...'an.build(at,aw)print'[LOG] Building Utils tab...'ao.build(at,aw)print +'[LOG] Building Fly tab...'ai.build(at,aw)print'[LOG] Building Noclip tab...'aj.build(at,aw)print +'[LOG] Building UI Settings tab...'ap.build(at,aw,au)print'[LOG] All tabs initialized successfully'print +'[LOG] Obsidian Admin Panel ready!'end return ar end)()end,[12]=function()local aa,ab,ac=a(12)local ad return(function( ...)local ae,af='rbxasset://textures/ui/GuiImagePlaceholder.png',{'radar','feather','layers','sliders','sparkles', 'target','wind','shield','palette','monitor','bolt','brush','book-open','wand-sparkles'}local ag={Icons=af}function ag. GetAsset(ah)for ai,aj in ipairs(af)do if aj==ah then return{Url=ae,ImageRectOffset=Vector2.zero,ImageRectSize=Vector2. @@ -2707,35 +2709,24 @@ or aL[2]if aM and aM.Character and aM.Character:FindFirstChild'HumanoidRootPart' Scriptable ae.LocalPlayer:SetAttribute('SpectatorTarget',aM)am:Notify{Title='Spectator',Description= 'Spectator Mode aktiviert. Folge '..aM.Name,Time=2}else am:Notify{Title='Spectator',Description='Kein Ziel gefunden.', Time=2}end else aK.CameraType=Enum.CameraType.Custom ae.LocalPlayer:SetAttribute('SpectatorTarget',nil)am:Notify{Title= -'Spectator',Description='Spectator Mode deaktiviert.',Time=2}end end})aI:AddToggle('CustomCrosshair',{Text= -'Custom Crosshair',Default=false,Callback=function(aJ)aD=aJ if aJ then local aK,aL=Instance.new'ScreenGui',Instance.new -'Frame'aL.Size=UDim2.fromOffset(20,20)aL.Position=UDim2.fromScale(0.5,0.5)aL.AnchorPoint=Vector2.new(0.5,0.5)aL. -BackgroundTransparency=1 local aM=Instance.new'Frame'aM.Size=UDim2.new(0,2,0,10)aM.Position=UDim2.fromScale(0.5,0.5)aM. -AnchorPoint=Vector2.new(0.5,0.5)aM.BackgroundColor3=Color3.new(1,1,1)aM.Parent=aL local aN=Instance.new'Frame'aN.Size= -UDim2.new(0,10,0,2)aN.Position=UDim2.fromScale(0.5,0.5)aN.AnchorPoint=Vector2.new(0.5,0.5)aN.BackgroundColor3=Color3. -new(1,1,1)aN.Parent=aL aK.Parent=ae.LocalPlayer:WaitForChild'PlayerGui'ae.LocalPlayer:SetAttribute('CrosshairGUI',aK)am: -Notify{Title='Crosshair',Description='Custom Crosshair aktiviert.',Time=2}else local aK=ae.LocalPlayer:GetAttribute -'CrosshairGUI'if aK then aK:Destroy()ae.LocalPlayer:SetAttribute('CrosshairGUI',nil)end am:Notify{Title='Crosshair', -Description='Custom Crosshair deaktiviert.',Time=2}end end})aI:AddToggle('UICleaner',{Text='UI Cleaner / Focus Mode', -Default=false,Callback=function(aJ)aF=aJ local aK=ae.LocalPlayer:WaitForChild'PlayerGui'if aJ then local aL={}for aM,aN -in aK:GetChildren()do if aN:IsA'ScreenGui'and aN.Name~='Obsidian'then aN.Enabled=false table.insert(aL,aN)end end ae. -LocalPlayer:SetAttribute('HiddenGUIs',aL)am:Notify{Title='UI Cleaner',Description='Andere UIs ausgeblendet.',Time=2}else -local aL=ae.LocalPlayer:GetAttribute'HiddenGUIs'or{}for aM,aN in aL do if aN and aN.Parent then aN.Enabled=true end end -ae.LocalPlayer:SetAttribute('HiddenGUIs',nil)am:Notify{Title='UI Cleaner',Description='UIs wiederhergestellt.',Time=2} -end end})aI:AddToggle('EnvTweaks',{Text='Environment Tweaks',Default=false,Callback=function(aJ)aG=aJ if aJ then ag. -Brightness=2 ag.FogEnd=100000 am:Notify{Title='Env Tweaks',Description='Environment Tweaks aktiviert.',Time=2}else ag. -Brightness=1 ag.FogEnd=1000 am:Notify{Title='Env Tweaks',Description='Environment zur\u{fc}ckgesetzt.',Time=2}end end}) -local aJ=an.Player:AddLeftGroupbox('Advanced Features','rbxassetid://110420827043048')aJ:AddButton{Text='Prev Player', -Func=function()if aC then local aK,aL=ae:GetPlayers(),ae.LocalPlayer:GetAttribute'SpectatorTarget'if aL then local aM= -table.find(aK,aL)if aM then local aN=aM-1 if aN<1 then aN=#aK end local aO=aK[aN]if aO~=ae.LocalPlayer then ae. -LocalPlayer:SetAttribute('SpectatorTarget',aO)am:Notify{Title='Spectator',Description='Folge nun '..aO.Name,Time=2}end -end end else am:Notify{Title='Spectator',Description='Aktiviere Spectator Mode zuerst.',Time=2}end end}aJ:AddButton{Text -='Next Player',Func=function()if aC then local aK,aL=ae:GetPlayers(),ae.LocalPlayer:GetAttribute'SpectatorTarget'if aL -then local aM=table.find(aK,aL)if aM then local aN=aM+1 if aN>#aK then aN=1 end local aO=aK[aN]if aO~=ae.LocalPlayer -then ae.LocalPlayer:SetAttribute('SpectatorTarget',aO)am:Notify{Title='Spectator',Description='Folge nun '..aO.Name,Time -=2}end end end else am:Notify{Title='Spectator',Description='Aktiviere Spectator Mode zuerst.',Time=2}end end}aJ: -AddToggle('MacroRecorder',{Text='Macro Recorder',Default=false,Callback=function(aK)aE=aK if aK then ae.LocalPlayer: -SetAttribute('MacroRecording',true)ae.LocalPlayer:SetAttribute('MacroInputs',{})am:Notify{Title='Macro',Description= +'Spectator',Description='Spectator Mode deaktiviert.',Time=2}end end})aI:AddToggle('UICleaner',{Text= +'UI Cleaner / Focus Mode',Default=false,Callback=function(aJ)aF=aJ local aK=ae.LocalPlayer:WaitForChild'PlayerGui'if aJ +then local aL={}for aM,aN in aK:GetChildren()do if aN:IsA'ScreenGui'and aN.Name~='Obsidian'then aN.Enabled=false table. +insert(aL,aN)end end ae.LocalPlayer:SetAttribute('HiddenGUIs',aL)am:Notify{Title='UI Cleaner',Description= +'Andere UIs ausgeblendet.',Time=2}else local aL=ae.LocalPlayer:GetAttribute'HiddenGUIs'or{}for aM,aN in aL do if aN and +aN.Parent then aN.Enabled=true end end ae.LocalPlayer:SetAttribute('HiddenGUIs',nil)am:Notify{Title='UI Cleaner', +Description='UIs wiederhergestellt.',Time=2}end end})local aJ=an.Player:AddLeftGroupbox('Advanced Features', +'rbxassetid://110420827043048')aJ:AddButton{Text='Prev Player',Func=function()if aC then local aK,aL=ae:GetPlayers(),ae. +LocalPlayer:GetAttribute'SpectatorTarget'if aL then local aM=table.find(aK,aL)if aM then local aN=aM-1 if aN<1 then aN=# +aK end local aO=aK[aN]if aO~=ae.LocalPlayer then ae.LocalPlayer:SetAttribute('SpectatorTarget',aO)am:Notify{Title= +'Spectator',Description='Folge nun '..aO.Name,Time=2}end end end else am:Notify{Title='Spectator',Description= +'Aktiviere Spectator Mode zuerst.',Time=2}end end}aJ:AddButton{Text='Next Player',Func=function()if aC then local aK,aL= +ae:GetPlayers(),ae.LocalPlayer:GetAttribute'SpectatorTarget'if aL then local aM=table.find(aK,aL)if aM then local aN=aM+ +1 if aN>#aK then aN=1 end local aO=aK[aN]if aO~=ae.LocalPlayer then ae.LocalPlayer:SetAttribute('SpectatorTarget',aO)am: +Notify{Title='Spectator',Description='Folge nun '..aO.Name,Time=2}end end end else am:Notify{Title='Spectator', +Description='Aktiviere Spectator Mode zuerst.',Time=2}end end}aJ:AddToggle('MacroRecorder',{Text='Macro Recorder', +Default=false,Callback=function(aK)aE=aK if aK then ae.LocalPlayer:SetAttribute('MacroRecording',true)ae.LocalPlayer: +SetAttribute('MacroInputs',{})am:Notify{Title='Macro',Description= 'Aufnahme gestartet. Dr\u{fc}cke Eingaben f\u{fc}r 5 Sekunden.',Time=3}wait(5)local aL=ae.LocalPlayer:GetAttribute 'MacroInputs'or{}ae.LocalPlayer:SetAttribute('RecordedMacro',aL)ae.LocalPlayer:SetAttribute('MacroRecording',false)am: Notify{Title='Macro',Description=#aL..' Eingaben aufgezeichnet.',Time=2}else ae.LocalPlayer:SetAttribute( @@ -2792,7 +2783,46 @@ Notify{Title='Chat Log',Description='Chat Logging deaktiviert.',Time=2}end end}) Chatted:Connect(function(am)if ai then print('[CHAT LOG] '..al.Name..': '..am)ag:Notify{Title='Chat Log',Description=al. Name..': '..am,Time=3}end end)end ae.PlayerAdded:Connect(function(ak)ak.Chatted:Connect(function(al)if ai then print( '[CHAT LOG] '..ak.Name..': '..al)ag:Notify{Title='Chat Log',Description=ak.Name..': '..al,Time=3}end end)end)end return -af end)()end,[30]=function()local aa,ab,ac=a(30)local ad return(function(...)local ae,af={['lucide-air-vent']= +af end)()end,[29]=function()local aa,ab,ac=a(29)local ad return(function(...)local ae,af,ag=game:GetService'Players', +game:GetService'Lighting',{}function ag.build(ah,ai)local aj,ak,al,am,an,ao,ap=20,5,2,Color3.new(1,1,1),2,100000,ai. +Visual:AddLeftGroupbox('Crosshair Settings','rbxassetid://6031071569')ap:AddToggle('CustomCrosshair',{Text= +'Custom Crosshair',Default=false,Callback=function(aq)if aq then local ar,as=Instance.new'ScreenGui',Instance.new'Frame' +as.Name='CrosshairFrame'as.Size=UDim2.fromOffset(aj,aj)as.Position=UDim2.fromScale(0.5,0.5)as.AnchorPoint=Vector2.new( +0.5,0.5)as.BackgroundTransparency=1 local at=Instance.new'Frame'at.Name='VerticalLine'at.Size=UDim2.new(0,al,0,aj/2-ak) +at.Position=UDim2.fromScale(0.5,0.5)at.AnchorPoint=Vector2.new(0.5,0.5)at.BackgroundColor3=am at.Parent=as local au= +Instance.new'Frame'au.Name='HorizontalLine'au.Size=UDim2.new(0,aj/2-ak,0,al)au.Position=UDim2.fromScale(0.5,0.5)au. +AnchorPoint=Vector2.new(0.5,0.5)au.BackgroundColor3=am au.Parent=as ar.Parent=ae.LocalPlayer:WaitForChild'PlayerGui'ae. +LocalPlayer:SetAttribute('CrosshairGUI',ar)ah:Notify{Title='Crosshair',Description='Custom Crosshair aktiviert.',Time=2} +else local ar=ae.LocalPlayer:GetAttribute'CrosshairGUI'if ar then ar:Destroy()ae.LocalPlayer:SetAttribute('CrosshairGUI' +,nil)end ah:Notify{Title='Crosshair',Description='Custom Crosshair deaktiviert.',Time=2}end end})ap:AddSlider( +'CrosshairSize',{Text='Crosshair Size',Default=aj,Min=5,Max=50,Rounding=0,Callback=function(aq)aj=aq local ar=ae. +LocalPlayer:GetAttribute'CrosshairGUI'if ar then local as=ar:FindFirstChild'CrosshairFrame'if as then as.Size=UDim2. +fromOffset(aj,aj)local at,au=as:FindFirstChild'VerticalLine',as:FindFirstChild'HorizontalLine'if at then at.Size=UDim2. +new(0,al,0,aj/2-ak)end if au then au.Size=UDim2.new(0,aj/2-ak,0,al)end end end end})ap:AddSlider('CrosshairGap',{Text= +'Crosshair Gap',Default=ak,Min=0,Max=20,Rounding=0,Callback=function(aq)ak=aq local ar=ae.LocalPlayer:GetAttribute +'CrosshairGUI'if ar then local as=ar:FindFirstChild'CrosshairFrame'if as then local at,au=as:FindFirstChild +'VerticalLine',as:FindFirstChild'HorizontalLine'if at then at.Size=UDim2.new(0,al,0,aj/2-ak)end if au then au.Size=UDim2 +.new(0,aj/2-ak,0,al)end end end end})ap:AddSlider('CrosshairThickness',{Text='Crosshair Thickness',Default=al,Min=1,Max= +10,Rounding=0,Callback=function(aq)al=aq local ar=ae.LocalPlayer:GetAttribute'CrosshairGUI'if ar then local as=ar: +FindFirstChild'CrosshairFrame'if as then local at,au=as:FindFirstChild'VerticalLine',as:FindFirstChild'HorizontalLine'if +at then at.Size=UDim2.new(0,al,0,aj/2-ak)end if au then au.Size=UDim2.new(0,aj/2-ak,0,al)end end end end})ap:AddLabel +'Crosshair Color'ap:AddColorPicker('CrosshairColor',{Default=am,Callback=function(aq)am=aq local ar=ae.LocalPlayer: +GetAttribute'CrosshairGUI'if ar then local as=ar:FindFirstChild'CrosshairFrame'if as then for at,au in as:GetChildren() +do if au:IsA'Frame'then au.BackgroundColor3=am end end end end end})local aq=ai.Visual:AddRightGroupbox( +'Environment Settings','rbxassetid://6031071569')aq:AddSlider('EnvBrightness',{Text='Brightness',Default=an,Min=0,Max=5, +Rounding=1,Callback=function(ar)an=ar if ae.LocalPlayer:GetAttribute'EnvTweaksEnabled'then af.Brightness=an end end})aq: +AddSlider('EnvFogEnd',{Text='Fog Distance',Default=ao,Min=100,Max=1000000,Rounding=0,Callback=function(ar)ao=ar if ae. +LocalPlayer:GetAttribute'EnvTweaksEnabled'then af.FogEnd=ao end end})aq:AddToggle('EnvTweaks',{Text= +'Apply Environment Tweaks',Default=false,Callback=function(ar)ae.LocalPlayer:SetAttribute('EnvTweaksEnabled',ar)if ar +then af.Brightness=an af.FogEnd=ao ah:Notify{Title='Env Tweaks',Description='Environment Tweaks aktiviert.',Time=2}else +af.Brightness=1 af.FogEnd=1000 ah:Notify{Title='Env Tweaks',Description='Environment zur\u{fc}ckgesetzt.',Time=2}end end +})aq:AddToggle('PostEffects',{Text='Night Vision',Default=false,Callback=function(ar)ae.LocalPlayer:SetAttribute( +'PostEffectsEnabled',ar)if ar then local as=Instance.new'ColorCorrectionEffect'as.TintColor=Color3.fromRGB(0,255,0)as. +Saturation=-0.5 as.Parent=af local at=Instance.new'BloomEffect'at.Intensity=1 at.Size=24 at.Threshold=0.8 at.Parent=af +af.Brightness=3 ah:Notify{Title='Night Vision',Description='Night Vision aktiviert.',Time=2}else for as,at in af: +GetChildren()do if at:IsA'ColorCorrectionEffect'or at:IsA'BloomEffect'or at:IsA'BlurEffect'then at:Destroy()end end af. +Brightness=1 ah:Notify{Title='Night Vision',Description='Effekte entfernt.',Time=2}end end})end return ag end)()end,[31] +=function()local aa,ab,ac=a(31)local ad return(function(...)local ae,af={['lucide-air-vent']= 'rbxassetid://113088244245544',['lucide-a-arrow-down']='rbxassetid://120414505628310',['lucide-airplay']= 'rbxassetid://84819241115336',['lucide-activity']='rbxassetid://95440027512297',['lucide-a-arrow-up']= 'rbxassetid://96834340832343',['lucide-alarm-clock-check']='rbxassetid://98975592700921',['lucide-a-large-small']= @@ -3632,29 +3662,30 @@ af end)()end,[30]=function()local aa,ab,ac=a(30)local ad return(function(...)loc do table.insert(af.Icons,ag)end function af.GetAsset(ag)local ah=tostring(ag):lower()local ai,aj=ah,ah if not ah:match '^lucide%-'then ai='lucide-'..ah else aj=ah:gsub('^lucide%-','')end local ak=ae[ah]or ae[ai]or ae[aj]if ak==nil then return nil end return{Url=ak,ImageRectOffset=Vector2.zero,ImageRectSize=Vector2.zero,Custom=false}end return af end)() -end},{{1,1,{'waxbundle'},{{2,4,{'BundleEntry'}},{10,1,{'ObsidianUI'},{{12,2,{'FallbackIcons'}},{29,1,{'utils'},{{30,2,{ -'icons'}}}},{11,2,{'Bootstrap'}},{14,1,{'scripts'},{{17,2,{'NoclipController'}},{15,2,{'CustomESP'}},{16,2,{ -'FlyController'}}}},{13,2,{'UIConfig'}},{18,1,{'tabs'},{{24,2,{'LocalTab'}},{23,2,{'ItemSpawnerTab'}},{27,2,{ -'UISettingsTab'}},{28,2,{'UtilsTab'}},{26,2,{'NoclipTab'}},{20,2,{'AutoFarmTab'}},{22,2,{'FlyTab'}},{21,2,{'ESPTab'}},{ -19,2,{'AimbotTab'}},{25,2,{'MainTab'}}}}}},{8,2,{'ObsidianLibrary'}},{3,2,{'Init'},{{4,2,{'ObsidianLibrary.d'}},{5,2,{ -'ObsidianLibrary'}}}},{9,2,{'ObsidianLibrary.d'}},{6,2,{'Loader'}},{7,2,{'MainModule'}}}}},'0.4.2','WaxRuntime',string, -task,setmetatable,error,next,table,unpack,coroutine,script,type,require,pcall,tostring,tonumber,_VERSION local au,av,aw, -ax,ay,az,aA=aj.insert,aj.remove,aj.freeze or function(au)return au end,al.wrap,ae.sub,ae.match,ae.gmatch if as and ay(as -,1,4)=='Lune'then local aB,aC=ap(ao,'@lune/task')if aB and aC then af=aC end end local aB=af and af.defer local aC,aD,aE -,aF,aG,aH,aI,aJ,aK=aB or function(aC,...)ax(aC)(...)end,{[1]='Folder',[2]='ModuleScript',[3]='Script',[4]='LocalScript', -[5]='StringValue'},{},{},{},{},{},{},{}local aL,aM={GetFullName={{},function(aL)local aM,aN=aL.Name,aL.Parent while aN -do aM=aN.Name..'.'..aM aN=aN.Parent end return aM end},GetChildren={{},function(aL)local aM={}for aN in ai,aK[aL]do au( -aM,aN)end return aM end},GetDescendants={{},function(aL)local aM={}for aN in ai,aK[aL]do au(aM,aN)for aO,aP in ai,aN: -GetDescendants()do au(aM,aP)end end return aM end},FindFirstChild={{'string','boolean?'},function(aL,aM,aN)local aO=aK[ -aL]for aP in ai,aO do if aP.Name==aM then return aP end end if aN then for aP in ai,aO do return aP:FindFirstChild(aM, -true)end end end},FindFirstAncestor={{'string'},function(aL,aM)local aN=aL.Parent while aN do if aN.Name==aM then return -aN end aN=aN.Parent end end},WaitForChild={{'string','number?'},function(aL,aM)return aL:FindFirstChild(aM)end}},{}for -aN,aO in ai,aL do local aP,aR,aS=aO[1],aO[2],{}for aT,aU in ai,aP do local aV,aW=az(aU,'^([^%?]+)(%??)')aS[aT]={aV,aW} -end aM[aN]=function(aT,...)if not aK[aT]then ah("Expected ':' not '.' calling member function "..aN,2)end local aU={...} -for aV,aW in ai,aS do local aX=aU[aV]local aY,aZ,a_=an(aX),aW[1],aW[2]if aX==nil and not a_ then ah('Argument '..aX.. -' missing or nil',3)end if aZ~='any'and aY~=aZ and not(aY=='nil'and a_)then ah('Argument '..aV..' expects type "'..aZ.. -'", got "'..aY..'"',2)end end return aR(aT,...)end end local function aN(aO,aP,aR)local aS,aT=(ag({},{__mode='k'})) -local function aU(aV)ah(aV..' is not a valid (virtual) member of '..aO..' "'..aP..'"',3)end local function aV(aW)ah( +end},{{1,1,{'waxbundle'},{{3,2,{'Init'},{{4,2,{'ObsidianLibrary.d'}},{5,2,{'ObsidianLibrary'}}}},{9,2,{ +'ObsidianLibrary.d'}},{6,2,{'Loader'}},{10,1,{'ObsidianUI'},{{14,1,{'scripts'},{{16,2,{'FlyController'}},{17,2,{ +'NoclipController'}},{15,2,{'CustomESP'}}}},{18,1,{'tabs'},{{24,2,{'LocalTab'}},{28,2,{'UtilsTab'}},{21,2,{'ESPTab'}},{ +22,2,{'FlyTab'}},{20,2,{'AutoFarmTab'}},{29,2,{'VisualTab'}},{26,2,{'NoclipTab'}},{25,2,{'MainTab'}},{23,2,{ +'ItemSpawnerTab'}},{27,2,{'UISettingsTab'}},{19,2,{'AimbotTab'}}}},{30,1,{'utils'},{{31,2,{'icons'}}}},{11,2,{ +'Bootstrap'}},{13,2,{'UIConfig'}},{12,2,{'FallbackIcons'}}}},{8,2,{'ObsidianLibrary'}},{2,4,{'BundleEntry'}},{7,2,{ +'MainModule'}}}}},'0.4.2','WaxRuntime',string,task,setmetatable,error,next,table,unpack,coroutine,script,type,require, +pcall,tostring,tonumber,_VERSION local au,av,aw,ax,ay,az,aA=aj.insert,aj.remove,aj.freeze or function(au)return au end, +al.wrap,ae.sub,ae.match,ae.gmatch if as and ay(as,1,4)=='Lune'then local aB,aC=ap(ao,'@lune/task')if aB and aC then af= +aC end end local aB=af and af.defer local aC,aD,aE,aF,aG,aH,aI,aJ,aK=aB or function(aC,...)ax(aC)(...)end,{[1]='Folder', +[2]='ModuleScript',[3]='Script',[4]='LocalScript',[5]='StringValue'},{},{},{},{},{},{},{}local aL,aM={GetFullName={{}, +function(aL)local aM,aN=aL.Name,aL.Parent while aN do aM=aN.Name..'.'..aM aN=aN.Parent end return aM end},GetChildren={{ +},function(aL)local aM={}for aN in ai,aK[aL]do au(aM,aN)end return aM end},GetDescendants={{},function(aL)local aM={}for +aN in ai,aK[aL]do au(aM,aN)for aO,aP in ai,aN:GetDescendants()do au(aM,aP)end end return aM end},FindFirstChild={{ +'string','boolean?'},function(aL,aM,aN)local aO=aK[aL]for aP in ai,aO do if aP.Name==aM then return aP end end if aN +then for aP in ai,aO do return aP:FindFirstChild(aM,true)end end end},FindFirstAncestor={{'string'},function(aL,aM)local +aN=aL.Parent while aN do if aN.Name==aM then return aN end aN=aN.Parent end end},WaitForChild={{'string','number?'}, +function(aL,aM)return aL:FindFirstChild(aM)end}},{}for aN,aO in ai,aL do local aP,aR,aS=aO[1],aO[2],{}for aT,aU in ai,aP +do local aV,aW=az(aU,'^([^%?]+)(%??)')aS[aT]={aV,aW}end aM[aN]=function(aT,...)if not aK[aT]then ah( +"Expected ':' not '.' calling member function "..aN,2)end local aU={...}for aV,aW in ai,aS do local aX=aU[aV]local aY,aZ +,a_=an(aX),aW[1],aW[2]if aX==nil and not a_ then ah('Argument '..aX..' missing or nil',3)end if aZ~='any'and aY~=aZ and +not(aY=='nil'and a_)then ah('Argument '..aV..' expects type "'..aZ..'", got "'..aY..'"',2)end end return aR(aT,...)end +end local function aN(aO,aP,aR)local aS,aT=(ag({},{__mode='k'}))local function aU(aV)ah(aV.. +' is not a valid (virtual) member of '..aO..' "'..aP..'"',3)end local function aV(aW)ah( 'Unable to assign (virtual) property '..aW..'. Property is read only',3)end local aW,aX={},{}aX.__metatable=false aX. __index=function(aY,aZ)if aZ=='ClassName'then return aO elseif aZ=='Name'then return aP elseif aZ=='Parent'then return aR elseif aO=='StringValue'and aZ=='Value'then return aT else local a_=aM[aZ]if a_ then return a_ end end for a_ in ai,