Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- ~ Aero
- wait(0.1);
- --------------------------------------
- -------------- SETTINGS --------------
- --------------------------------------
- _G['Https'] = nil;
- _G['OnLoadMsg'] = true;
- _G['ComplexStartup'] = true;
- _G['TabsStartTime'] = tick();
- _G['Tabs'] = {};
- _G['Prefix'] = '-';
- _G['Player'] = Game:GetService('Players').LocalPlayer;
- _G['Parent'] = Game:GetService('Workspace');
- _G['Banlist'] = {};
- _G['TabName'] = '';
- _G['TabColor'] = 'Royal purple';
- _G['Commands'] = {};
- -- IMPORTANT!! --
- _G.Lock = false;
- ---------------------------------------------------
- ----------------- END OF SETTINGS -----------------
- ---------------------------------------------------
- function settingsGui(p)
- local sg = Instance.new('ScreenGui',p);
- sg.Name = 'SettingsGUI';
- local frame = Instance.new('Frame',sg);
- frame.BackgroundColor3 = Color3.new(50/255, 50/255, 50/255);
- frame.BorderColor3 = Color3.new(50/255, 50/255, 50/255);
- frame.Size = UDim2.new(0, 550,0, 300);
- frame.Position = UDim2.new(0.5, -250,0.5, -250);
- local title = Instance.new('TextLabel',frame);
- title.BackgroundTransparency = 1;
- title.Size = UDim2.new(1, 0,0, 40);
- title.Text = 'Aeros Tabs - Settings';
- title.TextColor3 = Color3.new(255/255,255/255,255/255);
- title.TextScaled = true;
- title.TextWrapped = true;
- end
- function isBanned(str)
- return _G.Banlist[str] ~= nil
- end
- function makeTabModel()
- local tab = Instance.new('Model',_G.Parent);
- tab.Name = tostring(math.random(1,100000));
- _G.TabName = tab.Name;
- end
- makeTabModel();
- function AddCommand(CommandName, String, Description, Function)
- return table.insert(_G.Commands,{['CommandName'] = CommandName,['String'] = String,['Description'] = Description,['Function'] = Function});
- end
- function DismissTabs()
- _G.Parent[_G.TabName]:ClearAllChildren()
- end
- --
- function Output(Txt, func)
- local part = Instance.new('Part', _G.Parent[_G.TabName])
- part.Shape = 'Ball'
- part.BrickColor = BrickColor.new(_G.TabColor)
- part.Anchored = true
- part.Transparency = .2
- part.Size = Vector3.new(1, 1, 1)
- part.CanCollide = false
- part.BottomSurface = Enum.SurfaceType.Smooth;
- part.TopSurface = Enum.SurfaceType.Smooth;
- --local s = Instance.new('SelectionBox')
- --s.Color3 = Color3.new(85/255,170/255,255/255)
- --s.Adornee = part
- --s.Parent = part
- --s.Transparency = .5
- Instance.new('PointLight', part)
- local bg = Instance.new('BillboardGui', part)
- bg.Adornee = part
- bg.Size = UDim2.new(8, 0, 7.5, 0)
- bg.StudsOffset = Vector3.new(0, 1, 0)
- local text = Instance.new('TextLabel', bg)
- text.Size = UDim2.new(1, 0, 0.2, 0)
- text.FontSize = 'Size18'
- text.BackgroundTransparency = 1
- text.Font = 'SourceSansBold'
- text.TextStrokeTransparency = 0
- text.TextColor3 = Color3.new(255/255,255/255,255/255)
- text.Text = Txt
- local trails = {};
- local TrailClear = false;
- game:GetService('RunService').RenderStepped:connect(function()
- if TrailClear ~= true then
- local Trail = Instance.new('Part', _G.Parent[_G.TabName])
- Trail.CFrame = part.CFrame;
- Trail.FormFactor = 'Custom';
- Trail.Anchored = true;
- Trail.CanCollide = false;
- Trail.BrickColor = BrickColor.new(_G.TabColor);
- Trail.Size = Vector3.new(.2,.2,.2);
- table.insert(trails, Trail);
- for i,_ in next,trails do
- if trails[i] ~= nil and trails[i+1] ~= nil then
- local Part1 = trails[i]
- local Part2 = trails[i+1]
- local Mag = ((Part1.CFrame.p-Part2.CFrame.p).magnitude)
- Part1.Size = Vector3.new(Part1.Size.X+.014, Mag, Part1.Size.Z+.014)
- Part1.Transparency = Part1.Transparency + .028
- Part1.CFrame = CFrame.new(Part1.CFrame.p, Part2.CFrame.p)
- * CFrame.Angles(math.pi/2,0,0)
- if Part1.Size.X >= .53 then
- Part1:Destroy()
- table.remove(trails, i)
- end
- end
- end
- end
- end)
- local clickdetect = Instance.new('ClickDetector',part)
- clickdetect.MaxActivationDistance = 999999999
- clickdetect.MouseClick:connect(function(p)
- if p.Name == _G.Player.Name then
- DismissTabs()
- func = func;
- if func == nil then return; end
- func();
- end
- end)
- table.insert(_G.Tabs, part)
- end
- -- Rotation --
- -- COMMANDS! --
- AddCommand('Commands','commands','Grabs all of Aero Tabs commands for you.',
- function()
- DismissTabs()
- for _, v in pairs(_G.Commands) do
- Output(v['CommandName'],
- function()
- Output('Description: '..v['Description'])
- Output('Use: '..v['String'] .. _G.Prefix)
- Output('Command Name: '..v['CommandName'])
- end)
- end
- end
- )
- AddCommand('Commands','cmds','Grabs all of Aero Tabs commands for you.',
- function()
- DismissTabs()
- for _, v in pairs(_G.Commands) do
- Output(v['CommandName'],
- function()
- Output('Description: '..v['Description'])
- Output('Use: '..v['String'] .. _G.Prefix)
- Output('Command Name: '..v['CommandName'])
- end)
- end
- end
- )
- AddCommand('Ban','ban','Bans the specified player from joining the game.',
- function(player)
- for _,p in pairs(player) do
- if p then
- table.insert(_G.Banlist, p.Name)
- Output('Player ' .. p.Name .. ' has been banned.');
- p:Kick('You are banned from this server!')
- end
- end
- end
- )
- AddCommand('Settings','settings','Shows the settings GUI to you.',
- function()
- settingsGui(game.Players.LocalPlayer.PlayerGui);
- end
- )
- AddCommand('Kill','kill','Kills the specified player',
- function(player)
- for _,p in pairs(player) do
- if p and p.Character then
- p.Character:BreakJoints();
- end
- end
- end)
- -- END OF COMMANDS! --
- -- CHATTED! --
- function getPlayers(msg)
- local plrs = {}
- if msg == 'me' then
- table.insert(plrs, _G.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 ~= _G.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
- for _,plr in pairs(game:GetService('Players'):GetChildren()) do
- end
- _G.Player.Chatted:connect(function(m)
- if _G.Lock ~= false then return false; end
- for _,v in pairs(_G.Commands) do
- if v['String'].._G.Prefix == m:sub(1, #v['String']+#_G.Prefix) then
- v['Function'](getPlayers(m:sub(#v['String']+#_G.Prefix+1)), m:sub(#v['String']+#_G.Prefix+1))
- end
- end
- end)
- -- END OF CHATTED! --
- coroutine.resume(coroutine.create(function()
- rot = 0
- game:GetService('RunService').Stepped:connect(function()
- if _G.Player and _G.Player.Character and _G.Player.Character:findFirstChild('Torso') then
- rot = rot + 0.0001
- for i,v in pairs(_G.Tabs) do
- ypcall(function()
- local pos = _G.Player.Character.Torso.CFrame
- local radius = 4 + (#_G.Tabs * 0.5)
- local x = math.sin((i / #_G.Tabs - (0.5 / #_G.Tabs) + rot * 2) * math.pi * 2) * radius
- local y = 0
- local z = math.cos((i / #_G.Tabs - (0.5 / #_G.Tabs) + rot * 2) * math.pi * 2) * radius
- 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)
- end)
- end
- end
- end)
- end))
- --
- -- OnLoad Msg --
- if _G.OnLoadMsg ~= false then
- Output('Welcome to Aero Tabs, ' .. _G.Player.Name);
- wait();
- Output([[To get started please say 'cmds]].. _G.Prefix ..[[' or 'commands]].. _G.Prefix ..[[']]);
- end
- --
- game.Players.PlayerRemoving:connect(function(n)
- Output('[SYSTEM] ' .. n.Name .. ' has left the game!')
- end)
- game.Players.PlayerAdded:connect(function(n)
- if isBanned(n.Name) then
- n:Kick'You are banned'
- Output('[SYSTEM] ' .. n.Name .. ' tried to join the game but failed.')
- end
- Output('[SYSTEM] ' .. n.Name .. ' has joined the game!')
- end)
Add Comment
Please, Sign In to add comment