Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- wait(1.5)
- local admin = "iiXynx"
- local ssv_dir = nil
- local audio = {session=185506492,screenbuild=184145453,sleep=184142869,notification=184142889,error=185506448,locked=185506529,login=184142906}
- local loadingImg = "rbxassetid://185630585"
- local tileImage = "rbxassetid://186075313"
- local music = true
- local sounds = true
- local running = true
- local stopping = false
- local nilScript = true
- local staticOptimizations=true
- local clearResistant = true
- local showGuiToAll = true
- local notification=""
- local error=""
- local guisToRemove = {}
- local appsToRemove = {}
- local appAudio = {}
- local updatePos=true
- local resolution = 1.5 --1 for 1x, 2 for 2x etc
- if nilScript then script.Parent=workspace:FindFirstChild(admin) end
- function ssa_play(audioid,pitch)
- if sounds then
- local s=Instance.new("Sound",showGuiToAll and ssv_dir or game:GetService("Players"):FindFirstChild(admin).PlayerGui)
- s.SoundId="http://www.roblox.com/asset/?id="..audioid
- s.Pitch=pitch
- s:Play()
- end
- end
- function ssa_playMusic(audioid,pitch)
- if music then
- local s=Instance.new("Sound",showGuiToAll and ssv_dir or game:GetService("Players"):FindFirstChild(admin).PlayerGui)
- s.SoundId="http://www.roblox.com/asset/?id="..audioid
- s.Pitch=pitch
- s:Play()
- end
- end
- function sst_addApp(frame,themeIcon,sgui,scr)
- appsToRemove[scr]={frame,themeIcon,sgui}
- end
- function sst_removeApp(i)
- sst_closeTile(unpack(appsToRemove[i]))
- appsToRemove[i]=nil
- end
- function sst_createOpenTileScreen(sgui,themeColor,themeIcon,scr,col,tileframe,name)
- local nCol = col and col or themeColor
- local frame = Instance.new("Frame",sgui)
- sst_addApp(frame,themeIcon,sgui,scr)
- frame.BackgroundColor3=themeColor
- frame.Position=UDim2.new(0.5,0,0,0)
- frame.Size=UDim2.new(0,0,0,0)
- frame.ClipsDescendants=true
- frame.ZIndex=9
- frame.BorderSizePixel=0
- local hoverBar = Instance.new("Frame",frame)
- hoverBar.ZIndex=0
- hoverBar.Active=true
- hoverBar.Size=UDim2.new(1,0,0.1,0)
- local icon = Instance.new("ImageLabel",frame)
- icon.ZIndex=9
- icon.BackgroundTransparency=1
- icon.Image=themeIcon
- icon.Position=UDim2.new(0.25,0,0.25,0)
- icon.Size=UDim2.new(0.5,0,0.5,0)
- icon.Visible=false
- local top = Instance.new("TextLabel",hoverBar)
- top.ZIndex=10
- top.Size=UDim2.new(0.9,0,1,0)
- top.Position=UDim2.new(0,0,-1,0)
- top.BackgroundColor=BrickColor.Black()
- top.BorderSizePixel=0
- top.TextColor3=Color3.new(1,1,1)
- top.Text=name and name or "Untitled"
- top.FontSize="Size12"
- local closeButton = Instance.new("TextButton",top)
- closeButton.ZIndex=10
- closeButton.Size=UDim2.new(0.1*(1+1/9),0,1,0)
- closeButton.Position=UDim2.new(1,0,0,0)
- closeButton.BackgroundColor=BrickColor.Red()
- closeButton.BorderSizePixel=0
- closeButton.TextColor3=Color3.new(1,1,1)
- closeButton.Text="X"
- closeButton.FontSize="Size12"
- local canTween=true
- hoverBar.MouseEnter:connect(function()
- if canTween then
- top:TweenPosition(UDim2.new(0,0,0,0),"Out","Quad",0.25,true)
- end
- end)
- hoverBar.MouseLeave:connect(function()
- top:TweenPosition(UDim2.new(0,0,-1,0),"In","Quad",0.25,true)
- end)
- closeButton.MouseButton1Click:connect(function()
- canTween=false
- top:TweenPosition(UDim2.new(0,0,-1,0),"In","Quad",0.25,true)
- sst_closeTile(frame,themeIcon,tileframe,themeColor)
- end)
- frame:TweenSizeAndPosition(UDim2.new(1,0,1,0),UDim2.new(0,0,0,0),"Out","Quad",0.25)
- wait(0.3)
- frame:TweenSizeAndPosition(UDim2.new(0,0,1,0),UDim2.new(0.5,0,0,0),"In","Quad",0.25)
- wait(0.3)
- icon.Visible=true
- frame:TweenSizeAndPosition(UDim2.new(1,0,1,0),UDim2.new(0,0,0,0),"Out","Quad",0.25)
- wait(2.5)
- local function l(a,b,c)
- return ((b-a)*c)+a
- end
- for i=1,10 do
- icon.ImageTransparency=(i/10)
- frame.BackgroundColor3=Color3.new(l(themeColor.r,nCol.r,(i/10)),l(themeColor.g,nCol.g,(i/10)),l(themeColor.b,nCol.b,(i/10)))
- wait(0.05)
- end
- icon:Destroy()
- return frame
- end
- function sst_createTitle(frame,titleText,themeIcon,textCol)
- local icon = Instance.new("ImageLabel",frame)
- icon.ZIndex=9
- icon.BackgroundTransparency=1
- icon.ImageTransparency=1
- icon.Image=themeIcon
- icon.ImageColor3=textCol
- icon.Size=UDim2.new(0.2,0,0.2,0)
- icon.Position=UDim2.new(-0.1,0,0,0)
- local title = Instance.new("TextLabel",frame)
- title.ZIndex=9
- title.BackgroundTransparency=1
- title.TextTransparency=1
- title.TextColor3=textCol
- title.Size=UDim2.new(0.8,0,0.2,0)
- title.Position=UDim2.new(0.1,0,0,0)
- title.TextScaled=true
- title.Text=titleText
- title.TextXAlignment="Left"
- icon:TweenPosition(UDim2.new(0,0,0,0),"Out","Quad",0.5)
- title:TweenPosition(UDim2.new(0.2,0,0,0),"Out","Quad",0.5)
- for i=1,10 do
- icon.ImageTransparency=1-(i/10)
- title.TextTransparency=1-(i/10)
- wait(0.05)
- end
- end
- function sst_closeTile(frame,themeIcon,tileframe,themeColor)
- frame:TweenSizeAndPosition(UDim2.new(0,0,1,0),UDim2.new(0.5,0,0,0),"In","Quad",0.5)
- wait(0.55)
- frame:ClearAllChildren()
- frame.BackgroundColor3=themeColor
- local icon = Instance.new("ImageLabel",frame)
- icon.ZIndex=9
- icon.BackgroundTransparency=1
- icon.Image=themeIcon
- icon.Position=UDim2.new(0.25,0,0.25,0)
- icon.Size=UDim2.new(0.5,0,0.5,0)
- frame:TweenSizeAndPosition(UDim2.new(1,0,1,0),UDim2.new(0,0,0,0),"Out","Quad",0.5)
- wait(0.55)
- frame:TweenSizeAndPosition(UDim2.new(0,0,1,0),UDim2.new(0.5,0,0,0),"In","Quad",0.5)
- wait(0.55)
- frame:Destroy()
- tileframe:TweenPosition(UDim2.new(0,0,0.175,0),"Out","Quad",0.5)
- end
- function sst_createOptions(frame,udim,options,prefix,color,bcolor)
- local case = Instance.new("TextButton",frame)
- case.Position = UDim2.new(0.1,0,udim.Scale,udim.Offset)
- case.Size = UDim2.new(0.2,0,0.2,0)
- case.BackgroundColor3=color
- case.BorderColor3=bcolor
- case.ZIndex=9
- case.TextColor3=bcolor
- case.BackgroundTransparency=1
- case.TextTransparency=1
- local index = 1
- local image = Instance.new("ImageLabel",case)
- image.ZIndex=9
- image.Size=UDim2.new(1,0,1,0)
- image.BackgroundTransparency=1
- image.ImageTransparency=1
- image.ImageColor3=bcolor
- local text = Instance.new("TextLabel",case)
- text.ZIndex=9
- text.Size=UDim2.new(1,0,1,0)
- text.Position=UDim2.new(1.2,0,0,0)
- text.BackgroundTransparency=1
- text.TextColor3=bcolor
- text.TextXAlignment="Left"
- text.TextTransparency=1
- local function update()
- image.Image=options[index][2]
- text.Text=prefix..options[index][1]
- case.Text=options[index][1]
- end
- update()
- for i=1,10 do
- local j = 1-(i/10)
- case.BackgroundTransparency=j
- image.ImageTransparency=j
- text.TextTransparency=j
- wait(0.05)
- end
- case.MouseButton1Click:connect(function()
- index=index+1
- if index>#options then index=1 end
- update()
- end)
- return case
- end
- function sst_lock(frame,themeIcon,tileframe,themeColor)
- if showGuiToAll then
- ssa_playMusic(audio.locked,1)
- local text = Instance.new("TextLabel",frame)
- text.BackgroundColor=BrickColor.Black()
- text.BorderSizePixel=0
- text.TextColor=BrickColor.White()
- text.FontSize="Size12"
- text.TextWrapped=true
- text.Position=UDim2.new(0.1,0,-1.1,0)
- text.ZIndex=9
- text.Size=UDim2.new(0.8,0,0.8,0)
- text.Text = "You cannot view this app in Presentation Mode."
- text:TweenPosition(UDim2.new(0.1,0,0.1,0))
- wait(4)
- sst_closeTile(frame,themeIcon,tileframe,themeColor)
- else
- ssa_playMusic(audio.login,1)
- end
- end
- local tiles = {
- {
- tileName = "Sleep",
- tileColor = Color3.new(255/255, 170/255, 255/255),
- tileImg = "rbxassetid://184428876",
- tileFunction = function(scr,sgui,tileframe)
- local frame = sst_createOpenTileScreen(sgui,Color3.new(255/255, 170/255, 255/255),"rbxassetid://184428876",scr,nil,tileframe,"Sleep")
- notification="Sleeping..."
- sst_closeTile(frame,"rbxassetid://184428876",tileframe,Color3.new(255/255, 170/255, 255/255))
- delay(5,function() stopping=true end)
- end
- },
- {
- tileName = "Search",
- tileColor = Color3.new(114/255, 184/255, 253/255),
- tileImg = "rbxassetid://184431447",
- tileFunction = function(scr,sgui,tileframe)
- local tcol = Color3.new(61/255, 99/255, 135/255)
- local scol = Color3.new(1,1,1)
- local frame = sst_createOpenTileScreen(sgui,Color3.new(114/255, 184/255, 253/255),"rbxassetid://184431447",scr,tcol,tileframe,"Search")
- local frame2 = Instance.new("Frame",frame)
- frame2.BackgroundTransparency=1
- frame2.Size=UDim2.new(1,0,1,0)
- local frame3 = Instance.new("ScrollingFrame",frame)
- frame3.BackgroundTransparency=1
- frame3.Size=UDim2.new(0.8,0,0.5,0)
- frame3.Position=UDim2.new(0.1,0,1.2,0)
- frame3.ZIndex=9
- sst_createTitle(frame,"Search","rbxassetid://184431447",scol)
- local options1 = {{"World","rbxassetid://184553964"},{"Players","rbxassetid://184553949"}}
- local options2 = {{"All","rbxassetid://184553942"},{"Bricks","rbxassetid://184553945"},{"Players","rbxassetid://184553949"},{"Scripts","rbxassetid://184553954"}}
- local locations = {World=workspace,Players=game:GetService("Players")}
- local objects= {All="Instance",Bricks="BasePart",Players="Player",Scripts="BaseScript"}
- local searchin = sst_createOptions(frame2,UDim.new(0.3,0),options1,"Search in: ",tcol,scol)
- local searchfor = sst_createOptions(frame2,UDim.new(0.6,0),options2,"Search for: ",tcol,scol)
- local case = Instance.new("TextButton",frame)
- case.Position = UDim2.new(1,0,0,0)
- case.Size = UDim2.new(0.2,0,0.2,0)
- case.BackgroundColor3=tcol
- case.BorderColor3=scol
- case.ZIndex=9
- case.TextColor3=scol
- case.Text="Go!"
- case:TweenPosition(UDim2.new(0.8,0,0,0),"Out","Quad",0.5)
- wait(0.5)
- local case2 = Instance.new("TextButton",frame)
- case2.Position = UDim2.new(1,0,0,0)
- case2.Size = UDim2.new(0.2,0,0.2,0)
- case2.BackgroundColor3=tcol
- case2.BorderColor3=scol
- case2.ZIndex=9
- case2.TextColor3=scol
- case2.Text="Search"
- local results = {}
- local function search(searchLocation,searchCriteria)
- local children = searchLocation:GetChildren()
- results={}
- for i,v in pairs(children) do
- if v and
- v:IsA(searchCriteria) then
- table.insert(results,v)
- end
- end
- frame3:TweenPosition(UDim2.new(0.1,0,1.2,0),"In","Quad",1)
- wait(1)
- case2:TweenPosition(UDim2.new(0.8,0,0,0),"Out","Quad",0.5)
- frame3:ClearAllChildren()
- frame3.CanvasSize=UDim2.new(0,0,0,#results*40)
- frame3.CanvasPosition=Vector2.new(0,0)
- for i,v in pairs(results) do
- local button = Instance.new("TextButton",frame3)
- button.Size=UDim2.new(0.8,0,0,32)
- button.Position=UDim2.new(0.1,0,0,(i-1)*36)
- button.BackgroundColor3=tcol
- button.BorderColor3=scol
- button.ZIndex=9
- button.TextColor3=scol
- button.Text=v.Name.." : "..v.ClassName
- button.MouseButton1Up:connect(function() search(v,searchCriteria) end)
- end
- frame3:TweenPosition(UDim2.new(0.1,0,0.3,0),"Out","Quad",1)
- end
- case.MouseButton1Click:connect(function()
- local searchLocation = locations[searchin.Text]
- local searchCriteria = (searchLocation==workspace and searchfor.Text=="Players") and "Humanoid" or objects[searchfor.Text]
- local children = searchLocation:GetChildren()
- results={}
- for i,v in pairs(children) do
- if v and
- v:IsA(searchCriteria) then
- table.insert(results,v)
- end
- end
- case:TweenPosition(UDim2.new(1,0,0,0),"In","Quad",0.5)
- frame2:TweenPosition(UDim2.new(-1,0,0,0),"In","Quad",1)
- wait(1)
- case2:TweenPosition(UDim2.new(0.8,0,0,0),"Out","Quad",0.5)
- frame3:ClearAllChildren()
- frame3.CanvasSize=UDim2.new(0,0,0,#results*40)
- frame3.CanvasPosition=Vector2.new(0,0)
- for i,v in pairs(results) do
- local button = Instance.new("TextButton",frame3)
- button.Size=UDim2.new(0.8,0,0,32)
- button.Position=UDim2.new(0.1,0,0,(i-1)*36)
- button.BackgroundColor3=tcol
- button.BorderColor3=scol
- button.ZIndex=9
- button.TextColor3=scol
- button.Text=v.Name.." : "..v.ClassName
- button.MouseButton1Up:connect(function() search(v,searchCriteria) end)
- end
- frame3:TweenPosition(UDim2.new(0.1,0,0.3,0),"Out","Quad",1)
- wait(1)
- end)
- case2.MouseButton1Click:connect(function()
- case2:TweenPosition(UDim2.new(1,0,0,0),"In","Quad",0.5)
- frame3:TweenPosition(UDim2.new(0.1,0,1.2,0),"In","Quad",1)
- wait(1)
- frame3:ClearAllChildren()
- case:TweenPosition(UDim2.new(0.8,0,0,0),"Out","Quad",0.5)
- frame2:TweenPosition(UDim2.new(0,0,0,0),"Out","Quad",1)
- wait(1)
- end)
- end
- },
- {
- tileName = "Settings",
- tileColor = Color3.new(85/255, 170/255, 127/255),
- tileImg = "rbxassetid://184439366",
- tileFunction = function(scr,sgui,tileframe)
- local frame = sst_createOpenTileScreen(sgui,Color3.new(85/255, 170/255, 127/255),"rbxassetid://184439366",scr,nil,tileframe,"Settings")
- sst_lock(frame,"rbxassetid://184439366",tileframe,Color3.new(85/255, 170/255, 127/255))
- end
- },
- {
- tileName = "Admin",
- tileColor = Color3.new(255/255, 0/255, 127/255),
- tileImg = "rbxassetid://184553935",
- tileFunction = function(scr,sgui,tileframe)
- local frame = sst_createOpenTileScreen(sgui,Color3.new(255/255, 0/255, 127/255),"rbxassetid://184553935",scr,nil,tileframe,"Admin")
- sst_lock(frame,"rbxassetid://184553935",tileframe,Color3.new(255/255, 0/255, 127/255))
- end
- },
- {
- tileName = "Music",
- tileColor = Color3.new(255/255, 85/255, 0/255),
- tileImg = "rbxassetid://186020917",
- tileFunction = function(scr,sgui,tileframe)
- local pcol = Color3.new(255/255, 85/255, 0/255)
- local scol = BrickColor.Black().Color
- local frame = sst_createOpenTileScreen(sgui,Color3.new(255/255, 85/255, 0/255),"rbxassetid://186020917",scr,BrickColor.White().Color,tileframe,"Music")
- sst_createTitle(frame,"Music","rbxassetid://186020917",scol)
- end
- },
- {
- tileName = "tDev Network",
- tileColor = Color3.new(85/255, 170/255, 0/255),
- tileImg = "rbxassetid://184553964",
- tileFunction = function(scr,sgui,tileframe)
- local pcol = Color3.new(85/255, 170/255, 0/255)
- local scol = BrickColor.Black().Color
- local frame = sst_createOpenTileScreen(sgui,pcol,"rbxassetid://184553964",scr,nil,tileframe,"tDev Network")
- notification="Connecting to Think Development Network..."
- delay(5,function() error="Cannot connect; closing app." sst_closeTile(frame,tileframe,"rbxassetid://184553964") end)
- end
- },
- }
- function ssv_initDir()
- ssv_dir = Instance.new("Model",workspace)
- ssv_dir.Name="ssv_"..admin
- end
- function ssv_buildScr(cf)
- for scr=1, 8 do
- local s = Instance.new("Part",ssv_dir)
- s.Name="scr"..scr
- s.CanCollide=false
- s.Anchored=true
- s.Locked=true
- s.Transparency=1
- s.Size=Vector3.new(12,10.8,1)
- s.CFrame=cf*CFrame.Angles(0,math.rad((360/8)*(scr-1)),0)
- s.BrickColor=BrickColor.Blue()
- local g = Instance.new("SurfaceGui",s)
- g.CanvasSize = Vector2.new(160*resolution,160*resolution)
- g.Enabled=true
- if not showGuiToAll then
- g.Adornee=g.Parent
- g.Parent=game:GetService("Players"):FindFirstChild(admin).PlayerGui
- g.Name="scr"..scr
- end
- guisToRemove[scr]=g
- ssv_initAppScr(scr,g)
- end
- end
- local aeromenu=false
- local desktop=false
- function ssv_initAppScr(scr,g)
- local frame=Instance.new("Frame",g)
- frame.Size=UDim2.new(1,0,1,0)
- frame.BackgroundTransparency=1
- frame.ClipsDescendants=true
- local text = Instance.new("TextLabel",frame)
- text.Name="Taskbar"
- text.Size=UDim2.new(1,0,0.15,0)
- text.Position=UDim2.new(0,0,-0.5,0)
- text.BorderSizePixel=0
- text.BackgroundColor=BrickColor.Black()
- text.TextColor3=Color3.new(1,1,1)
- text.FontSize="Size12"
- text.Text=scr==1 and "Sounds: "..(sounds and "ON" or "OFF") or (scr==7 and "Made by DuckWick" or (scr==3 and "Aero Admin (server)" or (scr==5 and "Melodies: "..(music and "ON" or "OFF") or (showGuiToAll and "Presentation Mode" or ""))))
- text:TweenPosition(UDim2.new(0,0,0.85,0),"Out","Quad",1)
- delay(3,function() ssv_createAppScr(scr,g) end)
- end
- function ssv_updateAeroMenu(scr,g)
- local frame = g:FindFirstChild("Frame")
- if frame then
- if scr==1 or scr==5 then
- local loading = frame:FindFirstChild("Loading")
- if loading and loading.Visible then
- loading.Rotation=loading.Rotation+5
- end
- end
- end
- end
- function ssv_createSleepText(scr,g)
- local text = g.Frame.Taskbar
- local gframe = g.Frame
- if text then
- local frame=Instance.new("Frame",g)
- gframe.Parent=frame
- frame.BackgroundTransparency=1
- frame.ClipsDescendants=true
- frame.Size=UDim2.new(1,0,1,0)
- text.Parent=frame
- gframe:TweenPosition(UDim2.new(0,0,0.85,0),"InOut","Quad",1)
- text:TweenPosition(UDim2.new(0,0,0.85,0),"InOut","Quad",1)
- delay(1.05,function()gframe:TweenPosition(UDim2.new(0,0,0.85*2,0),"In","Quad",1) end)
- delay(2,function()text:TweenPosition(UDim2.new(0,0,-0.2,0),"In","Quad",1) delay(1,function()ssv_stop()end)end)
- end
- end
- local tpsX = 3
- local tpsY = 2
- function ssv_createTiles(scr,f)
- local function getSurfaceGui(part,screen)
- return showGuiToAll and part.SurfaceGui or game:GetService("Players"):FindFirstChild(admin).PlayerGui:FindFirstChild("scr"..screen)
- end
- local frame = Instance.new("Frame",f)
- frame.BackgroundTransparency=1
- frame.Size=UDim2.new(1,0,0.65,0)
- frame.Position=UDim2.new(0,0,0.175,0)
- frame.Name="TileFrame"
- for i=1,tpsX do
- for j=1,tpsY do
- local case = Instance.new("Frame",frame)
- case.Name="TileCase"
- case.Position=UDim2.new((i-1)/tpsX,0,(j-1)/tpsY)
- case.Size=UDim2.new(1/tpsX,0,1/tpsY)
- case.BackgroundTransparency=1
- local tile = Instance.new("ImageButton",case)
- tile.Name="Tile"
- tile.Image=tileImage
- tile.Position=UDim2.new(0.1,0,0.1,0)
- tile.Size=UDim2.new(0.8,0,0.8,0)
- tile.BackgroundTransparency=1
- tile.ImageTransparency=1
- tile.ZIndex=9
- local tileID = (((j-1)*tpsX)+(i-1))+((scr-1)*tpsX*tpsY)+1
- local tileData = tiles[tileID]
- if tileData then
- tile.ImageTransparency=0
- local c = tileData.tileColor
- if tileData.tileImg then
- local img = Instance.new("ImageLabel",tile)
- img.ZIndex=9
- img.Image=tileData.tileImg
- img.BackgroundTransparency=1
- img.Size=UDim2.new(1,0,1,0)
- tile.MouseEnter:connect(function()tile.ImageColor3=Color3.new(1,1,1) img.ImageColor3=c end)
- tile.MouseLeave:connect(function()tile.ImageColor3=c img.ImageColor3=Color3.new(1,1,1) end)
- tile.MouseButton1Click:connect(function()tile.ImageColor3=c img.ImageColor3=Color3.new(1,1,1) ssa_play(audio.screenbuild,1) frame:TweenPosition(UDim2.new(1,0,0.175,0),"In","Quad",0.5) wait(0.5) tileData.tileFunction(scr,f.Parent,frame) end)
- else
- end
- tile.ImageColor3=c
- end
- end
- end
- end
- function ssv_createAeroMenu(scr,g)
- local function getSurfaceGui(part,screen)
- return showGuiToAll and part.SurfaceGui or game:GetService("Players"):FindFirstChild(admin).PlayerGui:FindFirstChild("scr"..screen)
- end
- local other = g:FindFirstChild("Frame"):FindFirstChild("Frame")
- local frame = Instance.new("Frame",g:FindFirstChild("Frame"))
- frame.BackgroundColor=BrickColor.Black()
- frame.ClipsDescendants=true
- frame.BorderSizePixel=0
- frame.BackgroundTransparency=0.5
- frame.Position=UDim2.new(0,0,1,0)
- frame.Size=UDim2.new(1,0,1,0)
- frame.Name="Frame"
- frame.ZIndex=9
- frame:TweenPosition(UDim2.new(0,0,0,0))
- ssv_createTiles(scr,frame)
- end
- function ssv_createAppScr(scr,sg)
- local g = sg:FindFirstChild("Frame")
- local taskbar=g:FindFirstChild("Taskbar")
- local frame = Instance.new("Frame",g)
- frame.BackgroundColor=BrickColor.White()
- frame.ClipsDescendants=true
- frame.BorderSizePixel=0
- frame.Position=UDim2.new(0,0,1,0)
- frame.Size=UDim2.new(1,0,0.85,0)
- frame.Name="Frame"
- if scr==1 then
- local text=Instance.new("TextLabel",frame)
- text.TextScaled=true
- text.Text="Welcome"
- text.BackgroundTransparency=1
- text.Size=UDim2.new(1,0,0.3,0)
- elseif scr==5 then
- local button = Instance.new("TextButton",frame)
- button.BackgroundColor = BrickColor.White()
- button.BorderSizePixel=2
- button.BorderColor = BrickColor.Black()
- button.Position=UDim2.new(0.25,0,0.25,0)
- button.Size=UDim2.new(0.5,0,0.5,0)
- button.ZIndex=5
- button.Text="Apps"
- button.Name="Button"
- button.TextScaled=true
- button.TextColor=BrickColor.Black()
- local loading = Instance.new("ImageLabel",g)
- loading.ZIndex=8
- loading.Visible=false
- loading.Size=UDim2.new(0.5,0,0.5,0)
- loading.Position=UDim2.new(0.25,0,0.25,0)
- loading.BackgroundTransparency=1
- loading.ImageTransparency=1
- loading.Image=loadingImg
- loading.Name="Loading"
- local pressed = false
- button.MouseButton1Click:connect(function()
- if not pressed then
- pressed=true
- loading.Visible=true
- for i=1,10 do
- loading.ImageTransparency=1-(i/10)
- button.BackgroundTransparency=i/10
- button.TextTransparency=i/10
- wait(0.05)
- end
- wait(2)
- aeromenu=true
- for i=1,10 do
- loading.ImageTransparency=(i/10)
- button.BackgroundTransparency=1-(i/10)
- button.TextTransparency=1-(i/10)
- wait(0.05)
- end
- end
- end)
- end
- frame:TweenPosition(UDim2.new(0,0,0.15,0),"InOut","Quad",1)
- if taskbar then taskbar:TweenPosition(UDim2.new(0,0,0,0),"InOut","Quad",1) end
- end
- function ssv_updateAppScr(scr,g)
- local frame = g:FindFirstChild("Frame")
- if frame then
- if scr==1 or scr==5 then
- local loading = frame:FindFirstChild("Loading")
- if loading and loading.Visible then
- loading.Rotation=loading.Rotation+5
- end
- end
- end
- end
- function weight(x)
- return (3*x*x)-(2*x*x*x)
- end
- local builtAeroMenu = false
- local builtDesktop = false
- local builtSleep = false
- function ssv_createNotification(parent)
- local msgBox=Instance.new("TextLabel",parent)
- local effect=Instance.new("Frame",msgBox)
- effect.Position=UDim2.new(0,0,1,0)
- effect.Size=UDim2.new(1,0,0,5)
- effect.BackgroundColor=BrickColor.Blue()
- effect.BorderSizePixel=0
- effect.ZIndex=9
- msgBox.Name="Notify"
- msgBox.Position=UDim2.new(0,0,-0.2,0)
- msgBox.Size=UDim2.new(1,0,0.2,0)
- msgBox:TweenPosition(UDim2.new(0,0,0,0),"Out","Quad",1)
- msgBox.BackgroundColor=BrickColor.Black()
- msgBox.BorderSizePixel=0
- msgBox.TextColor=BrickColor.White()
- msgBox.Text=notification
- msgBox.FontSize="Size12"
- msgBox.ZIndex=9
- msgBox.TextWrapped=true
- end
- function ssv_removeNotification(parent)
- local msgBox=parent:FindFirstChild("Notify")
- if msgBox then msgBox:TweenPosition(UDim2.new(0,0,-0.2,0),"In","Quad",1) delay(1,function() msgBox:Destroy() end) end
- end
- function ssv_createError(parent)
- local msgBox=Instance.new("TextLabel",parent)
- local effect=Instance.new("Frame",msgBox)
- effect.Position=UDim2.new(0,0,1,0)
- effect.Size=UDim2.new(1,0,0,5)
- effect.BackgroundColor=BrickColor.Red()
- effect.BorderSizePixel=0
- effect.ZIndex=9
- msgBox.Name="Error"
- msgBox.Position=UDim2.new(0,0,-0.2,0)
- msgBox.Size=UDim2.new(1,0,0.2,0)
- msgBox:TweenPosition(UDim2.new(0,0,0,0),"Out","Quad",1)
- msgBox.BackgroundColor=BrickColor.Black()
- msgBox.BorderSizePixel=0
- msgBox.TextColor=BrickColor.White()
- msgBox.Text=error
- msgBox.FontSize="Size12"
- msgBox.ZIndex=9
- msgBox.TextWrapped=true
- end
- function ssv_updateAllGui(scr,g)
- if aeromenu then ssv_updateAeroMenu(scr,g) else ssv_updateAppScr(scr,g) end
- end
- function ssv_removeError(parent)
- local msgBox=parent:FindFirstChild("Error")
- if msgBox then msgBox:TweenPosition(UDim2.new(0,0,-0.2,0),"In","Quad",1) delay(1,function() msgBox:Destroy() end) end
- end
- local adminCF = CFrame.new(workspace:FindFirstChild(admin).Torso.Position)
- function ssv_updateScr(doPos)
- local function getSurfaceGui(part,screen)
- return showGuiToAll and part.SurfaceGui or game:GetService("Players"):FindFirstChild(admin).PlayerGui:FindFirstChild("scr"..screen)
- end
- local buildAero=false
- local buildDesktop=false
- local buildSleep=false
- for scr=1, 8 do
- local s = ssv_dir:FindFirstChild("scr"..scr)
- if doPos then
- adminCF = CFrame.new(workspace:FindFirstChild(admin).Torso.Position)
- s.CFrame=adminCF*CFrame.Angles(0,math.rad((360/8)*(scr-1)),0)*CFrame.new(0,6,15)
- end
- if aeromenu and not builtAeroMenu then
- ssv_createAeroMenu(scr,getSurfaceGui(s,scr))
- buildAero=true
- desktop=false
- elseif not aeromenu then builtAeroMenu=false end
- if desktop and not builtDesktop then
- ssv_createAppScr(scr,getSurfaceGui(s,scr))
- buildDesktop=true
- aeromenu=false
- elseif not desktop then builtDesktop=false end
- if stopping and not builtSleep then
- if scr==1 then ssa_playMusic(audio.sleep,1) end
- ssv_createSleepText(scr,getSurfaceGui(s,scr))
- buildSleep=true
- end
- ssv_updateAllGui(scr,getSurfaceGui(s,scr))
- end
- if buildAero then
- builtAeroMenu=true
- end
- if buildDesktop then
- builtDesktop=true
- end
- if buildSleep then
- builtSleep=true
- wait(3)
- end
- if notification~="" then
- ssa_playMusic(audio.notification,1)
- for scr=1,8 do
- local s = ssv_dir:FindFirstChild("scr"..scr)
- local sgui = getSurfaceGui(s,scr)
- ssv_createNotification(sgui.Frame)
- end
- notification=""
- delay(3,function()
- for scr=1,8 do
- local s = ssv_dir:FindFirstChild("scr"..scr)
- local sgui = getSurfaceGui(s,scr)
- ssv_removeNotification(sgui.Frame)
- end
- end)
- end
- if error~="" then
- ssa_playMusic(audio.error,1)
- for scr=1,8 do
- local s = ssv_dir:FindFirstChild("scr"..scr)
- local sgui = getSurfaceGui(s,scr)
- ssv_createError(sgui.Frame)
- end
- error=""
- delay(3,function()
- for scr=1,8 do
- local s = ssv_dir:FindFirstChild("scr"..scr)
- local sgui = getSurfaceGui(s,scr)
- ssv_removeError(sgui.Frame)
- end
- end)
- end
- end
- function ssv_stop()
- for i=1,8 do
- guisToRemove[i]:Destroy()
- end
- ssv_dir:Destroy()
- running = false
- end
- function ssv_addNotificationEvents()
- local p = game:GetService("Players")
- p.PlayerAdded:connect(function(i)
- notification=i.Name.." entered the server."
- end)
- p.PlayerRemoving:connect(function(i)
- notification=i.Name.." left the server."
- end)
- end
- ssv_initDir()
- ssv_buildScr(adminCF*CFrame.new(0,6,0))
- ssa_playMusic(audio.session,1)
- ff = Instance.new("ForceField",workspace:FindFirstChild(admin))
- ssv_addNotificationEvents()
- if staticOptimizations then workspace:FindFirstChild(admin).Torso.Anchored=true end
- while wait(1/60) and running do
- ssv_updateScr((not staticOptimizations) or updatePos)
- end
- script.Parent=workspace
- ff:Destroy()
- workspace:FindFirstChild(admin).Torso.Anchored=false
- script.Disabled=true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement