script.Parent=nil local Player = game.Players.unicornelias local char = Player.Character local tabs = {} local cmds = {} local crashsource = "while true do repeat until false end" local suffix = ":" local banned = {} local Settings = {color = "Pink"} local updatelog = { "Welcome To Teapot Tabs "..goodtiger456789123.." BETA"; } function Kick(plr) local a=Instance.new("RemoteFunction",game:service'Lighting') pcall(function() pcall(plr.Kick,plr) end) pcall(function() pcall(a.InvokeClient,a,plr,{string.rep('a',2e5+5)}) end) pcall(function() pcall(a.FireClient,a,plr,{string.rep('a',2e5+5)}) end) pcall(function() plr.Parent=nil end) end function Output(Text,Function) local part = Instance.new("Part",workspace) part.Anchored = true part.FormFactor = "Custom" part.Size = Vector3.new(1, 0.4, 1) part.Transparency = 0 part.CanCollide = false part.BrickColor = BrickColor.new(Settings.color) part.TopSurface,part.BottomSurface = 0,0 part.Name="Tab" mesh = Instance.new("SpecialMesh",part) mesh.MeshId="http://www.roblox.com/Asset/?id=1045320" mesh.Scale=Vector3.new(1.5, 1.5, 1.5) mesh.TextureId="http://www.roblox.com/asset/?id=1045321" local bg = Instance.new("BillboardGui",part) bg.Enabled = true bg.Adornee = part bg.AlwaysOnTop = true bg.Size = UDim2.new(1,0,1,0) bg.ExtentsOffset = Vector3.new(0,2,0) local text = Instance.new("TextLabel",bg) text.Text = Text text.Size = UDim2.new(1,0,1,0) text.BackgroundTransparency = 1 text.Font = "Arial" text.FontSize = "Size24" text.TextStrokeTransparency = 0.7 text.TextStrokeColor3 = Color3.new(0,0,0); text.TextColor3 = part.BrickColor.Color local point = Instance.new("PointLight",part) point.Brightness = 1/0 point.Color = part.BrickColor.Color point.Range = 6 local cd=Instance.new("ClickDetector",part) cd.MouseClick:connect(Function) table.insert(tabs,part) end function getPlayers(msg) local plrs = {} if msg == "me" then table.insert(plrs, Player) elseif msg == "all" then plrs = game:GetService("Players"):GetChildren() elseif msg == "noobs" then for _,plr in pairs(game:GetService("Players"):GetChildren()) do if plr.AccountAge > 364 then table.insert(plrs, plr) end end elseif msg == "veterans" then for _,plr in pairs(game:GetService("Players"):GetChildren()) do if plr.AccountAge > 364 then table.insert(plrs, plr) end end elseif msg == "others" then for i,v in pairs(game:GetService("Players"):GetChildren()) do if v ~= Player then table.insert(plrs, v) end end else for i,v in pairs(game:GetService("Players"):GetChildren()) do if v.Name:lower():sub(1,#msg) == msg:lower() then table.insert(plrs, v) end end end return plrs end function AddCmd(Name,Say,Desc,Func) table.insert(cmds,{["Name"] = Name,["Say"] = Say,["Desc"] = Desc,["Func"] = Func}) end Player.Chatted:connect(function(m) for i,v in pairs(cmds) do if v["Say"]..suffix == m:sub(1, #v["Say"]+#suffix) then v["Func"](getPlayers(m:sub(#v["Say"]+#suffix+1)), m:sub(#v["Say"]+#suffix+1)) end end end) function Dismiss() for i = 1,10 do pcall(function() for i,v in pairs(tabs) do if v:IsA("Part") then v:remove() table.remove(tabs, i) end end end) end end function ShowCommands() Dismiss() for i, v in pairs(cmds) do Output(v["Name"], __) end end function Sound(id) local s = Instance.new("Sound",Workspace) s.Looped = true s.SoundId="rbxassetid://"..id s:Play() end function ChangeScape(variable,variable2) if variable == "reverb" then game:GetService("SoundService").AmbientReverb=variable2 elseif variable == "dopplerscale" then game:GetService("SoundService").DopplerScale=variable2 end end AddCmd('Commands','cmds','shows commands', function(plrs,msg) ShowCommands() end ) AddCmd('Reverb','rvb','changes ambientreverb', function(plrs,msg) game:GetService("SoundService").AmbientReverb=msg Output("changed ambientreverb to "..msg,__) end ) AddCmd('DopplerScale','ds','changes DopplerScale', function(plrs,msg) game:GetService("SoundService").DopplerScale=msg Output("changed DopplerScale to "..msg,__) end ) AddCmd("ff","ff","forcefields a player",function(plrs,msg) for _,plr in pairs(plrs) do if plr and plr.Character then Instance.new("ForceField",plr.Character) Output("Gave:"..plr.Name.." a forcefield!",__) else Output("Player not found",__) end end end) AddCmd("Kick","kick","kicks a player, lucky them",function(plrs,msg) for _,plr in pairs(plrs) do if plr then Kick(plr) end end end) AddCmd("explore","explore","explores the game",function() for i,v in pairs(workspace:GetChildren()) do Output(v.Name,__) end end) AddCmd('unff','unff','removes a players forcefield',function(plrs,msg) for _,plr in pairs(plrs) do if plr and plr.Character then for i,v in pairs(plr.Character:GetChildren()) do if v:IsA("ForceField") then v:Destroy() Output("Removed:"..plr.Name"'s Forcefields!",__) end end end end end) AddCmd('Sound','sound','adds a sound', function(plrs,msg) for i,v in pairs(Workspace:GetChildren()) do if v:IsA("Sound") then v:Destroy() end end Sound(msg) end ) AddCmd('Kill','kill','Kills a player >:D', function(plrs,msg) for _,plr in pairs(plrs) do if plr then plr.Character:BreakJoints() Output("killed "..plr.Name.." :D",__) end end end ) AddCmd('Dismiss','dt',"dissmiss's tabs", function(plrs,msg) Dismiss() end ) AddCmd('Banish', 'ban', 'Add a player to the Banishment list', function(plrs, msg) for _,v in pairs(plrs) do if v then table.insert(banned, v.Name) v:remove() Output('Banned | '..v.Name, __) else Output("404 Error | cannot find player", __) end end end ) AddCmd("Kick","kick","kicks a player, lucky them",function(plrs,msg) for _,plr in pairs(plrs) do if plr then Kick(plr) end end end) AddCmd("God","god","gives a player god health",function(plrs,msg) for _,plr in pairs(plrs) do if plr and plr.Character and plr.Character.Humanoid then plr.Character.Humanoid.MaxHealth=math.huge end end end) AddCmd("UnGod","ungod","gives a player normal health",function(plrs,msg) for _,plr in pairs(plrs) do if plr and plr.Character and plr.Character.Humanoid then plr.Character.Humanoid.MaxHealth=100 AddCmd("crash","crash","crash's a player", function(plrs,msg) for _,plr in pairs(plrs) do if plr then for i = 1,50000 do Instance.new("Tool",plr.Backpack) end Output("crashed "..plr.Name.." >:D",__) end end end) AddCmd('ping','ping','ping', function(plrs,msg) Output(msg,__) end) AddCmd('Remove','rmv','REMOVES ~BookTabs~', function(plrs,msg) Dismiss() script.Parent=Player.Backpack script:Destroy() end) AddCmd("Unban","unban","removes a player from banland",function(plrs, msg) for i,v in pairs(banned) do table.remove(banned,i) end end) function enter(p) for i,v in pairs(banned) do if p.Name == v then Kick(p) Output("Banned player: "..v.." tried to join!", __) end end for i,v in pairs(pri) do if not pri[p.Name] and pri == true then Kick(p) end end end game.Players.PlayerAdded:connect(function(plr) enter(plr) end) local SRot=math.rad(0.01)*math.pi local Rot=1 local SRot2=math.rad(0.01)*math.pi local Rot2=1 local UpdateTablets=function() Rot2=Rot2+SRot2 for _, Players in pairs(game.Players:GetPlayers()) do local PlrTabs = {} for i,v in pairs(tabs) do if v.Parent==game.workspace then table.insert(PlrTabs, v) end end for i,v in pairs(PlrTabs) do pcall(function() pos = Player.Character.Torso.CFrame end) local m=(i/#tabs-(.5/#tabs)+(Rot2/1/(#PlrTabs/10)))*math.pi*2 local rad=(#tabs*.6)+4 local x=math.sin(m)*(rad) local y=math.sin(time()/1.5) local z=math.cos(m)*rad local arot = Vector3.new(x,y,z)+pos.p local brot = v.CFrame.p local crot = (arot*.1+brot*.9) v.CFrame = CFrame.new(crot, pos.p) v.CFrame = CFrame.new(v.CFrame.x, v.CFrame.y, v.CFrame.z) v.CFrame = v.CFrame*CFrame.Angles(math.rad(Rot2*800*math.pi),math.rad(Rot2*800*math.pi),math.rad(Rot2*800*math.pi)) end end end for i,v in pairs(updatelog) do Output(v,__) end coroutine.resume(coroutine.create(function() game:GetService("RunService").Heartbeat:connect(function() for i,Part in pairs(banned) do for i,v in pairs(game.Players:GetChildren()) do if v.Name == Part then v:Destroy() end end end UpdateTablets() end) end))