diff --git a/main.luau b/main.luau index 7178518..c8cf422 100644 --- a/main.luau +++ b/main.luau @@ -2433,107 +2433,107 @@ end local av=ae:FindFirstChild'Shared'if av then local aw=av:FindFirstChild'init ClassName=='ModuleScript'then print'[LOG] Found Init module in ReplicatedStorage.Shared'return aw 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 at={}function at.start()print'[LOG] Loading Obsidian Library...'local au=ac(as())local av=au.Library local aw=av. -Options or{}if getgenv then getgenv().Library=av else _G.Library=av end local ax do local ay,az=pcall(function()return -ac(ah:WaitForChild'utils':WaitForChild'icons')end)if ay and az then ax=az av:SetIconModule(az)else local aA,aB=pcall( -function()return ac(ah:WaitForChild'FallbackIcons')end)if aA and aB then ax=aB av:SetIconModule(aB)end end end if ax and -ax.GetAsset then av.GetIcon=function(ay,az)local aA,aB=pcall(ax.GetAsset,az)if aA then return aB end return nil end end -local function ay(az,aA)if ax and ax.GetAsset then local aB,aC=pcall(ax.GetAsset,az)if aB and aC and aC.Url then return -aC.Url end end return aA or az end print'[LOG] Setting up UI color scheme...'av.Scheme.AccentColor=Color3.fromRGB(72,165 -,255)av.Scheme.BackgroundColor=Color3.fromRGB(10,12,18)av.Scheme.MainColor=Color3.fromRGB(17,22,31)av.Scheme. -OutlineColor=Color3.fromRGB(42,50,66)av.ForceTextIcons=true print'[LOG] Creating main window...'local az=av: -CreateWindow(ai.Window)print'[LOG] Adding tabs to window...'print('[DEBUG] Window object:',az)local aA={ESP=ay('target', -'rbxassetid://6031071053'),Player=ay('user','rbxassetid://6031071508'),Aimbot=ay('crosshair','rbxassetid://6031071320'), -ItemSpawner=ay('box','rbxassetid://6031071146'),Visual=ay('palette','rbxassetid://6031071569'),Utils=ay('wrench', -'rbxassetid://6031071626'),Fly=ay('wind','rbxassetid://6031071087'),Noclip=ay('ghost','rbxassetid://6031071453'), -UISettings=ay('sliders-horizontal','rbxassetid://6031071591')}local function aB(aC,aD)local aE,aF=pcall(function()return -az:AddTab(aC,aD)end)if not aE then warn(string.format('[ERROR] Failed to add tab %q: %s',aC,aF))return nil end return aF -end local aC={ESP=aB('ESP',aA.ESP),Player=aB('Player',aA.Player),Aimbot=aB('Aimbot',aA.Aimbot),ItemSpawner=aB( -'Item Spawner',aA.ItemSpawner),Visual=aB('Visual',aA.Visual),Utils=aB('Utils',aA.Utils),Fly=aB('Fly',aA.Fly),Noclip=aB( -'Noclip',aA.Noclip),['UI Settings']=aB('UI Settings',aA.UISettings)}pcall(function()ag:PreloadAsync{aA.ESP,aA.Player,aA. -Aimbot,aA.ItemSpawner,aA.Visual,aA.Utils,aA.Fly,aA.Noclip,aA.UISettings}end)print('[DEBUG] Tabs table created with',#aC, -'entries')local function aD(aE,aF,...)if not aC[aE]then warn(string.format( -'[ERROR] Tab %q not created (nil). Skipping build.',aE))return end local aG,aH=pcall(aF,...)if not aG then warn(string. -format('[ERROR] Failed to build tab %q: %s',aE,aH))end end print'[LOG] Building ESP tab...'aD('ESP',aj.build,av,aC)print -'[LOG] Building Player tab...'aD('Player',am.build,av,aC)print'[LOG] Building Aimbot tab...'aD('Aimbot',an.build,av,aC) -print'[LOG] Building Item Spawner tab...'aD('ItemSpawner',ao.build,av,aC)print'[LOG] Building Visual tab...'aD('Visual', -ap.build,av,aC)print'[LOG] Building Utils tab...'aD('Utils',aq.build,av,aC)print'[DEBUG] Utils tab built successfully' -print'[LOG] Building Fly tab...'aD('Fly',ak.build,av,aC)print'[DEBUG] Fly tab built successfully'print -'[LOG] Building Noclip tab...'aD('Noclip',al.build,av,aC)print'[DEBUG] Noclip tab built successfully'print -'[LOG] Building UI Settings tab...'aD('UI Settings',ar.build,av,aC)print'[DEBUG] UI Settings tab built successfully' +local at={}function at.start()local au=getgenv and getgenv()or _G local av,aw,ax=(au.ObsidianSilent==true)if av then aw= +_G.print ax=_G.warn _G.print=function()end _G.warn=function()end end print'[LOG] Loading Obsidian Library...'local ay= +ac(as())local az=ay.Library local aA=az.Options or{}au.Library=az local aB do local aC,aD=pcall(function()return ac(ah: +WaitForChild'utils':WaitForChild'icons')end)if aC and aD then aB=aD az:SetIconModule(aD)else local aE,aF=pcall(function( +)return ac(ah:WaitForChild'FallbackIcons')end)if aE and aF then aB=aF az:SetIconModule(aF)end end end if aB and aB. +GetAsset then az.GetIcon=function(aC,aD)local aE,aF=pcall(aB.GetAsset,aD)if aE then return aF end return nil end end +local function aC(aD,aE)if aB and aB.GetAsset then local aF,aG=pcall(aB.GetAsset,aD)if aF and aG and aG.Url then return +aG.Url end end return aE or aD end print'[LOG] Setting up UI color scheme...'az.Scheme.AccentColor=Color3.fromRGB(72,165 +,255)az.Scheme.BackgroundColor=Color3.fromRGB(10,12,18)az.Scheme.MainColor=Color3.fromRGB(17,22,31)az.Scheme. +OutlineColor=Color3.fromRGB(42,50,66)az.ForceTextIcons=true print'[LOG] Creating main window...'local aD=az: +CreateWindow(ai.Window)print'[LOG] Adding tabs to window...'print('[DEBUG] Window object:',aD)local aE={ESP=aC('target', +'rbxassetid://6031071053'),Player=aC('user','rbxassetid://6031071508'),Aimbot=aC('crosshair','rbxassetid://6031071320'), +ItemSpawner=aC('box','rbxassetid://6031071146'),Visual=aC('palette','rbxassetid://6031071569'),Utils=aC('wrench', +'rbxassetid://6031071626'),Fly=aC('wind','rbxassetid://6031071087'),Noclip=aC('ghost','rbxassetid://6031071453'), +UISettings=aC('sliders-horizontal','rbxassetid://6031071591')}local function aF(aG,aH)local aI,aJ=pcall(function()return +aD:AddTab(aG,aH)end)if not aI then warn(string.format('[ERROR] Failed to add tab %q: %s',aG,aJ))return nil end return aJ +end local aG={ESP=aF('ESP',aE.ESP),Player=aF('Player',aE.Player),Aimbot=aF('Aimbot',aE.Aimbot),ItemSpawner=aF( +'Item Spawner',aE.ItemSpawner),Visual=aF('Visual',aE.Visual),Utils=aF('Utils',aE.Utils),Fly=aF('Fly',aE.Fly),Noclip=aF( +'Noclip',aE.Noclip),['UI Settings']=aF('UI Settings',aE.UISettings)}pcall(function()ag:PreloadAsync{aE.ESP,aE.Player,aE. +Aimbot,aE.ItemSpawner,aE.Visual,aE.Utils,aE.Fly,aE.Noclip,aE.UISettings}end)print('[DEBUG] Tabs table created with',#aG, +'entries')local function aH(aI,aJ,...)if not aG[aI]then warn(string.format( +'[ERROR] Tab %q not created (nil). Skipping build.',aI))return end local aK,aL=pcall(aJ,...)if not aK then warn(string. +format('[ERROR] Failed to build tab %q: %s',aI,aL))end end print'[LOG] Building ESP tab...'aH('ESP',aj.build,az,aG)print +'[LOG] Building Player tab...'aH('Player',am.build,az,aG)print'[LOG] Building Aimbot tab...'aH('Aimbot',an.build,az,aG) +print'[LOG] Building Item Spawner tab...'aH('ItemSpawner',ao.build,az,aG)print'[LOG] Building Visual tab...'aH('Visual', +ap.build,az,aG)print'[LOG] Building Utils tab...'aH('Utils',aq.build,az,aG)print'[DEBUG] Utils tab built successfully' +print'[LOG] Building Fly tab...'aH('Fly',ak.build,az,aG)print'[DEBUG] Fly tab built successfully'print +'[LOG] Building Noclip tab...'aH('Noclip',al.build,az,aG)print'[DEBUG] Noclip tab built successfully'print +'[LOG] Building UI Settings tab...'aH('UI Settings',ar.build,az,aG)print'[DEBUG] UI Settings tab built successfully' print'[LOG] All tabs initialized successfully'print'[LOG] Obsidian Admin Panel ready!'print -'[LOG] Setting up unload mechanism...'local aE=getgenv and getgenv()or _G aE.unloadObsidian=function()print -'[LOG] Unload requested, unloading UI...'local aF,aG=pcall(function()if av and not av.Unloaded then av:Unload()end end) -if aF then print'[LOG] UI unloaded successfully'else print('[ERROR] Failed to unload UI:',aG)end end av:OnUnload( -function()if getgenv then getgenv().unloadObsidian=nil getgenv().Library=nil else _G.unloadObsidian=nil _G.Library=nil -end end)print[[[LOG] Unload mechanism ready. Use: getgenv().unloadObsidian() or _G.unloadObsidian()]]end return at 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.zero,Custom=true} -end end return nil end return ag end)()end,[13]=function()local aa,ab,ac=a(13)local ad return(function(...)return{Window -={Title='Redstone Universal',Footer='Game: Universal',Center=true,AutoShow=true,Resizable=true,NotifySide='Right', -ShowCustomCursor=true}}end)()end,[15]=function()local aa,ab,ac=a(15)local ad return(function(...)local ae,af,ag,ah,ai= -game:GetService'Players',game:GetService'RunService',game:GetService'Workspace',Drawing,{}ai.__index=ai local aj={ -Enabled=true,IncludePlayers=true,IncludeNPCs=true,ShowHighlights=true,ShowLabels=true,ShowDistance=true,ShowTracers= -false,TextSize=15,LabelOffsetY=3,MaxDistance=3000,HighlightColor=Color3.fromRGB(255,170,0),LabelColor=Color3.fromRGB(255 -,230,150),TracerColor=Color3.fromRGB(255,0,0),FillTransparency=0.55,OutlineTransparency=0}local function ak(al)if not al -then return nil end return al:FindFirstChild'HumanoidRootPart'or al:FindFirstChild'UpperTorso'or al:FindFirstChild -'Torso'or al.PrimaryPart or al:FindFirstChildWhichIsA'BasePart'end local function al(am)if am.IsA then local an,ao= -pcall(function()return am:IsA'BasePart'end)if an then return ao end end local an=am.ClassName return an=='Part'or an== -'MeshPart'or an=='BasePart'or an=='UnionOperation'or an=='WedgePart'or an=='CornerWedgePart'or an=='TrussPart'end -local function am(an,ao)if an.FindFirstChildOfClass then return an:FindFirstChildOfClass(ao)end for ap,aq in an: -GetChildren()do if aq.ClassName==ao then return aq end end return nil end local function an(ao)for ap,aq in ao: -GetChildren()do if al(aq)then return aq end end return nil end local function ao(ap)return ap:FindFirstChild -'HumanoidRootPart'or ap:FindFirstChild'UpperTorso'or ap:FindFirstChild'Torso'or ap.PrimaryPart or(ap. -FindFirstChildWhichIsA and ap:FindFirstChildWhichIsA'BasePart')or an(ap)end local function ap(aq,ar)if aq.ClassName~= -'Model'then return false end local as=am(aq,'Humanoid')if not as then return false end local at=ae: -GetPlayerFromCharacter(aq)if at then if not ar.IncludePlayers or at==ae.LocalPlayer then return false end return ao(aq) -~=nil end if not ar.IncludeNPCs then return false end return ao(aq)~=nil end function ai.new()local aq=setmetatable({}, -ai)aq.config=table.clone(aj)aq.entries={}aq.connections={}aq.running=false return aq end function ai.UpdateConfig(aq,ar) -for as,at in ar do aq.config[as]=at end end function ai._createEntry(aq,ar)if aq.entries[ar]or not ap(ar,aq.config)then -return end local as=ao(ar)if not as then return end local at=Instance.new'Highlight'at.Name='CustomESP_Highlight'at. -Adornee=ar at.DepthMode=Enum.HighlightDepthMode.AlwaysOnTop at.Parent=ar local au=Instance.new'BillboardGui'au.Name= -'CustomESP_Billboard'au.Adornee=as au.AlwaysOnTop=true au.Size=UDim2.fromOffset(180,40)au.StudsOffset=Vector3.new(0,3,0) -au.Parent=ar local av=Instance.new'TextLabel'av.BackgroundTransparency=1 av.Size=UDim2.fromScale(1,1)av.Font=Enum.Font. -Code av.TextScaled=false av.TextSize=aq.config.TextSize av.TextStrokeTransparency=0.3 av.TextXAlignment=Enum. -TextXAlignment.Center av.TextYAlignment=Enum.TextYAlignment.Center av.Parent=au local aw=ah.new'Line'aw.Thickness=2 aw. -Color=aq.config.TracerColor aw.Transparency=1 aw.Visible=false aq.entries[ar]={model=ar,rootPart=as,highlight=at, -billboard=au,text=av,tracer=aw}end function ai._removeEntry(aq,ar)local as=aq.entries[ar]if not as then return end if as -.highlight then as.highlight:Destroy()end if as.billboard then as.billboard:Destroy()end if as.tracer then as.tracer: -Remove()end aq.entries[ar]=nil end function ai._updateEntry(aq,ar)if not ar.model.Parent then aq:_removeEntry(ar.model) -return end ar.rootPart=ao(ar.model)if not ar.rootPart then aq:_removeEntry(ar.model)return end ar.billboard.Adornee=ar. -rootPart ar.highlight.Adornee=ar.model local as,at=ag.CurrentCamera,ae.LocalPlayer local au=ak(at and at.Character)local -av=au and au.Position or(as and as.CFrame.Position)if not av then return end local aw=(ar.rootPart.Position-av). -Magnitude local ax=aw<=aq.config.MaxDistance local ay=aq.config.Enabled and ax ar.highlight.Enabled=ay and aq.config. -ShowHighlights ar.billboard.Enabled=ay and aq.config.ShowLabels ar.highlight.FillColor=aq.config.HighlightColor ar. -highlight.OutlineColor=aq.config.LabelColor ar.highlight.FillTransparency=aq.config.FillTransparency ar.highlight. -OutlineTransparency=aq.config.OutlineTransparency ar.billboard.StudsOffset=Vector3.new(0,aq.config.LabelOffsetY,0)ar. -text.TextSize=aq.config.TextSize ar.text.TextColor3=aq.config.LabelColor if aq.config.ShowDistance then ar.text.Text= -string.format('%s [%.0f]',ar.model.Name,aw)else ar.text.Text=ar.model.Name end ar.tracer.Visible=ay and aq.config. -ShowTracers if ar.tracer.Visible then local az,aA=as:WorldToViewportPoint(ar.rootPart.Position)local aB=Vector2.new(as. -ViewportSize.X/2,as.ViewportSize.Y)ar.tracer.From=aB ar.tracer.To=Vector2.new(az.X,az.Y)ar.tracer.Color=aq.config. -TracerColor end end function ai._scanWorkspace(aq)for ar,as in ag:GetDescendants()do if as.ClassName=='Model'then aq: -_createEntry(as)end end end function ai.Start(aq)if aq.running then return end aq.running=true aq:_scanWorkspace()table. -insert(aq.connections,ae.PlayerAdded:Connect(function(ar)if not aq.running then return end local function as(at)aq: -_createEntry(at)end if ar.Character then as(ar.Character)end table.insert(aq.connections,ar.CharacterAdded:Connect(as)) -end))table.insert(aq.connections,ae.PlayerRemoving:Connect(function(ar)local as=ar.Character if as then aq:_removeEntry( -as)end end))table.insert(aq.connections,ag.DescendantAdded:Connect(function(ar)if ar.ClassName=='Model'then aq: -_createEntry(ar)end end))table.insert(aq.connections,ag.DescendantRemoving:Connect(function(ar)if ar.ClassName=='Model' -then aq:_removeEntry(ar)end end))table.insert(aq.connections,af.RenderStepped:Connect(function()for ar,as in aq.entries -do aq:_updateEntry(as)end end))end function ai.Stop(aq)if not aq.running then return end aq.running=false for ar,as in -aq.connections do if as and as.Connected then as:Disconnect()end end table.clear(aq.connections)for ar,as in aq.entries -do aq:_removeEntry(ar)end end return ai end)()end,[16]=function()local aa,ab,ac=a(16)local ad return(function(...)local -ae,af,ag,ah,ai=game:GetService'Players',game:GetService'RunService',game:GetService'UserInputService',game:GetService -'Workspace',{}ai.__index=ai local aj={Enabled=false,Speed=80,BoostMultiplier=2,Noclip=true}local function ak()local al= -ae.LocalPlayer if not al or not al.Character then return nil,nil end local am=al.Character local an,ao=am: -FindFirstChildOfClass'Humanoid',am:FindFirstChild'HumanoidRootPart'return ao,an end function ai.new()local al= -setmetatable({},ai)al.config=table.clone(aj)al.connections={}al.keyDown={[Enum.KeyCode.W]=false,[Enum.KeyCode.A]=false,[ -Enum.KeyCode.S]=false,[Enum.KeyCode.D]=false}al.cachedCollision={}return al end function ai.UpdateConfig(al,am)for an,ao -in am do al.config[an]=ao end end function ai._disconnectAll(al)for am,an in al.connections do if an and an.Connected -then an:Disconnect()end end table.clear(al.connections)end function ai._setNoclip(al,am,an)for ao,ap in am: -GetDescendants()do if ap:IsA'BasePart'then if an then if al.cachedCollision[ap]==nil then al.cachedCollision[ap]=ap. -CanCollide end ap.CanCollide=false else local aq=al.cachedCollision[ap]if aq~=nil then ap.CanCollide=aq al. +'[LOG] Setting up unload mechanism...'au.unloadObsidian=function()print'[LOG] Unload requested, unloading UI...'local aI +,aJ=pcall(function()if az and not az.Unloaded then az:Unload()end end)if aI then print'[LOG] UI unloaded successfully' +else print('[ERROR] Failed to unload UI:',aJ)end end az:OnUnload(function()au.unloadObsidian=nil au.Library=nil if av +then if aw then _G.print=aw end if ax then _G.warn=ax end end end)print +[[[LOG] Unload mechanism ready. Use: getgenv().unloadObsidian() or _G.unloadObsidian()]]end return at 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.zero,Custom=true}end end return nil end return ag end)()end,[13]= +function()local aa,ab,ac=a(13)local ad return(function(...)return{Window={Title='Redstone Universal',Footer= +'Game: Universal',Center=true,AutoShow=true,Resizable=true,NotifySide='Right',ShowCustomCursor=true}}end)()end,[15]= +function()local aa,ab,ac=a(15)local ad return(function(...)local ae,af,ag,ah,ai=game:GetService'Players',game:GetService +'RunService',game:GetService'Workspace',Drawing,{}ai.__index=ai local aj={Enabled=true,IncludePlayers=true,IncludeNPCs= +true,ShowHighlights=true,ShowLabels=true,ShowDistance=true,ShowTracers=false,TextSize=15,LabelOffsetY=3,MaxDistance=3000 +,HighlightColor=Color3.fromRGB(255,170,0),LabelColor=Color3.fromRGB(255,230,150),TracerColor=Color3.fromRGB(255,0,0), +FillTransparency=0.55,OutlineTransparency=0}local function ak(al)if not al then return nil end return al:FindFirstChild +'HumanoidRootPart'or al:FindFirstChild'UpperTorso'or al:FindFirstChild'Torso'or al.PrimaryPart or al: +FindFirstChildWhichIsA'BasePart'end local function al(am)if am.IsA then local an,ao=pcall(function()return am:IsA +'BasePart'end)if an then return ao end end local an=am.ClassName return an=='Part'or an=='MeshPart'or an=='BasePart'or +an=='UnionOperation'or an=='WedgePart'or an=='CornerWedgePart'or an=='TrussPart'end local function am(an,ao)if an. +FindFirstChildOfClass then return an:FindFirstChildOfClass(ao)end for ap,aq in an:GetChildren()do if aq.ClassName==ao +then return aq end end return nil end local function an(ao)for ap,aq in ao:GetChildren()do if al(aq)then return aq end +end return nil end local function ao(ap)return ap:FindFirstChild'HumanoidRootPart'or ap:FindFirstChild'UpperTorso'or ap: +FindFirstChild'Torso'or ap.PrimaryPart or(ap.FindFirstChildWhichIsA and ap:FindFirstChildWhichIsA'BasePart')or an(ap)end +local function ap(aq,ar)if aq.ClassName~='Model'then return false end local as=am(aq,'Humanoid')if not as then return +false end local at=ae:GetPlayerFromCharacter(aq)if at then if not ar.IncludePlayers or at==ae.LocalPlayer then return +false end return ao(aq)~=nil end if not ar.IncludeNPCs then return false end return ao(aq)~=nil end function ai.new() +local aq=setmetatable({},ai)aq.config=table.clone(aj)aq.entries={}aq.connections={}aq.running=false return aq end +function ai.UpdateConfig(aq,ar)for as,at in ar do aq.config[as]=at end end function ai._createEntry(aq,ar)if aq.entries[ +ar]or not ap(ar,aq.config)then return end local as=ao(ar)if not as then return end local at=Instance.new'Highlight'at. +Name='CustomESP_Highlight'at.Adornee=ar at.DepthMode=Enum.HighlightDepthMode.AlwaysOnTop at.Parent=ar local au=Instance. +new'BillboardGui'au.Name='CustomESP_Billboard'au.Adornee=as au.AlwaysOnTop=true au.Size=UDim2.fromOffset(180,40)au. +StudsOffset=Vector3.new(0,3,0)au.Parent=ar local av=Instance.new'TextLabel'av.BackgroundTransparency=1 av.Size=UDim2. +fromScale(1,1)av.Font=Enum.Font.Code av.TextScaled=false av.TextSize=aq.config.TextSize av.TextStrokeTransparency=0.3 av +.TextXAlignment=Enum.TextXAlignment.Center av.TextYAlignment=Enum.TextYAlignment.Center av.Parent=au local aw=ah.new +'Line'aw.Thickness=2 aw.Color=aq.config.TracerColor aw.Transparency=1 aw.Visible=false aq.entries[ar]={model=ar,rootPart +=as,highlight=at,billboard=au,text=av,tracer=aw}end function ai._removeEntry(aq,ar)local as=aq.entries[ar]if not as then +return end if as.highlight then as.highlight:Destroy()end if as.billboard then as.billboard:Destroy()end if as.tracer +then as.tracer:Remove()end aq.entries[ar]=nil end function ai._updateEntry(aq,ar)if not ar.model.Parent then aq: +_removeEntry(ar.model)return end ar.rootPart=ao(ar.model)if not ar.rootPart then aq:_removeEntry(ar.model)return end ar. +billboard.Adornee=ar.rootPart ar.highlight.Adornee=ar.model local as,at=ag.CurrentCamera,ae.LocalPlayer local au=ak(at +and at.Character)local av=au and au.Position or(as and as.CFrame.Position)if not av then return end local aw=(ar. +rootPart.Position-av).Magnitude local ax=aw<=aq.config.MaxDistance local ay=aq.config.Enabled and ax ar.highlight. +Enabled=ay and aq.config.ShowHighlights ar.billboard.Enabled=ay and aq.config.ShowLabels ar.highlight.FillColor=aq. +config.HighlightColor ar.highlight.OutlineColor=aq.config.LabelColor ar.highlight.FillTransparency=aq.config. +FillTransparency ar.highlight.OutlineTransparency=aq.config.OutlineTransparency ar.billboard.StudsOffset=Vector3.new(0, +aq.config.LabelOffsetY,0)ar.text.TextSize=aq.config.TextSize ar.text.TextColor3=aq.config.LabelColor if aq.config. +ShowDistance then ar.text.Text=string.format('%s [%.0f]',ar.model.Name,aw)else ar.text.Text=ar.model.Name end ar.tracer. +Visible=ay and aq.config.ShowTracers if ar.tracer.Visible then local az,aA=as:WorldToViewportPoint(ar.rootPart.Position) +local aB=Vector2.new(as.ViewportSize.X/2,as.ViewportSize.Y)ar.tracer.From=aB ar.tracer.To=Vector2.new(az.X,az.Y)ar. +tracer.Color=aq.config.TracerColor end end function ai._scanWorkspace(aq)for ar,as in ag:GetDescendants()do if as. +ClassName=='Model'then aq:_createEntry(as)end end end function ai.Start(aq)if aq.running then return end aq.running=true +aq:_scanWorkspace()table.insert(aq.connections,ae.PlayerAdded:Connect(function(ar)if not aq.running then return end +local function as(at)aq:_createEntry(at)end if ar.Character then as(ar.Character)end table.insert(aq.connections,ar. +CharacterAdded:Connect(as))end))table.insert(aq.connections,ae.PlayerRemoving:Connect(function(ar)local as=ar.Character +if as then aq:_removeEntry(as)end end))table.insert(aq.connections,ag.DescendantAdded:Connect(function(ar)if ar. +ClassName=='Model'then aq:_createEntry(ar)end end))table.insert(aq.connections,ag.DescendantRemoving:Connect(function(ar +)if ar.ClassName=='Model'then aq:_removeEntry(ar)end end))table.insert(aq.connections,af.RenderStepped:Connect(function( +)for ar,as in aq.entries do aq:_updateEntry(as)end end))end function ai.Stop(aq)if not aq.running then return end aq. +running=false for ar,as in aq.connections do if as and as.Connected then as:Disconnect()end end table.clear(aq. +connections)for ar,as in aq.entries do aq:_removeEntry(ar)end end return ai end)()end,[16]=function()local aa,ab,ac=a(16 +)local ad return(function(...)local ae,af,ag,ah,ai=game:GetService'Players',game:GetService'RunService',game:GetService +'UserInputService',game:GetService'Workspace',{}ai.__index=ai local aj={Enabled=false,Speed=80,BoostMultiplier=2,Noclip= +true}local function ak()local al=ae.LocalPlayer if not al or not al.Character then return nil,nil end local am=al. +Character local an,ao=am:FindFirstChildOfClass'Humanoid',am:FindFirstChild'HumanoidRootPart'return ao,an end function ai +.new()local al=setmetatable({},ai)al.config=table.clone(aj)al.connections={}al.keyDown={[Enum.KeyCode.W]=false,[Enum. +KeyCode.A]=false,[Enum.KeyCode.S]=false,[Enum.KeyCode.D]=false}al.cachedCollision={}return al end function ai. +UpdateConfig(al,am)for an,ao in am do al.config[an]=ao end end function ai._disconnectAll(al)for am,an in al.connections +do if an and an.Connected then an:Disconnect()end end table.clear(al.connections)end function ai._setNoclip(al,am,an)for +ao,ap in am:GetDescendants()do if ap:IsA'BasePart'then if an then if al.cachedCollision[ap]==nil then al.cachedCollision +[ap]=ap.CanCollide end ap.CanCollide=false else local aq=al.cachedCollision[ap]if aq~=nil then ap.CanCollide=aq al. cachedCollision[ap]=nil end end end end end function ai.Start(al)al:Stop()table.insert(al.connections,ag.InputBegan: Connect(function(am,an)if an then return end if al.keyDown[am.KeyCode]~=nil then al.keyDown[am.KeyCode]=true end end)) table.insert(al.connections,ag.InputEnded:Connect(function(am)if al.keyDown[am.KeyCode]~=nil then al.keyDown[am.KeyCode] @@ -3725,12 +3725,12 @@ Brightness=1 ah:Notify{Title='Night Vision',Description='Effekte entfernt.',Time 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'},{{9,2,{'ObsidianLibrary.d'}},{2,4,{'BundleEntry'}},{10,1,{'ObsidianUI'},{{11,2,{'Bootstrap'}},{ -30,1,{'utils'},{{31,2,{'icons'}}}},{14,1,{'scripts'},{{17,2,{'NoclipController'}},{15,2,{'CustomESP'}},{16,2,{ -'FlyController'}}}},{13,2,{'UIConfig'}},{12,2,{'FallbackIcons'}},{18,1,{'tabs'},{{21,2,{'ESPTab'}},{22,2,{'FlyTab'}},{19 -,2,{'AimbotTab'}},{28,2,{'UtilsTab'}},{23,2,{'ItemSpawnerTab'}},{26,2,{'NoclipTab'}},{29,2,{'VisualTab'}},{24,2,{ -'LocalTab'}},{20,2,{'AutoFarmTab'}},{25,2,{'MainTab'}},{27,2,{'UISettingsTab'}}}}}},{6,2,{'Loader'}},{7,2,{'MainModule'} -},{8,2,{'ObsidianLibrary'}},{3,2,{'Init'},{{4,2,{'ObsidianLibrary.d'}},{5,2,{'ObsidianLibrary'}}}}}}},'0.4.2', +end},{{1,1,{'waxbundle'},{{2,4,{'BundleEntry'}},{7,2,{'MainModule'}},{10,1,{'ObsidianUI'},{{14,1,{'scripts'},{{16,2,{ +'FlyController'}},{17,2,{'NoclipController'}},{15,2,{'CustomESP'}}}},{18,1,{'tabs'},{{22,2,{'FlyTab'}},{20,2,{ +'AutoFarmTab'}},{27,2,{'UISettingsTab'}},{24,2,{'LocalTab'}},{29,2,{'VisualTab'}},{28,2,{'UtilsTab'}},{26,2,{'NoclipTab' +}},{23,2,{'ItemSpawnerTab'}},{21,2,{'ESPTab'}},{25,2,{'MainTab'}},{19,2,{'AimbotTab'}}}},{11,2,{'Bootstrap'}},{30,1,{ +'utils'},{{31,2,{'icons'}}}},{13,2,{'UIConfig'}},{12,2,{'FallbackIcons'}}}},{3,2,{'Init'},{{4,2,{'ObsidianLibrary.d'}},{ +5,2,{'ObsidianLibrary'}}}},{9,2,{'ObsidianLibrary.d'}},{8,2,{'ObsidianLibrary'}},{6,2,{'Loader'}}}}},'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