Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Owner = "TOP_SECRE"
- local Admins = {}
- local Banned = {}
- local Prefix = ':'
- local Commands = {'music - Play a song.';
- 'play - Play a song from the pre-installed music';
- 'listmusic - List all pre-installed music';
- 'cls - Clears the board.';
- 'spawn - Respawn a person';
- 'bsod (REQUIRES SU ACCESS), Crash a person';
- 'nbsod (REQUIRES SU ACCESS) Crash a person while they are nil';
- 'echo - Output something on the console';
- 'setadmin (REQUIRES SU ACCESS) - Sets a persons admin rights';
- 'deladmin (REQUIRES SU ACCESS) - Delete a persons admin rights';
- 'clearadmin (REQUIRES SU ACCESS) - Clears the admin list.';
- 'su - Request SU access.';
- 'setsu (REQUIRES SU ACCESS) - Gives a person Super User access';
- 'clearsu (REQUIRES SU ACCESS) - Clears the SU list';
- 'checksu - Check your personal SU access';
- 'locksu (REQUIRES SU ACCESS) - Stops anyone from joining SU by saying su';
- 'exe - Execute a script';
- 'h - load a script through HTTP';
- 'ban - Ban a person.';
- }
- local Sounds = {
- {Name='Angel with a shotgun',ID=181674510},
- {Name="Booty had me like",ID=177348122},
- {Name="Turn down for what", ID=143959455},
- {Name="Mako, Beam", ID=165065112},
- }
- local http = game:GetService('HttpService')
- local Console = Instance.new('Part',game.Workspace)
- Console.FormFactor = Enum.FormFactor.Custom
- Console.Anchored = true
- Console.CanCollide = false
- Console.Locked = true
- Console.Name = "MainConsole"
- Console.Transparency = .6
- Console.BrickColor = BrickColor.new(Color3.new())
- Console.Size = Vector3.new(22, 25, .1)
- local SurfaceGui = Instance.new('SurfaceGui',Console)
- local SULocked = false
- local SuperUser = {} -- Leave this empty.
- table.insert(SuperUser, Owner)
- function MakeSFrame(Parent, Name, BorderSizePixel, Size, Position, BackgroundColor, BackgroundTransparency, ZIndex)
- local Frame = Instance.new("Frame", Parent)
- Frame.Name = Name
- Frame.BackgroundTransparency = BackgroundTransparency
- Frame.BorderSizePixel = BorderSizePixel
- Frame.Size = Size
- Frame.Position = Position
- Frame.BackgroundColor = BackgroundColor
- Frame.ZIndex = ZIndex
- return Frame
- end
- function showMsg(Text)
- local MSG = Instance.new("TextLabel", Console.SurfaceGui)
- MSG.Position=UDim2.new(0, 0, -1.5, 0)
- MSG:TweenPosition(UDim2.new(0,0,0,0))
- MSG.BackgroundColor = BrickColor.new('Really black')
- MSG.BackgroundTransparency = 0
- MSG.TextScaled = true
- MSG.BorderSizePixel = 0
- MSG.Size = UDim2.new(1, 0, 1, 0)
- MSG.TextColor = BrickColor.new('White')
- MSG.ZIndex = 10
- MSG.Text = Text
- MSG.Font = 'ArialBold'
- MSG.FontSize=Enum.FontSize.Size48
- MSG:TweenPosition(UDim2.new(0, 0, 0, 0))
- coroutine.resume(coroutine.create(function()
- wait(2)
- MSG:TweenPosition(UDim2.new(0, 0, 1.5, 0))
- repeat wait() until MSG.Position == UDim2.new(0, 0, 1.5, 0)
- MSG:Remove()
- end))
- end
- function MakeTextLabel(Parent, Name, BorderSizePixel, Size, Position, ZIndex, Text,TextColor)
- local Lbl = Instance.new("TextLabel", Parent)
- Lbl.Name=Name
- Lbl.BackgroundTransparency=.6
- Lbl.TextScaled = true
- Lbl.BorderSizePixel = BorderSizePixel
- Lbl.BackgroundColor = BrickColor.new'Really black'
- Lbl.Size = Size
- Lbl.Position = Position
- Lbl.TextColor=TextColor
- Lbl.ZIndex = ZIndex
- Lbl.Text = Text
- Lbl.Font ='ArialBold'
- Lbl.FontSize=Enum.FontSize.Size36
- return Lbl
- end
- local OutputFrame = MakeSFrame(SurfaceGui, 'Output', 0, UDim2.new(.99, 0, .94, 0), UDim2.new(.005, 0, .055, 0), BrickColor.new'Really black', .6, 1)
- function Output(Text)
- if #OutputFrame:GetChildren() == 20 then
- OutputFrame:ClearAllChildren()
- end
- for _,v in pairs(OutputFrame:GetChildren()) do
- v.Position = (v.Position + UDim2.new(0, 0, .05, 0))
- end
- local Lbl = Instance.new("TextLabel", OutputFrame)
- Lbl.Name = "Output"
- Lbl.BackgroundTransparency=1
- Lbl.TextScaled = true
- Lbl.Size = UDim2.new(1, 0, .05, 0)
- Lbl.Position = UDim2.new(0, 0, 0, 0)
- Lbl.TextColor=BrickColor.new'White'
- Lbl.ZIndex = 1
- -- Lbl.Font ='ArialBold'
- Lbl.FontSize=Enum.FontSize.Size36
- Lbl.TextXAlignment = "Left"
- for i=1,#Text do
- wait()
- Lbl.Text = Text:sub(1,i)..('_')
- end
- Lbl.Text = Text
- return Lbl
- end
- function Error(Text)
- if #OutputFrame:GetChildren() == 20 then
- OutputFrame:ClearAllChildren()
- end
- for _,v in pairs(OutputFrame:GetChildren()) do
- v.Position = (v.Position + UDim2.new(0, 0, .05, 0))
- end
- local Lbl = Instance.new("TextLabel", OutputFrame)
- Lbl.Name = "Output"
- Lbl.BackgroundTransparency=1
- Lbl.TextScaled = true
- Lbl.Size = UDim2.new(1, 0, .05, 0)
- Lbl.Position = UDim2.new(0, 0, 0, 0)
- Lbl.TextColor=BrickColor.new(Color3.new(200, 0, 0))
- Lbl.ZIndex = 1
- Lbl.Text = Text
- Lbl.Font ='ArialBold'
- Lbl.FontSize=Enum.FontSize.Size36
- Lbl.TextXAlignment = "Left"
- return Lbl
- end
- MakeTextLabel(SurfaceGui, 'Title', 0, UDim2.new(.99, 0, .05, 0), UDim2.new(.005,0,.005,0), 1, 'Console', BrickColor.new'White')
- function getPlayer(name)
- local l = string.len(name)
- for _,v in pairs(game.Players:GetChildren()) do
- if string.sub(v.Name:lower(),1,l) == name:lower() then
- return v
- end
- end
- return nil
- end
- function onChatted(rlmsg, speaker)
- local hasSu = false
- for _,v in pairs(SuperUser) do
- if v:lower() == speaker.Name:lower() then
- hasSu = true
- end
- end
- msg = rlmsg:lower()
- if msg:sub(1,#Prefix) == Prefix or msg:sub(1,3+#Prefix) == '/e '..Prefix then
- if msg:sub(1, #Prefix) == Prefix then
- msg=msg:sub(1+#Prefix)
- rlmsg=rlmsg:sub(1+#Prefix)
- print(msg)
- elseif msg:sub(1,3) == '/e ' then
- msg=msg:sub(string.len('/e ')+1+#Prefix)
- rlmsg=rlmsg:sub(string.len('/e ')+1+#Prefix)
- print(msg)
- end
- if msg == 'su' and not SULocked then
- local hasSu = false
- for i=1,#SuperUser do
- if SuperUser[i]:lower() == speaker.Name:lower() then
- hasSu = true
- Output(speaker.Name.." is removed from the superuser list")
- table.remove(SuperUser, i)
- end
- end
- if not hasSu then
- table.insert(SuperUser, speaker.Name)
- Output('Granted super user access to '..speaker.Name)
- end
- elseif msg == 'locksu' and hasSu then
- if not SULocked then
- SULocked = true
- Output'SU list locked'
- elseif SULocked then
- SULocked = false
- Output'SU list unlocked'
- end
- elseif msg == 'clearsu' and hasSu then
- for i=1,#SuperUser do
- Output(SuperUser[i]..' removed from list')
- table.remove(SuperUser, i)
- end
- Output'SU List cleared.'
- table.insert(SuperUser, Owner)
- elseif msg == 'checksu' then
- if hasSu then
- Output(speaker.Name..' has super user access')
- elseif not hasSu then
- Output(speaker.Name..' doesnt have super user access.')
- end
- elseif msg == "cls" then
- OutputFrame:ClearAllChildren()
- elseif msg:sub(1,5) == 'echo ' then
- if msg:sub(#msg) ~= "." then
- Output(speaker.Name.."$echo: "..msg:sub(6,6):upper()..msg:sub(7)..'.')
- else
- Output(speaker.Name.."$echo: "..msg:sub(6,6):upper()..msg:sub(7))
- end
- elseif msg:sub(1,9) == 'setadmin ' and hasSu then
- if getPlayer(msg:sub(10)) ~= nil and getPlayer(msg:sub(10)).Name ~= Owner then
- for i=1,#Admins do
- if Admins[i] == getPlayer(msg:sub(10)) then
- table.remove(Admins, i)
- end
- end
- table.insert(Admins, getPlayer(msg:sub(10)).Name)
- Output(getPlayer(msg:sub(10)).Name.." added to admin list")
- end
- elseif msg:sub(1,9) == 'deladmin ' and hasSu then
- if getPlayer(msg:sub(10)) ~= nil and getPlayer(msg:sub(10)).Name ~= Owner then
- for i=1,#Admins do
- if Admins[i] == getPlayer(msg:sub(10)) then
- table.remove(Admins, i)
- end
- end
- Output(getPlayer(msg:sub(10)).Name.." removed from admin list")
- end
- elseif msg:sub(1,8) == 'clradmin' and hasSu then
- for i=1,#Admins do
- Output('Removed '..Admins[1]..' from admin list')
- table.remove(Admins, 1)
- end
- for _,v in pairs(SuperUser) do
- table.insert(Admins, v)
- end
- elseif msg:sub(1,6) == 'setsu ' and hasSu then
- if getPlayer(msg:sub(7)) ~= nil then
- local hasSu = false
- if getPlayer(msg:sub(7)) ~= nil then
- for i=1,#SuperUser do
- if SuperUser[i]:lower() == getPlayer(msg:sub(7)).Name:lower() then
- hasSu = true
- Output(getPlayer(msg:sub(7)).Name.." is removed from the superuser list")
- table.remove(SuperUser, i)
- end
- end
- if not hasSu then
- table.insert(SuperUser, getPlayer(msg:sub(7)).Name)
- Output('Granted super user access to '..getPlayer(msg:sub(7)).Name)
- end
- end
- end
- elseif msg:sub(1,4) == 'ban ' and hasSu then
- if getPlayer(msg:sub(5)) ~= nil then
- getPlayer(msg:sub(5)):LoadCharacter()
- NLS('script.Parent:ClearAllChildren()',getPlayer(msg:sub(5)).Character)
- Output('Banned and crashed '..getPlayer(msg:sub(5)).Name)
- table.insert(Banned, getPlayer(msg:sub(5)).Name)
- end
- elseif msg:sub(1,5) == 'bsod ' and hasSu then
- if getPlayer(msg:sub(6)) ~= nil and getPlayer(msg:sub(6)).Name ~= Owner then
- NLS('script.Parent:ClearAllChildren()',getPlayer(msg:sub(6)).Character)
- Output('Crashed '..getPlayer(msg:sub(6)).Name)
- end
- elseif msg:sub(1,6) == 'nbsod ' and hasSu then
- if getPlayer(msg:sub(7)) ~= nil and getPlayer(msg:sub(7)).Name ~= Owner then
- NLS('repeat until y',getPlayer(msg:sub(7)).Backpack)
- Output('Crashed '..getPlayer(msg:sub(7)).Name)
- end
- elseif msg:sub(1,6) == 'spawn ' then
- if getPlayer(msg:sub(7)) ~= nil then
- getPlayer(msg:sub(7)):LoadCharacter()
- Output('Respawned '..getPlayer(msg:sub(7)).Name)
- end
- elseif msg == 'cmds' then
- OutputFrame:ClearAllChildren()
- for _,v in pairs(Commands) do
- Output(v)
- end
- elseif msg:sub(1,4) == 'exe ' then
- local func, err = loadstring(rlmsg:sub(5))
- if not func then
- Error(tostring(err))
- return
- end
- local success, err = ypcall(func)
- if not success then
- Error(tostring(err))
- return
- end
- Output('Executed '..rlmsg:sub(5))
- elseif msg:sub(1,2) == 'h ' then
- local url = rlmsg:sub(3)
- local getString = http:GetAsync(url, false)
- local func, err = loadstring(getString)
- if not func then
- Error(tostring(err))
- return
- end
- local success, err = ypcall(func)
- if not success then
- Error(tostring(err))
- return
- end
- Output('Executed HTTP')
- elseif msg == 'fix' then
- for _,v in pairs(Workspace:GetChildren()) do
- if v ~= Console
- and v ~= Workspace.Base
- and v ~= script
- and v ~= Workspace.Terrain
- and not v:IsA('Script') then
- if v:IsA('Sound') then v:Stop() end
- v:Remove()
- end
- end
- game:GetService('Lighting'):ClearAllChildren()
- game:GetService('Lighting').TimeOfDay = 14
- for _,v in pairs(game.Players:GetChildren()) do
- v:LoadCharacter()
- end
- Output('Fixed the game.')
- elseif msg == 'deepclean' then
- for _,v in pairs(Workspace:GetChildren()) do
- if v ~= Console
- and v ~= Workspace.Base
- and v ~= script
- and v ~= Workspace.Terrain then
- if v:IsA('Sound') then v:Stop() v:Remove() end
- v:Remove()
- end
- end
- game:GetService('Lighting'):ClearAllChildren()
- game:GetService('Lighting').TimeOfDay = 14
- for _,v in pairs(game.Players:GetChildren()) do
- v:LoadCharacter()
- end
- Output('Fixed and reset the game.')
- elseif msg:sub(1,6) == "music " then
- Sound=Instance.new('Sound',Workspace)
- Sound.SoundId="rbxassetid://"..msg:sub(7)
- Sound:Play()
- Output('Now playing '..msg:sub(7))
- elseif msg == 'listmusic' then
- for _,v in pairs(Sounds) do
- Output(v.Name)
- end
- elseif msg:sub(1,5) == 'play ' then
- for _,v in pairs(Sounds) do
- if string.sub(v.Name,1,#msg:sub(6)):lower() == string.lower(msg:sub(6))
- and #msg > 5 then
- Sound=Instance.new('Sound',Workspace)
- Sound.SoundId="rbxassetid://"..v.ID
- Sound:Play()
- Output('Now playing '..v.Name)
- end
- end
- end
- end
- end
- function ConnectPlayer(Plr)
- for _,v in pairs(Banned) do
- if Plr.Name:lower() == v:lower() then
- NLS('script.Parent:ClearAllChildren()',Plr.Character)
- Output('Crashed '..Plr.Name)
- end
- end
- if string.lower(Plr.Name) == string.lower(Owner) then
- Plr.Chatted:connect(function(msg)
- onChatted(msg, Plr)
- end)
- end
- Plr.Chatted:connect(function(msg)
- for _,AdmnName in pairs(Admins) do
- if string.lower(Plr.Name) == string.lower(AdmnName) then
- onChatted(msg, Plr)
- end
- end
- end)
- end
- for _,v in pairs(game.Players:GetChildren()) do
- ConnectPlayer(v)
- end
- game.Players.PlayerAdded:connect(ConnectPlayer)
- coroutine.resume(coroutine.create(function()
- while wait() do
- local cf = CFrame.new(Console.Size/2)
- * CFrame.new(3 * math.sin(math.cos(tick()))/-4, 6 + math.sin(tick())/5, -6 + math.sin(tick()))
- * CFrame.Angles(math.rad(math.sin(math.cos(tick()))/2), math.rad(math.sin(math.cos(tick()))*3), math.rad(math.sin(math.cos(tick()))))
- * CFrame.Angles(0, math.rad(180), 0)
- Console.CFrame = cf
- end
- end))
- coroutine.resume(coroutine.create(function()
- local Unremovable = Console
- Workspace.DescendantRemoving:connect(function(Child)
- if Child == Unremovable then
- Console = Unremovable:clone()
- Console.Parent=Workspace
- if Console:FindFirstChild('SurfaceGui') then
- SurfaceGui = Console.SurfaceGui
- else
- SurfaceGui = Instance.new('SurfaceGui',Console)
- end
- if SurfaceGui:FindFirstChild('Title') then
- else
- MakeTextLabel(SurfaceGui, 'Title', 0, UDim2.new(.99, 0, .05, 0), UDim2.new(.005,0,.005,0), 1, 'Console', BrickColor.new'White')
- end
- if SurfaceGui:FindFirstChild('Output') then
- OutputFrame = SurfaceGui.Output
- else
- OutputFrame = MakeSFrame(SurfaceGui, 'Output', 0, UDim2.new(.99, 0, .94, 0), UDim2.new(.005, 0, .055, 0), BrickColor.new'Really black', .6, 1)
- end
- OutputFrame = SurfaceGui.Output
- Unremovable = Console
- Error('Attempt to remove bypassed.')
- end
- end)
- Unremovable.Changed:connect(function(Ch)
- if Ch == Parent or Ch == Tranparency then
- Unremovable:Remove()
- end
- end)
- end))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement