Auto-deploy: Update bundled Lua script

This commit is contained in:
2026-02-06 14:17:38 +00:00
parent 1b2a302880
commit d5c4d00dfd

223
main.luau
View File

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