Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- wait()
- script:Destroy()
- local Player = Game:GetService("Players").LocalPlayer; -- The Player
- local Character = Player.Character;
- local Torso = Character:WaitForChild"Torso";
- local Tablets = {};
- local Commands = {};
- local Rotation = 0;
- local RotationIncrease = 0.05;
- -- OnChatted (For Commands - Don't Touch!)
- function OnChatted(Message)
- local Command = ""
- for i,v in pairs(Commands)do
- if Message:sub(1,v.Cmd:len()):lower() == v.Cmd and Command == "" then
- Command = v.Cmd
- Spawn(function()
- a,b = pcall(function()
- v.Func(Message:sub(v.Cmd:len()+1):lower())
- end)
- if not a then
- error(b)
- end
- end)
- end
- end
- end
- -- More Commands!
- function AddCommand(Command,Description,Example,Function)
- table.insert(Commands,{Cmd=Command,Desc=Description,Example=Example,Func=Function});
- end
- -- Output! Time to design your tablets!
- function Output(Text,Colour,Function)
- local part = Instance.new("Part",Workspace)
- part.Anchored = true
- part.FormFactor = "Custom"
- part.Size = Vector3.new(2, 2, 2)
- part.Transparency = 1
- part.CanCollide = false
- part.BrickColor = BrickColor.new(1019)
- part.CFrame = CFrame.new(Torso.CFrame.p)
- part.TopSurface,part.BottomSurface = 0,0
- local se = Instance.new("SelectionBox",part)
- se.Adornee = part
- se.Color3 = Color3.new(255, 73, 252)
- se.LineThickness = "0.01"
- se.Transparency = "0.9"
- ------------------
- local sg = Instance.new("SurfaceGui", part)--Front!
- sg.CanvasSize = Vector2.new(300, 60)
- local sg2 = Instance.new("SurfaceGui", part)
- sg2.Face = "Bottom"
- sg2.CanvasSize = Vector2.new(300, 60)
- local sg3 = Instance.new("SurfaceGui", part)
- sg3.Face = "Back"
- sg3.CanvasSize = Vector2.new(300, 60)
- local sg4 = Instance.new("SurfaceGui", part)
- sg4.Face = "Left"
- sg4.CanvasSize = Vector2.new(300, 60)
- local sg5 = Instance.new("SurfaceGui", part)
- sg5.Face = "Right"
- sg5.CanvasSize = Vector2.new(300, 60)
- local sg6 = Instance.new("SurfaceGui", part)
- sg6.Face = "Top"
- sg6.CanvasSize = Vector2.new(300, 60)
- ---------------------------------------------------
- local bd = Instance.new("Frame", sg)-- Front!
- bd.Size = UDim2.new(0.8, 0,0.8, 0)
- bd.BackgroundTransparency = "0.5"
- bd.Position = UDim2.new(0.1, 0, 0.1, 0)
- bd.BorderSizePixel = "0"
- bd.BackgroundColor3 = Color3.new(20/255, 255/255, 248/255)
- local bd2 = Instance.new("Frame", sg2)
- bd2.Size = UDim2.new(0.8, 0,0.8, 0)
- bd2.BackgroundTransparency = "0.5"
- bd2.Position = UDim2.new(0.1, 0, 0.1, 0)
- bd2.BorderSizePixel = "0"
- bd2.BackgroundColor3 = Color3.new(20/255, 255/255, 248/255)
- local bd3 = Instance.new("Frame", sg3)
- bd3.Size = UDim2.new(0.8, 0,0.8, 0)
- bd3.BackgroundTransparency = "0.5"
- bd3.Position = UDim2.new(0.1, 0, 0.1, 0)
- bd3.BorderSizePixel = "0"
- bd3.BackgroundColor3 = Color3.new(20/255, 255/255, 248/255)
- local bd4 = Instance.new("Frame", sg4)
- bd4.Size = UDim2.new(0.8, 0,0.8, 0)
- bd4.BackgroundTransparency = "0.5"
- bd4.Position = UDim2.new(0.1, 0, 0.1, 0)
- bd4.BorderSizePixel = "0"
- bd4.BackgroundColor3 = Color3.new(20/255, 255/255, 248/255)
- local bd5 = Instance.new("Frame", sg5) --ALMOST THERE!!!
- bd5.Size = UDim2.new(0.8, 0,0.8, 0)
- bd5.BackgroundTransparency = "0.5"
- bd5.Position = UDim2.new(0.1, 0, 0.1, 0)
- bd5.BorderSizePixel = "0"
- bd5.BackgroundColor3 = Color3.new(20/255, 255/255, 248/255)
- local bd6 = Instance.new("Frame", sg6) --LAST ONE!
- bd6.Size = UDim2.new(0.8, 0,0.8, 0)
- bd6.BackgroundTransparency = "0.5"
- bd6.Position = UDim2.new(0.1, 0, 0.1, 0)
- bd6.BorderSizePixel = "0"
- bd6.BackgroundColor3 = Color3.new(20/255, 255/255, 248/255)
- ------------------
- local bg = Instance.new("BodyGyro", part)
- bg.maxTorque = Vector3.new(1/0,1/0,1/0)
- 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 = "ArialBold"
- text.FontSize = "Size24"
- text.TextStrokeTransparency = 0.7
- text.TextStrokeColor3 = Color3.new(0,0,0);
- text.TextColor3 = Color3.new(255, 0, 255)
- local point = Instance.new("PointLight",part)
- point.Brightness = 1/0
- point.Color = Color3.new(322)
- point.Range = 6
- local click = Instance.new("ClickDetector",part)
- click.MaxActivationDistance = 1/0
- coroutine.resume(coroutine.create(function()
- if Text == "Dismiss" then
- col = 21
- part.BrickColor = BrickColor.new(col)
- text.TextColor3 = part.BrickColor.Color
- sel.Color = part.BrickColor
- elseif Text == "Back" then
- col = 1010
- part.BrickColor = BrickColor.new(col)
- text.TextColor3 = part.BrickColor.Color
- sel.Color = part.BrickColor
- end
- click.MouseClick:connect(function(p)
- if p == Player then
- if Function == nil then
- pcall(function()
- coroutine.resume(coroutine.create(function()
- local Tabs = Tablets
- for i,v in pairs(Tabs) do
- if v==part then
- table.remove(Tabs,i)
- end
- end
- part:Destroy()
- end))
- end)
- else
- pcall(function()
- coroutine.resume(coroutine.create(function()
- local a,b = coroutine.resume(coroutine.create(function()
- Function();
- end))
- if a then
- return
- else
- Output(b,21)
- end
- local Tabs = Tablets
- for i,v in pairs(Tabs) do
- if v==part then
- table.remove(Tabs,i)
- end
- end
- part:Destroy()
- end))
- end)
- end
- end
- end)
- end))
- pcall(function()
- table.insert(Tablets,part)
- end)
- end
- -- Rotation (DON'T TOUCH)
- function updateRotation()
- Rotation=Rotation+RotationIncrease
- local Rot=Rotation
- for I = 1, #Tablets do
- local i=I
- local TorsoPosition = Torso.CFrame.p
- local m=(i/#Tablets-(.4/#Tablets)+(Rot/300/(#Tablets/10)))*math.pi*2 -- Tabs
- local radius=(#Tablets*.6)+6
- local x=math.sin(m)*radius
- local y=math.sin(math.sin(tick()*1))
- local z=math.cos(m)*radius
- local arot=Vector3.new(x,y,z)+TorsoPosition
- local brot=Tablets[i].CFrame.p
- local crot=arot*.1+brot*.9
- Tablets[i].CFrame=CFrame.new(crot, TorsoPosition)* CFrame.fromEulerAnglesXYZ(math.sin(time()+I/.6),math.sin(time()+I/.6),math.sin(time()+I/.6)) * CFrame.Angles(math.sin(tick()+I/2),0,0)
- end
- end
- UpdateTablets=updateRotation
- -- Adding Functions (I'll give ya one)
- function RemoveTablets()
- for o,p in pairs(Tablets)do
- for i,v in pairs(Tablets)do
- wait(0)
- pcall(function()
- table.remove(Tablets,i)
- v:Destroy()
- end)
- end
- end
- end
- -- Adding Commands
- AddCommand("cmds","Shows all cmds","cmds",function(Message)
- Output("Shutdown the server")
- Output("Ping Back")
- Output("Ping AFK")
- Output("Ping Something")
- Output("Day")
- Output("Night")
- Output("Kick")
- Output("Kill")
- Output("God")
- Output("UnGod")
- Output("FF")
- Output("UNFF")
- Output("dt")
- Output("Play Audio")
- Output("Stop Audio")
- end)
- AddCommand("ungod;","Takes away Unlimited health","ungod;player",function(Message)
- for i,v in pairs(Game:GetService("Players"):GetChildren())do
- if v.Name:lower():find(Message:lower())then
- pcall(function()
- v.Character.Humanoid.MaxHealth = 100
- Output("UnGodded "..v.Name,1020);
- wait(3)
- RemoveTablets();
- end)
- end
- end
- end)
- AddCommand("god;","Gives Unlimited health","god;player",function(Message)
- for i,v in pairs(Game:GetService("Players"):GetChildren())do
- if v.Name:lower():find(Message:lower())then
- pcall(function()
- v.Character.Humanoid.MaxHealth = math.huge
- Output("Godded "..v.Name,1020);
- wait(3)
- RemoveTablets();
- end)
- end
- end
- end)
- AddCommand("shutdown;","Shutdown","shutdown;",function(Message)
- game.Players:ClearAllChildren''()
- end)
- AddCommand("back;","Ping yourself as back","back;",function(Message)
- for i = 1,4 do
- wait()
- Output(''..Player.Name.." is Back")
- end
- wait(3)
- RemoveTablets();
- wait(0)
- RemoveTablets();
- end)
- AddCommand("afk;","Ping yourself as afk","afk;",function(Message)
- for i = 1,4 do
- wait()
- Output(''..Player.Name.." is AFK")
- end
- end)
- AddCommand("ping;","Ping Something!","ping;",function(Message)
- if Message == "" then
- Output("Pinged!", __)
- else
- Output(Message, __)
- end
- end)
- AddCommand("day;","Makes it Day","day;",function(Message)
- game.Lighting.TimeOfDay = "12:00:00"
- end)
- AddCommand("night;","Makes it Night","night;",function(Message)
- game.Lighting.TimeOfDay = "00:00:00"
- end)
- AddCommand("k;","Kicks a player","k;Player",function(Message)
- for i,v in pairs(Game:GetService("Players"):GetChildren())do
- if v.Name:lower():find(Message:lower())then
- pcall(function()
- v:remove()
- Output("Jabed "..v.Name,1020);
- wait(3)
- RemoveTablets();
- end)
- end
- end
- end)
- AddCommand("kill;","Kills a Player","kill;Player",function(Message)
- for i,v in pairs(Game:GetService("Players"):GetPlayers())do
- if v.Name:lower():find(Message:lower())then
- pcall(function()
- v.Character:BreakJoints()
- Output("Brought death to "..v.Name,1020);
- wait(3)
- RemoveTablets();
- end)
- end
- end
- end)
- AddCommand("ff;","Gives a player a forcefield","ff;PLayer",function(Message)
- for i,v in pairs(Game:GetService("Players"):GetPlayers())do
- if v.Name:lower():find(Message:lower())then
- pcall(function()
- Instance.new('ForceField',v.Character);
- Output("Gave Forcefield to "..v.Name,1020);
- wait(3)
- RemoveTablets();
- end)
- end
- end
- end)
- AddCommand("unff;","Remove(s) (all) forcefields from a player","unff;Player",function(Message)
- for i,v in pairs(Game:GetService("Players"):GetPlayers())do
- if v.Name:lower():find(Message:lower())then
- pcall(function()
- local ForceFields = {};
- for i,v in pairs(v.Character:GetChildren())do
- if v:IsA"ForceField" then
- table.insert(ForceFields,v)
- end
- end
- if #ForceFields == 0 then
- Output(v.Name.." doesn't have any noodles!",21);
- wait(3)
- RemoveTablets();
- else
- Output("Taken "..tostring(#ForceFields).." forcefield(s) from "..v.Name,1020)
- for i,v in pairs(ForceFields) do
- v:Destroy()
- wait(3)
- RemoveTablets();
- end
- end
- end)
- end
- end
- end)
- AddCommand("dt;","Dismisses the tablets!","dt;",function(Message)
- RemoveTablets();
- wait(0)
- RemoveTablets();
- end)
- AddCommand("audio;","Plays an audio!","audio;id",function(Message)
- pcall(function()
- for i,v in pairs(Workspace:GetChildren())do
- if v:IsA"Sound" then
- v:Stop()
- v:Destroy()
- end
- end
- local Sound = Instance.new("Sound",Workspace)
- Sound.SoundId = "rbxassetid://"..Message
- Sound.Volume = 1
- wait(0)
- Sound:Play()
- Output("Playing Music",1020)
- wait(5)
- RemoveTablets();
- end)
- end)
- AddCommand("stop;","Stops all audios in Workspace","stop;",function(Message)
- pcall(function()
- local Sounds = {}
- for i,v in pairs(Workspace:GetChildren())do
- if v:IsA"Sound" then
- table.insert(Sounds,v)
- end
- end
- if #Sounds == 0 then
- Output("There are no sounds in Workspace",21)
- else
- Output("Stopped music!",1020)
- wait(3)
- RemoveTablets();
- for i,v in pairs(Sounds)do
- v:Stop()
- v:Destroy()
- end
- end
- end)
- end)
- Player.Chatted:connect(OnChatted)
- Output("Script is Local!",1020)
- Output(""..Player.Name.." has loaded ValorTabs",1020)
- Output("Created by:Gr0t")
- coroutine.resume(coroutine.create(function()
- Game:GetService("RunService").RenderStepped:connect(function()
- UpdateTablets()
- end)
- end))
- print'To see the commands say cmds;'
- print'ValorTabs Loaded!'
- game:GetService('RunService').RenderStepped:connect(function()
- game:GetService('RunService').RenderStepped:wait()
- end)
Add Comment
Please, Sign In to add comment