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