main.luau aktualisiert
This commit is contained in:
313
main.luau
313
main.luau
@@ -1,118 +1,121 @@
|
||||
local a local aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at={[2]=function()local b,c,d=a(2)local e return(
|
||||
function(...)local f=c.Parent local g=f:WaitForChild'ObsidianUI'local h=d(g:WaitForChild'Bootstrap')h.start()end)()end,[
|
||||
3]=function()local b,c,d=a(3)local e return(function(...)local f=d(c:WaitForChild'ObsidianLibrary.d')return{Library=(d(c
|
||||
:WaitForChild'ObsidianLibrary')::any)::f.Library,Types=f}end)()end,[4]=function()local b,c,d=a(4)local e return(function
|
||||
(...)export type Scheme={BackgroundColor:Color3,MainColor:Color3,AccentColor:Color3,OutlineColor:Color3,FontColor:Color3
|
||||
,Font:Font,RedColor:Color3,DarkColor:Color3,WhiteColor:Color3}export type Icon={Url:string,ImageRectOffset:Vector2,
|
||||
ImageRectSize:Vector2}export type ContextMenu={Active:boolean,Holder:GuiObject,Menu:GuiObject,List:UIListLayout?,Signal:
|
||||
RBXScriptConnection?,Size:UDim2|(()->UDim2),Open:(self:ContextMenu)->(),Close:(self:ContextMenu)->(),Toggle:(self:
|
||||
ContextMenu)->(),SetSize:(self:ContextMenu,Size:UDim2|(()->UDim2))->()}export type Tooltip={Disabled:boolean,Hovering:
|
||||
boolean,Signals:{[number]:RBXScriptConnection},Destroy:(self:Tooltip)->()}export type Notification={Title:string?,
|
||||
Description:string,Time:number|Instance,SoundId:string|number?,Steps:number?,Persist:boolean?,Destroyed:boolean,Resize:(
|
||||
self:Notification)->(),ChangeTitle:(self:Notification,Text:string)->(),ChangeDescription:(self:Notification,Text:string
|
||||
)->(),ChangeStep:(self:Notification,NewStep:number)->(),Destroy:(self:Notification)->()}export type KeybindToggle={
|
||||
Normal:boolean,Holder:TextButton,Label:TextLabel,Checkbox:Frame,Loaded:boolean,Display:(self:KeybindToggle,State:boolean
|
||||
)->(),SetText:(self:KeybindToggle,Text:string)->(),SetVisibility:(self:KeybindToggle,Visibility:boolean)->(),SetNormal:(
|
||||
self:KeybindToggle,Normal:boolean)->()}export type DraggableLabel={Label:TextLabel,SetText:(self:DraggableLabel,Text:
|
||||
string)->(),SetVisible:(self:DraggableLabel,Visible:boolean)->()}export type DraggableButton={Button:TextButton,SetText:
|
||||
(self:DraggableButton,Text:string)->()}export type ButtonInfo={Text:string,Func:()->(),DoubleClick:boolean?,Tooltip:
|
||||
string?,DisabledTooltip:string?,Risky:boolean?,Disabled:boolean?,Visible:boolean?}export type ToggleInfo={Text:string,
|
||||
Default:boolean?,Callback:((boolean)->())?,Changed:((boolean)->())?,Tooltip:string?,DisabledTooltip:string?,Risky:
|
||||
boolean?,Disabled:boolean?,Visible:boolean?}export type InputInfo={Text:string,Default:string?,Finished:boolean?,Numeric
|
||||
:boolean?,ClearTextOnFocus:boolean?,Placeholder:string?,AllowEmpty:boolean?,EmptyReset:string?,MaxLength:number?,Tooltip
|
||||
:string?,DisabledTooltip:string?,Callback:((string)->())?,Changed:((string)->())?,Disabled:boolean?,Visible:boolean?}
|
||||
export type SliderInfo={Text:string,Default:number?,Min:number?,Max:number?,Rounding:number?,Prefix:string?,Suffix:
|
||||
string?,Compact:boolean?,HideMax:boolean?,FormatDisplayValue:((Slider,number)->string)?,Tooltip:string?,DisabledTooltip:
|
||||
string?,Callback:((number)->())?,Changed:((number)->())?,Disabled:boolean?,Visible:boolean?}export type DropdownInfo={
|
||||
Text:string?,Values:{any},Default:any,DisabledValues:{any}?,Multi:boolean?,MaxVisibleDropdownItems:number?,SpecialType:
|
||||
'Player'|'Team'?,ExcludeLocalPlayer:boolean?,AllowNull:boolean?,Searchable:boolean?,FormatDisplayValue:((any)->string)?,
|
||||
Tooltip:string?,DisabledTooltip:string?,Callback:((any)->())?,Changed:((any)->())?,Disabled:boolean?,Visible:boolean?}
|
||||
export type ViewportInfo={Object:BasePart|Model,Camera:Camera?,Clone:boolean?,AutoFocus:boolean?,Interactive:boolean?,
|
||||
Height:number?,Visible:boolean?}export type ImageInfo={Image:string,Transparency:number?,Color:Color3?,RectOffset:
|
||||
Vector2?,RectSize:Vector2?,ScaleType:Enum.ScaleType?,Height:number?,Visible:boolean?}export type VideoInfo={Video:string
|
||||
,Looped:boolean?,Playing:boolean?,Volume:number?,Height:number?,Visible:boolean?}export type UIPassthroughInfo={Instance
|
||||
:GuiBase2d,Height:number?,Visible:boolean?}export type KeyPickerInfo={Text:string,Default:string?,Mode:'Always'|'Toggle'
|
||||
|'Hold'|'Press'?,Modes:{'Always'|'Toggle'|'Hold'|'Press'}?,SyncToggleState:boolean?,NoUI:boolean?,WaitForCallback:
|
||||
boolean?,Callback:((boolean)->())?,ChangedCallback:((Enum.KeyCode|Enum.UserInputType)->())?,Changed:((Enum.KeyCode|Enum.
|
||||
UserInputType)->())?,Clicked:(()->())?}export type ColorPickerInfo={Default:Color3?,Transparency:number?,Title:string?,
|
||||
Callback:((Color3)->())?,Changed:((Color3)->())?}export type KeyPicker={Text:string,Value:string,Toggled:boolean,Mode:
|
||||
'Always'|'Toggle'|'Hold'|'Press',SyncToggleState:boolean,Callback:(Toggled:boolean)->(),ChangedCallback:(Key:Enum.
|
||||
KeyCode|Enum.UserInputType)->(),Changed:(Key:Enum.KeyCode|Enum.UserInputType)->(),Clicked:()->(),Type:'KeyPicker',Menu:
|
||||
ContextMenu,Display:(self:KeyPicker)->(),Update:(self:KeyPicker)->(),GetState:(self:KeyPicker)->boolean,OnChanged:(self:
|
||||
KeyPicker,Func:(Key:Enum.KeyCode|Enum.UserInputType)->())->(),OnClick:(self:KeyPicker,Func:()->())->(),DoClick:(self:
|
||||
KeyPicker)->(),SetValue:(self:KeyPicker,Data:{string})->(),SetText:(self:KeyPicker,Text:string)->()}export type
|
||||
ColorPicker={Value:Color3,Transparency:number,Title:string?,Callback:(Value:Color3)->(),Changed:(Value:Color3)->(),Type:
|
||||
'ColorPicker',Hue:number,Sat:number,Vib:number,ColorMenu:ContextMenu,ContextMenu:ContextMenu,SetHSVFromRGB:(self:
|
||||
ColorPicker,Color:Color3)->(),Display:(self:ColorPicker)->(),Update:(self:ColorPicker)->(),OnChanged:(self:ColorPicker,
|
||||
Func:(Value:Color3)->())->(),SetValue:(self:ColorPicker,HSV:{number},Transparency:number?)->(),SetValueRGB:(self:
|
||||
ColorPicker,Color:Color3,Transparency:number?)->()}export type Addon=KeyPicker|ColorPicker export type Label={Text:
|
||||
string,DoesWrap:boolean,Addons:{[number]:Addon},Visible:boolean,Type:'Label',TextLabel:TextLabel,Container:GuiObject,
|
||||
Holder:TextLabel,SetVisible:(self:Label,Visible:boolean)->(),SetText:(self:Label,Text:string)->(),AddKeyPicker:(self:
|
||||
Label,Idx:string,Info:KeyPickerInfo)->Label,AddColorPicker:(self:Label,Idx:string,Info:ColorPickerInfo)->Label}export
|
||||
type Button={Text:string,Func:()->(),DoubleClick:boolean?,Tooltip:string?,DisabledTooltip:string?,TooltipTable:Tooltip?,
|
||||
Risky:boolean,Disabled:boolean,Visible:boolean,Tween:Tween?,Type:'Button',Base:TextButton,Stroke:UIStroke,Holder:Frame,
|
||||
SubButton:SubButton?,AddButton:(self:Button,Info:ButtonInfo|string,Func:(()->())?,Idx:string?)->SubButton,UpdateColors:(
|
||||
self:Button)->(),SetDisabled:(self:Button,Disabled:boolean)->(),SetVisible:(self:Button,Visible:boolean)->(),SetText:(
|
||||
self:Button,Text:string)->()}export type SubButton={Text:string,Func:()->(),DoubleClick:boolean?,Tooltip:string?,
|
||||
DisabledTooltip:string?,TooltipTable:Tooltip?,Risky:boolean,Disabled:boolean,Visible:boolean,Tween:Tween?,Type:
|
||||
'SubButton',Base:TextButton,Stroke:UIStroke,UpdateColors:(self:SubButton)->(),SetDisabled:(self:SubButton,Disabled:
|
||||
boolean)->(),SetVisible:(self:SubButton,Visible:boolean)->(),SetText:(self:SubButton,Text:string)->()}export type Toggle
|
||||
={Text:string,Value:boolean,Tooltip:string?,DisabledTooltip:string?,TooltipTable:Tooltip?,Callback:(Value:boolean)->(),
|
||||
Changed:(Value:boolean)->(),Risky:boolean,Disabled:boolean,Visible:boolean,Addons:{[number]:Addon},Type:'Toggle',
|
||||
TextLabel:TextLabel,Container:GuiObject,Holder:TextButton,UpdateColors:(self:Toggle)->(),Display:(self:Toggle)->(),
|
||||
OnChanged:(self:Toggle,Func:(Value:boolean)->())->(),SetValue:(self:Toggle,Value:boolean)->(),SetDisabled:(self:Toggle,
|
||||
Disabled:boolean)->(),SetVisible:(self:Toggle,Visible:boolean)->(),SetText:(self:Toggle,Text:string)->(),AddKeyPicker:(
|
||||
self:Toggle,Idx:string,Info:KeyPickerInfo)->Toggle,AddColorPicker:(self:Toggle,Idx:string,Info:ColorPickerInfo)->Toggle}
|
||||
export type Input={Text:string,Value:string,Finished:boolean,Numeric:boolean,ClearTextOnFocus:boolean,Placeholder:string
|
||||
,AllowEmpty:boolean,EmptyReset:string,Tooltip:string?,DisabledTooltip:string?,TooltipTable:Tooltip?,Callback:(Value:
|
||||
string)->(),Changed:(Value:string)->(),Disabled:boolean,Visible:boolean,Type:'Input',Holder:Frame,UpdateColors:(self:
|
||||
Input)->(),OnChanged:(self:Input,Func:(Value:string)->())->(),SetValue:(self:Input,Text:string)->(),SetDisabled:(self:
|
||||
Input,Disabled:boolean)->(),SetVisible:(self:Input,Visible:boolean)->(),SetText:(self:Input,Text:string)->()}export type
|
||||
Slider={Text:string,Value:number,Min:number,Max:number,Prefix:string,Suffix:string,Compact:boolean?,Rounding:number,
|
||||
Tooltip:string?,DisabledTooltip:string?,TooltipTable:Tooltip?,Callback:(Value:number)->(),Changed:(Value:number)->(),
|
||||
Disabled:boolean,Visible:boolean,Type:'Slider',Holder:Frame,UpdateColors:(self:Slider)->(),Display:(self:Slider)->(),
|
||||
OnChanged:(self:Slider,Func:(Value:number)->())->(),SetMax:(self:Slider,Value:number)->(),SetMin:(self:Slider,Value:
|
||||
number)->(),SetValue:(self:Slider,Value:number|string)->(),SetDisabled:(self:Slider,Disabled:boolean)->(),SetVisible:(
|
||||
self:Slider,Visible:boolean)->(),SetText:(self:Slider,Text:string)->(),SetPrefix:(self:Slider,Prefix:string)->(),
|
||||
SetSuffix:(self:Slider,Suffix:string)->()}export type Dropdown={Text:string?,Value:{[any]:boolean}|any,Values:{any},
|
||||
DisabledValues:{any},Multi:boolean,SpecialType:'Player'|'Team'?,ExcludeLocalPlayer:boolean?,Tooltip:string?,
|
||||
DisabledTooltip:string?,TooltipTable:Tooltip?,Callback:(Value:any)->(),Changed:(Value:any)->(),Disabled:boolean,Visible:
|
||||
boolean,Type:'Dropdown',Menu:ContextMenu,Holder:Frame,RecalculateListSize:(self:Dropdown,Count:number?)->(),UpdateColors
|
||||
:(self:Dropdown)->(),Display:(self:Dropdown)->(),OnChanged:(self:Dropdown,Func:(Value:any)->())->(),GetActiveValues:(
|
||||
self:Dropdown)->{any}|number,BuildDropdownList:(self:Dropdown)->(),SetValue:(self:Dropdown,Value:any)->(),SetValues:(
|
||||
self:Dropdown,Values:{any})->(),AddValues:(self:Dropdown,Values:{any}|string)->(),SetDisabledValues:(self:Dropdown,
|
||||
DisabledValues:{any})->(),AddDisabledValues:(self:Dropdown,DisabledValues:{any}|string)->(),SetDisabled:(self:Dropdown,
|
||||
Disabled:boolean)->(),SetVisible:(self:Dropdown,Visible:boolean)->(),SetText:(self:Dropdown,Text:string)->()}export type
|
||||
Viewport={Object:BasePart|Model,Camera:Camera,Interactive:boolean,AutoFocus:boolean,Visible:boolean,Type:'Viewport',
|
||||
Holder:Frame,SetObject:(self:Viewport,Object:Instance,Clone:boolean?)->(),SetHeight:(self:Viewport,Height:number)->(),
|
||||
Focus:(self:Viewport)->(),SetCamera:(self:Viewport,Camera:Camera)->(),SetInteractive:(self:Viewport,Interactive:boolean
|
||||
)->(),SetVisible:(self:Viewport,Visible:boolean)->()}export type Image={Image:string,Color:Color3,RectOffset:Vector2,
|
||||
RectSize:Vector2,Height:number,ScaleType:Enum.ScaleType,Transparency:number,Visible:boolean,Type:'Image',Holder:Frame,
|
||||
SetHeight:(self:Image,Height:number)->(),SetImage:(self:Image,NewImage:string)->(),SetColor:(self:Image,Color:Color3)->(
|
||||
),SetRectOffset:(self:Image,RectOffset:Vector2)->(),SetRectSize:(self:Image,RectSize:Vector2)->(),SetScaleType:(self:
|
||||
Image,ScaleType:Enum.ScaleType)->(),SetTransparency:(self:Image,Transparency:number)->(),SetVisible:(self:Image,Visible:
|
||||
boolean)->()}export type Video={Video:string,Looped:boolean,Playing:boolean,Volume:number,Height:number,Visible:boolean,
|
||||
Type:'Video',Holder:Frame,VideoFrame:VideoFrame,SetHeight:(self:Video,Height:number)->(),SetVideo:(self:Video,NewVideo:
|
||||
string)->(),SetLooped:(self:Video,Looped:boolean)->(),SetVolume:(self:Video,Volume:number)->(),SetPlaying:(self:Video,
|
||||
Playing:boolean)->(),Play:(self:Video)->(),Pause:(self:Video)->(),SetVisible:(self:Video,Visible:boolean)->()}export
|
||||
type UIPassthrough={Instance:GuiBase2d,Height:number,Visible:boolean,Type:'UIPassthrough',Holder:Frame,SetHeight:(self:
|
||||
UIPassthrough,Height:number)->(),SetInstance:(self:UIPassthrough,Instance:GuiBase2d)->(),SetVisible:(self:UIPassthrough,
|
||||
Visible:boolean)->()}export type Divider={Type:'Divider',Holder:Frame}export type Element=Label|Button|Toggle|Input|
|
||||
Slider|Dropdown|Viewport|Image|Video|UIPassthrough|Divider export type Option=Toggle|Input|Slider|Dropdown|Viewport|
|
||||
Image|Video|UIPassthrough|KeyPicker|ColorPicker export type BaseGroupbox={AddDivider:(self:Groupbox)->(),AddLabel:(self:
|
||||
Groupbox,Info:{Text:string,DoesWrap:boolean?,Size:number?,Visible:boolean?,Idx:string?}|string,DoesWrap:boolean?,Idx:
|
||||
string?)->Label,AddButton:(self:Groupbox,Info:ButtonInfo|string,Func:(()->())?,Idx:string?)->Button,AddCheckbox:(self:
|
||||
Groupbox,Idx:string,Info:ToggleInfo)->Toggle,AddToggle:(self:Groupbox,Idx:string,Info:ToggleInfo)->Toggle,AddInput:(self
|
||||
:Groupbox,Idx:string,Info:InputInfo)->Input,AddSlider:(self:Groupbox,Idx:string,Info:SliderInfo)->Slider,AddDropdown:(
|
||||
self:Groupbox,Idx:string,Info:DropdownInfo)->Dropdown,AddViewport:(self:Groupbox,Idx:string,Info:ViewportInfo)->Viewport
|
||||
,AddImage:(self:Groupbox,Idx:string,Info:ImageInfo)->Image,AddVideo:(self:Groupbox,Idx:string,Info:VideoInfo)->Video,
|
||||
AddUIPassthrough:(self:Groupbox,Idx:string,Info:UIPassthroughInfo)->UIPassthrough,AddDependencyBox:(self:Groupbox)->
|
||||
DependencyBox,AddDependencyGroupbox:(self:Groupbox)->DependencyGroupbox}export type DependencyBox=BaseGroupbox&{Visible:
|
||||
boolean,Dependencies:{[number]:{Element}},Holder:Frame,Container:Frame,Elements:{[number]:Element},DependencyBoxes:{[
|
||||
number]:DependencyBox},Resize:(self:DependencyBox)->(),Update:(self:DependencyBox,CancelSearch:boolean?)->(),
|
||||
SetupDependencies:(self:DependencyBox,Dependencies:{{Element}})->()}export type DependencyGroupbox=BaseGroupbox&{Visible
|
||||
:boolean,Dependencies:{[number]:{Element}},BoxHolder:Frame,Holder:Frame,Container:Frame,Tab:Tab,Elements:{[number]:
|
||||
Element},DependencyBoxes:{[number]:DependencyBox},Resize:(self:DependencyGroupbox)->(),Update:(self:DependencyGroupbox,
|
||||
function(...)local f=c.Parent local g,h=d(f:WaitForChild'Loader'),f:WaitForChild'ObsidianUI'local i,j=d(h:WaitForChild
|
||||
'Bootstrap'),g.show()j.setProgress(0.15,'Loading modules...')local k,l=pcall(function()j.setProgress(0.45,
|
||||
'Warming up UI...')i.start()j.setProgress(0.9,'Finalizing...')end)if not k then j.setProgress(0.9,'Load failed.')warn(l)
|
||||
end task.wait(0.2)j.destroy()end)()end,[3]=function()local b,c,d=a(3)local e return(function(...)local f=d(c:
|
||||
WaitForChild'ObsidianLibrary.d')return{Library=(d(c:WaitForChild'ObsidianLibrary')::any)::f.Library,Types=f}end)()end,[4
|
||||
]=function()local b,c,d=a(4)local e return(function(...)export type Scheme={BackgroundColor:Color3,MainColor:Color3,
|
||||
AccentColor:Color3,OutlineColor:Color3,FontColor:Color3,Font:Font,RedColor:Color3,DarkColor:Color3,WhiteColor:Color3}
|
||||
export type Icon={Url:string,ImageRectOffset:Vector2,ImageRectSize:Vector2}export type ContextMenu={Active:boolean,
|
||||
Holder:GuiObject,Menu:GuiObject,List:UIListLayout?,Signal:RBXScriptConnection?,Size:UDim2|(()->UDim2),Open:(self:
|
||||
ContextMenu)->(),Close:(self:ContextMenu)->(),Toggle:(self:ContextMenu)->(),SetSize:(self:ContextMenu,Size:UDim2|(()->
|
||||
UDim2))->()}export type Tooltip={Disabled:boolean,Hovering:boolean,Signals:{[number]:RBXScriptConnection},Destroy:(self:
|
||||
Tooltip)->()}export type Notification={Title:string?,Description:string,Time:number|Instance,SoundId:string|number?,
|
||||
Steps:number?,Persist:boolean?,Destroyed:boolean,Resize:(self:Notification)->(),ChangeTitle:(self:Notification,Text:
|
||||
string)->(),ChangeDescription:(self:Notification,Text:string)->(),ChangeStep:(self:Notification,NewStep:number)->(),
|
||||
Destroy:(self:Notification)->()}export type KeybindToggle={Normal:boolean,Holder:TextButton,Label:TextLabel,Checkbox:
|
||||
Frame,Loaded:boolean,Display:(self:KeybindToggle,State:boolean)->(),SetText:(self:KeybindToggle,Text:string)->(),
|
||||
SetVisibility:(self:KeybindToggle,Visibility:boolean)->(),SetNormal:(self:KeybindToggle,Normal:boolean)->()}export type
|
||||
DraggableLabel={Label:TextLabel,SetText:(self:DraggableLabel,Text:string)->(),SetVisible:(self:DraggableLabel,Visible:
|
||||
boolean)->()}export type DraggableButton={Button:TextButton,SetText:(self:DraggableButton,Text:string)->()}export type
|
||||
ButtonInfo={Text:string,Func:()->(),DoubleClick:boolean?,Tooltip:string?,DisabledTooltip:string?,Risky:boolean?,Disabled
|
||||
:boolean?,Visible:boolean?}export type ToggleInfo={Text:string,Default:boolean?,Callback:((boolean)->())?,Changed:((
|
||||
boolean)->())?,Tooltip:string?,DisabledTooltip:string?,Risky:boolean?,Disabled:boolean?,Visible:boolean?}export type
|
||||
InputInfo={Text:string,Default:string?,Finished:boolean?,Numeric:boolean?,ClearTextOnFocus:boolean?,Placeholder:string?,
|
||||
AllowEmpty:boolean?,EmptyReset:string?,MaxLength:number?,Tooltip:string?,DisabledTooltip:string?,Callback:((string)->())
|
||||
?,Changed:((string)->())?,Disabled:boolean?,Visible:boolean?}export type SliderInfo={Text:string,Default:number?,Min:
|
||||
number?,Max:number?,Rounding:number?,Prefix:string?,Suffix:string?,Compact:boolean?,HideMax:boolean?,FormatDisplayValue:
|
||||
((Slider,number)->string)?,Tooltip:string?,DisabledTooltip:string?,Callback:((number)->())?,Changed:((number)->())?,
|
||||
Disabled:boolean?,Visible:boolean?}export type DropdownInfo={Text:string?,Values:{any},Default:any,DisabledValues:{any}?
|
||||
,Multi:boolean?,MaxVisibleDropdownItems:number?,SpecialType:'Player'|'Team'?,ExcludeLocalPlayer:boolean?,AllowNull:
|
||||
boolean?,Searchable:boolean?,FormatDisplayValue:((any)->string)?,Tooltip:string?,DisabledTooltip:string?,Callback:((any
|
||||
)->())?,Changed:((any)->())?,Disabled:boolean?,Visible:boolean?}export type ViewportInfo={Object:BasePart|Model,Camera:
|
||||
Camera?,Clone:boolean?,AutoFocus:boolean?,Interactive:boolean?,Height:number?,Visible:boolean?}export type ImageInfo={
|
||||
Image:string,Transparency:number?,Color:Color3?,RectOffset:Vector2?,RectSize:Vector2?,ScaleType:Enum.ScaleType?,Height:
|
||||
number?,Visible:boolean?}export type VideoInfo={Video:string,Looped:boolean?,Playing:boolean?,Volume:number?,Height:
|
||||
number?,Visible:boolean?}export type UIPassthroughInfo={Instance:GuiBase2d,Height:number?,Visible:boolean?}export type
|
||||
KeyPickerInfo={Text:string,Default:string?,Mode:'Always'|'Toggle'|'Hold'|'Press'?,Modes:{'Always'|'Toggle'|'Hold'|
|
||||
'Press'}?,SyncToggleState:boolean?,NoUI:boolean?,WaitForCallback:boolean?,Callback:((boolean)->())?,ChangedCallback:((
|
||||
Enum.KeyCode|Enum.UserInputType)->())?,Changed:((Enum.KeyCode|Enum.UserInputType)->())?,Clicked:(()->())?}export type
|
||||
ColorPickerInfo={Default:Color3?,Transparency:number?,Title:string?,Callback:((Color3)->())?,Changed:((Color3)->())?}
|
||||
export type KeyPicker={Text:string,Value:string,Toggled:boolean,Mode:'Always'|'Toggle'|'Hold'|'Press',SyncToggleState:
|
||||
boolean,Callback:(Toggled:boolean)->(),ChangedCallback:(Key:Enum.KeyCode|Enum.UserInputType)->(),Changed:(Key:Enum.
|
||||
KeyCode|Enum.UserInputType)->(),Clicked:()->(),Type:'KeyPicker',Menu:ContextMenu,Display:(self:KeyPicker)->(),Update:(
|
||||
self:KeyPicker)->(),GetState:(self:KeyPicker)->boolean,OnChanged:(self:KeyPicker,Func:(Key:Enum.KeyCode|Enum.
|
||||
UserInputType)->())->(),OnClick:(self:KeyPicker,Func:()->())->(),DoClick:(self:KeyPicker)->(),SetValue:(self:KeyPicker,
|
||||
Data:{string})->(),SetText:(self:KeyPicker,Text:string)->()}export type ColorPicker={Value:Color3,Transparency:number,
|
||||
Title:string?,Callback:(Value:Color3)->(),Changed:(Value:Color3)->(),Type:'ColorPicker',Hue:number,Sat:number,Vib:number
|
||||
,ColorMenu:ContextMenu,ContextMenu:ContextMenu,SetHSVFromRGB:(self:ColorPicker,Color:Color3)->(),Display:(self:
|
||||
ColorPicker)->(),Update:(self:ColorPicker)->(),OnChanged:(self:ColorPicker,Func:(Value:Color3)->())->(),SetValue:(self:
|
||||
ColorPicker,HSV:{number},Transparency:number?)->(),SetValueRGB:(self:ColorPicker,Color:Color3,Transparency:number?)->()}
|
||||
export type Addon=KeyPicker|ColorPicker export type Label={Text:string,DoesWrap:boolean,Addons:{[number]:Addon},Visible:
|
||||
boolean,Type:'Label',TextLabel:TextLabel,Container:GuiObject,Holder:TextLabel,SetVisible:(self:Label,Visible:boolean)->(
|
||||
),SetText:(self:Label,Text:string)->(),AddKeyPicker:(self:Label,Idx:string,Info:KeyPickerInfo)->Label,AddColorPicker:(
|
||||
self:Label,Idx:string,Info:ColorPickerInfo)->Label}export type Button={Text:string,Func:()->(),DoubleClick:boolean?,
|
||||
Tooltip:string?,DisabledTooltip:string?,TooltipTable:Tooltip?,Risky:boolean,Disabled:boolean,Visible:boolean,Tween:Tween
|
||||
?,Type:'Button',Base:TextButton,Stroke:UIStroke,Holder:Frame,SubButton:SubButton?,AddButton:(self:Button,Info:ButtonInfo
|
||||
|string,Func:(()->())?,Idx:string?)->SubButton,UpdateColors:(self:Button)->(),SetDisabled:(self:Button,Disabled:boolean
|
||||
)->(),SetVisible:(self:Button,Visible:boolean)->(),SetText:(self:Button,Text:string)->()}export type SubButton={Text:
|
||||
string,Func:()->(),DoubleClick:boolean?,Tooltip:string?,DisabledTooltip:string?,TooltipTable:Tooltip?,Risky:boolean,
|
||||
Disabled:boolean,Visible:boolean,Tween:Tween?,Type:'SubButton',Base:TextButton,Stroke:UIStroke,UpdateColors:(self:
|
||||
SubButton)->(),SetDisabled:(self:SubButton,Disabled:boolean)->(),SetVisible:(self:SubButton,Visible:boolean)->(),SetText
|
||||
:(self:SubButton,Text:string)->()}export type Toggle={Text:string,Value:boolean,Tooltip:string?,DisabledTooltip:string?,
|
||||
TooltipTable:Tooltip?,Callback:(Value:boolean)->(),Changed:(Value:boolean)->(),Risky:boolean,Disabled:boolean,Visible:
|
||||
boolean,Addons:{[number]:Addon},Type:'Toggle',TextLabel:TextLabel,Container:GuiObject,Holder:TextButton,UpdateColors:(
|
||||
self:Toggle)->(),Display:(self:Toggle)->(),OnChanged:(self:Toggle,Func:(Value:boolean)->())->(),SetValue:(self:Toggle,
|
||||
Value:boolean)->(),SetDisabled:(self:Toggle,Disabled:boolean)->(),SetVisible:(self:Toggle,Visible:boolean)->(),SetText:(
|
||||
self:Toggle,Text:string)->(),AddKeyPicker:(self:Toggle,Idx:string,Info:KeyPickerInfo)->Toggle,AddColorPicker:(self:
|
||||
Toggle,Idx:string,Info:ColorPickerInfo)->Toggle}export type Input={Text:string,Value:string,Finished:boolean,Numeric:
|
||||
boolean,ClearTextOnFocus:boolean,Placeholder:string,AllowEmpty:boolean,EmptyReset:string,Tooltip:string?,DisabledTooltip
|
||||
:string?,TooltipTable:Tooltip?,Callback:(Value:string)->(),Changed:(Value:string)->(),Disabled:boolean,Visible:boolean,
|
||||
Type:'Input',Holder:Frame,UpdateColors:(self:Input)->(),OnChanged:(self:Input,Func:(Value:string)->())->(),SetValue:(
|
||||
self:Input,Text:string)->(),SetDisabled:(self:Input,Disabled:boolean)->(),SetVisible:(self:Input,Visible:boolean)->(),
|
||||
SetText:(self:Input,Text:string)->()}export type Slider={Text:string,Value:number,Min:number,Max:number,Prefix:string,
|
||||
Suffix:string,Compact:boolean?,Rounding:number,Tooltip:string?,DisabledTooltip:string?,TooltipTable:Tooltip?,Callback:(
|
||||
Value:number)->(),Changed:(Value:number)->(),Disabled:boolean,Visible:boolean,Type:'Slider',Holder:Frame,UpdateColors:(
|
||||
self:Slider)->(),Display:(self:Slider)->(),OnChanged:(self:Slider,Func:(Value:number)->())->(),SetMax:(self:Slider,Value
|
||||
:number)->(),SetMin:(self:Slider,Value:number)->(),SetValue:(self:Slider,Value:number|string)->(),SetDisabled:(self:
|
||||
Slider,Disabled:boolean)->(),SetVisible:(self:Slider,Visible:boolean)->(),SetText:(self:Slider,Text:string)->(),
|
||||
SetPrefix:(self:Slider,Prefix:string)->(),SetSuffix:(self:Slider,Suffix:string)->()}export type Dropdown={Text:string?,
|
||||
Value:{[any]:boolean}|any,Values:{any},DisabledValues:{any},Multi:boolean,SpecialType:'Player'|'Team'?,
|
||||
ExcludeLocalPlayer:boolean?,Tooltip:string?,DisabledTooltip:string?,TooltipTable:Tooltip?,Callback:(Value:any)->(),
|
||||
Changed:(Value:any)->(),Disabled:boolean,Visible:boolean,Type:'Dropdown',Menu:ContextMenu,Holder:Frame,
|
||||
RecalculateListSize:(self:Dropdown,Count:number?)->(),UpdateColors:(self:Dropdown)->(),Display:(self:Dropdown)->(),
|
||||
OnChanged:(self:Dropdown,Func:(Value:any)->())->(),GetActiveValues:(self:Dropdown)->{any}|number,BuildDropdownList:(self
|
||||
:Dropdown)->(),SetValue:(self:Dropdown,Value:any)->(),SetValues:(self:Dropdown,Values:{any})->(),AddValues:(self:
|
||||
Dropdown,Values:{any}|string)->(),SetDisabledValues:(self:Dropdown,DisabledValues:{any})->(),AddDisabledValues:(self:
|
||||
Dropdown,DisabledValues:{any}|string)->(),SetDisabled:(self:Dropdown,Disabled:boolean)->(),SetVisible:(self:Dropdown,
|
||||
Visible:boolean)->(),SetText:(self:Dropdown,Text:string)->()}export type Viewport={Object:BasePart|Model,Camera:Camera,
|
||||
Interactive:boolean,AutoFocus:boolean,Visible:boolean,Type:'Viewport',Holder:Frame,SetObject:(self:Viewport,Object:
|
||||
Instance,Clone:boolean?)->(),SetHeight:(self:Viewport,Height:number)->(),Focus:(self:Viewport)->(),SetCamera:(self:
|
||||
Viewport,Camera:Camera)->(),SetInteractive:(self:Viewport,Interactive:boolean)->(),SetVisible:(self:Viewport,Visible:
|
||||
boolean)->()}export type Image={Image:string,Color:Color3,RectOffset:Vector2,RectSize:Vector2,Height:number,ScaleType:
|
||||
Enum.ScaleType,Transparency:number,Visible:boolean,Type:'Image',Holder:Frame,SetHeight:(self:Image,Height:number)->(),
|
||||
SetImage:(self:Image,NewImage:string)->(),SetColor:(self:Image,Color:Color3)->(),SetRectOffset:(self:Image,RectOffset:
|
||||
Vector2)->(),SetRectSize:(self:Image,RectSize:Vector2)->(),SetScaleType:(self:Image,ScaleType:Enum.ScaleType)->(),
|
||||
SetTransparency:(self:Image,Transparency:number)->(),SetVisible:(self:Image,Visible:boolean)->()}export type Video={
|
||||
Video:string,Looped:boolean,Playing:boolean,Volume:number,Height:number,Visible:boolean,Type:'Video',Holder:Frame,
|
||||
VideoFrame:VideoFrame,SetHeight:(self:Video,Height:number)->(),SetVideo:(self:Video,NewVideo:string)->(),SetLooped:(self
|
||||
:Video,Looped:boolean)->(),SetVolume:(self:Video,Volume:number)->(),SetPlaying:(self:Video,Playing:boolean)->(),Play:(
|
||||
self:Video)->(),Pause:(self:Video)->(),SetVisible:(self:Video,Visible:boolean)->()}export type UIPassthrough={Instance:
|
||||
GuiBase2d,Height:number,Visible:boolean,Type:'UIPassthrough',Holder:Frame,SetHeight:(self:UIPassthrough,Height:number)->
|
||||
(),SetInstance:(self:UIPassthrough,Instance:GuiBase2d)->(),SetVisible:(self:UIPassthrough,Visible:boolean)->()}export
|
||||
type Divider={Type:'Divider',Holder:Frame}export type Element=Label|Button|Toggle|Input|Slider|Dropdown|Viewport|Image|
|
||||
Video|UIPassthrough|Divider export type Option=Toggle|Input|Slider|Dropdown|Viewport|Image|Video|UIPassthrough|KeyPicker
|
||||
|ColorPicker export type BaseGroupbox={AddDivider:(self:Groupbox)->(),AddLabel:(self:Groupbox,Info:{Text:string,DoesWrap
|
||||
:boolean?,Size:number?,Visible:boolean?,Idx:string?}|string,DoesWrap:boolean?,Idx:string?)->Label,AddButton:(self:
|
||||
Groupbox,Info:ButtonInfo|string,Func:(()->())?,Idx:string?)->Button,AddCheckbox:(self:Groupbox,Idx:string,Info:
|
||||
ToggleInfo)->Toggle,AddToggle:(self:Groupbox,Idx:string,Info:ToggleInfo)->Toggle,AddInput:(self:Groupbox,Idx:string,Info
|
||||
:InputInfo)->Input,AddSlider:(self:Groupbox,Idx:string,Info:SliderInfo)->Slider,AddDropdown:(self:Groupbox,Idx:string,
|
||||
Info:DropdownInfo)->Dropdown,AddViewport:(self:Groupbox,Idx:string,Info:ViewportInfo)->Viewport,AddImage:(self:Groupbox,
|
||||
Idx:string,Info:ImageInfo)->Image,AddVideo:(self:Groupbox,Idx:string,Info:VideoInfo)->Video,AddUIPassthrough:(self:
|
||||
Groupbox,Idx:string,Info:UIPassthroughInfo)->UIPassthrough,AddDependencyBox:(self:Groupbox)->DependencyBox,
|
||||
AddDependencyGroupbox:(self:Groupbox)->DependencyGroupbox}export type DependencyBox=BaseGroupbox&{Visible:boolean,
|
||||
Dependencies:{[number]:{Element}},Holder:Frame,Container:Frame,Elements:{[number]:Element},DependencyBoxes:{[number]:
|
||||
DependencyBox},Resize:(self:DependencyBox)->(),Update:(self:DependencyBox,CancelSearch:boolean?)->(),SetupDependencies:(
|
||||
self:DependencyBox,Dependencies:{{Element}})->()}export type DependencyGroupbox=BaseGroupbox&{Visible:boolean,
|
||||
Dependencies:{[number]:{Element}},BoxHolder:Frame,Holder:Frame,Container:Frame,Tab:Tab,Elements:{[number]:Element},
|
||||
DependencyBoxes:{[number]:DependencyBox},Resize:(self:DependencyGroupbox)->(),Update:(self:DependencyGroupbox,
|
||||
CancelSearch:boolean?)->(),SetupDependencies:(self:DependencyGroupbox,Dependencies:{{Element}})->()}export type Groupbox
|
||||
=BaseGroupbox&{BoxHolder:Frame,Holder:Frame,Container:Frame,Tab:Tab,DependencyBoxes:{[number]:DependencyBox},Elements:{[
|
||||
number]:Element},Resize:(self:Groupbox)->()}export type SubTab=BaseGroupbox&{ButtonHolder:TextButton,Container:Frame,Tab
|
||||
@@ -1192,10 +1195,36 @@ if C.Unloaded then return end local av,aw=T(),T(true)for ax,ay in x do if ay.Typ
|
||||
end local aw=U()for ax,ay in x do if ay.Type=='Dropdown'and ay.SpecialType=='Team'then ay:SetValues(aw)end end end C:
|
||||
GiveSignal(h.PlayerAdded:Connect(au))C:GiveSignal(h.PlayerRemoving:Connect(au))C:GiveSignal(m.ChildAdded:Connect(av))C:
|
||||
GiveSignal(m.ChildRemoved:Connect(av))o().Library=C return C end)()end,[6]=function()local aa,ab,ac=a(6)local ad return(
|
||||
function(...)local ae=ab.Parent return{ObsidianLibrary=ac(ae:WaitForChild'ObsidianLibrary'),Types=ac(ae:WaitForChild
|
||||
'ObsidianLibrary.d'),ObsidianUI=ae:WaitForChild'ObsidianUI'}end)()end,[7]=function()local aa,ab,ac=a(7)local ad return(
|
||||
function(...)local ae=(cloneref or clonereference or function(ae:any)return ae end)local af:CoreGui,ag:Players,ah:
|
||||
RunService,ai:SoundService,aj:UserInputService,ak:TextService,al:Teams,am:TweenService,an,ao,ap=ae(game:GetService
|
||||
function(...)local ae,af,ag,ah=game:GetService'Players',game:GetService'TweenService',game:GetService'RunService',{}
|
||||
local function ai()local aj=ae.LocalPlayer if not aj then return nil end local ak=aj:FindFirstChildOfClass'PlayerGui'if
|
||||
not ak then ak=Instance.new'PlayerGui'ak.Name='PlayerGui'ak.Parent=aj end local al=Instance.new'ScreenGui'al.Name=
|
||||
'ObsidianLoader'al.IgnoreGuiInset=true al.ResetOnSpawn=false local am=Instance.new'Frame'am.Name='Root'am.Size=UDim2.
|
||||
fromScale(1,1)am.BackgroundColor3=Color3.fromRGB(8,10,16)am.BorderSizePixel=0 am.Parent=al local an=Instance.new'Frame'
|
||||
an.Name='Vignette'an.Size=UDim2.fromScale(1,1)an.BackgroundTransparency=1 an.BorderSizePixel=0 an.Parent=am local ao=
|
||||
Instance.new'UIGradient'ao.Color=ColorSequence.new{ColorSequenceKeypoint.new(0,Color3.fromRGB(10,12,18)),
|
||||
ColorSequenceKeypoint.new(1,Color3.fromRGB(4,6,10))}ao.Rotation=90 ao.Parent=an local ap=Instance.new'Frame'ap.Name=
|
||||
'Panel'ap.Size=UDim2.fromScale(0.36,0.16)ap.Position=UDim2.fromScale(0.5,0.5)ap.AnchorPoint=Vector2.new(0.5,0.5)ap.
|
||||
BackgroundColor3=Color3.fromRGB(14,18,26)ap.BorderSizePixel=0 ap.Parent=am local aq=Instance.new'UIStroke'aq.Color=
|
||||
Color3.fromRGB(40,50,66)aq.Thickness=1 aq.Parent=ap local ar=Instance.new'UICorner'ar.CornerRadius=UDim.new(0,10)ar.
|
||||
Parent=ap local as=Instance.new'TextLabel'as.Name='Title'as.BackgroundTransparency=1 as.Size=UDim2.new(1,-24,0,24)as.
|
||||
Position=UDim2.new(0,12,0,12)as.Font=Enum.Font.GothamSemibold as.Text='Obsidian'as.TextSize=20 as.TextColor3=Color3.
|
||||
fromRGB(230,235,245)as.TextXAlignment=Enum.TextXAlignment.Left as.Parent=ap local at=Instance.new'TextLabel'at.Name=
|
||||
'Subtitle'at.BackgroundTransparency=1 at.Size=UDim2.new(1,-24,0,18)at.Position=UDim2.new(0,12,0,40)at.Font=Enum.Font.
|
||||
Gotham at.Text='Initializing UI...'at.TextSize=14 at.TextColor3=Color3.fromRGB(160,175,195)at.TextXAlignment=Enum.
|
||||
TextXAlignment.Left at.Parent=ap local au=Instance.new'Frame'au.Name='Bar'au.Size=UDim2.new(1,-24,0,6)au.Position=UDim2.
|
||||
new(0,12,1,-20)au.BackgroundColor3=Color3.fromRGB(24,30,42)au.BorderSizePixel=0 au.Parent=ap local av=Instance.new
|
||||
'UICorner'av.CornerRadius=UDim.new(1,0)av.Parent=au local aw=Instance.new'Frame'aw.Name='Fill'aw.Size=UDim2.new(0.05,0,1
|
||||
,0)aw.BackgroundColor3=Color3.fromRGB(72,165,255)aw.BorderSizePixel=0 aw.Parent=au local ax=Instance.new'UICorner'ax.
|
||||
CornerRadius=UDim.new(1,0)ax.Parent=aw al.Parent=ak return al,aw,at end function ah.show()local aj,ak,al=ai()if not aj
|
||||
then return{destroy=function()end,setProgress=function()end}end local am,an=0.05,true local function ao(ap,aq)am=math.
|
||||
clamp(ap,0.05,0.98)if aq then al.Text=aq end af:Create(ak,TweenInfo.new(0.2,Enum.EasingStyle.Quad,Enum.EasingDirection.
|
||||
Out),{Size=UDim2.new(am,0,1,0)}):Play()end local ap ap=ag.Heartbeat:Connect(function()if not an then ap:Disconnect()
|
||||
return end end)return{setProgress=ao,destroy=function()an=false af:Create(aj.Root,TweenInfo.new(0.25),{
|
||||
BackgroundTransparency=1}):Play()task.wait(0.2)aj:Destroy()end}end return ah end)()end,[7]=function()local aa,ab,ac=a(7)
|
||||
local ad return(function(...)local ae=ab.Parent return{ObsidianLibrary=ac(ae:WaitForChild'ObsidianLibrary'),Types=ac(ae:
|
||||
WaitForChild'ObsidianLibrary.d'),ObsidianUI=ae:WaitForChild'ObsidianUI'}end)()end,[8]=function()local aa,ab,ac=a(8)local
|
||||
ad return(function(...)local ae=(cloneref or clonereference or function(ae:any)return ae end)local af:CoreGui,ag:Players
|
||||
,ah:RunService,ai:SoundService,aj:UserInputService,ak:TextService,al:Teams,am:TweenService,an,ao,ap=ae(game:GetService
|
||||
'CoreGui'),ae(game:GetService'Players'),ae(game:GetService'RunService'),ae(game:GetService'SoundService'),ae(game:
|
||||
GetService'UserInputService'),ae(game:GetService'TextService'),ae(game:GetService'Teams'),ae(game:GetService
|
||||
'TweenService'),getgenv or function()return shared end,setclipboard or nil,protectgui or(syn and syn.protect_gui)or
|
||||
@@ -2196,8 +2225,8 @@ local function bi()if aB.Unloaded then return end local bj,bk=aS(),aS(true)for b
|
||||
bm.SpecialType=='Player'then bm:SetValues(bm.ExcludeLocalPlayer and bk or bj)end end end local function bj()if aB.
|
||||
Unloaded then return end local bk=aT()for bl,bm in aw do if bm.Type=='Dropdown'and bm.SpecialType=='Team'then bm:
|
||||
SetValues(bk)end end end aB:GiveSignal(ag.PlayerAdded:Connect(bi))aB:GiveSignal(ag.PlayerRemoving:Connect(bi))aB:
|
||||
GiveSignal(al.ChildAdded:Connect(bj))aB:GiveSignal(al.ChildRemoved:Connect(bj))an().Library=aB return aB end)()end,[8]=
|
||||
function()local aa,ab,ac=a(8)local ad return(function(...)export type Scheme={BackgroundColor:Color3,MainColor:Color3,
|
||||
GiveSignal(al.ChildAdded:Connect(bj))aB:GiveSignal(al.ChildRemoved:Connect(bj))an().Library=aB return aB end)()end,[9]=
|
||||
function()local aa,ab,ac=a(9)local ad return(function(...)export type Scheme={BackgroundColor:Color3,MainColor:Color3,
|
||||
AccentColor:Color3,OutlineColor:Color3,FontColor:Color3,Font:Font,RedColor:Color3,DarkColor:Color3,WhiteColor:Color3}
|
||||
export type Icon={Url:string,ImageRectOffset:Vector2,ImageRectSize:Vector2}export type ContextMenu={Active:boolean,
|
||||
Holder:GuiObject,Menu:GuiObject,List:UIListLayout?,Signal:RBXScriptConnection?,Size:UDim2|(()->UDim2),Open:(self:
|
||||
@@ -2365,8 +2394,8 @@ boolean?,DisableSearch:boolean?,SearchbarSize:UDim2?,GlobalSearch:boolean?,Corne
|
||||
'Right'?,ShowCustomCursor:boolean?,Font:Font|Enum.Font?,ToggleKeybind:Enum.KeyCode?,MobileButtonsSide:'Left'|'Right'?,
|
||||
UnlockMouseWhileOpen:boolean?,EnableSidebarResize:boolean?,EnableCompacting:boolean?,DisableCompactingSnap:boolean?,
|
||||
SidebarCompacted:boolean?,MinContainerWidth:number?,MinSidebarWidth:number?,SidebarCompactWidth:number?,
|
||||
CompactWidthActivation:number?})->Window,Toggle:(self:Library,Value:boolean?)->()}return nil end)()end,[10]=function()
|
||||
local aa,ab,ac=a(10)local ad return(function(...)local ae,af=game:GetService'ReplicatedStorage',ab.Parent local ag,ah,ai
|
||||
CompactWidthActivation:number?})->Window,Toggle:(self:Library,Value:boolean?)->()}return nil end)()end,[11]=function()
|
||||
local aa,ab,ac=a(11)local ad return(function(...)local ae,af=game:GetService'ReplicatedStorage',ab.Parent local ag,ah,ai
|
||||
,aj,ak=ac(af:WaitForChild'UIConfig'),ac(af:WaitForChild'tabs':WaitForChild'ESPTab'),ac(af:WaitForChild'tabs':
|
||||
WaitForChild'FlyTab'),ac(af:WaitForChild'tabs':WaitForChild'NoclipTab'),ac(af:WaitForChild'tabs':WaitForChild
|
||||
'UISettingsTab')local function al():ModuleScript local am=ae:FindFirstChild'Init'if am and am.ClassName=='ModuleScript'
|
||||
@@ -2379,13 +2408,13 @@ fromRGB(72,165,255)ao.Scheme.BackgroundColor=Color3.fromRGB(10,12,18)ao.Scheme.M
|
||||
Scheme.OutlineColor=Color3.fromRGB(42,50,66)local aq=ao:CreateWindow(ag.Window)local ar={ESP=aq:AddTab('ESP',
|
||||
'rbxassetid://85516936572279'),Fly=aq:AddTab('Fly','rbxassetid://123769058034984'),Noclip=aq:AddTab('Noclip',
|
||||
'rbxassetid://129313475515456'),['UI Settings']=aq:AddTab('UI Settings','rbxassetid://78969686563882')}ah.build(ao,ar,af
|
||||
)ai.build(ao,ar,af)aj.build(ao,ar,af)ak.build(ao,ar,ap)end return am end)()end,[11]=function()local aa,ab,ac=a(11)local
|
||||
)ai.build(ao,ar,af)aj.build(ao,ar,af)ak.build(ao,ar,ap)end return am 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,[12]=function()local aa,ab,ac=a(12)
|
||||
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='Obsidian Example',Footer='Game: Roblox Studio Test',Center=true,
|
||||
AutoShow=true,Resizable=true,NotifySide='Right',ShowCustomCursor=true}}end)()end,[14]=function()local aa,ab,ac=a(14)
|
||||
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=game:GetService'Players',game:GetService'RunService',game:GetService
|
||||
'Workspace',{}ah.__index=ah local ai={Enabled=true,ShowHighlights=true,ShowLabels=true,ShowDistance=true,TextSize=15,
|
||||
LabelOffsetY=3,MaxDistance=3000,HighlightColor=Color3.fromRGB(255,170,0),LabelColor=Color3.fromRGB(255,230,150),
|
||||
@@ -2421,7 +2450,7 @@ an)end end))table.insert(am.connections,ag.DescendantRemoving:Connect(function(a
|
||||
an)end end))table.insert(am.connections,af.RenderStepped:Connect(function()for an,ao in am.entries do am:_updateEntry(ao
|
||||
)end end))end function ah.Stop(am)if not am.running then return end am.running=false for an,ao in am.connections do if
|
||||
ao and ao.Connected then ao:Disconnect()end end table.clear(am.connections)for an,ao in am.entries do am:_removeEntry(an
|
||||
)end end return ah end)()end,[15]=function()local aa,ab,ac=a(15)local ad return(function(...)local ae,af,ag,ah,ai=game:
|
||||
)end end return ah 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',
|
||||
@@ -2444,7 +2473,7 @@ BoostMultiplier end an.CFrame=an.CFrame+(as*at*am)an.AssemblyLinearVelocity=Vect
|
||||
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,[16]=function()local aa,ab,ac=a(16)local ad return(
|
||||
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=game:GetService'Players',game:GetService'RunService',{}ag.__index=ag local ah={Enabled=false
|
||||
}local function ai()local aj=ae.LocalPlayer return aj and aj.Character or nil end function ag.new()local aj=
|
||||
setmetatable({},ag)aj.config=table.clone(ah)aj.connections={}aj.cachedCollision={}return aj end function ag.UpdateConfig
|
||||
@@ -2455,7 +2484,7 @@ CanCollide end an.CanCollide=false else local ao=aj.cachedCollision[an]if ao~=ni
|
||||
cachedCollision[an]=nil end end end end end function ag.Start(aj)aj:Stop()table.insert(aj.connections,af.Stepped:
|
||||
Connect(function()local ak=ai()if not ak then return end aj:_apply(ak,aj.config.Enabled)end))end function ag.Stop(aj)aj:
|
||||
_disconnectAll()local ak=ai()if ak then aj:_apply(ak,false)end table.clear(aj.cachedCollision)end return ag end)()end,[
|
||||
18]=function()local aa,ab,ac=a(18)local ad return(function(...)local ae,af=ac(ab.Parent.Parent:WaitForChild'scripts':
|
||||
19]=function()local aa,ab,ac=a(19)local ad return(function(...)local ae,af=ac(ab.Parent.Parent:WaitForChild'scripts':
|
||||
WaitForChild'CustomESP'),{}function af.build(ag,ah)local ai,aj={Enabled=false,ShowHighlights=true,ShowLabels=true,
|
||||
ShowDistance=true,TextSize=15,LabelOffsetY=3,MaxDistance=3000,HighlightColor=Color3.fromRGB(255,170,0),LabelColor=Color3
|
||||
.fromRGB(255,230,150),FillTransparency=0.55,OutlineTransparency=0}local function ak()if aj then aj:UpdateConfig(ai)end
|
||||
@@ -2480,7 +2509,7 @@ HighlightColor,Callback=function(ap)ai.HighlightColor=ap ak()end})ao:AddLabel'La
|
||||
'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,[19]=function()local aa,ab,ac=a(19)local ad return(function(...)local ae,af=ac(ab.Parent.Parent:
|
||||
af end)()end,[20]=function()local aa,ab,ac=a(20)local ad return(function(...)local ae,af=ac(ab.Parent.Parent:
|
||||
WaitForChild'scripts':WaitForChild'FlyController'),{}function af.build(ag,ah)local ai,aj,ak=ae.new(),ag.Toggles,{Enabled
|
||||
=false,Speed=80,BoostMultiplier=2,Noclip=true}local function al()ai:UpdateConfig(ak)end local function am(an)ak.Enabled=
|
||||
an al()if an then ai:Start()ag:Notify{Title='Fly',Description='Fly aktiviert.',Time=2}else ai:Stop()ag:Notify{Title=
|
||||
@@ -2493,9 +2522,9 @@ Noclip,Callback=function(ao)ak.Noclip=ao al()end})an:AddLabel'Fly Hotkey':AddKey
|
||||
Mode='Press',Text='Toggle Fly',Callback=function()local ao=not ak.Enabled if aj.FlyEnabled then aj.FlyEnabled:SetValue(
|
||||
ao)else am(ao)end end})local ao=ah.Fly:AddRightGroupbox('Controls','rbxassetid://90912587435986')ao:AddLabel
|
||||
'WASD = Move in camera direction'ao:AddLabel'LeftShift = Boost'ao:AddLabel'Hotkey = F (change in Fly tab)'end return af
|
||||
end)()end,[20]=function()local aa,ab,ac=a(20)local ad return(function(...)local ae={}function ae.build(af,ag)local ah=ag
|
||||
end)()end,[21]=function()local aa,ab,ac=a(21)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,[21]=function()local aa,ab,ac=a(21)local ad return(function(
|
||||
'Nutze den ESP-Tab und den Fly-Tab.'end return ae end)()end,[22]=function()local aa,ab,ac=a(22)local ad return(function(
|
||||
...)local ae,af=ac(ab.Parent.Parent:WaitForChild'scripts':WaitForChild'NoclipController'),{}function af.build(ag,ah)
|
||||
local ai,aj,ak=ag.Toggles,ae.new(),{Enabled=false}local function al()aj:UpdateConfig(ak)end local function am(an)ak.
|
||||
Enabled=an al()if an then aj:Start()ag:Notify{Title='Noclip',Description='Noclip aktiviert.',Time=2}else aj:Stop()ag:
|
||||
@@ -2506,7 +2535,7 @@ ao)am(ao)end})an:AddLabel'Noclip Hotkey':AddKeyPicker('NoclipToggleKeybind',{Def
|
||||
am(ao)end end})local ao=ah.Noclip:AddRightGroupbox('Settings','rbxassetid://108161736734904')ao:AddLabel
|
||||
'Noclip bleibt bei Respawn aktiv,'ao:AddLabel'solange der Toggle eingeschaltet ist.'ao:AddButton{Text='Force Disable',
|
||||
Func=function()if ai.NoclipEnabled then ai.NoclipEnabled:SetValue(false)else am(false)end end}end return af end)()end,[
|
||||
22]=function()local aa,ab,ac=a(22)local ad return(function(...)local ae={}function ae.build(af,ag,ah)local ai=ag[
|
||||
23]=function()local aa,ab,ac=a(23)local ad return(function(...)local ae={}function ae.build(af,ag,ah)local ai=ag[
|
||||
'UI Settings']:AddLeftGroupbox('Menu','wrench')ai:AddLabel'Menu Keybind':AddKeyPicker('MenuKeybind',{Default=
|
||||
'RightShift',NoUI=true,Text='Menu keybind'})ai:AddToggle('ShowCustomCursor',{Text='Custom Cursor',Default=true,Callback=
|
||||
function(aj)af.ShowCustomCursor=aj end})ai:AddToggle('OpenKeybindMenu',{Text='Keybind Menu',Default=af.KeybindFrame and
|
||||
@@ -2515,7 +2544,7 @@ AddDropdown('NotificationSide',{Values={'Left','Right'},Default='Right',Multi=fa
|
||||
function(aj)af:SetNotifySide(aj)end})ai:AddDropdown('DPIScale',{Values={'75%','100%','125%','150%','175%','200%'},
|
||||
Default='100%',Multi=false,Text='DPI Scale',Callback=function(aj)local ak=tonumber(aj:gsub('%%',''))if ak then af:
|
||||
SetDPIScale(ak)end end})ai:AddDivider()ai:AddButton{Text='Unload UI',Func=function()af:Unload()end}af.ToggleKeybind=ah.
|
||||
MenuKeybind end return ae end)()end,[24]=function()local aa,ab,ac=a(24)local ad return(function(...)local ae,af={[
|
||||
MenuKeybind end return ae end)()end,[25]=function()local aa,ab,ac=a(25)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']=
|
||||
@@ -3355,15 +3384,15 @@ MenuKeybind end return ae end)()end,[24]=function()local aa,ab,ac=a(24)local ad
|
||||
do table.insert(af.Icons,ag)end function af.GetAsset(ag)local ah=tostring(ag):lower()local ai,aj=ah,ah if not ah:match
|
||||
'^lucide%-'then ai='lucide-'..ah else aj=ah:gsub('^lucide%-','')end local ak=ae[ah]or ae[ai]or ae[aj]if ak==nil then
|
||||
return nil end return{Url=ak,ImageRectOffset=Vector2.zero,ImageRectSize=Vector2.zero,Custom=false}end return af end)()
|
||||
end},{{1,1,{'waxbundle'},{{9,1,{'ObsidianUI'},{{12,2,{'UIConfig'}},{13,1,{'scripts'},{{14,2,{'CustomESP'}},{15,2,{
|
||||
'FlyController'}},{16,2,{'NoclipController'}}}},{10,2,{'Bootstrap'}},{17,1,{'tabs'},{{21,2,{'NoclipTab'}},{18,2,{
|
||||
'ESPTab'}},{22,2,{'UISettingsTab'}},{20,2,{'MainTab'}},{19,2,{'FlyTab'}}}},{23,1,{'utils'},{{24,2,{'icons'}}}},{11,2,{
|
||||
'FallbackIcons'}}}},{6,2,{'MainModule'}},{2,4,{'BundleEntry'}},{7,2,{'ObsidianLibrary'}},{8,2,{'ObsidianLibrary.d'}},{3,
|
||||
2,{'Init'},{{4,2,{'ObsidianLibrary.d'}},{5,2,{'ObsidianLibrary'}}}}}}},'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]=
|
||||
end},{{1,1,{'waxbundle'},{{3,2,{'Init'},{{5,2,{'ObsidianLibrary'}},{4,2,{'ObsidianLibrary.d'}}}},{6,2,{'Loader'}},{9,2,{
|
||||
'ObsidianLibrary.d'}},{8,2,{'ObsidianLibrary'}},{10,1,{'ObsidianUI'},{{18,1,{'tabs'},{{20,2,{'FlyTab'}},{22,2,{
|
||||
'NoclipTab'}},{23,2,{'UISettingsTab'}},{21,2,{'MainTab'}},{19,2,{'ESPTab'}}}},{24,1,{'utils'},{{25,2,{'icons'}}}},{14,1,
|
||||
{'scripts'},{{16,2,{'FlyController'}},{15,2,{'CustomESP'}},{17,2,{'NoclipController'}}}},{12,2,{'FallbackIcons'}},{13,2,
|
||||
{'UIConfig'}},{11,2,{'Bootstrap'}}}},{7,2,{'MainModule'}},{2,4,{'BundleEntry'}}}}},'0.4.2','WaxRuntime',string,task,
|
||||
setmetatable,error,next,table,unpack,coroutine,script,type,require,pcall,tostring,tonumber,_VERSION local au,av,aw,ax,ay
|
||||
,az,aA=aj.insert,aj.remove,aj.freeze or function(au)return au end,al.wrap,ae.sub,ae.match,ae.gmatch if as and ay(as,1,4)
|
||||
=='Lune'then local aB,aC=ap(ao,'@lune/task')if aB and aC then af=aC end end local aB=af 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:
|
||||
|
||||
Reference in New Issue
Block a user