Advertisement
xXAvia04Xx

Untitled

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