Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- BioTabs
- script by KCROL
- --]]
- --Tusk fixed locals (or roblox, idk)
- --Warning: If you edit any of the msg:sub or command stuff, it may not work
- --Only if you do not know what you are doing.
- --Also do not edit the CFrame (Lerp) if you do not know what you are doing
- function ConvertColor3(color)
- return BrickColor.new(color).Color
- end
- local plr = game:GetService("Players").LocalPlayer
- local Tablets = {}
- local Commands = {}
- function Output(text, color, func)
- if text == nil then return "BioTabs" end
- if color == nil then return BrickColor.new('Lime green') end
- local Outer = Instance.new('Part',workspace)
- Outer.Anchored,Outer.Locked,Outer.CanCollide,Outer.TopSurface,Outer.BottomSurface=true,true,false,0,0
- Outer.Transparency = .7
- Outer.Size = Vector3.new(1.1,1.1,1.1)
- Outer.Material = "SmoothPlastic"
- Outer.BrickColor = BrickColor.new('Institutional white')
- local Adorn = Instance.new('SphereHandleAdornment',Outer)
- Adorn.Adornee = Outer
- Adorn.Radius = 0.3
- Adorn.Color3 = ConvertColor3(tostring(color))
- local SelectionBox = Instance.new('SelectionBox',Outer)
- SelectionBox.Adornee = Outer
- SelectionBox.LineThickness = 0.006
- SelectionBox.Color3 = Color3.new(0,0,0)
- local UI = Instance.new('BillboardGui',Outer)
- UI.Adornee = Outer
- UI.StudsOffset = Vector3.new(0,1,0)
- UI.Size = UDim2.new(7.5,0,6,0)
- local Label = Instance.new('TextLabel',UI)
- Label.Text = text
- Label.TextSize = 20
- Label.TextColor3 = ConvertColor3('Lily white')
- Label.Font = Enum.Font.SourceSansSemibold
- Label.TextStrokeTransparency = 1
- Label.Size = UDim2.new(1,0,0.4,0)
- Label.BackgroundTransparency = 1
- local Click = Instance.new('ClickDetector',Outer)
- Click.MaxActivationDistance = 1/0
- Click.CursorIcon = "rbxassetid://"
- Click.MouseClick:connect(function(p)
- if p.userId == plr.userId then
- if func == nil then
- Outer:Destroy()
- else
- Outer:Destroy()
- func = func
- func()
- end
- end
- end)
- Click.MouseHoverEnter:connect(function(p)
- if p.userId == plr.userId then
- Outer.Size = Vector3.new(1.3,1.3,1.3)
- Adorn.Color3 = ConvertColor3('Really red')
- Label.Text = "|"..text.."|"
- end
- end)
- Click.MouseHoverLeave:connect(function(p)
- if p.userId == plr.userId then
- Outer.Size = Vector3.new(1.1,1.1,1.1)
- Adorn.Color3 = ConvertColor3(tostring(color))
- Label.Text = text
- end
- end)
- table.insert(Tablets, {Tab1 = Outer})
- end
- Dismiss = function()
- for i,v in pairs(Tablets) do
- v.Tab1:Destroy()
- end
- end
- local pos = nil
- rot = 0
- function Lerp(c1,c2,tim)
- local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
- local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
- for i,v in pairs(com1) do
- if i<4 then
- com1[i] = v+(com2[i]-v)*tim
- else
- com1[i] = com2[i]
- end
- end
- return CFrame.new(com1[1],com1[2],com1[3])*CFrame.Angles(com1[4],com1[5],com1[6])
- end
- local rot=-179
- game:GetService("RunService").RenderStepped:connect(function()
- rot=rot+0.5
- local cal=360/#Tablets
- local HumanoidRootPart = game:GetService("Players"):FindFirstChild(plr) if HumanoidRootPart then HumanoidRootPart = HumanoidRootPart.Character if HumanoidRootPart then HumanoidRootPart = HumanoidRootPart:WaitForChild("HumanoidRootPart") end end
- local tcf=plr.Character.HumanoidRootPart.CFrame
- for i,v in pairs(Tablets) do
- if(v.Tab1.Parent~=workspace)then
- v.Tab1:Destroy();
- Tablets[i]=nil;
- return;
- end;
- local va,vb,vc=v.Tab1.CFrame:toEulerAnglesXYZ()
- v.Tab1.CFrame=Lerp(v.Tab1.CFrame,CFrame.new(tcf.X,tcf.Y,tcf.Z)*CFrame.Angles(0,math.rad(cal*i+rot),0)*CFrame.new(0,0+0.5*math.sin((rot/14)),2+#Tablets),0.2)
- end
- end)
- function GetCommands()
- Dismiss()
- wait(0.5)
- for i,v in pairs(Commands) do
- Output(v['Name'], 'Institutional white', function()
- Dismiss()
- wait(0.5)
- Output('Name\n'..v['Name'], 'Institutional white')
- Output('Usage\n'..v['Usage'], 'Institutional white')
- Output('Description\n'..v['Desc'], 'Institutional white')
- Output('Back', 'Navy blue', function() Dismiss() wait(0.5) GetCommands() end)
- Output('Dismiss', 'Really red', function() Dismiss() end)
- end)
- end
- end
- function Cmd(name,usage,desc)
- table.insert(Commands, {['Name'] = name, ['Usage'] = usage, ['Desc'] = desc})
- end
- --I know how to script commands it's just I wanted to do msg:sub and stuff
- --And make the tablets show those cmds lel
- Cmd("Commands", "/cmds", "Show commands")
- Cmd("Kill", "/kill", "Kills a player")
- Cmd("Ping", "/ping", "Ping a message into a tablet")
- Cmd("God", "/god", "God a player")
- Cmd("Forcefield", "/ff", "Give someone a forcefield")
- Cmd("No forcefield", "/unff", "Remove someone's forcefield")
- Cmd("Nil", "/nil", "Make a player go nil")
- Cmd("UnNil", "/unnil", "Put a player back to normal")
- Cmd("Ungod", "/ungod", "Ungod a player")
- Cmd("Dismiss", "/dt", "Dismiss your tablets")
- Cmd("Freeze", "/frz", "Freeze a player")
- Cmd("Thaw", "/thw", "Thaw a player")
- Cmd("Admin", "/admin", "Give a player admin")
- plr.Chatted:connect(function(msg)
- if msg:sub(1,5) == "/cmds" then
- GetCommands()
- elseif msg:sub(1,6) == "/kill " then
- local player = game:GetService("Players")[msg:sub(7)]
- if player then
- if player.Character then
- if player.Character.Humanoid then
- player.Character.Humanoid.MaxHealth = 0
- player.Character.Humanoid.Health = 0
- end
- end
- end
- elseif msg:sub(1,6) == "/ping " then
- local tabtext = tostring(msg:sub(7))
- if tabtext == "" then
- Output("BioTabs", "Lime green")
- else
- Output(tabtext, "Lime green")
- end
- elseif msg:sub(1,5) == "/god " then
- local player = game:GetService("Players")[msg:sub(6)]
- if player then
- if player.Character then
- if player.Character.Humanoid then
- player.Character.Humanoid.MaxHealth = 1/0
- end
- end
- end
- elseif msg:sub(1,4) == "/ff " then
- local player = game:GetService("Players")[msg:sub(5)]
- if player then
- if player.Character then
- Instance.new('ForceField',player.Character)
- end
- end
- elseif msg:sub(1,6) == "/unff " then
- local player = game:GetService("Players")[msg:sub(7)]
- if player then
- if player.Character then
- for i,v in pairs(player.Character:GetChildren()) do
- if v:IsA("ForceField") then
- v:Destroy()
- end
- end
- end
- end
- elseif msg:sub(1,5) == "/nil " then
- local player = workspace[msg:sub(6)]
- if player then
- player.Parent = game:GetService("Lighting")
- end
- elseif msg:sub(1,7) == "/unnil " then
- local player = game:GetService("Lighting")[msg:sub(8)]
- player.Parent = workspace
- elseif msg:sub(1,7) == "/ungod " then
- local player = game:GetService("Players")[msg:sub(8)]
- if player then
- if player.Character then
- if player.Character.Humanoid then
- player.Character.Humanoid.MaxHealth = 100
- end
- end
- end
- elseif msg:sub(1,3) == "/dt" then
- Dismiss()
- elseif msg:sub(1,5) == "/frz " then
- local player = game:GetService("Players")[msg:sub(6)]
- if player then
- if player.Character then
- if player.Character.Humanoid then
- player.Character.Humanoid.WalkSpeed = 0
- player.Character.Humanoid.JumpPower = 0
- end
- end
- end
- elseif msg:sub(1,5) == "/thw " then
- local player = game:GetService("Players")[msg:sub(6)]
- if player then
- if player.Character then
- if player.Character.Humanoid then
- player.Character.Humanoid.WalkSpeed = 16
- player.Character.Humanoid.JumpPower = 50
- end
- end
- end
- elseif msg:sub(1,7) == "/admin " then
- local player = game:GetService("Players")[msg:sub(8)]
- if player then
- if player.Backpack then
- local X = script:Clone()
- X.Parent = player.Backpack
- end
- end
- end
- end)
- Output("Hello, "..plr.Name.."!", "Lime green")
- Output("Welcome to BioTabs v2. Created by KCROL.", "Lime green")
- Output("To view commands, say /cmds", "Lime green")
- Output("Or click here", "Deep orange", function() GetCommands() end)
- Output("Warning\nWhen using commands such as Kill or God, be sure to type the EXACT name!", "Really red")
- Output("Dismiss", "Really red", function() Dismiss() end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement