Auto-deploy: Update bundled Lua script

This commit is contained in:
2026-02-06 15:51:23 +00:00
parent 5777778613
commit 983c4e443b

574
main.luau
View File

@@ -2421,229 +2421,311 @@ 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,ag,ah=game:GetService'ReplicatedStorage',game:GetService
'RunService',game:GetService'ContentProvider',ab.Parent local ai,aj,ak,al,am,an,ao,ap,aq,ar=ac(ah:WaitForChild'UIConfig'
),ac(ah:WaitForChild'tabs':WaitForChild'ESPTab'),ac(ah:WaitForChild'tabs':WaitForChild'FlyTab'),ac(ah:WaitForChild'tabs'
:WaitForChild'NoclipTab'),ac(ah:WaitForChild'tabs':WaitForChild'LocalTab'),ac(ah:WaitForChild'tabs':WaitForChild
'AimbotTab'),ac(ah:WaitForChild'tabs':WaitForChild'ItemSpawnerTab'),ac(ah:WaitForChild'tabs':WaitForChild'VisualTab'),
ac(ah:WaitForChild'tabs':WaitForChild'UtilsTab'),ac(ah:WaitForChild'tabs':WaitForChild'UISettingsTab')local function as(
):ModuleScript print'[LOG] Searching for Obsidian Init module...'local at=ae:FindFirstChild'Init'if at and at.ClassName
=='ModuleScript'then print'[LOG] Found Init module in ReplicatedStorage'return at end local au=ah.Parent and ah.Parent:
FindFirstChild'Init'if au and au.ClassName=='ModuleScript'then print'[LOG] Found Init module in Root.Parent'return au
end local av=ae:FindFirstChild'Shared'if av then local aw=av:FindFirstChild'init'or av:FindFirstChild'Init'if aw and aw.
ClassName=='ModuleScript'then print'[LOG] Found Init module in ReplicatedStorage.Shared'return aw end end print
'RunService',game:GetService'ContentProvider',ab.Parent local ai,aj,ak,al,am,an,ao,ap,aq,ar,as=ac(ah:WaitForChild
'UIConfig'),ac(ah:WaitForChild'tabs':WaitForChild'ESPTab'),ac(ah:WaitForChild'tabs':WaitForChild'FlyTab'),ac(ah:
WaitForChild'tabs':WaitForChild'NoclipTab'),ac(ah:WaitForChild'tabs':WaitForChild'LocalTab'),ac(ah:WaitForChild'tabs':
WaitForChild'AimbotTab'),ac(ah:WaitForChild'tabs':WaitForChild'ItemSpawnerTab'),ac(ah:WaitForChild'tabs':WaitForChild
'VisualTab'),ac(ah:WaitForChild'tabs':WaitForChild'UtilsTab'),ac(ah:WaitForChild'tabs':WaitForChild'ClientTab'),ac(ah:
WaitForChild'tabs':WaitForChild'UISettingsTab')local function at():ModuleScript print
'[LOG] Searching for Obsidian Init module...'local au=ae:FindFirstChild'Init'if au and au.ClassName=='ModuleScript'then
print'[LOG] Found Init module in ReplicatedStorage'return au end local av=ah.Parent and ah.Parent:FindFirstChild'Init'if
av and av.ClassName=='ModuleScript'then print'[LOG] Found Init module in Root.Parent'return av end local aw=ae:
FindFirstChild'Shared'if aw then local ax=aw:FindFirstChild'init'or aw:FindFirstChild'Init'if ax and ax.ClassName==
'ModuleScript'then print'[LOG] Found Init module in ReplicatedStorage.Shared'return ax 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()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 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()for ar
,as in ae:GetPlayers()do if as~=ae.LocalPlayer then local function at(au)aq:_createEntry(au)end if as.Character then at(
as.Character)end table.insert(aq.connections,as.CharacterAdded:Connect(at))end end 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.Heartbeat:Connect(function(ar)if not aq.running then return end aq.
_scanAccumulator=(aq._scanAccumulator or 0)+ar if aq._scanAccumulator>=5 then aq._scanAccumulator=0 aq:_scanWorkspace()
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]=false end end))table.insert(al.connections,af.RenderStepped:
Connect(function(am)if not al.config.Enabled then return end local an,ao=ak()if not an or not ao then return end ao:
ChangeState(Enum.HumanoidStateType.Physics)ao.AutoRotate=false local ap=ah.CurrentCamera if ap then local aq,ar,as=ap.
CFrame.LookVector,ap.CFrame.RightVector,Vector3.zero if al.keyDown[Enum.KeyCode.W]then as+=aq end if al.keyDown[Enum.
KeyCode.S]then as-=aq end if al.keyDown[Enum.KeyCode.A]then as-=ar end if al.keyDown[Enum.KeyCode.D]then as+=ar end if
as.Magnitude>0 then as=as.Unit end local at=al.config.Speed if ag:IsKeyDown(Enum.KeyCode.LeftShift)then at*=al.config.
BoostMultiplier end an.CFrame=an.CFrame+(as*at*am)an.AssemblyLinearVelocity=Vector3.zero an.AssemblyAngularVelocity=
Vector3.zero end if al.config.Noclip then al:_setNoclip(an.Parent,true)else al:_setNoclip(an.Parent,false)end end))end
function ai.Stop(al)al:_disconnectAll()for am,an in al.keyDown do al.keyDown[am]=false end local am,an=ak()if an then an
.AutoRotate=true an:ChangeState(Enum.HumanoidStateType.Running)end if am then al:_setNoclip(am.Parent,false)am.
AssemblyLinearVelocity=Vector3.zero end end return ai end)()end,[17]=function()local aa,ab,ac=a(17)local ad return(
function(...)local ae,af,ag,ah,ai=game:GetService'Players',game:GetService'RunService',game:GetService'Workspace',
getgenv and getgenv()or _G,{}ai.__index=ai local aj={Enabled=false}local function ak()if typeof(ah)~='table'then return
nil end local al=ah.NoclipModelName if typeof(al)=='string'and al~=''then local am=ag:FindFirstChild(al)if am and am:IsA
'Model'then return am end local an=ag:FindFirstChild(al,true)if an and an:IsA'Model'then return an end end local am=ah.
NoclipModelPath if typeof(am)=='string'and am~=''then local an=ag for ao,ap in ipairs(am:split'.')do if ap~=''then an=an
:FindFirstChild(ap)if not an then return nil end end end if an and an:IsA'Model'then return an end end return nil end
local function al()local am=ae.LocalPlayer if not am then return nil end if am.Character then return am.Character end
local an=ak()if an then return an end local ao=ag:FindFirstChild(am.Name,true)if ao and ao:IsA'Model'then return ao end
return nil end function ai.new()local am=setmetatable({},ai)am.config=table.clone(aj)am.connections={}am.cachedCollision
={}return am end function ai.UpdateConfig(am,an)for ao,ap in an do am.config[ao]=ap end end function ai._disconnectAll(
am)for an,ao in am.connections do if ao and ao.Connected then ao:Disconnect()end end table.clear(am.connections)end
function ai._apply(am,an,ao)for ap,aq in an:GetDescendants()do if aq:IsA'BasePart'then if ao then if am.cachedCollision[
aq]==nil then am.cachedCollision[aq]={CanCollide=aq.CanCollide,CanTouch=aq.CanTouch,CanQuery=aq.CanQuery}end aq.
CanCollide=false aq.CanTouch=false aq.CanQuery=false else local ar=am.cachedCollision[aq]if ar~=nil then aq.CanCollide=
ar.CanCollide aq.CanTouch=ar.CanTouch aq.CanQuery=ar.CanQuery am.cachedCollision[aq]=nil end end end end if ao then
local ap=ae.LocalPlayer local aq=ak()or(ap and(ag:FindFirstChild(ap.Name)or ag:FindFirstChild(ap.Name,true)))if aq then
for ar,as in aq:GetDescendants()do if as:IsA'BasePart'then as.CanCollide=false as.CanTouch=false as.CanQuery=false end
end end end end function ai.Start(am)am:Stop()table.insert(am.connections,ae.LocalPlayer.CharacterAdded:Connect(function
()table.clear(am.cachedCollision)end))table.insert(am.connections,af.Stepped:Connect(function()local an=al()if not an
then return end am:_apply(an,am.config.Enabled)end))end function ai.Stop(am)am:_disconnectAll()local an=al()if an then
am:_apply(an,false)end table.clear(am.cachedCollision)end return ai end)()end,[19]=function()local aa,ab,ac=a(19)local
ad return(function(...)local ae,af,ag,ah=game:GetService'Players',game:GetService'RunService',game:GetService'Workspace'
,{}function ah.build(ai,aj)local ak,al,am,an=false,false,100,0.1 local function ao()local ap,aq=ae.LocalPlayer,ag.
CurrentCamera if not aq then return nil end local ar,as,at=ap:GetMouse(),am for au,av in ae:GetPlayers()do if av==ap or
not av.Character then continue end local aw=av.Character:FindFirstChild'HumanoidRootPart'if not aw then continue end
local ax,ay=aq:WorldToViewportPoint(aw.Position)if not ay then continue end local az=(Vector2.new(ax.X,ax.Y)-Vector2.
new(ar.X,ar.Y)).Magnitude if az<as then as=az at=av end end return at end local ap,aq,ar=(aj.Aimbot:AddLeftGroupbox(
'Aimbot','rbxassetid://110420827043048'))ap:AddToggle('AimbotEnabled',{Text='Aimbot',Default=false,Callback=function(as)
ak=as if as then ai:Notify{Title='Aimbot',Description='Aimbot aktiviert.',Time=2}aq=af.RenderStepped:Connect(function()
local at=ao()if at and at.Character then local au=at.Character:FindFirstChild'Head'if au then local av=ag.CurrentCamera
local aw=(au.Position-av.CFrame.Position).Unit local ax=CFrame.new(av.CFrame.Position,av.CFrame.Position+aw)local ay=av.
CFrame:Lerp(ax,an)av.CFrame=ay end end end)else if aq then aq:Disconnect()aq=nil end ai:Notify{Title='Aimbot',
Description='Aimbot deaktiviert.',Time=2}end end})ap:AddToggle('SilentAimEnabled',{Text='Silent Aim',Default=false,
Callback=function(as)al=as if as then ai:Notify{Title='Silent Aim',Description='Silent Aim aktiviert.',Time=2}ar=af.
RenderStepped:Connect(function()end)else if ar then ar:Disconnect()ar=nil end ai:Notify{Title='Silent Aim',Description=
'Silent Aim deaktiviert.',Time=2}end end})local as=aj.Aimbot:AddRightGroupbox('Aimbot Settings',
'rbxassetid://118473315376201')as:AddSlider('AimbotFOV',{Text='FOV',Default=am,Min=10,Max=300,Rounding=0,Callback=
function(at)am=at end})as:AddSlider('AimbotSmoothness',{Text='Smoothness',Default=an,Min=0.01,Max=1,Rounding=2,Callback=
function(at)an=at end})end return ah end)()end,[20]=function()local aa,ab,ac=a(20)local ad return(function(...)local ae,
af,ag,ah,ai=game:GetService'Players',game:GetService'RunService',game:GetService'TweenService',game:GetService
'Workspace',{}function ai.build(aj,ak)local al,am,an,ao=false,false,10,1 local function ap()local aq={}for ar,as in ah:
GetDescendants()do if as.Name:lower():find'coin'or as.Name:lower():find'collect'or as:IsA'BasePart'and as.CanCollide==
false then table.insert(aq,as)end end return aq end local function aq(ar)local as=ae.LocalPlayer if not as or not as.
Character or not as.Character:FindFirstChild'HumanoidRootPart'then return end local at,au=as.Character.HumanoidRootPart,
TweenInfo.new(ao,Enum.EasingStyle.Linear)local av=ag:Create(at,au,{CFrame=CFrame.new(ar)})av:Play()end local ar,as,at=(
ak.AutoFarm:AddLeftGroupbox('Auto Farm','rbxassetid://110420827043048'))ar:AddToggle('AutoFarmEnabled',{Text='Auto Farm'
,Default=false,Callback=function(au)al=au if au then aj:Notify{Title='Auto Farm',Description='Auto Farm aktiviert.',Time
=2}as=af.Heartbeat:Connect(function()local av=ap()if#av>0 then local aw,ax,ay=math.huge,(ae.LocalPlayer)if ax and ax.
Character and ax.Character:FindFirstChild'HumanoidRootPart'then local az=ax.Character.HumanoidRootPart.Position for aA,
aB in av do if aB:IsA'BasePart'then local aC=(aB.Position-az).Magnitude if aC<aw then aw=aC ay=aB end end end if ay and
aw>an then aq(ay.Position)end end end end)else if as then as:Disconnect()as=nil end aj:Notify{Title='Auto Farm',
Description='Auto Farm deaktiviert.',Time=2}end end})ar:AddToggle('AutoCollectEnabled',{Text='Auto Collect',Default=
false,Callback=function(au)am=au if au then aj:Notify{Title='Auto Collect',Description='Auto Collect aktiviert.',Time=2}
at=af.Heartbeat:Connect(function()local av,aw=ap(),ae.LocalPlayer if aw and aw.Character then for ax,ay in av do if ay:
IsA'BasePart'and(ay.Position-aw.Character.HumanoidRootPart.Position).Magnitude<an then if ay:FindFirstChildOfClass
'ClickDetector'then ay.ClickDetector:Click()elseif ay:FindFirstChildOfClass'TouchTransmitter'then firetouchinterest(aw.
Character.HumanoidRootPart,ay,0)wait(0.1)firetouchinterest(aw.Character.HumanoidRootPart,ay,1)end end end end end)else
if at then at:Disconnect()at=nil end aj:Notify{Title='Auto Collect',Description='Auto Collect deaktiviert.',Time=2}end
end})local au=ak.AutoFarm:AddRightGroupbox('Farm Settings','rbxassetid://118473315376201')au:AddSlider('TargetDistance',
{Text='Target Distance',Default=an,Min=1,Max=50,Rounding=0,Callback=function(av)an=av end})au:AddSlider('TweenSpeed',{
Text='Movement Speed',Default=ao,Min=0.1,Max=5,Rounding=1,Callback=function(av)ao=av end})end return ai end)()end,[21]=
function()local aa,ab,ac=a(21)local ad return(function(...)local ae,af=ac(ab.Parent.Parent:WaitForChild'scripts':
WaitForChild'CustomESP'),{}function af.build(ag,ah)print'[LOG] Initializing ESP features...'local ai,aj={Enabled=false,
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()if aj then aj:
UpdateConfig(ai)end end local function al()if aj then return end aj=ae.new()aj:UpdateConfig(ai)aj:Start()print
'[DEBUG] ESP activated'ag:Notify{Title='Custom ESP',Description='Custom NPC ESP aktiviert.',Time=2}end local function am
()if not aj then return end aj:Stop()aj=nil ag:Notify{Title='Custom ESP',Description='Custom NPC ESP deaktiviert.',Time=
2}end local an=ah.ESP:AddLeftGroupbox('NPC ESP','rbxassetid://110420827043048')an:AddToggle('CustomNpcEspEnabled',{Text=
'Custom NPC ESP',Default=ai.Enabled,Callback=function(ao)ai.Enabled=ao if ao then al()else am()end end})an:AddToggle(
'CustomEspPlayers',{Text='Show Players',Default=ai.IncludePlayers,Callback=function(ao)ai.IncludePlayers=ao ak()end})an:
AddToggle('CustomEspNPCs',{Text='Show NPCs',Default=ai.IncludeNPCs,Callback=function(ao)ai.IncludeNPCs=ao ak()end})an:
AddLabel'Presets'an:AddButton{Text='Default',Func=function()ai.HighlightColor=Color3.fromRGB(255,170,0)ai.LabelColor=
Color3.fromRGB(255,230,150)ai.FillTransparency=0.55 ai.OutlineTransparency=0 ai.TextSize=15 ai.LabelOffsetY=3 ak()ag:
Notify{Title='ESP',Description='Default preset angewendet.',Time=2}end}local ao=ah.ESP:AddRightGroupbox('ESP Settings',
'rbxassetid://126437119963884')ao:AddToggle('CustomEspHighlights',{Text='Highlights',Default=ai.ShowHighlights,Callback=
function(ap)ai.ShowHighlights=ap ak()end})ao:AddToggle('CustomEspLabels',{Text='Labels',Default=ai.ShowLabels,Callback=
function(ap)ai.ShowLabels=ap ak()end})ao:AddToggle('CustomEspDistance',{Text='Distance Text',Default=ai.ShowDistance,
Callback=function(ap)ai.ShowDistance=ap ak()end})ao:AddToggle('CustomEspTracers',{Text='Tracers',Default=ai.ShowTracers,
Callback=function(ap)ai.ShowTracers=ap ak()end})ao:AddSlider('CustomEspMaxDistance',{Text='Max Distance',Default=ai.
MaxDistance,Min=100,Max=10000,Rounding=0,Suffix=' studs',Callback=function(ap)ai.MaxDistance=ap ak()end})ao:AddSlider(
'CustomEspTextSize',{Text='Text Size',Default=ai.TextSize,Min=10,Max=30,Rounding=0,Callback=function(ap)ai.TextSize=ap
ak()end})ao:AddSlider('CustomEspLabelOffsetY',{Text='Label Height',Default=ai.LabelOffsetY,Min=1,Max=8,Rounding=1,
Callback=function(ap)ai.LabelOffsetY=ap ak()end})ao:AddLabel'Highlight Color':AddColorPicker('CustomEspHighlightColor',{
Default=ai.HighlightColor,Callback=function(ap)ai.HighlightColor=ap ak()end})ao:AddLabel'Label Color':AddColorPicker(
local au={}function au.start()local av=getgenv and getgenv()or _G local aw,ax,ay=(av.ObsidianSilent==true)if aw then ax=
_G.print ay=_G.warn _G.print=function()end _G.warn=function()end av.print=_G.print av.warn=_G.warn end print
'[LOG] Loading Obsidian Library...'local az=ac(at())local aA=az.Library local aB=aA.Options or{}av.Library=aA local aC
do local aD,aE=pcall(function()return ac(ah:WaitForChild'utils':WaitForChild'icons')end)if aD and aE then aC=aE aA:
SetIconModule(aE)else local aF,aG=pcall(function()return ac(ah:WaitForChild'FallbackIcons')end)if aF and aG then aC=aG
aA:SetIconModule(aG)end end end if aC and aC.GetAsset then aA.GetIcon=function(aD,aE)local aF,aG=pcall(aC.GetAsset,aE)if
aF then return aG end return nil end end local function aD(aE,aF)if aC and aC.GetAsset then local aG,aH=pcall(aC.
GetAsset,aE)if aG and aH and aH.Url then return aH.Url end end return aF or aE end print
'[LOG] Setting up UI color scheme...'aA.Scheme.AccentColor=Color3.fromRGB(72,165,255)aA.Scheme.BackgroundColor=Color3.
fromRGB(10,12,18)aA.Scheme.MainColor=Color3.fromRGB(17,22,31)aA.Scheme.OutlineColor=Color3.fromRGB(42,50,66)aA.
ForceTextIcons=true print'[LOG] Creating main window...'local aE=aA:CreateWindow(ai.Window)print
'[LOG] Adding tabs to window...'print('[DEBUG] Window object:',aE)local aF={ESP=aD('target','rbxassetid://6031071053'),
Player=aD('user','rbxassetid://6031071508'),Aimbot=aD('crosshair','rbxassetid://6031071320'),ItemSpawner=aD('box',
'rbxassetid://6031071146'),Visual=aD('palette','rbxassetid://6031071569'),Client=aD('monitor','rbxassetid://6031071569')
,Utils=aD('wrench','rbxassetid://6031071626'),Fly=aD('wind','rbxassetid://6031071087'),Noclip=aD('ghost',
'rbxassetid://6031071453'),UISettings=aD('sliders-horizontal','rbxassetid://6031071591')}local function aG(aH,aI)local
aJ,aK=pcall(function()return aE:AddTab(aH,aI)end)if not aJ then warn(string.format('[ERROR] Failed to add tab %q: %s',aH
,aK))return nil end return aK end local aH={ESP=aG('ESP',aF.ESP),Player=aG('Player',aF.Player),Aimbot=aG('Aimbot',aF.
Aimbot),ItemSpawner=aG('Item Spawner',aF.ItemSpawner),Visual=aG('Visual',aF.Visual),Client=aG('Client',aF.Client),Utils=
aG('Utils',aF.Utils),Fly=aG('Fly',aF.Fly),Noclip=aG('Noclip',aF.Noclip),['UI Settings']=aG('UI Settings',aF.UISettings)}
pcall(function()ag:PreloadAsync{aF.ESP,aF.Player,aF.Aimbot,aF.ItemSpawner,aF.Visual,aF.Client,aF.Utils,aF.Fly,aF.Noclip,
aF.UISettings}end)print('[DEBUG] Tabs table created with',#aH,'entries')local function aI(aJ,aK,...)if not aH[aJ]then
warn(string.format('[ERROR] Tab %q not created (nil). Skipping build.',aJ))return end local aL,aM=pcall(aK,...)if not aL
then warn(string.format('[ERROR] Failed to build tab %q: %s',aJ,aM))end end print'[LOG] Building ESP tab...'aI('ESP',aj.
build,aA,aH)print'[LOG] Building Player tab...'aI('Player',am.build,aA,aH)print'[LOG] Building Aimbot tab...'aI('Aimbot'
,an.build,aA,aH)print'[LOG] Building Item Spawner tab...'aI('ItemSpawner',ao.build,aA,aH)print
'[LOG] Building Visual tab...'aI('Visual',ap.build,aA,aH)print'[LOG] Building Client tab...'aI('Client',ar.build,aA,aH)
print'[LOG] Building Utils tab...'aI('Utils',aq.build,aA,aH)print'[DEBUG] Utils tab built successfully'print
'[LOG] Building Fly tab...'aI('Fly',ak.build,aA,aH)print'[DEBUG] Fly tab built successfully'print
'[LOG] Building Noclip tab...'aI('Noclip',al.build,aA,aH)print'[DEBUG] Noclip tab built successfully'print
'[LOG] Building UI Settings tab...'aI('UI Settings',as.build,aA,aH)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...'av.unloadObsidian=function()print'[LOG] Unload requested, unloading UI...'local aJ
,aK=pcall(function()if aA and not aA.Unloaded then aA:Unload()end end)if aJ then print'[LOG] UI unloaded successfully'
else print('[ERROR] Failed to unload UI:',aK)end end aA:OnUnload(function()av.unloadObsidian=nil av.Library=nil if aw
then if ax then _G.print=ax end if ay then _G.warn=ay end end end)print
[[[LOG] Unload mechanism ready. Use: getgenv().unloadObsidian() or _G.unloadObsidian()]]end return au 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()for ar,as in ae:GetPlayers()do if as~=ae.LocalPlayer then local function at(au)aq:_createEntry(au)end
if as.Character then at(as.Character)end table.insert(aq.connections,as.CharacterAdded:Connect(at))end end 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.Heartbeat:Connect(function(ar)if not aq.running then
return end aq._scanAccumulator=(aq._scanAccumulator or 0)+ar if aq._scanAccumulator>=5 then aq._scanAccumulator=0 aq:
_scanWorkspace()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]
=false end end))table.insert(al.connections,af.RenderStepped:Connect(function(am)if not al.config.Enabled then return
end local an,ao=ak()if not an or not ao then return end ao:ChangeState(Enum.HumanoidStateType.Physics)ao.AutoRotate=
false local ap=ah.CurrentCamera if ap then local aq,ar,as=ap.CFrame.LookVector,ap.CFrame.RightVector,Vector3.zero if al.
keyDown[Enum.KeyCode.W]then as+=aq end if al.keyDown[Enum.KeyCode.S]then as-=aq end if al.keyDown[Enum.KeyCode.A]then as
-=ar end if al.keyDown[Enum.KeyCode.D]then as+=ar end if as.Magnitude>0 then as=as.Unit end local at=al.config.Speed if
ag:IsKeyDown(Enum.KeyCode.LeftShift)then at*=al.config.BoostMultiplier end an.CFrame=an.CFrame+(as*at*am)an.
AssemblyLinearVelocity=Vector3.zero an.AssemblyAngularVelocity=Vector3.zero end if al.config.Noclip then al:_setNoclip(
an.Parent,true)else al:_setNoclip(an.Parent,false)end end))end function ai.Stop(al)al:_disconnectAll()for am,an in al.
keyDown do al.keyDown[am]=false end local am,an=ak()if an then an.AutoRotate=true an:ChangeState(Enum.HumanoidStateType.
Running)end if am then al:_setNoclip(am.Parent,false)am.AssemblyLinearVelocity=Vector3.zero end end return ai end)()end,
[17]=function()local aa,ab,ac=a(17)local ad return(function(...)local ae,af,ag,ah,ai=game:GetService'Players',game:
GetService'RunService',game:GetService'Workspace',getgenv and getgenv()or _G,{}ai.__index=ai local aj={Enabled=false}
local function ak()if typeof(ah)~='table'then return nil end local al=ah.NoclipModelName if typeof(al)=='string'and al~=
''then local am=ag:FindFirstChild(al)if am and am:IsA'Model'then return am end local an=ag:FindFirstChild(al,true)if an
and an:IsA'Model'then return an end end local am=ah.NoclipModelPath if typeof(am)=='string'and am~=''then local an=ag
for ao,ap in ipairs(am:split'.')do if ap~=''then an=an:FindFirstChild(ap)if not an then return nil end end end if an and
an:IsA'Model'then return an end end return nil end local function al()local am=ae.LocalPlayer if not am then return nil
end if am.Character then return am.Character end local an=ak()if an then return an end local ao=ag:FindFirstChild(am.
Name,true)if ao and ao:IsA'Model'then return ao end return nil end function ai.new()local am=setmetatable({},ai)am.
config=table.clone(aj)am.connections={}am.cachedCollision={}return am end function ai.UpdateConfig(am,an)for ao,ap in an
do am.config[ao]=ap end end function ai._disconnectAll(am)for an,ao in am.connections do if ao and ao.Connected then ao:
Disconnect()end end table.clear(am.connections)end function ai._apply(am,an,ao)for ap,aq in an:GetDescendants()do if aq:
IsA'BasePart'then if ao then if am.cachedCollision[aq]==nil then am.cachedCollision[aq]={CanCollide=aq.CanCollide,
CanTouch=aq.CanTouch,CanQuery=aq.CanQuery}end aq.CanCollide=false aq.CanTouch=false aq.CanQuery=false else local ar=am.
cachedCollision[aq]if ar~=nil then aq.CanCollide=ar.CanCollide aq.CanTouch=ar.CanTouch aq.CanQuery=ar.CanQuery am.
cachedCollision[aq]=nil end end end end if ao then local ap=ae.LocalPlayer local aq=ak()or(ap and(ag:FindFirstChild(ap.
Name)or ag:FindFirstChild(ap.Name,true)))if aq then for ar,as in aq:GetDescendants()do if as:IsA'BasePart'then as.
CanCollide=false as.CanTouch=false as.CanQuery=false end end end end end function ai.Start(am)am:Stop()table.insert(am.
connections,ae.LocalPlayer.CharacterAdded:Connect(function()table.clear(am.cachedCollision)end))table.insert(am.
connections,af.Stepped:Connect(function()local an=al()if not an then return end am:_apply(an,am.config.Enabled)end))end
function ai.Stop(am)am:_disconnectAll()local an=al()if an then am:_apply(an,false)end table.clear(am.cachedCollision)end
return ai end)()end,[19]=function()local aa,ab,ac=a(19)local ad return(function(...)local ae,af,ag,ah=game:GetService
'Players',game:GetService'RunService',game:GetService'Workspace',{}function ah.build(ai,aj)local ak,al,am,an=false,false
,100,0.1 local function ao()local ap,aq=ae.LocalPlayer,ag.CurrentCamera if not aq then return nil end local ar,as,at=ap:
GetMouse(),am for au,av in ae:GetPlayers()do if av==ap or not av.Character then continue end local aw=av.Character:
FindFirstChild'HumanoidRootPart'if not aw then continue end local ax,ay=aq:WorldToViewportPoint(aw.Position)if not ay
then continue end local az=(Vector2.new(ax.X,ax.Y)-Vector2.new(ar.X,ar.Y)).Magnitude if az<as then as=az at=av end end
return at end local ap,aq,ar=(aj.Aimbot:AddLeftGroupbox('Aimbot','rbxassetid://110420827043048'))ap:AddToggle(
'AimbotEnabled',{Text='Aimbot',Default=false,Callback=function(as)ak=as if as then ai:Notify{Title='Aimbot',Description=
'Aimbot aktiviert.',Time=2}aq=af.RenderStepped:Connect(function()local at=ao()if at and at.Character then local au=at.
Character:FindFirstChild'Head'if au then local av=ag.CurrentCamera local aw=(au.Position-av.CFrame.Position).Unit local
ax=CFrame.new(av.CFrame.Position,av.CFrame.Position+aw)local ay=av.CFrame:Lerp(ax,an)av.CFrame=ay end end end)else if aq
then aq:Disconnect()aq=nil end ai:Notify{Title='Aimbot',Description='Aimbot deaktiviert.',Time=2}end end})ap:AddToggle(
'SilentAimEnabled',{Text='Silent Aim',Default=false,Callback=function(as)al=as if as then ai:Notify{Title='Silent Aim',
Description='Silent Aim aktiviert.',Time=2}ar=af.RenderStepped:Connect(function()end)else if ar then ar:Disconnect()ar=
nil end ai:Notify{Title='Silent Aim',Description='Silent Aim deaktiviert.',Time=2}end end})local as=aj.Aimbot:
AddRightGroupbox('Aimbot Settings','rbxassetid://118473315376201')as:AddSlider('AimbotFOV',{Text='FOV',Default=am,Min=10
,Max=300,Rounding=0,Callback=function(at)am=at end})as:AddSlider('AimbotSmoothness',{Text='Smoothness',Default=an,Min=
0.01,Max=1,Rounding=2,Callback=function(at)an=at end})end return ah end)()end,[20]=function()local aa,ab,ac=a(20)local
ad return(function(...)local ae,af,ag,ah,ai=game:GetService'Players',game:GetService'RunService',game:GetService
'TweenService',game:GetService'Workspace',{}function ai.build(aj,ak)local al,am,an,ao=false,false,10,1 local function ap
()local aq={}for ar,as in ah:GetDescendants()do if as.Name:lower():find'coin'or as.Name:lower():find'collect'or as:IsA
'BasePart'and as.CanCollide==false then table.insert(aq,as)end end return aq end local function aq(ar)local as=ae.
LocalPlayer if not as or not as.Character or not as.Character:FindFirstChild'HumanoidRootPart'then return end local at,
au=as.Character.HumanoidRootPart,TweenInfo.new(ao,Enum.EasingStyle.Linear)local av=ag:Create(at,au,{CFrame=CFrame.new(ar
)})av:Play()end local ar,as,at=(ak.AutoFarm:AddLeftGroupbox('Auto Farm','rbxassetid://110420827043048'))ar:AddToggle(
'AutoFarmEnabled',{Text='Auto Farm',Default=false,Callback=function(au)al=au if au then aj:Notify{Title='Auto Farm',
Description='Auto Farm aktiviert.',Time=2}as=af.Heartbeat:Connect(function()local av=ap()if#av>0 then local aw,ax,ay=
math.huge,(ae.LocalPlayer)if ax and ax.Character and ax.Character:FindFirstChild'HumanoidRootPart'then local az=ax.
Character.HumanoidRootPart.Position for aA,aB in av do if aB:IsA'BasePart'then local aC=(aB.Position-az).Magnitude if aC
<aw then aw=aC ay=aB end end end if ay and aw>an then aq(ay.Position)end end end end)else if as then as:Disconnect()as=
nil end aj:Notify{Title='Auto Farm',Description='Auto Farm deaktiviert.',Time=2}end end})ar:AddToggle(
'AutoCollectEnabled',{Text='Auto Collect',Default=false,Callback=function(au)am=au if au then aj:Notify{Title=
'Auto Collect',Description='Auto Collect aktiviert.',Time=2}at=af.Heartbeat:Connect(function()local av,aw=ap(),ae.
LocalPlayer if aw and aw.Character then for ax,ay in av do if ay:IsA'BasePart'and(ay.Position-aw.Character.
HumanoidRootPart.Position).Magnitude<an then if ay:FindFirstChildOfClass'ClickDetector'then ay.ClickDetector:Click()
elseif ay:FindFirstChildOfClass'TouchTransmitter'then firetouchinterest(aw.Character.HumanoidRootPart,ay,0)wait(0.1)
firetouchinterest(aw.Character.HumanoidRootPart,ay,1)end end end end end)else if at then at:Disconnect()at=nil end aj:
Notify{Title='Auto Collect',Description='Auto Collect deaktiviert.',Time=2}end end})local au=ak.AutoFarm:
AddRightGroupbox('Farm Settings','rbxassetid://118473315376201')au:AddSlider('TargetDistance',{Text='Target Distance',
Default=an,Min=1,Max=50,Rounding=0,Callback=function(av)an=av end})au:AddSlider('TweenSpeed',{Text='Movement Speed',
Default=ao,Min=0.1,Max=5,Rounding=1,Callback=function(av)ao=av end})end return ai end)()end,[21]=function()local aa,ab,
ac=a(21)local ad return(function(...)local ae,af,ag,ah,ai=game:GetService'Players',game:GetService'RunService',game:
GetService'UserInputService',game:GetService'Workspace',{}local function aj()local ak=ae.LocalPlayer if not ak then
return nil end local al=ak.Character if not al then return nil end return al:FindFirstChildOfClass'Humanoid'end
local function ak()local al=ae.LocalPlayer local am=al and al.Character return am and am:FindFirstChild
'HumanoidRootPart'or nil end function ai.build(al,am)local an,ao={},8 local function ap(aq,ar)table.insert(an,1,{title=
aq,description=ar,time=os.date'%H:%M:%S'})if#an>ao then table.remove(an,#an)end al:Notify{Title=aq,Description=ar,Time=2
}end local aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF=false,40,2,false,false,false,{},(Instance.new'Folder')ax.Name
='LocalMarkers'ax.Parent=ah local aG,aH,aI,aJ,aK,aL,aM,aN,aO,aP,aR=0,false,false,70,false,0.15,{}local function aS()aq=
false if ay then ay:Disconnect()ay=nil end if ah.CurrentCamera then ah.CurrentCamera.CameraType=Enum.CameraType.Custom
end end local function aT()if not ah.CurrentCamera then return end aq=true ah.CurrentCamera.CameraType=Enum.CameraType.
Scriptable az=ah.CurrentCamera.CFrame ay=af.RenderStepped:Connect(function(aU)if not aq then return end local aV=ah.
CurrentCamera if not aV then return end local aW,aX,aY,aZ=aV.CFrame.LookVector,aV.CFrame.RightVector,Vector3.new(0,1,0),
Vector3.zero if ag:IsKeyDown(Enum.KeyCode.W)then aZ+=aW end if ag:IsKeyDown(Enum.KeyCode.S)then aZ-=aW end if ag:
IsKeyDown(Enum.KeyCode.A)then aZ-=aX end if ag:IsKeyDown(Enum.KeyCode.D)then aZ+=aX end if ag:IsKeyDown(Enum.KeyCode.E)
then aZ+=aY end if ag:IsKeyDown(Enum.KeyCode.Q)then aZ-=aY end if aZ.Magnitude>0 then aZ=aZ.Unit end local a_=ar if ag:
IsKeyDown(Enum.KeyCode.LeftShift)then a_*=as end az=az+(aZ*a_*aU)aV.CFrame=az end)end local function aU()at=false if aB
then aB:Disconnect()aB=nil end if ah.CurrentCamera then ah.CurrentCamera.CameraType=Enum.CameraType.Custom end end
local function aV()if not aA then return end at=true ah.CurrentCamera.CameraType=Enum.CameraType.Scriptable aB=af.
RenderStepped:Connect(function()if not at then return end local aW=aA.Character local aX=aW and aW:FindFirstChild
'HumanoidRootPart'if aX and ah.CurrentCamera then local aY=Vector3.new(0,6,12)local aZ=aX.CFrame:PointToWorldSpace(aY)ah
.CurrentCamera.CFrame=CFrame.new(aZ,aX.Position)end end)end local function aW()au=false if aE then aE:Disconnect()aE=nil
end if aC then aC:Destroy()aC=nil aD=nil end end local function aX()au=true aC=Instance.new'ScreenGui'aC.Name=
'ClientDiagnostics'aC.ResetOnSpawn=false aC.Parent=ae.LocalPlayer:WaitForChild'PlayerGui'aD=Instance.new'TextLabel'aD.
BackgroundTransparency=0.3 aD.BackgroundColor3=Color3.fromRGB(10,10,10)aD.TextColor3=Color3.fromRGB(220,220,220)aD.Font=
Enum.Font.Code aD.TextSize=14 aD.TextXAlignment=Enum.TextXAlignment.Left aD.TextYAlignment=Enum.TextYAlignment.Top aD.
Size=UDim2.fromOffset(260,80)aD.Position=UDim2.fromOffset(8,8)aD.Parent=aC local aY,aZ=os.clock(),0 aE=af.RenderStepped:
Connect(function(a_)aZ+=1 local a0=os.clock()if a0-aY>=1 then local a1=math.floor(aZ/(a0-aY))aZ=0 aY=a0 local a2=math.
floor(collectgarbage'count')aD.Text=string.format('FPS: %d\nRender dt: %.3f\nLua mem: %d KB\nPing: N/A',a1,a_,a2)end end
)end local function aY()av=true table.clear(aw)aF=ag.InputBegan:Connect(function(aZ,a_)if a_ then return end table.
insert(aw,{t=os.clock(),key=aZ.KeyCode,type=aZ.UserInputType})end)ap('Recorder','Recording started.')end local function
aZ()av=false if aF then aF:Disconnect()aF=nil end ap('Recorder','Recording stopped.')end local function a_()if#aw==0
then ap('Recorder','No inputs recorded.')return end ap('Recorder','Playback simulated.')end local function a0(a1)local
a2=ak()if not a2 then return end aG+=1 local a3=Instance.new'Part'a3.Anchored=true a3.CanCollide=false a3.Transparency=1
a3.Size=Vector3.new(1,1,1)a3.Name='Marker_'..tostring(aG)a3.CFrame=a2.CFrame a3.Parent=ax local a4=Instance.new
'BillboardGui'a4.AlwaysOnTop=true a4.Size=UDim2.fromOffset(120,24)a4.StudsOffset=Vector3.new(0,2,0)a4.Parent=a3 local a5
=Instance.new'TextLabel'a5.BackgroundTransparency=0.2 a5.BackgroundColor3=Color3.fromRGB(15,15,15)a5.TextColor3=Color3.
fromRGB(255,255,255)a5.Font=Enum.Font.Code a5.TextSize=12 a5.Size=UDim2.fromScale(1,1)a5.Text=a1 a5.Parent=a4 end
local function a1()for a2,a3 in ax:GetChildren()do a3:Destroy()end end local function a2()aH=true aN=af.RenderStepped:
Connect(function()local a3,a4=aj(),ak()if not a3 or not a4 then return end local a5=ah.CurrentCamera if not a5 then
return end a3:Move(a5.CFrame.LookVector,true)end)end local function a3()aH=false if aN then aN:Disconnect()aN=nil end
end local function a4(a5)aI=a5 local a6=ae.LocalPlayer if not a6 then return end if a5 then aO=a6.CameraMode aP=ag.
MouseBehavior a6.CameraMode=Enum.CameraMode.LockFirstPerson ag.MouseBehavior=Enum.MouseBehavior.LockCenter else a6.
CameraMode=aO or Enum.CameraMode.Classic ag.MouseBehavior=aP or Enum.MouseBehavior.Default end end local function a5(a6)
aJ=a6 if ah.CurrentCamera then ah.CurrentCamera.FieldOfView=aJ end end local function a6()aK=true aR=af.RenderStepped:
Connect(function()if not aK then return end local a7=ah.CurrentCamera if not a7 then return end local a8=a7.CFrame a7.
CFrame=a7.CFrame:Lerp(a8,aL)end)end local function a7()aK=false if aR then aR:Disconnect()aR=nil end end local function
a8(a9)if a9==''then return end aM[a9]={fov=aJ,uiScale=al.DPIScale*100,cursor=al.ShowCustomCursor,accent=al.Scheme.
AccentColor,background=al.Scheme.BackgroundColor,main=al.Scheme.MainColor,outline=al.Scheme.OutlineColor}end
local function a9(b)local ba=aM[b]if not ba then return end a5(ba.fov)al:SetDPIScale(ba.uiScale)al.ShowCustomCursor=ba.
cursor al.Scheme.AccentColor=ba.accent al.Scheme.BackgroundColor=ba.background al.Scheme.MainColor=ba.main al.Scheme.
OutlineColor=ba.outline al:UpdateColorsUsingRegistry()end local b=am.Client:AddLeftGroupbox('Camera','camera')b:
AddToggle('Freecam',{Text='Freecam',Default=false,Callback=function(ba)if ba then aT()ap('Freecam','Enabled')else aS()
ap('Freecam','Disabled')end end})b:AddSlider('FreecamSpeed',{Text='Freecam Speed',Default=ar,Min=10,Max=120,Rounding=0,
Callback=function(ba)ar=ba end})b:AddSlider('FreecamBoost',{Text='Freecam Boost',Default=as,Min=1,Max=5,Rounding=1,
Callback=function(ba)as=ba end})b:AddDropdown('SpectateTarget',{Text='Spectate Target',SpecialType='Player',
ExcludeLocalPlayer=true,Callback=function(ba)aA=ba end})b:AddToggle('Spectate',{Text='Spectate',Default=false,Callback=
function(ba)if ba then aV()ap('Spectate','Enabled')else aU()ap('Spectate','Disabled')end end})local ba=am.Client:
AddRightGroupbox('Diagnostics','activity')ba:AddToggle('DiagnosticsOverlay',{Text='Diagnostics Overlay',Default=false,
Callback=function(bb)if bb then aX()else aW()end end})local bb,bc=am.Client:AddLeftGroupbox('Theme & Presets','palette')
,'Default'bb:AddInput('PresetName',{Text='Preset Name',Default=bc,Callback=function(bd)bc=bd end})bb:AddButton{Text=
'Save Preset',Func=function()a8(bc)ap('Presets','Saved '..bc)end}bb:AddDropdown('PresetSelect',{Text='Load Preset',
Values={},Callback=function(bd)if bd then a9(bd)ap('Presets','Loaded '..bd)end end})local bd=al.Options.PresetSelect af.
Heartbeat:Connect(function()if bd and bd.SetValues then local be={}for bf,bg in aM do table.insert(be,bf)end table.sort(
be)bd:SetValues(be)end end)local be=am.Client:AddRightGroupbox('Input Recorder','keyboard')be:AddButton{Text=
'Start Recording',Func=function()if not av then aY()end end}be:AddButton{Text='Stop Recording',Func=function()if av then
aZ()end end}be:AddButton{Text='Play Recording',Func=function()a_()end}local bf,bg=am.Client:AddLeftGroupbox('Waypoints',
'map-pin'),'Marker'bf:AddInput('MarkerName',{Text='Marker Name',Default=bg,Callback=function(bh)bg=bh end})bf:AddButton{
Text='Add Marker',Func=function()a0(bg)ap('Waypoints','Marker added')end}bf:AddButton{Text='Clear Markers',Func=function
()a1()ap('Waypoints','Markers cleared')end}local bh=am.Client:AddRightGroupbox('QoL','sparkles')bh:AddToggle('AutoRun',{
Text='Auto-run',Default=false,Callback=function(bi)if bi then a2()else a3()end end})bh:AddToggle('ShiftLockHelper',{Text
='Shift-lock Helper',Default=false,Callback=function(bi)a4(bi)end})bh:AddSlider('FOVSlider',{Text='FOV',Default=aJ,Min=
50,Max=120,Rounding=0,Callback=function(bi)a5(bi)end})bh:AddToggle('CameraSmooth',{Text='Camera Smoothing',Default=false
,Callback=function(bi)if bi then a6()else a7()end end})bh:AddSlider('CameraSmoothAlpha',{Text='Smoothing Strength',
Default=math.floor(aL*100),Min=1,Max=50,Rounding=0,Suffix='%',Callback=function(bi)aL=bi/100 end})local bi=am.Client:
AddLeftGroupbox('Notifications','bell')bi:AddButton{Text='Test Notification',Func=function()ap('Notify',
'This is a test.')end}local bj=bi:AddLabel'History:'af.Heartbeat:Connect(function()local bk={}for bl,bm in ipairs(an)do
table.insert(bk,string.format('[%s] %s - %s',bm.time,bm.title,bm.description))end if#bk==0 then bk[1]=
'No notifications yet.'end bj:SetText('History:\n'..table.concat(bk,'\n'))end)al:OnUnload(function()aS()aU()aW()aZ()a3()
a7()a4(false)a1()if ax then ax:Destroy()end end)end return ai end)()end,[22]=function()local aa,ab,ac=a(22)local ad
return(function(...)local ae,af=ac(ab.Parent.Parent:WaitForChild'scripts':WaitForChild'CustomESP'),{}function af.build(
ag,ah)print'[LOG] Initializing ESP features...'local ai,aj={Enabled=false,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()if aj then aj:UpdateConfig(ai)end end local function al()
if aj then return end aj=ae.new()aj:UpdateConfig(ai)aj:Start()print'[DEBUG] ESP activated'ag:Notify{Title='Custom ESP',
Description='Custom NPC ESP aktiviert.',Time=2}end local function am()if not aj then return end aj:Stop()aj=nil ag:
Notify{Title='Custom ESP',Description='Custom NPC ESP deaktiviert.',Time=2}end local an=ah.ESP:AddLeftGroupbox('NPC ESP'
,'rbxassetid://110420827043048')an:AddToggle('CustomNpcEspEnabled',{Text='Custom NPC ESP',Default=ai.Enabled,Callback=
function(ao)ai.Enabled=ao if ao then al()else am()end end})an:AddToggle('CustomEspPlayers',{Text='Show Players',Default=
ai.IncludePlayers,Callback=function(ao)ai.IncludePlayers=ao ak()end})an:AddToggle('CustomEspNPCs',{Text='Show NPCs',
Default=ai.IncludeNPCs,Callback=function(ao)ai.IncludeNPCs=ao ak()end})an:AddLabel'Presets'an:AddButton{Text='Default',
Func=function()ai.HighlightColor=Color3.fromRGB(255,170,0)ai.LabelColor=Color3.fromRGB(255,230,150)ai.FillTransparency=
0.55 ai.OutlineTransparency=0 ai.TextSize=15 ai.LabelOffsetY=3 ak()ag:Notify{Title='ESP',Description=
'Default preset angewendet.',Time=2}end}local ao=ah.ESP:AddRightGroupbox('ESP Settings','rbxassetid://126437119963884')
ao:AddToggle('CustomEspHighlights',{Text='Highlights',Default=ai.ShowHighlights,Callback=function(ap)ai.ShowHighlights=
ap ak()end})ao:AddToggle('CustomEspLabels',{Text='Labels',Default=ai.ShowLabels,Callback=function(ap)ai.ShowLabels=ap
ak()end})ao:AddToggle('CustomEspDistance',{Text='Distance Text',Default=ai.ShowDistance,Callback=function(ap)ai.
ShowDistance=ap ak()end})ao:AddToggle('CustomEspTracers',{Text='Tracers',Default=ai.ShowTracers,Callback=function(ap)ai.
ShowTracers=ap ak()end})ao:AddSlider('CustomEspMaxDistance',{Text='Max Distance',Default=ai.MaxDistance,Min=100,Max=
10000,Rounding=0,Suffix=' studs',Callback=function(ap)ai.MaxDistance=ap ak()end})ao:AddSlider('CustomEspTextSize',{Text=
'Text Size',Default=ai.TextSize,Min=10,Max=30,Rounding=0,Callback=function(ap)ai.TextSize=ap ak()end})ao:AddSlider(
'CustomEspLabelOffsetY',{Text='Label Height',Default=ai.LabelOffsetY,Min=1,Max=8,Rounding=1,Callback=function(ap)ai.
LabelOffsetY=ap ak()end})ao:AddLabel'Highlight Color':AddColorPicker('CustomEspHighlightColor',{Default=ai.
HighlightColor,Callback=function(ap)ai.HighlightColor=ap ak()end})ao:AddLabel'Label Color':AddColorPicker(
'CustomEspLabelColor',{Default=ai.LabelColor,Callback=function(ap)ai.LabelColor=ap ak()end})ao:AddLabel'Tracer Color':
AddColorPicker('CustomEspTracerColor',{Default=ai.TracerColor,Callback=function(ap)ai.TracerColor=ap ak()end})ao:
AddSlider('CustomEspFillTransparency',{Text='Fill Transparency',Default=ai.FillTransparency,Min=0,Max=1,Rounding=2,
Callback=function(ap)ai.FillTransparency=ap ak()end})ao:AddSlider('CustomEspOutlineTransparency',{Text=
'Outline Transparency',Default=ai.OutlineTransparency,Min=0,Max=1,Rounding=2,Callback=function(ap)ai.OutlineTransparency
=ap ak()end})end return af end)()end,[22]=function()local aa,ab,ac=a(22)local ad return(function(...)local ae,af=ac(ab.
=ap ak()end})end return af end)()end,[23]=function()local aa,ab,ac=a(23)local ad return(function(...)local ae,af=ac(ab.
Parent.Parent:WaitForChild'scripts':WaitForChild'FlyController'),{}function af.build(ag,ah)print
'[DEBUG] Building Fly tab...'local ai,aj=ae.new(),{Enabled=false,Speed=80,BoostMultiplier=2,Noclip=true}local function
ak()ai:UpdateConfig(aj)end local function al(am)aj.Enabled=am ak()if am then ai:Start()ag:Notify{Title='Fly',Description
@@ -2653,8 +2735,8 @@ AddToggle('FlyEnabled',{Text='Enable Fly',Default=aj.Enabled,Callback=function(a
Text='Speed',Default=aj.Speed,Min=10,Max=200,Rounding=0,Callback=function(an)aj.Speed=an ak()end})am:AddSlider(
'FlyBoost',{Text='Boost Multiplier',Default=aj.BoostMultiplier,Min=1,Max=5,Rounding=1,Callback=function(an)aj.
BoostMultiplier=an ak()end})am:AddToggle('FlyNoclip',{Text='Noclip While Flying',Default=aj.Noclip,Callback=function(an)
aj.Noclip=an ak()end})print'[DEBUG] Fly tab built successfully'end return af end)()end,[23]=function()local aa,ab,ac=a(
23)local ad return(function(...)local ae,af,ag,ah=game:GetService'Players',game:GetService'ReplicatedStorage',game:
aj.Noclip=an ak()end})print'[DEBUG] Fly tab built successfully'end return af end)()end,[24]=function()local aa,ab,ac=a(
24)local ad return(function(...)local ae,af,ag,ah=game:GetService'Players',game:GetService'ReplicatedStorage',game:
GetService'Workspace',{}function ah.build(ai,aj)local function ak(al)local am=ae.LocalPlayer if not am or not am.
Character then ai:Notify{Title='Spawner',Description='Kein Character gefunden.',Time=2}return end local an=af:
FindFirstChild(al)or ag:FindFirstChild(al)if not an then ai:Notify{Title='Spawner',Description="Item '"..al..
@@ -2664,7 +2746,7 @@ FindFirstChild(al)or ag:FindFirstChild(al)if not an then ai:Notify{Title='Spawne
,Func=function()ak'Sword'end}al:AddButton{Text='Spawn Gun',Func=function()ak'Gun'end}local am,an=aj.ItemSpawner:
AddRightGroupbox('Custom Spawn','rbxassetid://118473315376201'),'Tool'am:AddInput('CustomItemName',{Text='Item Name',
Default=an,Callback=function(ao)an=ao end})am:AddButton{Text='Spawn Custom Item',Func=function()ak(an)end}end return ah
end)()end,[24]=function()local aa,ab,ac=a(24)local ad return(function(...)local ae,af,ag,ah,ai,aj=game:GetService
end)()end,[25]=function()local aa,ab,ac=a(25)local ad return(function(...)local ae,af,ag,ah,ai,aj=game:GetService
'Players',game:GetService'UserInputService',game:GetService'Lighting',game:GetService'RunService',game:GetService
'Workspace',{}local function ak()local al=ae.LocalPlayer if not al then return nil end local am=al.Character if not am
then return nil end return am:FindFirstChildOfClass'Humanoid'end local function al(am)local an=ak()if not an then return
@@ -2803,9 +2885,9 @@ am:Notify{Title='Teleport',Description='Teleportiert zu '..aU.Name,Time=2}end en
aJ:Disconnect()aJ=nil end ag.Brightness=1 ag.FogEnd=1000 for aP,aR in ag:GetChildren()do if aR:IsA
'ColorCorrectionEffect'or aR:IsA'BloomEffect'or aR:IsA'BlurEffect'then aR:Destroy()end end local aP=ae.LocalPlayer if aP
then aP.CameraMode=Enum.CameraMode.Classic end af.MouseBehavior=Enum.MouseBehavior.Default end)end return aj end)()end,[
25]=function()local aa,ab,ac=a(25)local ad return(function(...)local ae={}function ae.build(af,ag)local ah=ag.Main:
26]=function()local aa,ab,ac=a(26)local ad return(function(...)local ae={}function ae.build(af,ag)local ah=ag.Main:
AddLeftGroupbox('Demo','boxes')ah:AddLabel'Features sind jetzt in separaten Tabs links.'ah:AddLabel
'Nutze den ESP-Tab und den Fly-Tab.'end return ae end)()end,[26]=function()local aa,ab,ac=a(26)local ad return(function(
'Nutze den ESP-Tab und den Fly-Tab.'end return ae end)()end,[27]=function()local aa,ab,ac=a(27)local ad return(function(
...)local ae,af,ag=game:GetService'UserInputService',ac(ab.Parent.Parent:WaitForChild'scripts':WaitForChild
'NoclipController'),{}function ag.build(ah,ai)print'[DEBUG] Building Noclip tab...'local aj,ak,al,am,an,ao=af.new(),{
Enabled=false},Enum.KeyCode.V,'Toggle'local function ap()aj:UpdateConfig(ak)end local function aq(ar)ak.Enabled=ar ap()
@@ -2820,7 +2902,7 @@ Default=al.Name,Callback=function(at)local au,av=pcall(function()return Enum.Key
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
ag end)()end,[28]=function()local aa,ab,ac=a(28)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:
AddButton{Text='Toggle UI',Func=function()af:Toggle()end}ah:AddButton{Text='Unload UI',Func=function()local ai=getgenv
and getgenv().unloadObsidian if ai then ai()else af:Unload()end end}ah:AddToggle('ShowCustomCursor',{Text=
@@ -2829,8 +2911,8 @@ and getgenv().unloadObsidian if ai then ai()else af:Unload()end end}ah:AddToggle
AddSlider('DPIScale',{Text='UI Scale',Default=100,Min=70,Max=140,Rounding=0,Suffix='%',Callback=function(ai)af:
SetDPIScale(ai)end})local ai=ag['UI Settings']:AddRightGroupbox('Theme','palette')ai:AddLabel'Accent Color':
AddColorPicker('AccentColor',{Default=af.Scheme.AccentColor,Callback=function(aj)af.Scheme.AccentColor=aj af:
UpdateColorsUsingRegistry()end})print'[DEBUG] UI Settings tab built successfully'end return ae end)()end,[28]=function()
local aa,ab,ac=a(28)local ad return(function(...)local ae,af,ag,ah,ai,aj=game:GetService'Players',game:GetService
UpdateColorsUsingRegistry()end})print'[DEBUG] UI Settings tab built successfully'end return ae end)()end,[29]=function()
local aa,ab,ac=a(29)local ad return(function(...)local ae,af,ag,ah,ai,aj=game:GetService'Players',game:GetService
'TeleportService',game:GetService'VirtualUser',game:GetService'Lighting',game:GetService'RunService',{}function aj.build
(ak,al)print'[DEBUG] Building Utils tab...'local am,an,ao,ap,aq,ar,as=16,50,false,{Brightness=ah.Brightness,FogEnd=ah.
FogEnd,GlobalShadows=ah.GlobalShadows,Ambient=ah.Ambient,OutdoorAmbient=ah.OutdoorAmbient}ak:OnUnload(function()if aq
@@ -2868,7 +2950,7 @@ LocalPlayer local ax=aw and aw.Character and aw.Character:FindFirstChildOfClass'
end})au:AddSlider('QuickJumpPower',{Text='JumpPower',Default=an,Min=25,Max=120,Rounding=0,Callback=function(av)an=av
local aw=ae.LocalPlayer local ax=aw and aw.Character and aw.Character:FindFirstChildOfClass'Humanoid'if ax then if ax.
UseJumpPower~=nil then ax.UseJumpPower=true end ax.JumpPower=an end end})print'[DEBUG] Utils tab built successfully'end
return aj end)()end,[29]=function()local aa,ab,ac=a(29)local ad return(function(...)local ae,af,ag=game:GetService
return aj end)()end,[30]=function()local aa,ab,ac=a(30)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'
@@ -2906,8 +2988,8 @@ af.Brightness=1 af.FogEnd=1000 ah:Notify{Title='Env Tweaks',Description='Environ
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']=
Brightness=1 ah:Notify{Title='Night Vision',Description='Effekte entfernt.',Time=2}end end})end return ag end)()end,[32]
=function()local aa,ab,ac=a(32)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']=
@@ -3747,25 +3829,25 @@ 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'}},{3,2,{'Init'},{{5,2,{'ObsidianLibrary'}},{4,2,{'ObsidianLibrary.d'}}}},{
9,2,{'ObsidianLibrary.d'}},{6,2,{'Loader'}},{8,2,{'ObsidianLibrary'}},{7,2,{'MainModule'}},{10,1,{'ObsidianUI'},{{12,2,{
'FallbackIcons'}},{30,1,{'utils'},{{31,2,{'icons'}}}},{13,2,{'UIConfig'}},{18,1,{'tabs'},{{28,2,{'UtilsTab'}},{19,2,{
'AimbotTab'}},{23,2,{'ItemSpawnerTab'}},{26,2,{'NoclipTab'}},{22,2,{'FlyTab'}},{25,2,{'MainTab'}},{29,2,{'VisualTab'}},{
21,2,{'ESPTab'}},{24,2,{'LocalTab'}},{27,2,{'UISettingsTab'}},{20,2,{'AutoFarmTab'}}}},{14,1,{'scripts'},{{16,2,{
'FlyController'}},{15,2,{'CustomESP'}},{17,2,{'NoclipController'}}}},{11,2,{'Bootstrap'}}}}}}},'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(
end},{{1,1,{'waxbundle'},{{10,1,{'ObsidianUI'},{{13,2,{'UIConfig'}},{14,1,{'scripts'},{{15,2,{'CustomESP'}},{16,2,{
'FlyController'}},{17,2,{'NoclipController'}}}},{11,2,{'Bootstrap'}},{12,2,{'FallbackIcons'}},{18,1,{'tabs'},{{24,2,{
'ItemSpawnerTab'}},{22,2,{'ESPTab'}},{30,2,{'VisualTab'}},{25,2,{'LocalTab'}},{23,2,{'FlyTab'}},{27,2,{'NoclipTab'}},{26
,2,{'MainTab'}},{20,2,{'AutoFarmTab'}},{29,2,{'UtilsTab'}},{28,2,{'UISettingsTab'}},{21,2,{'ClientTab'}},{19,2,{
'AimbotTab'}}}},{31,1,{'utils'},{{32,2,{'icons'}}}}}},{7,2,{'MainModule'}},{9,2,{'ObsidianLibrary.d'}},{8,2,{
'ObsidianLibrary'}},{2,4,{'BundleEntry'}},{3,2,{'Init'},{{4,2,{'ObsidianLibrary.d'}},{5,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 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