Advertisement
DaOMEGAa32

pls work or die

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