Advertisement
copra50

computer (savios)

Mar 30th, 2019
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,Mouse,mouse,UserInputService,ContextActionService = owner
  4. local RealPlayer = Player
  5. do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end
  6.  
  7. --// SaviOS by SavageMunkey
  8.  
  9. local Host = game:service'Players'.LocalPlayer
  10. local PlayerMouse = Host:GetMouse()
  11. local Character = Host.Character
  12.  
  13. pcall(function()
  14.     Character.Humanoid['SaviOS'..Host.Name].Disabled=true
  15.     Character.Humanoid['SaviOS'..Host.Name]:Destroy()
  16. end)
  17. script.Name='SaviOS'..Host.Name
  18.  
  19. local lrs = game:service'RunService'.RenderStepped
  20. local ud,c3 = UDim2.new,Color3.new
  21.  
  22. local OS
  23. OS = {
  24.     Backgrounds={263065080,122603145,510593355,167312453,119945204,38397690,167312682,192050536,152026398,167312652,120582545,167493039,274050234,454292754,466900315,177053058,229293848,122646263,159102803,321434238,120214481,120480107,129805827,251350099,134993390,294851220,91427420,159103087,161729354,451983167,111563465,224033486,159103552,490565976,419023708,159111488,254890271,72090809,148038665,201380429,235907960,118966085,184001465,158549839,135040161,569012987,124111954,617785055,127976057,157765107,172813012,261956734,229544221,381428334,141204418,130675970,114611763,569627808,165460147,165460277,123128917,65246335,113000488,210624979,86219936,542893768,485873381,133109970,147298379,147297851,133461415,248254225,542822127,536363798,167312652,542895503,89552732,65151650,101805028,103684980,385601310,57939071,304922993,13511519,473575489,256418140,136004272,46076174,497195310,28143702,158772801,557860938,483527125,125134380,129296064,436986440,331063936,162704842,108531974,156021502,546688542,192509200,193859832,78289792,339807971,156513166,305407040,363144648,60043055,621825797,621828236,179089950,501279669,403674379,275918945,247421728,126655771,478203228,25719408,50358414,7460070,415408253,91215756,85243064,135112694,161131570,684101235,467373053,65891746,24960278,318592132,424415675,17266396,64198567,230444445,156269405,179089950,248285466,202899851,156314932,151133945,514648696,};
  25.     Properties = {'AllowClientInsertModels','BrickColor','Color','ShowDevelopmentGui','ResetPlayerGuiOnSpawn','Parent','CustomPhysicalProperties','WaterColor','WaterTransparency','WaterWaveSize','WaterWaveSpeed','AllowThirdPartySales','FilteringEnabled','StreamingEnabled','Gravity','FallenPartsDestroyHeight','Archivable','AbsolutePosition','AbsoluteSize','AccountAge','AccountAgeReplicate','Active','Adornee','AllowAmbientOcclusion','AllowTeamChangeOnTouch','AluminumQuality','AlwaysOnTop','Ambient','AmbientReverb','Anchored','Angularvelocity','AnimationId','Archivable','AreHingesDetected','AttachmentForward','AttachmentPoint','AttachmentPos','AttachmentRight','AttachmentUp','AutoAssignable','AutoButtonColor','AutoColorCharacters','AvailablePhysicalMemory','Axes','BackgroundColor','BackgroundColor3','BackgroundTransparency','BackSurface','BaseTextureId','BaseUrl','Bevel','Roundness','BinType','BlastPressure','BlastRadius','C0','C1','HeadColor','LeftArmColor','RightArmColor','LeftLegColor','RightLegColor','HumanoidRootPartColor','BodyColor','BodyPart','BorderColor','BorderColor3','BorderSizePixel','BottomSurface','BrickColor','Brightness','Browsable','BubbleChat','BubbleChatLifetime','BubbleChatMaxBubbles','Bulge','Button1DownConnectionCount','Button1UpConnectionCount','Button2DownConnectionCount','Button2UpConnectionCount','C0','C1','CameraMode','CameraSubject','CameraType','CanBeDropped','CanCollide','CartoonFactor','CastShadows','CelestialBodiesShown','CFrame','Cframe','Character','CharacterAppearance','CharacterAutoLoads','ChatScrollLength','ClassicChat','ClassName','ClearTextOnFocus','ClipsDescendants','CollisionSoundEnabled','CollisionSoundVolume','Color','ColorShift_Top','ColorShift_Bottom','Bottom','Top','ConstrainedValue','Contro'..'llingHumanoid','ControlMode','ConversationDistance','CoordinateFrame','CorrodedMetalQuality','CPU','CpuCount','CpuSpeed','CreatorId','CreatorType','CurrentAngle','CurrentCamera','CycleOffset','D','DataCap','DataComplexity','DataComplexityLimit','DataCost','DataReady','Deprecated','DeselectedConnectionCount','DesiredAngle','DiamondPlateQuality','Disabled','DistanceFactor','DistributedGameTime','DopplerScale','Draggable','DraggingV1','Duration','EditorFont','EditorFontSize','EditorTabWidth','ElapsedTime','Elasticity','Enabled','ExplosionType','ExtentsOffset','F0','F1','F2','F3','Face','FaceId','Faces','FieldOfView','Focus','FogColor','FogEnd','FogStart','Font','FontSize','Force','FormFactor','Friction','From','FrontSurface','GearGenreSetting','Genre','GeographicLatitude','GfxCard', 'GlobalShadows','Graphic','GrassQuality','Grip','GripForward','GripPos','GripRight','GripUp','Guest','HeadsUpDisplay','Health','Heat','Hit','Humanoid','IceQuality','Icon','IdleConnectionCount','Image','InitialPrompt','InOut','InUse','IsPaused','IsPlaying','JobId','Jump','KeyDownConnectionCount','KeyUpConnectionCount','LeftLeg','LeftRight','LeftSurface','LinkedSource','LocalPlayer','Location','Locked','LODX','LODY','Looped','Material','MaxActivationDistance','MaxCollisionSounds','MaxExtents','MaxForce','MaxHealth','MaxItems','MaxPlayers','MaxSpeed','MaxThrust','MaxTorque','MaxValue','MaxVelocity','MembershipType','MembershipTypeReplicate','MeshId','MeshType','MinValue','Modal','MouseButton1ClickConnectionCount','MouseButton1DownConnectionCount','MouseButton1UpConnectionCount','MouseButton2ClickConnectionCount','MouseButton2DownConnectionCount','MouseButton2UpConnectionCount','MouseDelta','MouseDragConnectionCount','MouseEnterConnectionCount','MouseHit','MouseLeaveConnectionCount','MouseLock','MouseMovedConnectionCount','MouseTarget','MouseTargetFilter','MouseTargetSurface','MoveConnectionCount','MoveState','MultiLine','Name','NameOcclusion','NetworkOw'..'ner','Neutral','NumPlayers','Offset','Opacity','Origin','OsPlatform','OsVer','OutdoorAmbient','OverlayTextureId','P','PantsTemplate','ParamA','ParamB','Parent','PrimaryPart','Part','Part0','Part1','Pitch','PixelShaderModel','PlaceId','PlasticQuality','PlatformStand','PlayCount','PlayerToHideFrom','PlayOnRemove','Point','Port','Position','Preliminary','PrimaryPart','PrivateWorkingSetBytes','Purpose','RAM','Reflectance','ReplicatedSelectedConnectionCount','ResizeableFaces','ResizeIncrement','Resolution','ResponseDialog','RightLeg','RightSurface','RiseVelocity','RobloxLocked','RobloxVersion','RolloffScale','RotVelocity','Scale','Score','ScriptsDisabled','SecondaryColor','Selected','ShadowColor','Shape','Shiny','ShirtTemplate','ShowDeprecatedObjects','ShowDevelopmentGui','ShowPreliminaryObjects','Sides','Sit','Size','SizeConstraint','SizeOffset','SkinColor','SkyboxBk','SkyboxDn','SkyboxFt','SkyboxLf','SkyboxRt','SkyboxUp','SlateQuality','SoundId','Source','SparkleColor','Specular','StarCount','Steer','StickyWheels','StudsBetweenTextures','StudsOffset','StudsPerTileU','StudsPerTileV','Style','Summary','SuperSa'..'feChatReplicate','Surface','Surface0','Surface1','SurfaceInput','Target','TargetFilter','TargetOffset','TargetPoint','TargetRadius','TargetSurface','TeamColor','Terrain','Text','TextBounds','TextColor','TextColor3','TextFits','TextScaled','TextStrokeColor3','TextStrokeTransparency','TextTransparency','Texture','TextureId','TextureSize','TextWrap','TextWrapped','TextXAlignment','TextYAlignment','Throttle','ThrustD','ThrustP','Ticket','Time','TimeOfDay','To','Tone','ToolTip','TopBottom','TopSurface','Torque','HumanoidRootPart','Transparency','TrussDetail','TurnD','TurnP','TurnSpeed','UnitRay','UserDialog','UserId','Value','Version','VertexColor','VideoCaptureEnabled','VideoMemory','VideoQuality','ViewSizeX','ViewSizeY','Visible','Volume','WalkDirection','WalkSpeed','WalkToPart','WalkToPoint','WheelBackwardConnectionCount','WheelForwardConnectionCount','WindowSize','WireRadius','WoodQuality','X','Y','Z'};
  26.     DecalAssets={200182847};
  27.     --//49,51,51,55,115,97,118
  28.     Sounds = {
  29.         319758951,485859421,191035676,142312040,165065112,166471137,208240682,226788368,193399717,
  30.         274427825,155949200,209864226,211626338,232560219,172427188,180115728,170968526,
  31.         148492408,177956804,132399469,218530627,234627720,182411115,188712851,176454530,
  32.         685204898,736225554,267915404,180795185,263998927,181428192,266427268,215974232,
  33.         177297354,248794208,262158959,282890395,252612142,252614631,252613867,203275374,
  34.         244763119,169898604,173060483,181065299,294185225,657230380,574818336,
  35.     };
  36.     RecentlyUsedPrograms={};
  37.     UIs={};
  38.     Logins={
  39.         {'SavageMunkey','abcd12',Color3.new(.1,.1,.1),Color3.new(1,1,1),497195310};--167312453};
  40.         {'Artiecsal','sookithearth',c3(0,0,0),c3(1,1,1),122646263},
  41.         {'Luke_Ames','xXfatphonesXx',c3(.5,0,0),c3(1,1,1),621828236},
  42.         {'Lord_Azure','AzureIsGay',c3(.3,0,0),c3(1,1,1),215152878},
  43.     };
  44.     Administrators={
  45.         'SavageMunkey',
  46.         'Aeodile',
  47.     };
  48.     Effects={};
  49.     Functions={};
  50.     Assets={};
  51.     Apps={
  52.         Qeued={};
  53.         Generated={};
  54.         Open={};
  55.     };
  56.     Settings={
  57.         Fonts = {
  58.             Header = 'Code',
  59.             Sub_Header = 'Highway',
  60.         };
  61.     };
  62. };
  63.  
  64. Functions = OS.Functions
  65. Effects = OS.Effects
  66.  
  67. OS.GenCode = math.random()*9e5
  68.  
  69. local CurrentPlayerData=nil
  70. local Official=true
  71.  
  72. function Functions:ConvertColor3(r,g,b)
  73.     return c3(1-(1/r),1-(10/g),1-(10/b)) --//derped
  74. end
  75.  
  76. function Functions:ReturnObjectProperties(Object)
  77.     assert(pcall(function()
  78.         assert(game.IsA(Object,'Instance'))
  79.     end),'Should be ROBLOX instance')
  80.     local Returns = {}
  81.     for _, Value in next, OS.Properties do
  82.         if pcall(function() return Object[Value] end) and (type(Object[Value]) ~= 'userdata' or not Object:FindFirstChild(Value)) then
  83.             Returns[Value] = Object[Value]
  84.         end
  85.     end
  86.      return Returns
  87. end;
  88.  
  89. --print(Functions:ConvertColor3(170, 0, 255))
  90.  
  91. function Functions:GrabHostData()
  92.     local PlayerData=nil
  93.     local Found=0
  94.     for Index, Data in next, OS.Logins do
  95.         if Data[1] == tostring(Host) then
  96.             PlayerData=Data
  97.             Found=Found+1
  98.         end
  99.     end
  100.     if PlayerData then
  101.         CurrentPlayerData=PlayerData
  102.     else
  103.         Official=false
  104.         CurrentPlayerData={Host.Name,Host.Name:lower():sub(0,5)..'12'..math.random(-50,50),c3(.25,.25,.25),c3(1,1,1),OS.Backgrounds[math.random(1,#OS.Backgrounds)]};
  105.         script:Destroy()
  106.     end
  107.     if Found > 1 then
  108.         error('Found more than one('..Found..') data tables for '..Host.Name,2)
  109.     end
  110. end
  111.  
  112. Functions:GrabHostData()
  113.  
  114. table.foreach(CurrentPlayerData,print)
  115.  
  116. function Functions:GetPlayerImg(User)
  117.     local ID = 'http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username='..tostring(User)
  118.      return ID
  119. end
  120.  
  121. ypcall(function()
  122.     --workspace['mon-mon']:Destroy()
  123. end)
  124.  
  125. local Monitor, G, MainFrame
  126. function Functions:MakeMonitor()
  127.     pcall(function() workspace['mon-mon'..Host.Name]:Destroy() end)
  128.     local sc=Instance.new('Script', workspace)
  129.     sc.Name='mon-mon'..Host.Name
  130.     OS.Assets.FScript=sc
  131.     Monitor = Instance.new('Part', sc)
  132.     Monitor.Size = Vector3.new(24,14,.1)
  133.     Monitor.Anchored = true
  134.     Monitor.Locked=true
  135.     Monitor.Transparency=0
  136.     Monitor.Color=Color3.new(1,1,1)
  137.     Monitor.Material='Neon'
  138.     Monitor.Name='mon-mon'
  139.     Instance.new('SurfaceLight',Monitor).Face='Back'
  140.     Monitor.CanCollide = false
  141.     Monitor.TopSurface,Monitor.BottomSurface=0,0
  142.     local Flat = Instance.new('BlockMesh', Monitor)
  143.     Flat.Scale = Vector3.new(1,1,0)
  144.     spawn(function()
  145.         for i = 0,1.025,.025 do
  146.             --Monitor.Transparency = 1.3-i
  147.             lrs:wait()
  148.         end
  149.     end)
  150. end
  151.  
  152. function Functions:MakeNewUi(Type)
  153.     local Ui = Instance.new(Type)
  154.    
  155.     local function TypeIsA(Table, Goal)
  156.         for i,v in next, Table do
  157.             if v:lower()==Type:lower() then
  158.                 Goal(Ui)
  159.             end
  160.         end
  161.     end
  162.    
  163.     Ui.ClipsDescendants = true
  164.     Ui.Size = ud(1,0,1,0)
  165.     Ui.BackgroundTransparency = 1
  166.     TypeIsA({'TextButton'}, function(tUi)
  167.         Ui.AutoButtonColor = false
  168.     end)
  169.     Ui.BackgroundColor3 = CurrentPlayerData[3]
  170.     Ui.BorderSizePixel = 0
  171.     TypeIsA({'ImageLabel','ImageButton'}, function(tUi)
  172.        
  173.     end)
  174.     TypeIsA({'TextButton','TextLabel','TextBox'}, function(tUi)
  175.         tUi.TextColor3 = CurrentPlayerData[4]
  176.         tUi.Font = OS.Settings.Fonts.Header
  177.         tUi.Text=''
  178.         tUi.FontSize = Enum.FontSize.Size18
  179.     end)
  180.     delay(.1,function()
  181.         OS.UIs[Ui.Name]={Ui,true}
  182.         local oUi=Ui
  183.         spawn(function()
  184.             repeat lrs:wait() until Ui.Parent == nil
  185.             OS.UIs[oUi.Name]={nil,false}
  186.         end)
  187.     end)
  188.     Ui.ZIndex=7
  189.     return Ui
  190. end
  191.  
  192. function Functions:Center(Ui)
  193.     local co={Ui.Size.X.Offset/2,
  194.                 Ui.Size.Y.Offset/2};
  195.     return ud(.5,-co[1],.5,-co[2])
  196. end
  197.  
  198. function Functions:CenterOffset(Ui, Offset)
  199.     local co={Ui.Size.X.Scale,
  200.                 Ui.Size.X.Offset/2,
  201.                   Ui.Size.Y.Scale,
  202.                     Ui.Size.Y.Offset/2
  203.     };
  204.     return ud(.5+Offset.X.Scale,-co[2]+Offset.X.Offset,.5+Offset.Y.Scale,-co[4]+Offset.Y.Offset)
  205. end
  206.  
  207. local TypeDebs={};
  208. function Effects:Type(Ui, Text, Type, Delay)
  209.     TypeDebs[Ui]=false
  210.     if Type == 'In' then
  211.         local Continue = true
  212.         for i = 0,#Text do
  213.             if TypeDebs[Ui] then
  214.                 Continue = false
  215.                 return
  216.             end
  217.             if not Continue then
  218.                 return
  219.             end
  220.             Ui.Text = Text:sub(0,i)..'|'
  221.             wait(Delay)
  222.         end
  223.         Ui.Text = Text
  224.     elseif Type == 'Out' then
  225.         local Continue = true
  226.         for i = 0,#Text do
  227.             if TypeDebs[Ui] then
  228.                 Continue = false
  229.                 return
  230.             end
  231.             if not Continue then
  232.                 return
  233.             end
  234.             Ui.Text = Text:sub(0,1-i)..'|'
  235.             wait(Delay)
  236.         end
  237.         Ui.Text = Text
  238.     else
  239.         error'Please enter a TransitionType (Out, In)'
  240.     end
  241. end
  242.  
  243. function Functions:Sound(Id ,Rmv)
  244.     local snd=Instance.new('Sound', Character:WaitForChild'Head' or Monitor or workspace)
  245.     if Rmv then
  246.         for index,o in next, snd.Parent:children() do
  247.             if o:IsA'Sound' and o ~= snd then
  248.                 o:Stop()
  249.                 o:Destroy()
  250.             end
  251.         end
  252.     end
  253.     snd.EmitterSize=20
  254.     snd.SoundId=Functions:Asset(Id)
  255.     snd.Volume=.6
  256.     delay(8,function()
  257.         if not snd.Looped and snd.IsPlaying==false then
  258.             snd:Stop()
  259.             snd:Destroy()
  260.         end
  261.     end)
  262.     return snd
  263. end
  264.  
  265. function Effects:Underline(Ui, YOffset, XThickness, YThickness, Color, Fade)
  266.     local Label = Functions:MakeNewUi('TextLabel')
  267.     Label.BackgroundColor3 = Color
  268.     Label.BackgroundTransparency=.2
  269.     Label.Size = ud(0,0,0,YThickness)
  270.     Label.Position = Functions:CenterOffset(Label, ud(0,0,0,YOffset))
  271.     Label.Parent = Ui
  272.     Label.ZIndex = 9
  273.     if Fade then
  274.         Label.BackgroundTransparency = 1
  275.         delay(.5,function()
  276.             Label:TweenSizeAndPosition(ud(0,XThickness,0,YThickness),Functions:CenterOffset(Label,ud(0,-XThickness/2,0,YOffset)),'Out','Back',1,true)
  277.         end)
  278.         for i = 0,1.025,.025 do
  279.             Label.BackgroundTransparency = (1.2 - i)
  280.             lrs:wait()
  281.         end
  282.     else
  283.         Label.Size = ud(0,XThickness,0,YThickness)
  284.         Label.Position = Functions:CenterOffset(Label, ud(0,0,0,YOffset))
  285.     end
  286.     return Label
  287. end
  288.  
  289. function Functions:Asset(Id)
  290.     return 'rbxassetid://'..Id
  291. end
  292.  
  293. function Functions:PlayerImage(User)
  294.     return 'http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username='..tostring(User)
  295. end
  296.  
  297. function Functions:LoginScreenGui(Size,ltbl,Fade)
  298.     if Host.PlayerGui:FindFirstChild'nomnompw' then
  299.     end
  300.     local limit=16
  301.     local SGui = Instance.new('ScreenGui', Host.PlayerGui)
  302.     SGui.Name='nomnompw'
  303.     local Box = Functions:MakeNewUi('TextBox')
  304.     Box.ClearTextOnFocus=true
  305.     Box.TextColor3 = CurrentPlayerData[3]
  306.     Box.TextStrokeTransparency=.9
  307.     Box.Size=Size
  308.     Box.Text = 'Enter your Password'
  309.     Box.Position=Functions:Center(Box)
  310.     Box.BackgroundTransparency=1
  311.     Box.TextStrokeColor3=CurrentPlayerData[3]
  312.     Box.Parent=SGui
  313.     Box.BackgroundColor3 = CurrentPlayerData[4]
  314.     local enabled=true
  315.     if Fade then
  316.         Box.Position = Functions:CenterOffset(Box,ud(0,0,-.4,0))
  317.         for i = 0,1,.05 do
  318.             Box.BackgroundTransparency=1-i
  319.             lrs:wait()
  320.         end
  321.         Box:CaptureFocus()
  322.     end
  323.     local ev
  324.     ev=Box.Focused:connect(function()
  325.         --ev:disconnect()
  326.         Box.ClearTextOnFocus=false
  327.     end)
  328.     local ev2
  329.     local lt=''
  330.     ev2=Box.FocusLost:connect(function()
  331.         if #Box.Text < 1 or Box.Text == 'Enter your Password' then
  332.             Box.Text='Enter your Password'
  333.             Box.ClearTextOnFocus=true
  334.         end
  335.         if Box.Text==CurrentPlayerData[2] then
  336.             ev:disconnect()
  337.             ev2:disconnect()
  338.             Box.Active=false
  339.             Box:TweenPosition(Functions:CenterOffset(Box,ud(0,0,-.55,0)),'Out','Linear',.5,true)
  340.             Box.TextStrokeTransparency=1
  341.             for i = 0,1,.05 do
  342.                 Box.BackgroundTransparency=i
  343.                 Box.TextTransparency=i
  344.                 lrs:wait()
  345.             end
  346.             lt=Box.Text
  347.             SGui:Destroy()
  348.         end
  349.     end)
  350.     Box.BackgroundTransparency=0
  351.     if ltbl.loop then
  352.         while SGui.Parent and enabled do
  353.             lt=Box.Text
  354.             if #Box.Text>limit and Box.Text ~= 'Enter your Password' then
  355.                 Box:ReleaseFocus()
  356.                 Box.Active=false
  357.                 local bft=Box.Text
  358.                 Box.Text='Password '..limit..' character limit.'
  359.                 wait(2)
  360.                 Box.Text=bft:sub(0,limit)
  361.                 Box.Active=true
  362.                 Box:CaptureFocus()
  363.             end
  364.             if #Box.Text>1 and Box.Text ~= 'Enter your Password' then
  365.                 local nt=''
  366.                 ltbl.ui.Text=nt
  367.                 for i = 1,#Box.Text do
  368.                     nt=nt..'*'
  369.                 end
  370.                 ltbl.ui.Text=nt
  371.             elseif #Box.Text==0 then
  372.                 if Box.Text ~= 'Enter your Password' then
  373.                     Box.Text='Enter your Password'
  374.                     ltbl.ui.Text='Enter your Password'
  375.                     Box:ReleaseFocus()
  376.                     Box.ClearTextOnFocus=true
  377.                 end
  378.             end
  379.             lrs:wait()
  380.         end
  381.     end
  382.     return lt
  383. end
  384.  
  385. function Functions:IfRegistered(Player, Function)
  386.     local Bool = false
  387.     for Index, Data in next, OS.Logins do
  388.         local user=Data[1]
  389.         local pass=Data[2]
  390.         if user == tostring(Player) then
  391.             Bool = true
  392.         end
  393.     end
  394.     Function(Bool)
  395. end
  396.  
  397. function Functions:CreateProgram(Name, Id, Nick, Description, Click)
  398.     table.insert(OS.Apps.Qeued,{tostring(Name), tonumber(Id), tostring(NickName), tostring(Description), Click})
  399. end;
  400.  
  401. local Search
  402. function Functions:Search(Parent, Function)
  403.     for Index, Object in next, Parent:children() do
  404.         pcall(function()
  405.             Function(Object)
  406.         end)
  407.         Functions:Search(Object, Function)
  408.     end
  409. end
  410.  
  411. function Functions:ShowChar()
  412.     OS.Functions:Search(Character, function(Object)
  413.         if (Object:IsA'BasePart' or Object:IsA'Decal') and Object.Name ~='HumanoidRootPart' then
  414.             Object.Transparency = 0
  415.         end
  416.     end)
  417. end
  418.  
  419. function Functions:HideChar()
  420.     OS.Functions:Search(Character, function(Object)
  421.         if (Object:IsA'BasePart' or Object:IsA'Decal') and Object.Name ~='HumanoidRootPart' then
  422.             Object.Transparency = 1
  423.         end
  424.     end)
  425. end
  426.  
  427. local Notes={};
  428. Functions:CreateProgram('Notepad++', 43360681, 'N++', 'Notepad for your... "personal" needs?', function(HF,TF,CF)
  429.     local tb = Functions:MakeNewUi('TextButton')
  430.     tb.Parent=CF
  431.     tb.TextWrapped=true
  432.     table.insert(Notes,tb)
  433.     tb.Text = 'Notepad; '..#Notes
  434.     tb.TextColor3=CurrentPlayerData[3]
  435.     tb.BackgroundColor3=CurrentPlayerData[4]
  436.     tb.Font=OS.Settings.Fonts.Sub_Header
  437.     tb.TextStrokeTransparency=.9
  438.     tb.TextStrokeColor3=CurrentPlayerData[3]
  439.     tb.TextXAlignment='Left'
  440.     tb.TextYAlignment='Top'
  441.     local SGui
  442.     tb.MouseButton1Click:connect(function()
  443.         pcall(function()
  444.             SGui:Destroy()
  445.         end)
  446.         if Host.PlayerGui:FindFirstChild'nomnoemnp' then Host.PlayerGui:FindFirstChild'nomnoemnp':Destroy() end
  447.         SGui = Instance.new('ScreenGui', Host.PlayerGui)
  448.         SGui.Name='nomnoemnp'
  449.         local Box = Functions:MakeNewUi('TextBox')
  450.         Box.ClearTextOnFocus=false
  451.         Box.TextColor3 = CurrentPlayerData[3]
  452.         Box.TextStrokeTransparency=.9
  453.         Box.Size=ud(1,0,1,0)
  454.         Box.Position=ud(-1,0,0,0)
  455.         Box.Text = tb.Text
  456.         Box.Visible = false
  457.         Box.TextXAlignment='Left'
  458.         --Box.MultiLine=true
  459.         Box.TextYAlignment='Top'
  460.         Box.BackgroundTransparency=1
  461.         Box.TextStrokeColor3=CurrentPlayerData[3]
  462.         Box.Parent=SGui
  463.         Box.BackgroundColor3 = CurrentPlayerData[4]
  464.         Box:CaptureFocus()
  465.         Box.FocusLost:connect(function()
  466.             SGui:Destroy()
  467.         end)
  468.         local isub = '|'
  469.         local l=false
  470.         spawn(function()
  471.             if tb.Text:sub(#tb.Text,#tb.Text)=='|' then
  472.                 tb.Text=tb.Text:sub(1,#tb.Text-1)
  473.             end
  474.             local canc = false
  475.             spawn(function()
  476.                 while not canc do
  477.                     wait(.6)
  478.                     l=not l
  479.                     if l == true then
  480.                         isub='|'
  481.                     else
  482.                         isub=''
  483.                     end
  484.                 end
  485.             end)
  486.             repeat
  487.                 tb.Text=Box.Text..isub
  488.                 lrs:wait()
  489.             until SGui.Parent ~= Host.PlayerGui
  490.             if l then
  491.                 tb.Text=tb.Text:sub(1,#tb.Text-1)
  492.             end
  493.             --print'canc'
  494.             canc=true
  495.             SGui=nil
  496.         end)
  497.     end)
  498. end)
  499. --script.Parent=Host.PlayerGui
  500.  
  501. Functions:CreateProgram('Calculator', 45545182, 'Calc', 'Math stuff man', function(HF,TF,CF)
  502.     HF.Size = UDim2.new(0,150,0,300)
  503. end)
  504.  
  505. local osEVENT = game:service'SoundService':FindFirstChild'osEVENT'
  506. if osEVENT==nil then
  507.     osEVENT = Instance.new('RemoteEvent',game:service'SoundService')
  508.     osEVENT.Name='osEVENT'
  509. end
  510.  
  511. if game.PlaceId == 691043264 then
  512.     Functions:CreateProgram('Lua', 71157241, 'LUA', 'Execute stuff...', function(HF,TF,CF)
  513.         local tb = Functions:MakeNewUi('TextButton')
  514.         tb.Parent=CF
  515.         tb.TextWrapped=true
  516.         tb.Text = ''
  517.         tb.TextColor3=CurrentPlayerData[3]
  518.         tb.BackgroundColor3=CurrentPlayerData[4]
  519.         tb.Font=OS.Settings.Fonts.Sub_Header
  520.         tb.Size=ud(.6,0,.9,0)
  521.         tb.TextXAlignment='Left'
  522.         tb.TextYAlignment='Top'
  523.    
  524.         local run = Functions:MakeNewUi('TextButton')
  525.         run.Parent=CF
  526.         run.Text = 'Run Script'
  527.         run.BackgroundTransparency=0
  528.         run.TextColor3=CurrentPlayerData[4]
  529.         run.BackgroundColor3=CurrentPlayerData[3]
  530.         run.Font=OS.Settings.Fonts.Header
  531.         run.Position=ud(0,0,.95,0)
  532.         run.TextSize=11
  533.         run.Size=ud(.6,0,.05,0)
  534.  
  535.         local cleartb = Functions:MakeNewUi('TextButton')
  536.         cleartb.Parent=CF
  537.         cleartb.Text = 'Clear Text'
  538.         cleartb.BackgroundTransparency=0
  539.         cleartb.TextColor3=CurrentPlayerData[4]
  540.         cleartb.BackgroundColor3=CurrentPlayerData[3]
  541.         cleartb.Font=OS.Settings.Fonts.Header
  542.         cleartb.Position=ud(0,0,.9,0)
  543.         cleartb.TextSize=11
  544.         cleartb.Size=ud(.6,0,.05,0)
  545.  
  546.         local ipos = 0
  547.         local timefromlast=0
  548.         local longestx=0
  549.        
  550.         local clear = Functions:MakeNewUi('TextButton')
  551.         clear.Parent=CF
  552.         clear.Text = 'Clear Output'
  553.         clear.BackgroundTransparency=0
  554.         clear.TextColor3=CurrentPlayerData[4]
  555.         clear.BackgroundColor3=CurrentPlayerData[3]
  556.         clear.Font=OS.Settings.Fonts.Header
  557.         clear.Position=ud(.6,0,.95,0)
  558.         clear.TextSize=11
  559.         clear.Size=ud(.4,0,.05,0)
  560.    
  561.         local output = Functions:MakeNewUi('ScrollingFrame')
  562.         output.Parent=CF
  563.         output.BackgroundColor3=CurrentPlayerData[3]
  564.         output.Position=ud(.6,0,0,0)
  565.         output.BackgroundTransparency=0
  566.         output.Size=ud(.4,0,.95,0)
  567.  
  568.         function op(argz)
  569.             local txt,code,clr = argz[1],argz[2],argz[3]
  570.             clr=clr or Color3.new(1,1,1)
  571.             txt=' > '..txt or 'NO_TEXT'
  572.             --print(txt,code,clr)
  573.             local is = (tostring(code)==tostring(OS.GenCode))
  574.             if is then
  575.                 timefromlast=0
  576.                 local lbl = Functions:MakeNewUi('TextLabel')
  577.                 lbl.Parent=output
  578.                 lbl.Position=ud(0,0,0,ipos)
  579.                 lbl.TextSize=10
  580.                 if #txt > longestx then
  581.                     longextx=#txt
  582.                 end
  583.                 --txt=txt:gsub('\n','')
  584.                 lbl.TextColor3 = clr
  585.                 lbl.TextWrapped=true
  586.                 local count=0
  587.                 local notting=true
  588.                 lbl.TextXAlignment='Left'
  589.                 lbl.Text = txt
  590.                 lbl.BackgroundTransparency=1
  591.                 lbl.Size=ud(33,0,0,lbl.TextBounds.Y+5)
  592.                 ipos=ipos+lbl.TextBounds.Y+2
  593.                 spawn(function()
  594.                     while notting do
  595.                         lrs:wait()
  596.                         count=count+1
  597.                         local asx=output.AbsoluteSize.X
  598.                         local tbx=lbl.TextBounds.X
  599.                         --print(tbx,asx)
  600.                         if tbx > asx then
  601.                             lbl.Text=lbl.Text:sub(1+(asx*(count-1)),asx*count)..'\n'..lbl.Text:sub((asx*count)+1)
  602.                         else
  603.                             notting=false
  604.                         end
  605.                     end
  606.                 end)
  607.                 lbl.Size=ud(1,0,0,lbl.TextBounds.Y+5)
  608.             end
  609.         end
  610.  
  611.         op({'Hello world!', OS.GenCode, Color3.new(1,1,1)})
  612.  
  613.         clear.MouseButton1Click:connect(function()
  614.             output:ClearAllChildren()
  615.             ipos=0
  616.             longestx=0
  617.             timefromlast=0
  618.             op({'Cleared output', OS.GenCode, BrickColor.new'Dark green'.Color})
  619.         end)
  620.  
  621.         cleartb.MouseButton1Click:connect(function()
  622.             tb.Text=''
  623.             pcall(function()
  624.                 SGui.Text=''
  625.             end)
  626.         end)
  627.  
  628.         local oev = osEVENT.OnClientEvent:connect(function(Argz)
  629.             op(Argz)
  630.         end)
  631.  
  632.         spawn(function()
  633.             local ii=0
  634.             repeat lrs:wait()
  635.                 timefromlast=timefromlast+.05
  636.                 ii=Functions:IntegerLerp(ii,ipos,.15)
  637.                 if timefromlast < 5 then
  638.                     output.CanvasSize=ud(0,longestx,0,ii)
  639.                     output.CanvasPosition=Vector2.new(0,ii)
  640.                 end
  641.             until run.Parent ~= CF
  642.             oev:disconnect()
  643.             --print'dis'
  644.         end)
  645.    
  646.         run.MouseButton1Click:connect(function()
  647.             local lscode = [[
  648.                 local owner = game:service'Players':WaitForChild(']]..Host.Name..[[')
  649.                 local event = game:service'SoundService':WaitForChild'osEVENT'
  650.                 local code = ]]..OS.GenCode..[[
  651.                 function print(...)
  652.                     local Data, Return = {...}, ""
  653.                     for Index,Value in pairs(Data) do
  654.                         Return = Return .. tostring(Value) .. (Index < #Data and ", " or "")
  655.                     end
  656.                     event:FireClient(owner,{Return,code,Color3.new(1,1,1)})
  657.                 end
  658.                 function warn(...)
  659.                     local Data, Return = {...}, ""
  660.                     for Index,Value in pairs(Data) do
  661.                         Return = Return .. tostring(Value) .. (Index < #Data and ", " or "")
  662.                     end
  663.                     event:FireClient(owner,{Return,code,Color3.new(1,.5,0)})
  664.                 end
  665.                 function ferror(...)
  666.                     local Data, Return = {...}, ""
  667.                     for Index,Value in pairs(Data) do
  668.                         Return = Return .. tostring(Value) .. (Index < #Data and ", " or "")
  669.                     end
  670.                     event:FireClient(owner,{Return,code,Color3.new(.8,0,0)})
  671.                 end
  672.                 delay(20,function()
  673.                     event:FireClient(owner,{'Auto removed script - delay ; 20',code,BrickColor.new'Dark green'.Color})
  674.                     script:Destroy()
  675.                 end)
  676.                 local script = workspace:WaitForChild(']]..tostring(OS.Assets.FScript.Name)..[[')
  677.             ]]
  678.             local formattedcode = [[
  679.                 pcall(function()
  680.                     local Success, Error = pcall(function()
  681.                         ]]..tb.Text..[[
  682.                     end)
  683.                     if not Success then
  684.                         local err = Error
  685.                         err=err:gsub('ScriptBuilderScript','OS.sb')
  686.                         err=err:gsub('544','1')
  687.                         ferror(err)
  688.                         local stacks = debug.traceback()
  689.                         stacks=stacks:gsub('ScriptBuilderScript','OS.sb')
  690.                         event:FireClient(owner,{stacks,code,BrickColor.new'Bright blue'.Color})
  691.                     else
  692.                         event:FireClient(owner,{'Ran script',code,BrickColor.new'Bright blue'.Color})
  693.                     end
  694.                 end)
  695.             ]]
  696.             NS(lscode..'\n\n'..formattedcode, workspace)
  697.         end)
  698.        
  699.         local SGui
  700.         tb.MouseButton1Click:connect(function()
  701.             pcall(function()
  702.                 SGui:Destroy()
  703.             end)
  704.             if Host.PlayerGui:FindFirstChild'nomnoemnp' then Host.PlayerGui:FindFirstChild'nomnoemnp':Destroy() end
  705.             SGui = Instance.new('ScreenGui', Host.PlayerGui)
  706.             SGui.Name='nomnoemnp'
  707.             local Box = Functions:MakeNewUi('TextBox')
  708.             Box.ClearTextOnFocus=false
  709.             Box.TextColor3 = CurrentPlayerData[3]
  710.             Box.TextStrokeTransparency=.9
  711.             Box.Size=ud(1,0,1,0)
  712.             Box.Position=ud(-1,0,0,0)
  713.             Box.Text = tb.Text
  714.             Box.Visible = false
  715.             Box.TextXAlignment='Left'
  716.             --Box.MultiLine=true
  717.             Box.TextYAlignment='Top'
  718.             Box.BackgroundTransparency=1
  719.             Box.TextStrokeColor3=CurrentPlayerData[3]
  720.             Box.Parent=SGui
  721.             Box.BackgroundColor3 = CurrentPlayerData[4]
  722.             Box:CaptureFocus()
  723.             Box.FocusLost:connect(function()
  724.                 SGui:Destroy()
  725.             end)
  726.             local isub = '|'
  727.             local l=false
  728.             spawn(function()
  729.                 if tb.Text:sub(#tb.Text,#tb.Text)=='|' then
  730.                     tb.Text=tb.Text:sub(1,#tb.Text-1)
  731.                 end
  732.                 local canc = false
  733.                 spawn(function()
  734.                     while not canc do
  735.                         wait(.6)
  736.                         l=not l
  737.                         if l == true then
  738.                             isub='|'
  739.                         else
  740.                             isub=''
  741.                         end
  742.                     end
  743.                 end)
  744.                 repeat
  745.                     tb.Text=Box.Text..isub
  746.                     lrs:wait()
  747.                 until SGui.Parent ~= Host.PlayerGui
  748.                 if l then
  749.                     tb.Text=tb.Text:sub(1,#tb.Text-1)
  750.                 end
  751.                 canc=true
  752.                 SGui=nil
  753.             end)
  754.         end)
  755.     end)
  756. end
  757.  
  758. Functions:CreateProgram('Settings',485882401,'Sett','Also self explanitory...',function(HF,TF,CF)
  759. end)
  760.  
  761. spawn(function()
  762.     local nw={};
  763.     for i,v in next, OS.Backgrounds do
  764.         delay(math.random()*5,function()
  765.             nw[#nw+1]=v
  766.         end)
  767.     end
  768.     repeat wait() until #nw==#OS.Backgrounds
  769.     wait(.5)
  770.     OS.Backgrounds=nw
  771.     Functions:Notification('Formatted OS.Backgrounds', 4)
  772. end)
  773.  
  774. spawn(function()
  775.     local nw={};
  776.     for i,v in next, OS.Sounds do
  777.         delay(math.random()*5,function()
  778.             nw[#nw+1]=v
  779.         end)
  780.     end
  781.     repeat wait() until #nw==#OS.Sounds
  782.     wait(.5)
  783.     OS.Sounds=nw
  784.     Functions:Notification('Formatted OS.Sounds', 4)
  785. end)
  786.  
  787. Functions:CreateProgram('Gallery', 152445445, 'Images', 'View your favorite, saved, and default images', function(HF,TF,CF)
  788.     local title = Functions:MakeNewUi('TextLabel')
  789.     title.TextColor3 = CurrentPlayerData[3]
  790.     title.TextStrokeTransparency=1
  791.     title.Size=ud(1,0,.1,0)
  792.     title.Text = 'Gallery - '..#OS.Backgrounds..' assets total'
  793.     title.TextXAlignment='Center'
  794.     title.TextYAlignment='Center'
  795.     title.Font = OS.Settings.Fonts.Header
  796.     title.BackgroundTransparency=1
  797.     title.Parent=CF
  798.     title.BackgroundColor3 = CurrentPlayerData[4]
  799.  
  800.     spawn(function()
  801.         wait(1)
  802.         Effects:Underline(title, 15, 300, 2, CurrentPlayerData[3], true)
  803.     end)
  804.  
  805.     local scroll = Functions:MakeNewUi('ScrollingFrame')
  806.     scroll.Size=ud(1,0,.9,0)
  807.     scroll.Position = ud(0,0,.1,0)
  808.     scroll.BackgroundTransparency=0
  809.     scroll.TopImage=Functions:Asset(317839361)
  810.     scroll.MidImage=Functions:Asset(317839361)
  811.     scroll.BottomImage=Functions:Asset(317839361)
  812.     scroll.ScrollBarThickness = 5
  813.     scroll.Parent=CF
  814.     scroll.BackgroundColor3 = CurrentPlayerData[4]
  815.  
  816.     local Loaded = 0
  817.     local o,d = 0,0
  818.     local curbg = nil
  819.     local bgs={};
  820.     for i, Id in next, OS.Backgrounds do
  821.         --local Market = game:service'MarketplaceService'
  822.         --local Asset = Market:GetProductInfo(Id)
  823.        
  824.         local Img = Functions:MakeNewUi('ImageButton')
  825.         Img.Image = Functions:Asset(Id)
  826.         local scl = 2
  827.         local add = .005
  828.         local sx,sy=(.089*scl),(.05*scl)
  829.         Img.Size=ud(sx,0,0,34*2)
  830.         Img.Position = ud(((sx+add)*o)+.05,0,0,((36*2)*d))
  831.         o=o+1
  832.         game:service'RunService'.RenderStepped:wait()
  833.         if sx*(o+1) >= 1 then
  834.             d=d+1
  835.             o=0
  836.             scroll.CanvasSize=ud(0,0,0,((36*2)*d))
  837.         end
  838.         Img.BackgroundColor3 = scroll.BackgroundColor3
  839.         Img.BorderColor3 = CurrentPlayerData[3]
  840.         Img.ImageTransparency=1
  841.         Img.MouseButton1Down:connect(function()
  842.             curbg = Img
  843.             OS.Assets.Background.Image=Functions:Asset(Id)
  844.         end)
  845.         Img.Parent=scroll
  846.  
  847.         spawn(function()
  848.             for i = 0,1.05,.05 do
  849.                 Img.ImageTransparency=1-i
  850.                 game:service'RunService'.RenderStepped:wait()
  851.             end
  852.         end)
  853.         bgs[#bgs+1]=Img
  854.     end
  855.     while #bgs > 0 do
  856.         lrs:wait()
  857.         for i,Img in next, bgs do
  858.             if Img == nil or Img.Parent == nil then
  859.                 table.remove(bgs,i)
  860.             else
  861.                 if curbg == Img then
  862.                     Img.BorderSizePixel = 2
  863.                 else
  864.                     Img.BorderSizePixel=0
  865.                 end
  866.             end
  867.         end
  868.     end
  869. end)
  870.  
  871. Functions:CreateProgram('Explorer', 27854793, 'Expl', 'Explore the game\'s children', function(HF,TF,CF)
  872.     local funcs = {};
  873.     local title = Functions:MakeNewUi('TextLabel')
  874.     title.TextColor3 = CurrentPlayerData[3]
  875.     title.TextStrokeTransparency=1
  876.     title.Size=ud(1,0,.2,0)
  877.     title.Text = 'Services'
  878.     title.TextXAlignment='Center'
  879.     title.TextYAlignment='Center'
  880.     title.BackgroundTransparency=1
  881.     title.Parent=CF
  882.     title.BackgroundColor3 = CurrentPlayerData[4]
  883.  
  884.     spawn(function()
  885.         wait(1)
  886.         Effects:Underline(title, 15, 80, 2, CurrentPlayerData[3], true)
  887.     end)
  888.  
  889.     local scroll = Functions:MakeNewUi('ScrollingFrame')
  890.     scroll.Size=ud(.8,0,.8,0)
  891.     scroll.Position = ud(.1,0,.2,0)
  892.     scroll.BackgroundTransparency=1
  893.     scroll.TopImage=Functions:Asset(317839361)
  894.     scroll.MidImage=Functions:Asset(317839361)
  895.     scroll.BottomImage=Functions:Asset(317839361)
  896.     scroll.ScrollBarThickness = 5
  897.     scroll.Parent=CF
  898.     scroll.BackgroundColor3 = CurrentPlayerData[4]
  899.  
  900.     function funcs:w()
  901.         return wait(.05)
  902.     end
  903.  
  904.     local buttons={};
  905.     local t = 0
  906.     function funcs:clearscroll()
  907.         t=t+1
  908.         buttons={};
  909.         for i,v in next, scroll:children() do
  910.             --funcs:w()
  911.             pcall(function()
  912.                 spawn(function()
  913.                     v:TweenPosition(ud(1,0,v.Position.Y.Scale,v.Position.Y.Offset),'Out','Quint',2,true)
  914.                     for i = 0,1.05,.05 do
  915.                         pcall(function()
  916.                             v.TextTransparency=v.TextTransparency+.05
  917.                         end)
  918.                         pcall(function()
  919.                             v.BackgroundTransparency=v.BackgroundTransparency+.05
  920.                         end)
  921.                         pcall(function()
  922.                             v.TextStrokeTransparency=v.TextStrokeTransparency+.05
  923.                         end)
  924.                         lrs:wait()
  925.                     end
  926.                     v:Destroy()
  927.                 end)
  928.             end)
  929.         end
  930.         wait(2)
  931.     end
  932.  
  933.     function funcs:bt(i,txt,func)
  934.         delay(0,function()
  935.             if t == i then
  936.                 --funcs:w()
  937.                 local button = Functions:MakeNewUi('TextButton')
  938.                 local index = #buttons
  939.                 buttons[index+1]=button
  940.                 local y = 22*(index)
  941.                 scroll.CanvasSize=ud(0,0,0,y)
  942.                 button.TextColor3 = CurrentPlayerData[3]
  943.                 button.TextStrokeTransparency=.9
  944.                 button.Size=ud(1,0,0,20)
  945.                 button.Position=ud(1,0,0,y)
  946.                 button.Text = txt
  947.                 button.TextXAlignment='Left'
  948.                 button.TextTransparency=1
  949.                 button.TextSize = 12
  950.                 button.Font=OS.Settings.Fonts.Header
  951.                 --button.TextYAlignment='Top'
  952.                 button.BackgroundTransparency=.6
  953.                 button.TextStrokeColor3=CurrentPlayerData[3]
  954.                 button.Parent=scroll
  955.                 button.BackgroundColor3 = CurrentPlayerData[4]
  956.                 spawn(function()
  957.                     button:TweenPosition(ud(0,0,0,y),'Out','Quint',.5,true)
  958.                     for i = 0,1.05,.05 do
  959.                         button.TextTransparency=1-i
  960.                         lrs:wait()
  961.                     end
  962.                 end)
  963.                 local ev
  964.                 ev=button.MouseButton1Click:connect(function()
  965.                     ev:disconnect()
  966.                     func(button)
  967.                 end)
  968.                 return button
  969.             else
  970.                 return nil
  971.             end
  972.         end)
  973.     end
  974.    
  975.     function funcs:showoptions(obj)
  976.         funcs:clearscroll()
  977.         local st = t
  978.         if obj:IsA'Instance' then
  979.             title.Text = obj:GetFullName()
  980.             if #obj:children() > 0 then
  981.                 local expl=funcs:bt(st,'Explore',function()
  982.                     funcs:showchildren(obj)
  983.                 end)
  984.             end
  985.             pcall(function()
  986.                 if obj ~= game and obj.Parent ~= game then
  987.                     local expl=funcs:bt(st,'Destroy',function()
  988.                         local par = obj.Parent
  989.                         local pn = obj.Name
  990.                         pcall(function()
  991.                             obj:Destroy()
  992.                         end)
  993.                         funcs:clearscroll()
  994.                         local nst = t
  995.                         funcs:bt(nst,'Return to '..pn..'\'s parent object',function()
  996.                             funcs:showchildren(par)
  997.                         end)
  998.                         funcs:bt(nst,'Destroyed '..pn,function()
  999.                         end)
  1000.                     end)
  1001.                 end
  1002.             end)
  1003.             if obj ~= game then
  1004.                 local tag = 'Return to '..obj.Parent.Name..'\'s children'
  1005.                 if obj.Parent==game then
  1006.                     tag='Return to explorable services'
  1007.                 end
  1008.                 local ret=funcs:bt(st,tag,function()
  1009.                     funcs:showchildren(obj.Parent)
  1010.                 end)
  1011.             elseif obj.Parent == game then
  1012.                 funcs:showservs()
  1013.             end
  1014.             local sprops=funcs:bt(st,'Show Properties',function()
  1015.                 funcs:clearscroll()
  1016.                 local st2 = t
  1017.                 local rett=funcs:bt(st2,'Return to options for '..obj.Name,function()
  1018.                     funcs:showoptions(obj)
  1019.                 end)
  1020.                 local Props = Functions:ReturnObjectProperties(obj)
  1021.                 Props['Children'] = #obj:children()
  1022.                 for index, value in next, Props do
  1023.                     local prop=funcs:bt(st2,tostring(index)..': '..tostring(value),function()
  1024.                     end)
  1025.                 end
  1026.             end)
  1027.         end
  1028.     end
  1029.    
  1030.     function funcs:showchildren(prnt)
  1031.         funcs:clearscroll()
  1032.         local st = t
  1033.         if prnt:IsA'Instance' then
  1034.             local back=funcs:bt(st,'Show me options for '..prnt.Name,function()
  1035.                 funcs:showoptions(prnt)
  1036.             end)
  1037.             for i,v in next, prnt:children() do
  1038.                 pcall(function()
  1039.                     if prnt:IsA'Instance' then
  1040.                         local sub=' - '..v.ClassName
  1041.                         pcall(function()
  1042.                             if prnt==game then
  1043.                                 sub=''
  1044.                             end
  1045.                         end)
  1046.                         local child=funcs:bt(st,v.Name..sub,function()
  1047.                             funcs:showoptions(v)
  1048.                         end)
  1049.                     end
  1050.                 end)
  1051.             end
  1052.         end
  1053.     end
  1054.     function funcs:showservs()
  1055.         funcs:clearscroll()
  1056.         local st = t
  1057.         local servs = {};
  1058.         for i,v in next, game:children() do
  1059.             pcall(function()
  1060.                 if #v:children() > 0 then
  1061.                     table.insert(servs,v)
  1062.                 end
  1063.             end)
  1064.         end
  1065.         local child=funcs:bt(st,'SHOW ME ALL THE DAMN SERVICES!',function()
  1066.             funcs:showoptions(game)
  1067.         end)
  1068.         for i,v in next, servs do
  1069.             local child = funcs:bt(st,v.Name,function()
  1070.                 funcs:showoptions(v)
  1071.             end)
  1072.         end
  1073.     end
  1074.     funcs:showservs()
  1075. end)
  1076.  
  1077. local Audios={};
  1078. local CurrentPlaying = nil
  1079. function Functions:AddSound(Id)
  1080.     for Index, Sound in next, Audios do
  1081.         if Sound:IsA'Sound' then
  1082.             Sound:Stop()
  1083.             Sound.PlayOnRemove=false
  1084.         end
  1085.     end
  1086.     local Sound = Instance.new('Sound', Monitor)
  1087.     Sound.SoundId=Functions:Asset(Id)
  1088.     Sound.Volume=.9
  1089.     CurrentPlaying = Sound
  1090.     table.insert(Audios, Sound)
  1091.     return Sound
  1092. end
  1093.  
  1094. function Functions:IntegerLerp(a,b,c)
  1095.     return a + (b - a) * c;
  1096. end
  1097.  
  1098. Functions:CreateProgram('Messenger',485845332,'MGR','Self explanitory... idiot', function(HF,TF,CF)
  1099. end)
  1100.  
  1101. local cur = nil
  1102. local curSound = nil
  1103. Functions:CreateProgram('SmAudio', 64646186, 'SmA', 'An archive of selected music just for you ;) with extra features as well', function(HF,TF,CF)
  1104.     local title = Functions:MakeNewUi('TextLabel')
  1105.     title.TextColor3 = CurrentPlayerData[3]
  1106.     title.TextStrokeTransparency=1
  1107.     title.Size=ud(1,0,.2,0)
  1108.     title.Text = 'SmAudio Alpha'
  1109.     title.TextXAlignment='Center'
  1110.     title.TextYAlignment='Center'
  1111.     title.Font = OS.Settings.Fonts.Header
  1112.     title.BackgroundTransparency=1
  1113.     title.Parent=CF
  1114.     title.BackgroundColor3 = CurrentPlayerData[4]
  1115.  
  1116.     spawn(function()
  1117.         wait(1)
  1118.         Effects:Underline(title, 15, 80, 2, CurrentPlayerData[3], true)
  1119.     end)
  1120.  
  1121.     local scroll = Functions:MakeNewUi('ScrollingFrame')
  1122.     scroll.Size=ud(.8,0,.8,0)
  1123.     scroll.Position = ud(.1,0,.2,0)
  1124.     scroll.BackgroundTransparency=0
  1125.     scroll.TopImage=Functions:Asset(317839361)
  1126.     scroll.MidImage=Functions:Asset(317839361)
  1127.     scroll.BottomImage=Functions:Asset(317839361)
  1128.     scroll.ScrollBarThickness = 5
  1129.     scroll.Parent=CF
  1130.     scroll.BackgroundColor3 = CurrentPlayerData[4]
  1131.  
  1132.     local max = 0
  1133.     spawn(function()
  1134.         local y = 0
  1135.         repeat game:service'RunService'.RenderStepped:wait()
  1136.             y=Functions:IntegerLerp(y,max,.02)
  1137.             --print(max)
  1138.             --print(y)
  1139.             --scroll.CanvasSize=ud(0,0,0,y)
  1140.         until CF.Parent == nil
  1141.     end)
  1142.    
  1143.     local play,pause,sound = Functions:Asset(745599404),Functions:Asset(745599001),Functions:Asset(176572847)
  1144.  
  1145.     local Loaded = 0
  1146.     for i, Id in next, OS.Sounds do
  1147.         delay((math.random()/(math.random()+.2))*3, function()
  1148.             local Market = game:service'MarketplaceService'
  1149.             local Asset = Market:GetProductInfo(Id)
  1150.            
  1151.             local Song = Functions:MakeNewUi('ImageButton')
  1152.             Song.Parent=scroll
  1153.             Song.Image = play
  1154.             local clr=CurrentPlayerData[3]
  1155.             local clr2=CurrentPlayerData[4]
  1156.             Song.BackgroundColor3=clr
  1157.             Song.Size=ud(0,45,0,45)
  1158.             Song.BackgroundTransparency=1
  1159.    
  1160.             local y = (Song.Size.Y.Offset+2)*(i-1)
  1161.             max=max+(Song.Size.Y.Offset+2)
  1162.             local x = Song.Size.X.Offset
  1163.  
  1164.             local author = Functions:MakeNewUi('TextLabel')
  1165.             author.TextColor3 = CurrentPlayerData[3]
  1166.             author.Size=ud(1,-x+10,0,20)
  1167.             author.Position = ud(0,x+10,0,y)
  1168.             author.Text = 'Author  '..Asset.Creator.Name..' ; '..Asset.Creator.Id
  1169.             author.TextXAlignment='Left'
  1170.             author.TextYAlignment='Center'
  1171.             author.TextSize = 16
  1172.             author.Font = OS.Settings.Fonts.Header
  1173.             author.BackgroundTransparency=1
  1174.             author.TextTransparency=1
  1175.             author.Parent=scroll
  1176.             author.BackgroundColor3 = CurrentPlayerData[3]
  1177.  
  1178.             local name = Functions:MakeNewUi('TextLabel')
  1179.             name.TextColor3 = CurrentPlayerData[3]
  1180.             name.Size=ud(1,-x+10,0,20)
  1181.             name.Position = ud(0,x+10,0,y+(author.TextSize+2))
  1182.             name.Text = 'Name  '..Asset.Name
  1183.             name.TextXAlignment='Left'
  1184.             name.TextYAlignment='Center'
  1185.             name.TextSize = 12
  1186.             name.TextTransparency=1
  1187.             name.Font = OS.Settings.Fonts.Header
  1188.             name.BackgroundTransparency=1
  1189.             name.Parent=scroll
  1190.             name.BackgroundColor3 = CurrentPlayerData[3]
  1191.  
  1192.             local desc = Functions:MakeNewUi('TextLabel')
  1193.             desc.TextColor3 = CurrentPlayerData[3]
  1194.             local alg = (((name.TextBounds.X+author.TextBounds.X)/1.5)+(10+(author.TextSize+name.TextSize)))
  1195.             desc.Size=ud(1,-x-(alg+scroll.ScrollBarThickness),0,46)
  1196.             desc.Position = ud(1,0,0,y-1)
  1197.             desc.Text = Asset.Creator.Name..': '..Asset.Description
  1198.             desc.BorderSizePixel=0
  1199.             desc.BorderColor3 = CurrentPlayerData[3]
  1200.             desc.TextWrapped=true
  1201.             desc.TextXAlignment='Left'
  1202.             desc.TextTransparency=1
  1203.             desc.TextYAlignment='Top'
  1204.             desc.TextSize = 12
  1205.             desc.Font = OS.Settings.Fonts.Header
  1206.             desc.BackgroundTransparency=1
  1207.             desc.Parent=scroll
  1208.             desc.BackgroundColor3 = scroll.BackgroundColor3
  1209.             desc.ClipsDescendants=false
  1210.  
  1211.             local line = Functions:MakeNewUi('TextLabel')
  1212.             line.TextColor3 = CurrentPlayerData[3]
  1213.             line.Size=ud(0,1,1,0)
  1214.             line.Position = ud(0,-4,0,0)
  1215.             line.Text = ''
  1216.             line.BackgroundTransparency=0
  1217.             line.BackgroundColor3 = CurrentPlayerData[3]
  1218.             line.Parent=desc
  1219.  
  1220.             if Asset.Description=='Audio' or Asset.Description=='RenderMesh' then
  1221.                 desc:Destroy()
  1222.             else
  1223.                 desc:TweenPosition(ud(0,x+alg,0,y-1),'Out','Quint',1,true)
  1224.             end
  1225.            
  1226.             Song.Position = ud(0,-x,0,y)
  1227.            
  1228.             Song.ZIndex=8
  1229.             Song.MouseEnter:connect(function()
  1230.                 local t=clr2
  1231.                 local tt=.15
  1232.                 clr=c3(t.r-tt,t.b-tt,t.g-tt)
  1233.                 clr2=CurrentPlayerData[3]
  1234.             end)
  1235.             Song.MouseLeave:connect(function()
  1236.                 clr=CurrentPlayerData[3]
  1237.                 clr2=CurrentPlayerData[4]
  1238.             end)
  1239.            
  1240.             Song.MouseButton1Click:connect(function()
  1241.                 if cur == Song then
  1242.                     curSound:Pause()
  1243.                     cur=nil
  1244.                 else
  1245.                     cur=Song
  1246.                     curSound = Functions:AddSound(Id)
  1247.                     curSound.Looped = true
  1248.                     curSound:Play()
  1249.                     clr=CurrentPlayerData[3]
  1250.                     clr2=CurrentPlayerData[4]
  1251.                 end
  1252.             end)
  1253.  
  1254.             spawn(function()
  1255.                 for i = 0,1.05,.05 do
  1256.                     desc.TextTransparency=1-i
  1257.                     desc.BackgroundTransparency=1-i
  1258.                     name.TextTransparency=1-i
  1259.                     author.TextTransparency=1-i
  1260.                     game:service'RunService'.RenderStepped:wait()
  1261.                 end
  1262.             end)
  1263.            
  1264.             spawn(function()
  1265.                 repeat game:service'RunService'.RenderStepped:wait()
  1266.                     if cur == Song then
  1267.                         Song.Image = pause
  1268.                     else
  1269.                         Song.Image = play
  1270.                     end
  1271.                     Song.BackgroundColor3=Song.BackgroundColor3:lerp(clr,.25)
  1272.                     Song.ImageColor3=Song.ImageColor3:lerp(clr2,.25)
  1273.                 until CF.Parent == nil
  1274.             end)
  1275.             Song:TweenPosition(ud(0,0,0,y),'Out','Quint',.5,true)
  1276.             Loaded = Loaded + 1
  1277.         end)
  1278.     end
  1279.     local ii=0
  1280.     repeat
  1281.         wait()
  1282.         title.Text = 'Loading Assets #'..Loaded
  1283.         ii=Functions:IntegerLerp(ii,max+10,.04)
  1284.         scroll.CanvasSize=ud(0,0,0,ii)
  1285.         scroll.CanvasPosition=Vector2.new(0,ii)
  1286.     until Loaded == #OS.Sounds
  1287.     title.Text = 'SmAudio Beta'
  1288. end)
  1289.  
  1290. function Functions:GeneratePrograms(Distance)
  1291.     --print'k'
  1292.     local Over, Down=0,0
  1293.     for Index, Data in next, OS.Apps.Qeued do
  1294.         if Down > 7 then
  1295.             return
  1296.         end
  1297.         local maximized,ump,ums
  1298.         lrs:wait()
  1299.         local Icon = Functions:MakeNewUi('ImageButton')
  1300.         Icon.Image=Functions:PlayerImage(Host)
  1301.         Icon.Parent=MainFrame
  1302.         Icon.BackgroundColor3=CurrentPlayerData[4]
  1303.         Icon.Image=Functions:Asset(Data[2])
  1304.         Icon.Size=ud(0,50,0,50)
  1305.         Icon.ZIndex=2
  1306.         Icon.ImageTransparency=0
  1307.         local IconName = Functions:MakeNewUi('TextLabel')
  1308.         IconName.Font=OS.Settings.Fonts.Header
  1309.         IconName.Parent=Icon
  1310.         IconName.TextYAlignment='Bottom'
  1311.         IconName.TextSize = 10
  1312.         IconName.Text= Data[1]
  1313.         IconName.Size=ud(1,0,0,20)
  1314.         IconName.Position=ud(0,0,1,-20)
  1315.         IconName.ZIndex=2
  1316.         local bgtp = 1
  1317.         Icon.MouseEnter:connect(function()
  1318.             bgtp=.5
  1319.         end)
  1320.         Icon.MouseLeave:connect(function()
  1321.             bgtp=1
  1322.         end)
  1323.         local oi = bgtp
  1324.         lrs:connect(function()
  1325.             oi=Functions:IntegerLerp(oi,bgtp,.3)
  1326.             Icon.BackgroundTransparency=oi
  1327.         end)
  1328.         OS.Apps.Generated[Data[1]]=Icon
  1329.         if Over >= 13 then
  1330.             Down = Down + 1
  1331.             Over = 0
  1332.         end
  1333.         Icon.Position=ud(0,15+(60*(Over)),0,15+(60*(Down)))
  1334.         Over = Over + 1
  1335.         Icon.ZIndex=2
  1336.         local oic
  1337.         oic=Icon.MouseButton1Click:connect(function()
  1338.             local AlreadyOpen=false
  1339.             for Index, Ting in next, OS.Apps.Open do
  1340.                 for i = 1,#Ting do
  1341.                     if Data[i] == Ting[i] then
  1342.                         AlreadyOpen=true
  1343.                     end
  1344.                 end
  1345.             end
  1346.             if AlreadyOpen then
  1347.                 warn'nop'
  1348.                 return
  1349.             end
  1350.             table.insert(OS.Apps.Open,{Data[1],Data[2],Data[3]})
  1351.             OS.RecentlyUsedPrograms[Data[4]]=Data
  1352.             local HolderFrame = Functions:MakeNewUi('Frame')
  1353.             HolderFrame.ZIndex=3
  1354.             HolderFrame.BackgroundTransparency=0
  1355.             HolderFrame.BorderSizePixel=.1
  1356.             HolderFrame.BorderColor3=CurrentPlayerData[3]
  1357.             HolderFrame.Size=ud(0,600,0,400)
  1358.             HolderFrame.Name='HF'
  1359.             HolderFrame.BackgroundColor3=CurrentPlayerData[3]
  1360.             HolderFrame.Position = Functions:Center(HolderFrame)
  1361.             HolderFrame.Parent = MainFrame
  1362.             maximized,ump,ums=false,HolderFrame.Position,HolderFrame.Size
  1363.             local function Enable()
  1364.                 for i,gui in next, MainFrame:children() do
  1365.                     if gui:IsA'ImageButton' then
  1366.                         gui.Visible=true
  1367.                     end
  1368.                 end
  1369.             end
  1370.             local function Disable()
  1371.                 for i,gui in next, MainFrame:children() do
  1372.                     if gui:IsA'ImageButton' then
  1373.                         gui.Visible=false
  1374.                     end
  1375.                 end
  1376.             end
  1377.            
  1378.             local ev1
  1379.             ev1=HolderFrame.MouseEnter:connect(function()
  1380.                 --print'k1'
  1381.                 Disable()
  1382.             end)
  1383.             local ev2
  1384.             ev2=HolderFrame.MouseLeave:connect(function()
  1385.                 --print'k2'
  1386.                 Enable()
  1387.             end)
  1388.             local InfoFrame = Functions:MakeNewUi('Frame')
  1389.             InfoFrame.ZIndex=4
  1390.             InfoFrame.BackgroundTransparency=0
  1391.             InfoFrame.Size=ud(1,0,0,15)
  1392.             InfoFrame.Name='TF'
  1393.             InfoFrame.BackgroundColor3=CurrentPlayerData[3]
  1394.             for i = 1,3 do
  1395.                 i=i
  1396.                 local CButt = Functions:MakeNewUi('ImageButton')
  1397.                 CButt.Image=Functions:Asset(625953771)
  1398.                 CButt.Parent=InfoFrame
  1399.                 CButt.ImageTransparency=.15
  1400.                 local OCF
  1401.                 --505680534
  1402.                 spawn(function()
  1403.                     local up=.75
  1404.                     local r,g,b=0,0,0
  1405.                     if (i==1) then
  1406.                         r,g,b=.8,.01,.01
  1407.                     elseif (i==2) then
  1408.                         r,g,b=.95,.95,0
  1409.                     elseif (i==3) then
  1410.                         r,g,b=0,.7,0
  1411.                     end
  1412.                     CButt.ImageColor3 = c3(r,g,b)
  1413.                     CButt.MouseEnter:connect(function()
  1414.                         for i = 0,1,.1 do
  1415.                             CButt.ImageColor3 = CButt.ImageColor3:lerp(c3(r+up,g+up,b+up),.13)
  1416.                             lrs:wait()
  1417.                         end
  1418.                     end)
  1419.                     CButt.MouseLeave:connect(function()
  1420.                         for i = 0,1,.1 do
  1421.                             CButt.ImageColor3 = CButt.ImageColor3:lerp(c3(r,g,b),.13)
  1422.                             lrs:wait()
  1423.                         end
  1424.                     end)
  1425.                 end)
  1426.                 --if not OCF then OCF=function()print'missing func'end;end
  1427.                 if (i==1) then
  1428.                     r,g,b=.8,.01,.01
  1429.                     local evv
  1430.                     ev1:disconnect()
  1431.                     ev2:disconnect()
  1432.                     evv=CButt.MouseButton1Click:connect(function()
  1433.                         for Index, Ting in next, OS.Apps.Open do
  1434.                             if Data[1] == Ting[1] then
  1435.                                 table.remove(OS.Apps.Open, Index)
  1436.                             end
  1437.                         end
  1438.                         evv:disconnect()
  1439.                         local pos = HolderFrame.Position
  1440.                         HolderFrame.Active=false
  1441.                         HolderFrame:Destroy()
  1442.                     end)
  1443.                 elseif (i==2) then
  1444.                     r,g,b=.95,.95,0
  1445.                     local evv
  1446.                     evv=CButt.MouseButton1Click:connect(function()
  1447.                         if maximized then
  1448.                             HolderFrame:TweenSizeAndPosition(ums,ump,'Out','Sine',.3,true)
  1449.                             maximized=false
  1450.                         else
  1451.                             HolderFrame:TweenSizeAndPosition(ud(1,2,1,-50),ud(0,-1,0,-1),'Out','Quint',.3,true)
  1452.                             maximized=true
  1453.                         end
  1454.                     end)
  1455.                 elseif (i==3) then
  1456.                     r,g,b=0,.7,0
  1457.                     local evv
  1458.                     ev1:disconnect()
  1459.                     ev2:disconnect()
  1460.                     for Index, Ting in next, OS.Apps.Open do
  1461.                         if Data[1] == Ting[1] then
  1462.                             table.remove(OS.Apps.Open, Index)
  1463.                         end
  1464.                     end
  1465.                     evv=CButt.MouseButton1Click:connect(function()
  1466.                         evv:disconnect()
  1467.                         HolderFrame:TweenSizeAndPosition(ud(0,50,0,50),Icon.Position,'Out','Quint',.5,true)
  1468.                         wait(.2)
  1469.                         HolderFrame:Destroy()
  1470.                     end)
  1471.                     --Functions:AddToTaskBar(Data[1],Data[2],{ump,ums})
  1472.                 end
  1473.                 --CButt.MouseButton1Click:connect(OCF)
  1474.                 CButt.Size=ud(0,12,0,12)
  1475.                 CButt.Position=Functions:CenterOffset(CButt,ud(.5,-(15*i),0,0))
  1476.                 --CButt:TweenPosition(Functions:CenterOffset(CButt,ud(0,0,0,-50),'Out','Back',1,true))
  1477.             end
  1478.             InfoFrame.Parent = HolderFrame
  1479.             local InfoIcon = Functions:MakeNewUi('ImageButton')
  1480.             InfoIcon.Parent=InfoFrame
  1481.             InfoIcon.Image=Functions:Asset(Data[2])
  1482.             InfoIcon.Size=ud(0,12,0,12)
  1483.             InfoIcon.ImageTransparency=0
  1484.             InfoIcon.Position=ud(0,2,0,3)
  1485.             InfoIcon.ZIndex=4
  1486.             local InfoText = Functions:MakeNewUi('TextButton')
  1487.             InfoText.BackgroundTransparency=.5
  1488.             InfoText.FontSize='Size12'
  1489.             InfoText.Parent=InfoFrame
  1490.             InfoText.TextXAlignment='Left'
  1491.             InfoText.Text= Data[1]--..'  \  '..Data[4]--'*C:\Users\\'..Host.Name..''
  1492.             InfoText.Size=ud(1,-40,1,0)
  1493.             InfoText.Position=ud(0,16,0,0)
  1494.             InfoText.ZIndex=4
  1495.            
  1496.             local md=false
  1497.             InfoText.MouseButton1Down:connect(function()
  1498.                 md=true
  1499.                 local origp=HolderFrame.Position
  1500.                 local origs=ud(0,600,0,15)
  1501.                 local origmp=OS.Assets.Mouse.Position
  1502.                 HolderFrame.Size = ud(0,600,0,400)
  1503.                 maximized=false
  1504.                 spawn(function()
  1505.                     repeat wait() until OS.MouseDown == false
  1506.                     md=false
  1507.                 end)
  1508.                 while md do
  1509.                     local mp={OS.Assets.Mouse.Position.X.Scale,OS.Assets.Mouse.Position.X.Offset,OS.Assets.Mouse.Position.Y.Scale,OS.Assets.Mouse.Position.Y.Offset};
  1510.                     local fs={origs.X.Scale,origs.X.Offset,origs.Y.Scale,origs.Y.Offset};
  1511.                     local fp={origp.X.Scale,origp.X.Offset,origp.Y.Scale,origp.Y.Offset};
  1512.                     --local a,b=
  1513.                     local x,y=mp[2]-(fs[2]/2),mp[4]-(fs[4]/2)
  1514.                     --print(x,y)
  1515.                     HolderFrame.Position=ud(0,x,0,y)
  1516.                     lrs:wait()
  1517.                 end
  1518.             end)
  1519.             InfoText.MouseButton1Up:connect(function()
  1520.                 --md=false
  1521.             end)
  1522.             local ContentFrame = Functions:MakeNewUi('Frame')
  1523.             ContentFrame.ZIndex=4
  1524.             ContentFrame.BackgroundTransparency=.1
  1525.             ContentFrame.Size=ud(1,-2,1,-17)
  1526.             ContentFrame.Position=ud(0,1,0,16)
  1527.             ContentFrame.Name='CF'
  1528.             ContentFrame.BackgroundColor3=CurrentPlayerData[4]
  1529.             ContentFrame.Parent = HolderFrame
  1530.             Data[5](HolderFrame, TitleFrame, ContentFrame)
  1531.         end)
  1532.     end
  1533. end
  1534.  
  1535. local AtMainScreen=false
  1536. function Functions:MakeHomeScreen()
  1537.     local Background_id = CurrentPlayerData[5]
  1538.     local BackgroundImg = Functions:MakeNewUi('ImageLabel')
  1539.     BackgroundImg.Image=Functions:Asset(Background_id)
  1540.     BackgroundImg.Name='Background'
  1541.     BackgroundImg.BackgroundTransparency=1
  1542.     BackgroundImg.ImageTransparency = .1
  1543.     BackgroundImg.Parent=MainFrame
  1544.     BackgroundImg.ZIndex=1
  1545.     BackgroundImg.Size=ud(1,0,1,0)
  1546.     OS.Assets.Background = BackgroundImg
  1547.     for i = 0,1.025,.025 do
  1548.         MainFrame.BackgroundTransparency=i
  1549.         lrs:wait()
  1550.     end
  1551.     local TskBar = Functions:MakeNewUi('TextLabel')
  1552.     TskBar.Size = ud(1,0,0,52)
  1553.     TskBar.Parent = MainFrame
  1554.     TskBar.BackgroundColor3 = CurrentPlayerData[3]
  1555.     TskBar.BackgroundTransparency = .5
  1556.     TskBar.Position = ud(0,0,1,0)
  1557.     TskBar.ZIndex = 9
  1558.     TskBar:TweenPosition(ud(0,0,1,-52.5),'Out','Quint',1.2,true)
  1559.     for i = 0,.15,.05 do
  1560.         local TskBarShader = Functions:MakeNewUi('TextLabel')
  1561.         TskBarShader.BackgroundTransparency = .8
  1562.         TskBarShader.BackgroundColor3 = CurrentPlayerData[4]
  1563.         TskBarShader.BorderSizePixel = 0
  1564.         TskBarShader.Size = ud(1,0,.05,0)
  1565.         TskBarShader.Position = ud(0,0,-i,0)
  1566.         delay(.2,function()
  1567.             TskBarShader:TweenPosition(ud(0,0,i+5,0),'Out','Quint',.5,true)
  1568.         end)
  1569.         TskBarShader.ZIndex = 9
  1570.         TskBarShader.Name = 'shd'..i
  1571.         --TskBar:ClearAllChildren()
  1572.         TskBarShader.Parent = TskBar
  1573.     end
  1574.     --//tem\\
  1575.     local TimeLabel = Instance.new'TextLabel'
  1576.     TimeLabel.BackgroundTransparency = 1
  1577.     TimeLabel.BackgroundColor3 = c3(255,255,255)
  1578.     TimeLabel.BorderSizePixel = 0
  1579.     TimeLabel.ZIndex = 9
  1580.     TimeLabel.TextColor3 = CurrentPlayerData[4]
  1581.     TimeLabel.Font = OS.Settings.Fonts.Sub_Header
  1582.     TimeLabel.TextScaled = true
  1583.     TimeLabel.Name = 'TimeLabel'
  1584.     TimeLabel.TextWrapped = true
  1585.     TimeLabel.TextStrokeTransparency = .9
  1586.     TimeLabel.Text = '00:00:00  PM'
  1587.     TimeLabel.Parent = TskBar
  1588.     TimeLabel.Size = ud(.08,0,.3,0)
  1589.     TimeLabel.Position = ud(.92,-10,0,6)
  1590.    
  1591.     local DateLabel = Instance.new'TextLabel'
  1592.     DateLabel.BackgroundTransparency = 1
  1593.     DateLabel.BackgroundColor3 = c3(255,255,255)
  1594.     DateLabel.BorderSizePixel = 0
  1595.     DateLabel.ZIndex = 9
  1596.     DateLabel.TextColor3 = CurrentPlayerData[4]
  1597.     DateLabel.Font = OS.Settings.Fonts.Sub_Header
  1598.     DateLabel.TextScaled = true
  1599.     DateLabel.Name = 'DateLabel'
  1600.     DateLabel.TextWrapped = true
  1601.     DateLabel.TextStrokeTransparency = .9
  1602.     DateLabel.Text = '00/00/0000'
  1603.     DateLabel.Parent = TskBar
  1604.     DateLabel.Size = ud(.08,0,.3,0)
  1605.     DateLabel.Position = ud(.92,-10,.6,-6)
  1606.    
  1607.     local Logo = Functions:MakeNewUi'ImageButton'
  1608.     Logo.BackgroundTransparency = 1
  1609.     Logo.BackgroundColor3 = CurrentPlayerData[3]
  1610.     Logo.BorderSizePixel = 0
  1611.     Logo.ZIndex = 10
  1612.     Logo.Image = Functions:Asset(265489553)
  1613.     --Logo.TextColor3 = CurrentPlayerData[4]
  1614.     --Logo.Font = 'Cartoon'
  1615.     --Logo.FontSize='Size36'
  1616.     Logo.Name = 'Logo'
  1617.     --Logo.TextStrokeTransparency = .9
  1618.     --Logo.Text = '¶Y'
  1619.     Logo.Parent = TskBar
  1620.     Logo.Size = ud(0,40,0,50)
  1621.     Logo.Position = ud(0,1,0,1)
  1622.     local clrcancel=false
  1623.     local igc,bgc=CurrentPlayerData[4],CurrentPlayerData[3]
  1624.     Logo.MouseEnter:connect(function()
  1625.         local continue=true
  1626.         clrcancel=true
  1627.         clrcancel=false
  1628.         spawn(function()
  1629.             for i = 0,.57,.07 do
  1630.                 Logo.BackgroundTransparency=1-i
  1631.                 lrs:wait()
  1632.             end
  1633.         end)
  1634.         igc,bgc=CurrentPlayerData[3],CurrentPlayerData[4]
  1635.     end)
  1636.     Logo.MouseLeave:connect(function()
  1637.         local continue=true
  1638.         clrcancel=true
  1639.         clrcancel=false
  1640.         spawn(function()
  1641.             for i = 0,.57,.07 do
  1642.                 Logo.BackgroundTransparency=.5+i
  1643.                 lrs:wait()
  1644.             end
  1645.         end)
  1646.         igc,bgc=CurrentPlayerData[4],CurrentPlayerData[3]
  1647.     end)
  1648.     local StartFrameHolder = Functions:MakeNewUi('Frame')
  1649.     StartFrameHolder.ZIndex=5
  1650.     StartFrameHolder.BackgroundTransparency=1
  1651.     StartFrameHolder.Size=ud(0,200,.6,0)
  1652.     StartFrameHolder.Position = ud(0,0,.4,-52)
  1653.     StartFrameHolder.Parent = MainFrame
  1654.     local StartFrame = Functions:MakeNewUi('Frame')
  1655.     StartFrame.ZIndex=9
  1656.     StartFrame.BackgroundTransparency=.5
  1657.     StartFrame.Size=ud(1,0,1,0)
  1658.     StartFrame.BorderSizePixel=2
  1659.     StartFrame.Name='SF'
  1660.     StartFrame.BorderColor3=CurrentPlayerData[4]
  1661.     StartFrame.Position = ud(0,0,1,0)
  1662.     StartFrame.Parent = StartFrameHolder
  1663.    
  1664.     local TestButton = Functions:MakeNewUi('TextButton')
  1665.     TestButton.ZIndex=6
  1666.     TestButton.BackgroundTransparency=.7
  1667.     TestButton.Size=ud(1,-6,0,50)
  1668.     TestButton.Position = ud(0,3,0,3)
  1669.     TestButton.Text='TEST NOTIFICATIONS'
  1670.     TestButton.Parent = StartFrame
  1671.     TestButton.MouseButton1Click:connect(function()
  1672.         Functions:Notification('Just testing the dank re-alignment and stuff, kek.')
  1673.     end)
  1674.    
  1675.     local sfcc,detection=false,false
  1676.     StartFrame.MouseEnter:connect(function()
  1677.         detection=false
  1678.         sfcc=false
  1679.     end)
  1680.     StartFrame.MouseLeave:connect(function()
  1681.         detection=true
  1682.         sfcc=true
  1683.     end)
  1684.    
  1685.     local Extended=false
  1686.     local function Open(trans)
  1687.         StartFrame:TweenPosition(ud(0,0,0,0),'Out','Sine',.5,true)
  1688.         for i = 0,1.05,.05 do
  1689.             for a,b in next, StartFrame:children() do
  1690.                 if b.Name ~= 'SF' then
  1691.                     pcall(function()
  1692.                         b.TextTransparency=b.TextTransparency-.05
  1693.                     end)
  1694.                     pcall(function()
  1695.                         b.BackgroundTransparency=bBackgroundTransparency-.05
  1696.                     end)
  1697.                     pcall(function()
  1698.                         b.ImageTransparency=b.ImageTransparency-.05
  1699.                     end)
  1700.                 end
  1701.             end
  1702.             StartFrame.BackgroundTransparency=1-.05
  1703.             lrs:wait()
  1704.         end
  1705.         StartFrame.BackgroundTransparency=trans
  1706.         Extended=true
  1707.     end
  1708.     local function Close(trans)
  1709.         StartFrame:TweenPosition(ud(0,0,1,0),'Out','Sine',.5,true)
  1710.         for i = 0,1,.05 do
  1711.             for a,b in next, StartFrame:children() do
  1712.                 if b.Name ~= 'SF' then
  1713.                     pcall(function()
  1714.                         b.TextTransparency=b.TextTransparency+.05
  1715.                     end)
  1716.                     pcall(function()
  1717.                         b.BackgroundTransparency=bBackgroundTransparency+.05
  1718.                     end)
  1719.                     pcall(function()
  1720.                         b.ImageTransparency=b.ImageTransparency+.05
  1721.                     end)
  1722.                 end
  1723.             end
  1724.             StartFrame.BackgroundTransparency=trans+.05
  1725.             lrs:wait()
  1726.         end
  1727.         StartFrame.BackgroundTransparency=1
  1728.         Extended=false
  1729.     end
  1730.     local trans=.45
  1731.     PlayerMouse.Button1Down:connect(function()
  1732.         if sfcc and Extended then
  1733.             detection=false
  1734.             Close(trans)
  1735.         end
  1736.     end)
  1737.     PlayerMouse.Button2Down:connect(function()
  1738.         if sfcc and Extended then
  1739.             detection=false
  1740.             Close(trans)
  1741.         end
  1742.     end)
  1743.     Logo.MouseButton1Down:connect(function(x,y)
  1744.         if Extended then
  1745.             Close(trans)
  1746.         else
  1747.             Open(trans)
  1748.         end
  1749.     end)
  1750.     local Months =  {
  1751.             "January", "Febreuary", "March", "April", "May", "June",
  1752.             "July", "August", "September", "October", "November", "December"
  1753.         }
  1754.     local MonthDays = {    
  1755.             31, 28, 31, 30, 31, 30,
  1756.             31, 31, 30, 31, 30, 31
  1757.         }
  1758.  
  1759.     function getDay(Date, year)
  1760.         local month, date = Date:match("(%a+)%s*(%d+)")
  1761.         local DAYS = tonumber(date)
  1762.         local leaps = math.floor( (year-2011)/4 - .25 ) + 1
  1763.         local Days = {"Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"}
  1764.         for _, v in ipairs(MonthDays) do
  1765.             if Months[_] == month then break end
  1766.             DAYS = DAYS + v
  1767.         end
  1768.         DAYS = math.floor( DAYS + (year-2017) * 365 ) + leaps
  1769.         return Days[ (DAYS%7 == 0 and 7 or DAYS%7) ]
  1770.     end
  1771.  
  1772.     function getMonthAndDate(days, year)
  1773.         local leap = year%4 == 0 and 1 or 0
  1774.         local month;
  1775.         for _, v in ipairs(MonthDays) do
  1776.             if (days-v) < 1 then
  1777.                 month = Months[_]
  1778.                 break
  1779.             end
  1780.             days = days - v
  1781.         end
  1782.         return month, days
  1783.     end
  1784.     local LTime,LDate = '',''
  1785.     local M = ''
  1786.     Time = function()
  1787.         local secondsInDay = 60*60*24
  1788.         local time = tick()
  1789.         local year = math.floor(1970 + time/(365.25*86400))
  1790.         local days = math.ceil(((time % (86400*365.25)) )/86400 + 0.25)
  1791.         local month, date = getMonthAndDate(days, year)
  1792.         local day = getDay(month..date, year)
  1793.         local tick = math.fmod(tick(),secondsInDay)
  1794.         local hour = math.floor(tick/3600) + 5 + -5
  1795.         local minute = math.floor(tick/60 - 60*hour)
  1796.         local seconds = math.floor(math.fmod(tick,60))
  1797.         if (hour > 12) then
  1798.                M = ' PM' hour = hour - 12
  1799.         else
  1800.             M = ' AM'
  1801.         end
  1802.         if hour == 0 then
  1803.             hour = 12
  1804.         end
  1805.         if hour == 24 then
  1806.             hour = 1
  1807.         end
  1808.         LTime = string.format("%2.0f:%02.0f",hour,minute)
  1809.         local MonthNums =   {
  1810.             ["January"]=1, ["February"]=2, ["March"]=3, ["April"]=4, ["May"]=5, ["June"]=6,
  1811.             ["July"]=7, ["August"]=8, ["September"]=9, ["October"]=10, ["November"]=11, ["December"]=12
  1812.         }
  1813.         month=MonthNums[month]
  1814.         LDate = month..'/'..(days-1)..'/'..year
  1815.         TimeLabel.Text = LTime..M
  1816.         DateLabel.Text = LDate
  1817.         Logo.ImageColor3 = Logo.ImageColor3:lerp(igc,.2)
  1818.         Logo.BackgroundColor3 = Logo.BackgroundColor3:lerp(bgc,.2)
  1819.     end
  1820.     game:service'RunService'.Heartbeat:connect(Time)
  1821.     AtMainScreen=true
  1822.     local txt=''
  1823.     if Official then
  1824.         txt='Welcome back, '..CurrentPlayerData[1]..', your last session\'s saved data has been loaded'
  1825.     else
  1826.         txt='Hello, '..CurrentPlayerData[1]..'. Your data will be saved at the end of this session'
  1827.     end
  1828.     delay(math.random(1,4),function()
  1829.         delay(.3,function()
  1830.             Functions:PlayerImgNotification('SavageMunkey', 'Creator & Founder of ¶YaviOS - SavageMunkey')
  1831.         end)
  1832.         local fr,tl = Functions:Notification(txt,6)
  1833.     end)
  1834.     Functions:GeneratePrograms({25,20})
  1835.     AtMainScreen=true
  1836.     return warn'Homescreen Loaded'
  1837. end
  1838.  
  1839. function Functions:PlayerImgNotification(Plr, Type)
  1840.     if not AtMainScreen then return end
  1841.     local sz=50
  1842.     if Type=='join' then
  1843.         local fr,tl=Functions:Notification('New Player has joined, '..tostring(Plr)..'.', 4)
  1844.         tl.Size=ud(1,-(sz+5),1,0)
  1845.         tl.Position=ud(0,sz+5,0,0)
  1846.         local UserImage = Functions:MakeNewUi('ImageLabel')
  1847.         UserImage.Image=Functions:PlayerImage(tostring(Plr))
  1848.         UserImage.Parent=fr
  1849.         UserImage.Size=ud(0,sz,1,0)
  1850.         UserImage.ImageTransparency=0
  1851.         UserImage.Position=ud(0,4,0,0)
  1852.         UserImage.ZIndex=8
  1853.         wait(4*1.5)
  1854.         for i = 0,1.05,.05 do UserImage.ImageTransparency=i lrs:wait() end
  1855.     elseif Type=='rmv' then
  1856.         local fr,tl=Functions:Notification('Player has left, '..tostring(Plr)..'.', 4)
  1857.         tl.Size=ud(1,-(sz+5),1,0)
  1858.         tl.Position=ud(0,sz+5,0,0)
  1859.         local UserImage = Functions:MakeNewUi('ImageLabel')
  1860.         UserImage.Image=Functions:PlayerImage(tostring(Plr))
  1861.         UserImage.Parent=fr
  1862.         UserImage.Size=ud(0,sz,1,0)
  1863.         UserImage.ImageTransparency=0
  1864.         UserImage.Position=ud(0,4,0,0)
  1865.         UserImage.ZIndex=8
  1866.         wait(4*1.5)
  1867.         for i = 0,1.05,.05 do UserImage.ImageTransparency=i lrs:wait() end
  1868.     else
  1869.         local fr,tl=Functions:Notification(Type, 4)
  1870.         tl.Size=ud(1,-(sz+5),1,0)
  1871.         tl.Position=ud(0,sz+5,0,0)
  1872.         local UserImage = Functions:MakeNewUi('ImageLabel')
  1873.         UserImage.Image=Functions:PlayerImage(tostring(Plr))
  1874.         UserImage.Parent=fr
  1875.         UserImage.Size=ud(0,sz,1,0)
  1876.         UserImage.ImageTransparency=0
  1877.         UserImage.Position=ud(0,4,0,0)
  1878.         UserImage.ZIndex=8
  1879.         wait(4*1.5)
  1880.         for i = 0,1.05,.05 do UserImage.ImageTransparency=i lrs:wait() end
  1881.     end
  1882. end
  1883.  
  1884. local Notifications={};
  1885. local Notifs=0
  1886.  
  1887. function Functions:AdjustNotifPositions()
  1888.     local upv=0
  1889.     for i, data in next, Notifications do
  1890.         --warn('('..tostring(ud(1,-200,.8,-(60*upv)))..')',#Notifications)
  1891.         pcall(function()
  1892.             data[1]:TweenPosition(ud(1,-200,.8,-(60*upv)),'Out','Back',.5,true)
  1893.         end)
  1894.         upv=upv+1
  1895.         wait(.1)
  1896.     end
  1897. end
  1898.  
  1899. function Functions:Notification(Text, ExitDelay)
  1900.     if not ExitDelay then ExitDelay=4 end
  1901.     if not AtMainScreen then return end
  1902.     local v=false
  1903.     local Frame = Functions:MakeNewUi('Frame')
  1904.     Frame.ZIndex=8
  1905.     Frame.BackgroundTransparency=.25
  1906.     Frame.Size=ud(0,200,0,55)
  1907.     Frame.BackgroundColor3=CurrentPlayerData[4]
  1908.     Frame.Position = ud(1,0,.8,-(60*Notifs))
  1909.     Frame.Parent=MainFrame
  1910.     Frame:TweenPosition(ud(1,-200,.8,-(60*Notifs)),'Out','Sine',2,true)
  1911.     table.insert(Notifications,{Frame,ud(1,-200,.8,-(60*Notifs))})
  1912.     local Shader1 = Functions:MakeNewUi('Frame')
  1913.     Shader1.ZIndex=9
  1914.     Shader1.BackgroundTransparency=.9
  1915.     Shader1.Size=ud(0,2,1,0)
  1916.     Shader1.BackgroundColor3=CurrentPlayerData[4]
  1917.     Shader1.Position = ud(0,-2,0,0)
  1918.     Shader1.Parent=Frame
  1919.     local Shader2 = Functions:MakeNewUi('Frame')
  1920.     Shader2.ZIndex=9
  1921.     Shader2.BackgroundTransparency=.8
  1922.     Shader2.Size=ud(0,1,1,0)
  1923.     Shader2.BackgroundColor3=CurrentPlayerData[4]
  1924.     Shader2.Position = ud(0,-1,0,0)
  1925.     Shader2.Parent=Frame
  1926.     spawn(function()
  1927.         Shader1:TweenPosition(ud(0,0,0,0),'Out','Linear',.4,true)
  1928.          wait(.1)
  1929.         Shader2:TweenPosition(ud(0,1,0,0),'Out','Linear',.4,true)
  1930.     end)
  1931.     local TLabel = Functions:MakeNewUi('TextButton')
  1932.     TLabel.TextColor3=CurrentPlayerData[4]
  1933.     TLabel.Position=ud(0,4,0,0)
  1934.     TLabel.ZIndex=9
  1935.     TLabel.Active=true
  1936.     TLabel.BackgroundTransparency=.98
  1937.     TLabel.TextWrapped=true
  1938.     TLabel.Size=ud(1,-4,1,0)
  1939.     TLabel.TextXAlignment='Left'
  1940.     --TLabel.TextYAlignment='Top'
  1941.     TLabel.Font=OS.Settings.Fonts.Sub_Header
  1942.     TLabel.FontSize='Size12'
  1943.     TLabel.TextStrokeColor3=CurrentPlayerData[4]
  1944.     TLabel.TextStrokeTransparency=1
  1945.     TLabel.TextTransparency=1
  1946.     TLabel.Parent=Frame
  1947.     Notifs=Notifs+1
  1948.     local tic = Functions:Sound(230336790,false)
  1949.     tic:Play()
  1950.     for i = 0,1.02,.02 do
  1951.         Frame.BackgroundColor3=Frame.BackgroundColor3:lerp(CurrentPlayerData[3],.2)
  1952.         Frame.BackgroundTransparency=1.5-i
  1953.         TLabel.TextStrokeTransparency=1.9-i
  1954.         TLabel.TextTransparency=1-i
  1955.         lrs:wait()
  1956.     end
  1957.     local cc=true
  1958.     local function Close()
  1959.         if (not cc) then return end
  1960.         --print'3'
  1961.         Frame:TweenPosition(ud(1,0,.8,Frame.Position.Y.Offset),'Out','Sine',3,true)
  1962.         for i = 0,1.015,.02 do
  1963.             --Frame.BackgroundColor3=Frame.BackgroundColor3:lerp(c3(0,0,0),.2)
  1964.             Frame.BackgroundTransparency=.5+i
  1965.             Shader1.BackgroundTransparency=.9+i
  1966.             Shader2.BackgroundTransparency=.8+i
  1967.             TLabel.TextStrokeTransparency=.9+i
  1968.             TLabel.TextTransparency=i
  1969.             lrs:wait()
  1970.         end
  1971.         val=true
  1972.         Frame:Destroy()
  1973.         for i,v in next, Notifications do
  1974.             if v[1]==Frame then
  1975.                 table.remove(Notifications,i)
  1976.             end
  1977.         end
  1978.         Notifs=Notifs-1
  1979.         Functions:AdjustNotifPositions()
  1980.     end
  1981.     local ev
  1982.     ev=TLabel.MouseButton1Click:connect(function()
  1983.         --print'k'
  1984.         spawn(Close)
  1985.         wait()
  1986.         cc=false
  1987.         ev:disconnect()
  1988.     end)
  1989.     spawn(function()
  1990.         if cc then
  1991.             Effects:Type(TLabel, Text, 'In',.01)
  1992.             wait(ExitDelay*1.2)
  1993.             --print'k2'
  1994.             spawn(Close)
  1995.             wait()
  1996.             cc=false
  1997.             ev:disconnect()
  1998.         end
  1999.     end)
  2000.     return Frame, TLabel
  2001. end
  2002.  
  2003. function Functions:CreateLogin()
  2004.     local BFrame = Functions:MakeNewUi('Frame')
  2005.     BFrame.ZIndex=4
  2006.     BFrame.BackgroundTransparency=1
  2007.     BFrame.Size=ud(1,0,1,0)
  2008.     BFrame.Position = ud(0,0,0,0)
  2009.     BFrame.Parent=MainFrame
  2010.     local TransFrame = Functions:MakeNewUi('Frame')
  2011.     TransFrame.ZIndex=8
  2012.     TransFrame.BackgroundTransparency=1
  2013.     TransFrame.Parent=MainFrame
  2014.     local Start = Functions:MakeNewUi('TextButton')
  2015.     local txt='Welcome to SaviOS, '..Host.Name..'.'
  2016.     Start.Text=txt
  2017.     Start.Font=OS.Settings.Fonts.Header
  2018.     Start.TextColor3=CurrentPlayerData[4]
  2019.     Start.Position=ud(0,0,0,-18)
  2020.     Start.BackgroundTransparency=1
  2021.     Start.TextTransparency=1
  2022.     Start.Parent=BFrame
  2023.     local Sub = Functions:MakeNewUi('TextLabel')
  2024.     Sub.Parent=BFrame
  2025.     Sub.TextColor3=CurrentPlayerData[4]
  2026.     Sub.Text='Loading Decal and Sound Assets.'
  2027.     Sub.Position=ud(0,0,0,25-18)
  2028.     Sub.BackgroundTransparency=1
  2029.     Sub.TextTransparency=1
  2030.     Sub.ZIndex=6
  2031.     local Circ = Functions:MakeNewUi('ImageLabel')
  2032.     Circ.Image=Functions:Asset(502107146)
  2033.     Circ.Parent=BFrame
  2034.     Circ.ImageTransparency=0
  2035.     Circ.ImageColor3 = CurrentPlayerData[3]
  2036.     Circ.Size=ud(0,350,0,400)
  2037.     Circ.Position=Functions:CenterOffset(Circ,ud(0,0,0,0))
  2038.     Circ.ZIndex=5
  2039.     local con=false
  2040.     spawn(function()
  2041.         Effects:Type(Start, txt, 'In',.06)
  2042.         local nspd=.5
  2043.         repeat wait(nspd)
  2044.             --Start.Text=txt
  2045.             Circ:TweenSizeAndPosition(ud(0,450,0,500),ud(.5,-450/2,.5,-250),'In','Back',nspd,true)
  2046.             wait(nspd)
  2047.             Circ:TweenSizeAndPosition(ud(0,350,0,400),ud(.5,-350/2,.5,-200),'Out','Quint',nspd,true)
  2048.             --Start.Text=txt..'|'
  2049.         until con
  2050.     end)
  2051.     for i = 0,1.025,.025 do
  2052.         Start.TextTransparency = 1-i
  2053.         MainFrame.BackgroundTransparency = 1-i
  2054.         lrs:wait()
  2055.     end
  2056.     local function finish_Load()
  2057.         Particles=false
  2058.         Effects:Type(Start, txt, 'Out',.02)
  2059.         Start.Text=''
  2060.         Circ:TweenSizeAndPosition(ud(0,15,0,20),ud(.5,-15/2,.5,-10),'In','Quint',2,true)
  2061.         wait(2)
  2062.         Circ:TweenSizeAndPosition(ud(0,950,0,1000),ud(.5,-950/2,.5,-500),'In','Back',1,true)
  2063.         wait(.2)
  2064.         for i = 0,1.025,.025 do
  2065.             Sub.TextTransparency = i
  2066.             Circ.ImageTransparency=i
  2067.             lrs:wait()
  2068.         end
  2069.         Circ:Destroy()
  2070.         BFrame.Size = ud(0,400,0,210)
  2071.         BFrame.Position = Functions:Center(BFrame)
  2072.         spawn(function()
  2073.             for i = 0,20,.1 do
  2074.                 MainFrame.BackgroundColor3 = MainFrame.BackgroundColor3:lerp(CurrentPlayerData[3],.1)
  2075.                 lrs:wait()
  2076.             end
  2077.         end)
  2078.         Sub.Text='Assets['..(#OS.Backgrounds+#OS.Sounds)..'] Loaded.'
  2079.         delay(.5,function()
  2080.             txt='Click here to begin'
  2081.             Effects:Type(Start, txt, 'In',.05)
  2082.             delay(.6,function()
  2083.                 Start.Text=txt
  2084.             end)
  2085.         end)
  2086.         for i = 0,1.025,.025 do
  2087.             Sub.TextTransparency = 1-i
  2088.             lrs:wait()
  2089.         end
  2090.     end
  2091.     local con2=false
  2092.     delay(1,function()
  2093.         for i = 0,1.025,.025 do
  2094.             Sub.TextTransparency = 1-i
  2095.             lrs:wait()
  2096.         end
  2097.         delay(2,function()
  2098.             local tbl1={};
  2099.             local tbl2={OS.Backgrounds,OS.Sounds,OS.DecalAssets}
  2100.             for _,__ in next, tbl2 do
  2101.                 for i, Id in next, __ do
  2102.                     table.insert(tbl1, Id)
  2103.                 end
  2104.             end
  2105.             for i,v in next, tbl1 do lrs:wait() end
  2106.             con=true
  2107.             finish_Load()
  2108.             con2=true
  2109.         end)
  2110.     end)
  2111.     repeat lrs:wait() until con2
  2112.     Start.TextTransparency = 0
  2113.     --MainFrame.Transparency = 0
  2114.     local LoginScreen
  2115.     local sclick
  2116.     sclick=Start.MouseButton1Down:connect(function()
  2117.         Sub:TweenPosition(ud(0,0,1,50),'In','Quint',1,true)
  2118.         delay(1, function()
  2119.             LoginScreen(false)
  2120.         end)
  2121.         sclick:disconnect()
  2122.     end)
  2123.     function LoginScreen(NewFrame)
  2124.         OS['Login']=LoginScreen
  2125.         if NewFrame then
  2126.             BFrame = Functions:MakeNewUi('Frame')
  2127.             BFrame.ZIndex=4
  2128.             BFrame.BackgroundTransparency=1
  2129.             BFrame.Size = ud(0,400,0,210)
  2130.             BFrame.Position = Functions:Center(BFrame)
  2131.             BFrame.Parent=MainFrame
  2132.         end
  2133.         pcall(function()
  2134.             Sub:Destroy()
  2135.             for i = 0,1.025,.025 do
  2136.                 Start.TextTransparency = i
  2137.                 lrs:wait()
  2138.             end
  2139.             Start.Parent=nil
  2140.         end)
  2141.         local UserImage = Functions:MakeNewUi('ImageLabel')
  2142.         UserImage.Image=Functions:PlayerImage(Host)
  2143.         UserImage.Parent=BFrame
  2144.         UserImage.Size=ud(0,100,0,100)
  2145.         UserImage.ImageTransparency=1
  2146.         UserImage.Position=Functions:CenterOffset(UserImage,ud(0,0,-1,0))
  2147.         UserImage:TweenPosition(Functions:CenterOffset(UserImage,ud(0,0,0,-50),'Out','Back',1,true))
  2148.         UserImage.ZIndex=8
  2149.         local UserImgFrame = Functions:MakeNewUi('ImageLabel')
  2150.         UserImgFrame.Image=Functions:Asset(502107146)
  2151.         UserImgFrame.Parent=BFrame
  2152.         UserImgFrame.ImageTransparency=0
  2153.         --UserImgFrame.ImageColor3 = c3(Monitor.Color.r+.2,Monitor.Color.g+.2,Monitor.Color.b+.2)
  2154.         UserImgFrame.Size=ud(0,100,0,100)
  2155.         UserImgFrame.Position=Functions:CenterOffset(UserImgFrame,ud(0,0,-1,0))
  2156.         UserImgFrame:TweenPosition(Functions:CenterOffset(UserImgFrame,ud(0,0,0,-50),'Out','Back',1,true))
  2157.         local Username = Functions:MakeNewUi('TextLabel')
  2158.         Username.Text = Host.Name
  2159.         Username.Parent = BFrame
  2160.         Username.TextTransparency=.9
  2161.         Username.Position=ud(0,0,1,0)
  2162.         Username.ZIndex=9
  2163.         Username:TweenPosition(ud(0,0,0,15),'Out','Quint',1,true)
  2164.         local Password = Functions:MakeNewUi('TextButton')
  2165.         Password.TextTransparency=1
  2166.         Password.Parent=BFrame
  2167.         Password.Position=ud(0,0,1,0)
  2168.         Password.Font=OS.Settings.Fonts.Sub_Header
  2169.         Password.TextStrokeColor3 = Password.TextColor3
  2170.         Password.MouseEnter:connect(function()
  2171.             Password.TextStrokeTransparency=.9
  2172.         end)
  2173.         Password.MouseLeave:connect(function()
  2174.             Password.TextStrokeTransparency=1
  2175.         end)
  2176.         local canclick=false
  2177.         Password.MouseButton1Down:connect(function(x,y)
  2178.             if not canclick then
  2179.                 return
  2180.             end
  2181.             canclick=false
  2182.             --Effects:Particles(x,y)
  2183.             local val = Functions:LoginScreenGui(ud(0,400,0,28),{loop=true,ui=Password},true)
  2184.             print('dun',val)
  2185.             local ss
  2186.             ss=function(pp)
  2187.             num=0
  2188.             for i,v in next,pp:children() do
  2189.                 num=num+1
  2190.                 pcall(function()
  2191.                     spawn(function()
  2192.                         for i = 0,1.025,.025 do
  2193.                             if v:IsA'TextButton' or v:IsA'TextBox' or v:IsA'TextLabel' then
  2194.                                 v.TextTransparency = i
  2195.                                 lrs:wait()
  2196.                             end
  2197.                         end
  2198.                     end)
  2199.                 end)
  2200.                 pcall(function()
  2201.                     spawn(function()
  2202.                         for i = 0,1.025,.025 do
  2203.                             if v:IsA'ImageLabel' then
  2204.                                 v.ImageTransparency = i
  2205.                                 lrs:wait()
  2206.                             end
  2207.                         end
  2208.                     end)
  2209.                 end)
  2210.                 pcall(function()
  2211.                 v:TweenPosition(ud(2,v.Position.X.Offset,v.Position.Y.Scale,v.Position.Y.Offset),'In','Sine',1,true)
  2212.                 end)
  2213.                 wait(.1)
  2214.                 ss(v)
  2215.             end
  2216.             return num
  2217.             end
  2218.             ss(BFrame)
  2219.             wait((num+1.5)-(.4*num))
  2220.             BFrame:Destroy()
  2221.             Functions:MakeHomeScreen()
  2222.             return {}
  2223.             --canclick=true
  2224.             --Gui:Destroy()
  2225.         end)
  2226.         delay(.1,function()
  2227.             Password:TweenPosition(ud(0,0,0,45),'Out','Quint',1,true)
  2228.         end)
  2229.         spawn(function()
  2230.             Effects:Type(Password, 'Enter your Password', 'In',.03)
  2231.             canclick=true
  2232.         end)
  2233.         wait(.3)
  2234.         spawn(function()
  2235.             Effects:Underline(Username, 20, 70, 2, CurrentPlayerData[4], true)
  2236.         end)
  2237.         for i = 0,1.025,.01 do
  2238.             --UserName.TextTransparency = 1-i
  2239.             Password.TextTransparency = 1-i
  2240.             Username.TextTransparency = 1-i
  2241.             UserImage.ImageTransparency = 1-i
  2242.             lrs:wait()
  2243.         end
  2244.         Functions:IfRegistered(Host.Name, function(bool)
  2245.             if bool==true then
  2246.                 for i = 0,20 do
  2247.                     UserImgFrame.ImageColor3 = UserImgFrame.ImageColor3:lerp(c3(.25,1,.25),.1)
  2248.                     lrs:wait()
  2249.                 end
  2250.             elseif bool and not Official then
  2251.                 for i = 0,20 do
  2252.                     UserImgFrame.ImageColor3 = UserImgFrame.ImageColor3:lerp(c3(1,.25,.25),.1)
  2253.                     lrs:wait()
  2254.                 end
  2255.             else
  2256.                 for i = 0,20 do
  2257.                     UserImgFrame.ImageColor3 = UserImgFrame.ImageColor3:lerp(c3(.4,0,0),.1)
  2258.                     lrs:wait()
  2259.                 end
  2260.             end
  2261.         end)
  2262.     end
  2263. end
  2264.  
  2265. function Functions:Lerp(Speed)
  2266.     if Monitor and Monitor.Parent~=nil then
  2267.         ypcall(function()
  2268.             Monitor.CFrame = Monitor.CFrame:lerp(
  2269.             Host.Character.HumanoidRootPart.CFrame *
  2270.             CFrame.new(0,5.5,-6.5) *
  2271.             CFrame.Angles(-math.rad(12),0,0)
  2272.             , Speed)
  2273.         end)
  2274.     end
  2275. end
  2276.  
  2277. function Functions:Boot()
  2278.     script:ClearAllChildren()
  2279.     Functions:MakeMonitor()
  2280.     G = Instance.new('SurfaceGui', Monitor)
  2281.     G.Adornee = Monitor
  2282.     G.Face = Enum.NormalId.Back
  2283.     MainFrame = Functions:MakeNewUi('Frame')
  2284.     MainFrame.ZIndex=1
  2285.     MainFrame.BackgroundTransparency=.3
  2286.     MainFrame.BackgroundColor3 = CurrentPlayerData[3]
  2287.     MainFrame.Parent=G
  2288.     spawn(function()
  2289.         --wait(2)
  2290.         for i = 0,20,.1 do
  2291.             MainFrame.BackgroundColor3 = MainFrame.BackgroundColor3:lerp(CurrentPlayerData[4],.1)
  2292.             lrs:wait()
  2293.         end
  2294.     end)
  2295.     local MouseFrame = Instance.new('TextLabel', MainFrame)
  2296.     MouseFrame.Size = ud(0,5,0,5)
  2297.     MouseFrame.BackgroundTransparency = 1
  2298.     MouseFrame.Text = ''
  2299.     MouseFrame.ZIndex = 9
  2300.     MouseFrame.BackgroundColor3=c3(-1,-1,-1)
  2301.     MainFrame.MouseMoved:connect(function(x,y)
  2302.         if MouseFrame.Parent ~= nil then
  2303.             MouseFrame.Position = ud(0,x+3,0,y+6)
  2304.         end
  2305.     end)
  2306.     --200182847
  2307.     local MouseInner = Instance.new('ImageLabel', MouseFrame)
  2308.     OS.Assets.Mouse=MouseFrame
  2309.     MouseInner.Size = ud(0,5,0,5)
  2310.     MouseInner.Position = ud(0,-5,0,-7)
  2311.     MouseInner.ImageColor3 = CurrentPlayerData[3]
  2312.     MouseInner.Image = Functions:Asset(284205403)
  2313.     MouseInner.Name = 'AFriendlyMouse1'
  2314.     MouseInner.BackgroundTransparency = 1
  2315.     MouseInner.ZIndex = 10
  2316.     local MouseOuter = Instance.new('ImageLabel', MouseFrame)
  2317.     MouseOuter.Size = ud(0,7,0,7)
  2318.     MouseOuter.Position = ud(0,-6,0,-8)
  2319.     MouseOuter.ImageColor3 = CurrentPlayerData[4]
  2320.     MouseOuter.Image = Functions:Asset(284205403)
  2321.     MouseOuter.Name = 'AFriendlyMouse2'
  2322.     MouseOuter.BackgroundTransparency = 1
  2323.     MouseOuter.ZIndex = 9
  2324.     local sx,sy=90,100
  2325.     local mouseactive=true
  2326.     PlayerMouse.Button1Down:connect(function()
  2327.         OS.MouseDown = true
  2328.         if not mouseactive then return end
  2329.         local mus=Functions:Sound(341225236)
  2330.         mus.Pitch=3
  2331.         mus:Play()
  2332.     end)
  2333.     PlayerMouse.Button1Up:connect(function()
  2334.         OS.MouseDown = false
  2335.         if not mouseactive then return end
  2336.         local mds=Functions:Sound(341225236)
  2337.         mds.Pitch=2.5
  2338.         mds:Play()
  2339.         local RelativeUi=MouseFrame
  2340.         local x,y=RelativeUi.Position.X.Offset,RelativeUi.Position.Y.Offset
  2341.         local Circ = Functions:MakeNewUi('ImageLabel')
  2342.         Circ.Image=Functions:Asset(284205403)
  2343.         Circ.Parent=MainFrame
  2344.         Circ.ImageTransparency=0
  2345.         Circ.ImageColor3 = CurrentPlayerData[4]
  2346.         Circ.Size=ud(0,5,0,5)
  2347.         local backx,backy=5,6
  2348.         Circ.Position=ud(0,x-backx,0,y-backy)
  2349.         Circ.ZIndex=10
  2350.         spawn(function()
  2351.             Circ:TweenSizeAndPosition(ud(0,sx,0,sy),ud(0,(x-backx)-(sx/2),0,(y-backy)-(sy/2)),'Out','Sine',1,true)
  2352.             for i = 0,1.05,.05 do
  2353.                 Circ.ImageTransparency=i
  2354.                 lrs:wait()
  2355.             end
  2356.             Circ:Destroy()
  2357.         end)
  2358.     end)
  2359.     MainFrame.MouseEnter:connect(function(x,y)
  2360.         mouseactive=true
  2361.         game:service'UserInputService'.MouseIconEnabled=false
  2362.         OS.Functions:HideChar()
  2363.     end)
  2364.     MainFrame.MouseLeave:connect(function(x,y)
  2365.         mouseactive=false
  2366.         game:service'UserInputService'.MouseIconEnabled=true
  2367.         OS.Functions:ShowChar()
  2368.     end)
  2369.     --Functions:CreateLogin()
  2370.     Functions:MakeHomeScreen()
  2371. end
  2372.  
  2373. lrs:connect(function()
  2374.     Functions:Lerp(.2)
  2375. end)
  2376.  
  2377. Character.Humanoid.Died:connect(function()
  2378.     Monitor.Parent:Destroy()
  2379.     game:service'UserInputService'.MouseIconEnabled=true
  2380.     script:Destroy()
  2381. end)
  2382.  
  2383. Host.Chatted:connect(function(msg)
  2384.     if msg=='g/r' then
  2385.         Monitor:Destroy()
  2386.         game:service'UserInputService'.MouseIconEnabled=true
  2387.         script:Destroy()
  2388.     end
  2389. end)
  2390.  
  2391. local plrz=game:service'Players'
  2392.  
  2393. plrz.PlayerAdded:connect(function(Plr)
  2394.     Functions:PlayerImgNotification(Plr, 'join')
  2395. end)
  2396.  
  2397. plrz.PlayerRemoving:connect(function(Plr)
  2398.     Functions:PlayerImgNotification(Plr, 'rmv')
  2399. end)
  2400.  
  2401. Functions:Boot()
  2402.  
  2403. Host.Chatted:connect(function(msg)
  2404.     if msg:lower()=='!reboot' then
  2405.         Functions:Boot()
  2406.     elseif msg:lower():sub(0,#'!background') == '!background' then
  2407.         local id = msg:lower():sub(#'!background'+2)
  2408.         OS.UIs['Background'][1].Image=Functions:Asset(tonumber(id))
  2409.     end
  2410. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement