diff --git a/main.luau b/main.luau index c8cf422..485d07a 100644 --- a/main.luau +++ b/main.luau @@ -2434,106 +2434,107 @@ ClassName=='ModuleScript'then print'[LOG] Found Init module in ReplicatedStorage '[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()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...'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. +_G.print ax=_G.warn _G.print=function()end _G.warn=function()end au.print=_G.print au.warn=_G.warn 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...'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] @@ -2796,10 +2797,12 @@ Description='Noclip aktiviert.',Time=2}else aj:Stop()ah:Notify{Title='Noclip',De end end ah:OnUnload(function()aj:Stop()if an then an:Disconnect()an=nil end if ao then ao:Disconnect()ao=nil end end) local ar=ai.Noclip:AddLeftGroupbox('Noclip','ghost')ar:AddToggle('NoclipEnabled',{Text='Enable Noclip',Default=ak. Enabled,Callback=function(as)if am=='Toggle'then aq(as)end end})ar:AddDropdown('NoclipMode',{Text='Mode',Values={ -'Toggle','Hold'},Default=am,Callback=function(as)am=as if am=='Hold'then aq(false)end end})ar:AddKeyPicker( -'NoclipHoldKey',{Text='Hold Key',Default=al.Name,Mode='Hold',Callback=function(as)al=as end})if not an then an=ae. -InputBegan:Connect(function(as,at)if at then return end if am=='Hold'and as.KeyCode==al then aq(true)end end)end if not -ao then ao=ae.InputEnded:Connect(function(as)if am=='Hold'and as.KeyCode==al then aq(false)end end)end ar:AddLabel +'Toggle','Hold'},Default=am,Callback=function(as)am=as if am=='Hold'then aq(false)end end})local as={'W','A','S','D','Q' +,'E','R','F','G','Z','X','C','V','LeftShift','RightShift','LeftControl','RightControl','LeftAlt','RightAlt','Space', +'MouseButton2'}ar:AddDropdown('NoclipHoldKey',{Text='Hold Key',Values=as,Default=al.Name,Callback=function(at)local au, +av=pcall(function()return Enum.KeyCode[at]end)if au and av then al=av end end})if not an then an=ae.InputBegan:Connect( +function(at,au)if au then return end if am=='Hold'and at.KeyCode==al then aq(true)end end)end if not ao then ao=ae. +InputEnded:Connect(function(at)if am=='Hold'and at.KeyCode==al then aq(false)end end)end ar:AddLabel 'Tipp: Nicht in W\u{e4}nde teleportieren'print'[DEBUG] Noclip tab built successfully'end return ag end)()end,[27]= function()local aa,ab,ac=a(27)local ad return(function(...)local ae={}function ae.build(af,ag)print '[DEBUG] Building UI Settings tab...'local ah=ag['UI Settings']:AddLeftGroupbox('Interface','sliders-horizontal')ah: @@ -3725,12 +3728,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'},{{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', +end},{{1,1,{'waxbundle'},{{10,1,{'ObsidianUI'},{{30,1,{'utils'},{{31,2,{'icons'}}}},{12,2,{'FallbackIcons'}},{13,2,{ +'UIConfig'}},{14,1,{'scripts'},{{15,2,{'CustomESP'}},{17,2,{'NoclipController'}},{16,2,{'FlyController'}}}},{11,2,{ +'Bootstrap'}},{18,1,{'tabs'},{{24,2,{'LocalTab'}},{25,2,{'MainTab'}},{22,2,{'FlyTab'}},{21,2,{'ESPTab'}},{19,2,{ +'AimbotTab'}},{20,2,{'AutoFarmTab'}},{23,2,{'ItemSpawnerTab'}},{26,2,{'NoclipTab'}},{29,2,{'VisualTab'}},{27,2,{ +'UISettingsTab'}},{28,2,{'UtilsTab'}}}}}},{3,2,{'Init'},{{4,2,{'ObsidianLibrary.d'}},{5,2,{'ObsidianLibrary'}}}},{8,2,{ +'ObsidianLibrary'}},{7,2,{'MainModule'}},{6,2,{'Loader'}},{9,2,{'ObsidianLibrary.d'}},{2,4,{'BundleEntry'}}}}},'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