Advertisement
samuelrichter66

COMPUTER

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