Advertisement
bailme9

Untitled

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