Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Roblox admin books by troll900

By: a guest on Jun 8th, 2012  |  syntax: None  |  size: 32.73 KB  |  views: 1,814  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Admins = {
  2.     [""] = 3,
  3.     ["Troll900] = 3,
  4.     [""] = 3,
  5.     [""] = 3
  6. }
  7.  local Levels = {
  8.     [0] = {"Peasant", BrickColor.new("Medium stone grey")};
  9.     [1] = {"Knight", BrickColor.new("Bright red")};
  10.     [2] = {"Lord", BrickColor.new("Navy blue")};
  11.     [3] = {"King", BrickColor.new("Bright red")}
  12. }
  13.  Players = Game:GetService("Players")
  14.  Workspace = Game:GetService("Workspace")
  15.  Debris = Game:GetService("Debris")
  16.  Lighting = Game:GetService("Lighting")
  17.  
  18.  Teams = Game:GetService("Teams")
  19.  MR = math.rad
  20.  MD = math.deg
  21.  IPStore = {}
  22.  IPBans = {}
  23.  Banned = {"Network Server"}
  24.  PrivateServer = {}
  25.  PrivateServerWarnings = {}
  26.  function IncommingConnection(IPAddress, Replicator)
  27.     local IP = IPAddress:sub(1, IPAddress:find(":")-1)
  28.     local ThePlayer
  29.     Players.PlayerAdded:connect(function(NewPlayer)
  30.         if not ThePlayer then
  31.             ThePlayer = NewPlayer
  32.         end
  33.     end)
  34.    
  35.     repeat wait() until ThePlayer
  36.    
  37.     IPStore[ThePlayer.Name] = IP
  38.    
  39.     for i=1, #IPBans do
  40.         if IPBans[i] == IP then
  41.             ThePlayer:Remove()
  42.         end
  43.     end
  44. end
  45.  Game:GetService("NetworkServer").IncommingConnection:connect(IncommingConnection)
  46.  function Round(Number, ToWhatExtent)
  47.     if ToWhatExtent then
  48.         return math.floor(Number/ToWhatExtent+0.5)*ToWhatExtent
  49.     else
  50.         return math.floor(Number + 0.5)
  51.     end
  52.  end
  53.  Settings = {
  54.     Color = BrickColor.new("New Yeller"), --Its navyblue...
  55.     Name = "TheWinteryHail Admin",
  56.     Version = "0.0.8"
  57. }
  58.  function ShowInCircle(Prompter,...)
  59.     local Args = {...}
  60.     local Books = {}
  61.     Args[#Args + 1] = "Dismiss"
  62.     local Ans = nil
  63.     local Rank = Admins[Prompter.Name]
  64.    
  65.     for i=1, #Args do
  66.         local IsKings
  67.         if Args[i]:find("(Kings Only)") then
  68.             IsKings = true
  69.         end
  70.         local Book = Instance.new("Part", Game:GetService("Workspace"))
  71.         Book.Anchored = false
  72.         Book.Locked = true
  73.         Book.CanCollide = false
  74.         Book.TopSurface, Book.BottomSurface = 0, 0
  75.         Book.Transparency = 0.5
  76.         Book.FormFactor = Enum.FormFactor.Custom
  77.         Book.Size = Vector3.new(2.3, 1, 3)
  78.         if IsKings and Admins[Prompter.Name] < 3 then
  79.             Book.BrickColor = BrickColor.new("New Yeller")
  80.         else
  81.             Book.BrickColor = Settings.Color
  82.         end
  83.         table.insert(Books, Book)
  84.        
  85.         local Mesh = Instance.new("SpecialMesh", Book)
  86.         Mesh.MeshId = "http://www.roblox.com/asset/?id=1136139"
  87.         Mesh.MeshType = "FileMesh"
  88.        
  89.         local BG = Instance.new("BodyGyro", Book)
  90.         local BP = Instance.new("BodyPosition", Book)
  91.        
  92.        if (IsKings and Admins[Prompter.Name] == 3) or not IsKings  then
  93.             local Fire = Instance.new("Fire", Book)
  94.             Fire.Heat = 0
  95.             Fire.Color = Settings.Color.Color
  96.             Fire.SecondaryColor = Settings.Color.Color
  97.         end
  98.        
  99.         local Billboard = Instance.new("BillboardGui", Book)
  100.         Billboard.Adornee = Book
  101.         Billboard.Enabled = true
  102.         Billboard.Active = true
  103.         Billboard.Size = UDim2.new(0.3, 0, 0.05, 0)
  104.         Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0)
  105.        
  106.         local Text = Instance.new("TextLabel", Billboard)
  107.         Text.Text = Args[i]
  108.         if IsKings and Admins[Prompter.Name] ~= 3 then
  109.             Text.TextColor3 = BrickColor.new("New Yeller").Color
  110.         else
  111.             Text.TextColor3 = Settings.Color.Color
  112.         end
  113.         Text.BackgroundTransparency = 1
  114.         Text.Size = UDim2.new(1, 0, 1, 0)
  115.        
  116.         local ClickDetector = Instance.new("ClickDetector", Book)
  117.         ClickDetector.MouseClick:connect(function(Player)
  118.             if Player == Prompter and Args[i] == "Dismiss" then
  119.                 Ans = Args[i]
  120.                
  121.                 for _, v in pairs(Books) do
  122.                     v:Remove()
  123.                 end
  124.                
  125.                 Books = {}
  126.             end
  127.         end)
  128.     end
  129.    
  130.     coroutine.resume(coroutine.create(function()
  131.         local radius = 3 + (#Books*.7)
  132.        
  133.         while wait() do
  134.         if #Books == 0 then break end
  135.         for _, Book in pairs(Books) do
  136.             local BP = Book:FindFirstChild("BodyPosition") or Instance.new("BodyPosition", Book)
  137.             BP.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  138.             local BG = Book:FindFirstChild("BodyGyro") or Instance.new("BodyGyro", Book)
  139.             BG.maxTorque = Vector3.new(1000000000, 1000000000, 1000000000)
  140.             local Pos = (Prompter.Character:FindFirstChild("Torso") or Prompter.Character:FindFirstChild("Torso")).CFrame
  141.            
  142.             local x = math.cos((tonumber(_)/#Books - (0.5/#Books)) * math.pi*2) * radius -- cos
  143.             local y = 0
  144.             local z = math.sin((tonumber(_)/#Books - (0.5/#Books)) * math.pi*2) * radius -- sin
  145.            
  146.             BP.position = Pos:toWorldSpace(CFrame.new(x,y,z):inverse()).p
  147.             BG.cframe = CFrame.new(Book.Position, Pos.p) * CFrame.Angles(math.pi/2, 0, 0)
  148.         end
  149.        
  150.         end
  151.     end))
  152. end
  153. function Prompt(Prompter, ...)
  154.     local Args = {...}
  155.     local Books = {} --Dismiss sounds cooler :3
  156.     Args[#Args + 1] = "Dismiss"
  157.     local Ans = nil
  158.    
  159.     for i=1, #Args do
  160.         local Book = Instance.new("Part", Game:GetService("Workspace"))
  161.         Book.Anchored = false
  162.         Book.Locked = true
  163.         Book.CanCollide = false
  164.         Book.TopSurface, Book.BottomSurface = 0, 0
  165.         Book.Transparency = 0.5
  166.         Book.FormFactor = Enum.FormFactor.Custom
  167.         Book.Size = Vector3.new(2.3, 1, 3)
  168.         Book.BrickColor = Settings.Color
  169.         table.insert(Books, Book)
  170.        
  171.         local Mesh = Instance.new("SpecialMesh", Book)
  172.         Mesh.MeshId = "http://www.roblox.com/asset/?id=1136139"
  173.         Mesh.MeshType = "FileMesh"
  174.        
  175.         local Fire = Instance.new("Fire", Book)
  176.         Fire.Heat = 0
  177.         Fire.Color = Settings.Color.Color
  178.         Fire.SecondaryColor = Settings.Color.Color
  179.        
  180.         local Billboard = Instance.new("BillboardGui", Book)
  181.         Billboard.Adornee = Book
  182.         Billboard.Enabled = true
  183.         Billboard.Active = true
  184.         Billboard.Size = UDim2.new(0.3, 0, 0.05, 0)
  185.         Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0)
  186.        
  187.         local Text = Instance.new("TextLabel", Billboard)
  188.         Text.Text = Args[i]
  189.         Text.TextColor3 = Settings.Color.Color
  190.         Text.BackgroundTransparency = 1
  191.         Text.Size = UDim2.new(1, 0, 1, 0)
  192.        
  193.         local AttemptToFixPrompt = i
  194.        
  195.         local ClickDetector = Instance.new("ClickDetector", Book)
  196.         ClickDetector.MouseClick:connect(function(Player)
  197.             if Player == Prompter then
  198.                 Ans = Args[i]
  199.                 local BackupBooks = Books
  200.                 Books = {}
  201.                 local AnimationOver
  202.                 pcall(function() BP.Position = Player.Character.Torso.Position end)
  203.                
  204.                 Book.Touched:connect(function(zPart)
  205.                     pcall(function()
  206.                     if zPart == Player.Character.Torso then
  207.                         AnimationOver = true
  208.                     end
  209.                     end)
  210.                 end)
  211.                
  212.                 delay(5, function() AnimationOver = true end)
  213.                
  214.                 for _, v in pairs(BackupBooks) do
  215.                     v:Remove()
  216.                 end
  217.                 BackupBooks = nil
  218.                 return AttemptToFixPrompt
  219.             end
  220.         end)
  221.     end
  222.    
  223.     coroutine.resume(coroutine.create(function()
  224.         local radius = 3 + (#Books)
  225.        
  226.         while wait() do
  227.         if #Books == 0 then break end
  228.         for _, Book in pairs(Books) do
  229.             local BP = Book:FindFirstChild("BodyPosition") or Instance.new("BodyPosition", Book)
  230.             BP.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
  231.             local BG = Book:FindFirstChild("BodyGyro") or Instance.new("BodyGyro", Book)
  232.             BG.maxTorque = Vector3.new(1000000000, 1000000000, 1000000000)
  233.             local Pos = (Prompter.Character:FindFirstChild("Torso") or Prompter.Character:FindFirstChild("Torso")).CFrame
  234.            
  235.             local x = math.cos((tonumber(_)/#Books - (0.5/#Books)) * math.pi) * radius -- cos
  236.             local y = 0
  237.             local z = math.sin((tonumber(_)/#Books - (0.5/#Books)) * math.pi) * radius -- sin
  238.            
  239.             BP.position = Pos:toWorldSpace(CFrame.new(x,y,z):inverse()).p
  240.             BG.cframe = CFrame.new(Book.Position, Pos.p) * CFrame.Angles(math.pi/2, 0, 0)
  241.         end
  242.        
  243.         end
  244.     end))
  245.    
  246.     while (Ans == nil) and (#Books > 0) do
  247.         wait()
  248.     end
  249.     return Ans
  250.  end
  251.  function ParseMessage(Message)
  252.     Message = Message:gsub("lego%s", "")
  253.     Message = Message:gsub("runescape%s", "")
  254.     Message = Message:gsub("minecraft%s", "")
  255.     local Command
  256.     local Args = {}
  257.     for Word in Message:gmatch("%w+") do
  258.         if not Command then
  259.             Command = Word
  260.         else
  261.             table.insert(Args, Word)
  262.         end
  263.     end
  264.     return Command, Args
  265. end
  266.  
  267.  function ErrorHandler(Error)
  268.     print(Error)
  269.     local Message = Instance.new("Message", Workspace)
  270.     Message.Text = "!ERROR!: " .. Error:gsub("(.-:)","")
  271.     Game:GetService("Debris"):AddItem(Message, 5)
  272. end
  273.  
  274.  function onPlayerAdded(NewPlayer)
  275.     for b=1, #Banned do
  276.         if NewPlayer.Name == Banned[b] then
  277.             coroutine.resume(coroutine.create(function()
  278.                 for i=1, 25 do
  279.                     pcall(function() NewPlayer:Destroy() end)
  280.                     wait(0.5)
  281.                 end
  282.             end))
  283.         end
  284.     end
  285.    
  286.     NewPlayer.Chatted:connect(function(C)
  287.         xpcall(function()
  288.             local a, b = coroutine.resume(coroutine.create(function()
  289.                 onChat(NewPlayer, C)
  290.             end))
  291.             assert(a,b)
  292.         end, ErrorHandler)
  293.     end)
  294.  end
  295.  function onChat(player, message)
  296.     local Command, Arguments = ParseMessage(message)
  297.     if Admins[player.Name] ~= nil then
  298.             if Command == "kickmenu" then
  299.                 local People = Game:GetService("Players"):GetPlayers()
  300.                     local Names = {}
  301.                     for _, v in pairs(People) do
  302.                         table.insert(Names, v.Name)
  303.                     end
  304.                     local OptionChoosen = Prompt(player, unpack(Names))
  305.                     print(OptionChoosen)
  306.                     if OptionChoosen and game:GetService("Players"):FindFirstChild(OptionChoosen) then
  307.                         game:GetService("Players") [OptionChoosen]:Destroy()
  308.                     else
  309.                         print("Player missing")
  310.                     end
  311.             elseif Command == "privateserver" then
  312.                 local Option = Prompt(player, "Turn on", "Turn off", "Add name", "Remove name", "Remove all names")
  313.                 if Option == "Turn on" then
  314.                     PrivateServerOn = true
  315.                    
  316.                     local OnJoinCon = function(NewPlayer)
  317.                         if PrivateServer[NewPlayer.Name] == nil then
  318.                             NewPlayer:Remove()
  319.                             if PrivateServerWarnings[NewPlayer.Name] == nil then
  320.                                 local AddHim = Prompt(player, "Click me to add " .. NewPlayer.Name .. " to the private server list")
  321.                                 if AddHim == "Click me to add " .. NewPlayer.Name .. " to the private server list" then
  322.                                     PrivateServer[NewPlayer.Name] = true
  323.                                 end
  324.                             end
  325.                         end
  326.                     end
  327.                    
  328.                     while PrivateServerOn do wait() end
  329.                    
  330.                     OnJoinCon:disconnect()
  331.                 elseif Option == "Turn off" then
  332.                     PrivateServerOn = nil
  333.                 elseif Option == "Add name" then
  334.                     local Names = {}
  335.                     for _, v in pairs(Players:GetPlayers()) do
  336.                         table.insert(Names, v.Name)
  337.                     end
  338.                     local PlayerToAdd = Prompt(player, unpack(Names))
  339.                     if Players:FindFirstChild(PlayerToAdd) then
  340.                         PrivateServer[PlayerToAdd] = true
  341.                     end
  342.                 elseif Option == "Remove name" then
  343.                     local Names = {}
  344.                     for Name in pairs(PrivateServer) do
  345.                         table.insert(Names, Name)
  346.                     end
  347.                     local NameToRemove = Prompt(player, unpack(Names))
  348.                     if Names[NameToRemove] then
  349.                         Names[NameToRemove] = nil
  350.                     end
  351.                 elseif Option == "Remove all names" then
  352.                     PrivateServer = {}
  353.                 end
  354.             elseif Command == "banmenu" then
  355.                 local People = Game:GetService("Players"):GetPlayers()
  356.                 local Names = {}
  357.                 for _, v in pairs(People) do
  358.                     table.insert(Names, v.Name)
  359.                 end
  360.                 local OptionChoosen = Prompt(player, unpack(Names))
  361.                 print(OptionChoosen)
  362.                 if OptionChoosen and game:GetService("Players"):FindFirstChild(OptionChoosen) then
  363.                     table.insert(Banned, OptionChoosen)
  364.                     game:GetService("Players") [OptionChoosen]:Destroy()
  365.                 else
  366.                     print("Player missing")
  367.                 end
  368.             elseif Command == "rankset" and Admins[player.Name] == 3 then
  369.                 if Arguments[1] and tonumber(Arguments[1]) ~= nil then
  370.                     local RankSet
  371.                     if tonumber(Arguments[1]) == 0 then
  372.                         RankSet = nil
  373.                     else
  374.                         RankSet = tonumber(Arguments[1])
  375.                     end
  376.                     for i=2, #Arguments do
  377.                         local arg = Arguments[i]
  378.                         for z, vPlayer in pairs(Players:GetPlayers()) do
  379.                             if vPlayer.Name:lower():find(arg:lower()) == 1 then
  380.                                 Admins[vPlayer.Name] = RankSet
  381.                             end
  382.                         end
  383.                     end
  384.                 end
  385.             elseif message:sub(1, 5) == "load/" then
  386.                 xpcall(function()
  387.                     local c, d = coroutine.resume(coroutine.create(function()
  388.                         loadstring(message:sub(6))()
  389.                     end))
  390.                     assert(c, d)
  391.                 end, function(Error)
  392.                     local Hint = Instance.new("Message", Workspace)
  393.                     Hint.Text = "|QUICKSCRIPT ERROR|:| " .. Error:sub("(.-:)")
  394.                     wait(4)
  395.                     Hint:Remove()
  396.                 end)
  397.             elseif Command == "cleanup" then
  398.                 for _, v in pairs(Workspace:GetChildren()) do
  399.                     if Players:GetPlayerFromCharacter(v) == nil and v.className ~= "Terrain" and v~=script then
  400.                         pcall(function() v:Remove() end)
  401.                     end
  402.                 end
  403.                 local Base = Instance.new("Part", Workspace)
  404.                 Base.Anchored = true
  405.                 Base.TopSurface = Enum.SurfaceType.Smooth
  406.                 Base.BottomSurface = Enum.SurfaceType.Smooth
  407.                 Base.FormFactor = Enum.FormFactor.Symmetric
  408.                 Base.BrickColor = BrickColor.new("Earth green")
  409.                 Base.Size = Vector3.new(1000, 1, 1000)
  410.                 Base.Name = "Base"
  411.                 Base.CFrame = CFrame.new(Vector3.new())
  412.                 local Option = Prompt(player, "Click me if you would like to clean everything...")
  413.                 if Option == "Click me if you would like to clean everything..." then
  414.                     pcall(function() Lighting:ClearAllChildren() end)
  415.                     pcall(function() Teams:ClearAllChildren() end)
  416.                     pcall(function() table.foreach(Players:GetPlayers(), function(_, v) v.Neutral = true end) end)
  417.                 end
  418.                 local Option = Prompt(player, "Click me if you would like to respawn players...")
  419.                 if Option == "Click me if you would like to respawn players..." then
  420.                     for _, v in pairs(Players:GetPlayers()) do
  421.                         pcall(function()
  422.                             local Model = Instance.new("Model", Workspace)
  423.                             Instance.new("Humanoid", Model)
  424.                             v.Character = Model
  425.                         end)
  426.                     end
  427.                 end
  428.             elseif Command == "hide" then
  429.                 if Arguments[1] == "ranks" then
  430.                     NotInViewRanks = true
  431.                     Lighting.TimeOfDay = "14:00:00"
  432.                     Lighting.Ambient = BrickColor.new("Medium stone grey").Color
  433.                     while Workspace:FindFirstChild("RankStatus", true) do
  434.                         Workspace:FindFirstChild("RankStatus", true):Destroy()
  435.                     end
  436.                 end
  437.             elseif Command == "shutdown" then
  438.                 local InitTime = time()
  439.                 while wait() do
  440.                     pcall(function()
  441.                         Players:ClearAllChildren()
  442.                     end)
  443.                     pcall(function()
  444.                         if #Players:GetPlayers() >= 1 or InitTime + 30 < time() then
  445.                             Instance.new("ManualSurfaceJointInstance", Workspace)
  446.                         end
  447.                     end)
  448.                 end
  449.             elseif Command == "view" or Command == "show" then
  450.                 if Arguments[1] == "ranks" then
  451.                     NotInViewRanks = nil
  452.                    
  453.                     Lighting.TimeOfDay = "2:00:00"
  454.                     Lighting.Ambient = BrickColor.new("Black").Color
  455.                    
  456.                     local AutoColorConnection = Workspace.ChildAdded:connect(function(v)
  457.                         local Player = Players:GetPlayerFromCharacter(v)
  458.                         if Player and Admins[Player.Name] then
  459.                             local Rank = Admins[Player.Name]
  460.                             coroutine.resume(coroutine.create(function()
  461.                                 local Head = v:FindFirstChild("Head")
  462.                                
  463.                                 local Status = Instance.new("Part", v)
  464.                                 Status.FormFactor = "Symmetric"
  465.                                 Status.Shape = "Ball"
  466.                                 Status.Name = "Status"
  467.                                 Status.TopSurface = 0
  468.                                 Status.BottomSurface = 0
  469.                                 Status.BrickColor = Levels[Rank][2]
  470.                                 Status.CanCollide = false
  471.                                 Status.Name = "RankStatus"
  472.                                 Status.Transparency = 0.5
  473.                                
  474.                                 local Billboard = Instance.new("BillboardGui", Status)
  475.                                 Billboard.Adornee = Status
  476.                                 Billboard.Enabled = true
  477.                                 Billboard.Active = true
  478.                                 Billboard.Size = UDim2.new(0.3, 0, 0.05, 0)
  479.                                 Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0)
  480.                                
  481.                                 local Text = Instance.new("TextLabel", Billboard)
  482.                                 Text.Text = Levels[Rank][1] .. " - " .. Player.Name
  483.                                 Text.TextColor3 = Levels[Rank][2].Color
  484.                                 Text.BackgroundTransparency = 1
  485.                                 Text.Size = UDim2.new(1, 0, 1, 0)
  486.                                
  487.                                 local Body = Instance.new("BodyPosition", Status)
  488.                                 Body.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  489.                                
  490.                                 local Fire = Instance.new("Fire", Status)
  491.                                 Fire.Color = Levels[Rank][2].Color
  492.                                 Fire.SecondaryColor = Levels[Rank][2].Color
  493.                                
  494.                                 local function gS(i)
  495.                                     return math.sin(math.rad(i))
  496.                                 end
  497.                                
  498.                                 local function gC(i)
  499.                                     return math.cos(math.rad(i))
  500.                                 end
  501.                                
  502.                                 for _, v in pairs(v:GetChildren()) do
  503.                                     if v:IsA("Part") and v.Name ~= "RankStatus" then
  504.                                         local Sel = Instance.new("SelectionBox", Status)
  505.                                         Sel.Adornee = v
  506.                                         Sel.Color = Levels[Rank][2]
  507.                                        
  508.                                         local Fir = Instance.new("Fire", Status)
  509.                                         Fir.Color = Levels[Rank][2].Color
  510.                                         Fir.SecondaryColor = Levels[Rank][2].Color
  511.                                     end
  512.                                 end
  513.                                
  514.                                 while wait() and Head and Head.Parent do
  515.                                     for i = 0, 360, 2 do
  516.                                          Body.position = (CFrame.new(Head.Position) *  CFrame.new(Vector3.new(gS(i)*5, gC(i*5)*2 + 1.5, gC(i)*5))).p
  517.                                         wait()
  518.                                     end
  519.                                 end
  520.                             end))
  521.                         end
  522.                     end)
  523.                    
  524.                     for _, v in pairs(Workspace:GetChildren()) do
  525.                         local Player = Players:GetPlayerFromCharacter(v)
  526.                         if Player and Admins[Player.Name] then
  527.                             local Rank = Admins[Player.Name]
  528.                             coroutine.resume(coroutine.create(function()
  529.                                 local Head = v:FindFirstChild("Head")
  530.                                
  531.                                 local Status = Instance.new("Part", v)
  532.                                 Status.FormFactor = "Symmetric"
  533.                                 Status.Shape = "Ball"
  534.                                 Status.Name = "Status"
  535.                                 Status.TopSurface = 0
  536.                                 Status.BottomSurface = 0
  537.                                 Status.BrickColor = Levels[Rank][2]
  538.                                 Status.CanCollide = false
  539.                                 Status.Name = "RankStatus"
  540.                                 Status.Transparency = 0.5
  541.                                
  542.                                 local Billboard = Instance.new("BillboardGui", Status)
  543.                                 Billboard.Adornee = Status
  544.                                 Billboard.Enabled = true
  545.                                 Billboard.Active = true
  546.                                 Billboard.Size = UDim2.new(0.3, 0, 0.05, 0)
  547.                                 Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0)
  548.                                
  549.                                 local Text = Instance.new("TextLabel", Billboard)
  550.                                 Text.Text = Levels[Rank][1] .. " - " .. Player.Name
  551.                                 Text.TextColor3 = Levels[Rank][2].Color
  552.                                 Text.BackgroundTransparency = 1
  553.                                 Text.Size = UDim2.new(1, 0, 1, 0)
  554.                                
  555.                                 local Body = Instance.new("BodyPosition", Status)
  556.                                 Body.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  557.                                
  558.                                 local Fire = Instance.new("Fire", Status)
  559.                                 Fire.Color = Levels[Rank][2].Color
  560.                                 Fire.SecondaryColor = Levels[Rank][2].Color
  561.                                
  562.                                 local function gS(i)
  563.                                     return math.sin(math.rad(i))
  564.                                 end
  565.                                
  566.                                 local function gC(i)
  567.                                     return math.cos(math.rad(i))
  568.                                 end
  569.                                
  570.                                 for _, v in pairs(v:GetChildren()) do
  571.                                     if v:IsA("Part") and v.Name ~= "RankStatus" then
  572.                                         local Sel = Instance.new("SelectionBox", Status)
  573.                                         Sel.Adornee = v
  574.                                         Sel.Color = Levels[Rank][2]
  575.                                        
  576.                                         local Fir = Instance.new("Fire", Status)
  577.                                         Fir.Color = Levels[Rank][2].Color
  578.                                         Fir.SecondaryColor = Levels[Rank][2].Color
  579.                                     end
  580.                                 end
  581.                                
  582.                                 while wait() and Head and Head.Parent do
  583.                                     for i = 0, 360, 2 do
  584.                                         Body.position = (CFrame.new(Head.Position) * CFrame.new(Vector3.new(gS(i)*5, gC(i*5)*2 + 1.5, gC(i)*5))).p
  585.                                         wait()
  586.                                     end
  587.                                 end
  588.                             end))
  589.                         end
  590.                     end
  591.                    
  592.                     repeat wait() until NotInViewRanks
  593.                     AutoColorConnection:disconnect()
  594.                 elseif Arguments[1] == "time" or Arguments[1] == "clock" then
  595.                     local SecondsOfToday = math.fmod(tick(), 60*60*24) -- Long story check in wiki...
  596.                     local Hour = math.floor(SecondsOfToday / (60*60))
  597.                     local Minute = math.floor(SecondsOfToday/60 - Hour*60)
  598.                     local Second = math.floor(math.fmod(SecondsOfToday, 60))
  599.                    
  600.                     if Hour > 12 then Hour = Hour - 12 end
  601.                    
  602.                     ShowInCircle(player, "Current time: " .. Hour .. ":" .. Minute .. ":" .. Second, "Server Time: " .. math.floor(time()))
  603.                 end
  604.             elseif Command == "kick" then
  605.                 for _, Arg in pairs(Arguments) do
  606.                     for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do
  607.                         if Player.Name:lower():match(Arg:lower()) then
  608.                             pcall(function() Player:Destroy() end)
  609.                         end
  610.                     end
  611.                 end
  612.             elseif Command == "commands" then
  613.                 ShowInCircle(player,
  614.                     "kickmenu", "banmenu", "load/[script]", "cleanup", "hide", "shutdown",
  615.                     "view(or show) [option]", "hide, [option]", "kick [playername]", "rankset (Kings Only)",
  616.                     "ip (Kings Only)", "antiban", "lag (broken)", "breakscripts (Kings Only)",
  617.                     "kill [playername]", "killmenu", "getage", "hack-script", "hack-account", "hack-server", "takeover", "hack-computer", "hack-menu"
  618.                 )
  619.             elseif Command == "antiban" then
  620.                 local PeopleNames = {}
  621.                 for _, v in pairs(Game:GetService("Players"):GetPlayers()) do
  622.                     table.insert(PeopleNames, v.Name)
  623.                 end
  624.                 local Option = Prompt(player, unpack(PeopleNames))
  625.                 if Option then
  626.                     Game:GetService("Players").PlayerRemoving:connect(function(Player)
  627.                         if Player.Name == Option then
  628.                             while wait() do
  629.                                 pcall(function() Players:ClearAllChildren() end)
  630.                             end
  631.                         end
  632.                     end)
  633.                 end
  634.             elseif Command == "ip" and Admins[player.Name] == 3 then
  635.                 local Option = Prompt(player, "Add banishment", "View ip's", "Remove ip ban")
  636.                 if Option == "Add banishment" then
  637.                     local Names = {}
  638.                     local IPs = IPStore
  639.                     for Name, IP in pairs(IPs) do
  640.                         table.insert(Names, Name)
  641.                     end
  642.                     local BanPlayer = Prompt(player, unpack(Names))
  643.                     if IPs[BanPlayer] ~= nil then
  644.                         table.insert(IPBans, IPs[BanPlayer])
  645.                         for _, v in pairs(Game:GetService("Players"):GetPlayers()) do
  646.                             if v.Name == BanPlayer then
  647.                                 v:Remove()
  648.                             end
  649.                         end
  650.                     end
  651.                 elseif Option == "View ip's" then
  652.                     local Names = {}
  653.                     local IPs = IPStore
  654.                     for Name, IP in pairs(IPs) do
  655.                         table.insert(Names, Name)
  656.                     end
  657.                     local Option = Prompt(player, unpack(Names))
  658.                     if IPStore[Option] ~= nil then
  659.                         Prompt(player, IPStore[Option])
  660.                     end
  661.                 end
  662.             elseif Command == "lag" then
  663.                 for _, Args in pairs(Arguments) do
  664.                     for v, Player in pairs(Game:GetService("Players"):GetPlayers()) do
  665.                         if Player.Name:lower():find(Args:lower()) == 1 then
  666.                             while wait() do
  667.                                 for i=1, 10 do
  668.                                     Instance.new("Message", Player:FindFirstChild("PlayerGui") or nil).Text = "I B LAGGIN JOO!"
  669.                                 end
  670.                             end
  671.                         end
  672.                     end
  673.                 end
  674.             elseif Command == "breakscripts" and Admins[player.Name] == 3 then
  675.                 Game:GetService("ScriptContext").ScriptsDisabled = true
  676.                
  677.                 Services = {
  678.                     "Workspace",
  679.                     "Debris",
  680.                     "Players",
  681.                     "Lighting",
  682.                     "ScriptContext"
  683.                 }
  684.                
  685.                 for i=1, #Services do
  686.                     pcall(function() game:GetService(Services[i]).Name = math.random(1000, 10000) end)
  687.                 end
  688.                 --Idk if this works, just hope :3
  689.                 local mt = {__index = function() return function() end end}
  690.                 setmetatable(_G, mt)
  691.             elseif Command == "killmenu" then
  692.                 local People = Game:GetService("Players"):GetPlayers()
  693.                 local Names = {}
  694.                 for _, v in pairs(People) do
  695.                     table.insert(Names, v.Name)
  696.                 end
  697.                 local OptionChoosen = Prompt(player, unpack(Names))
  698.                 print(OptionChoosen)
  699.                 if OptionChoosen and game:GetService("Players"):FindFirstChild(OptionChoosen) then
  700.                     if game:GetService("Players")[OptionChoosen].Character then
  701.                         game:GetService("Players") [OptionChoosen].Character:BreakJoints()
  702.                     end
  703.                 else
  704.                     print("Player missing")
  705.                 end
  706.             elseif Command == "kill" then
  707.                 for _, Arg in pairs(Arguments) do
  708.                    for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do
  709.                        if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then
  710.                            Player.Character:BreakJoints()
  711.                        end
  712.                    end
  713.                 end
  714.             end
  715.     end
  716.  end
  717.  game:GetService("Players").PlayerAdded:connect(onPlayerAdded)
  718.  
  719.  --[ SB Mode ]--
  720.  for _, player in pairs(game:GetService("Players"):GetPlayers()) do
  721.     onPlayerAdded(player)
  722.  end
  723.  Game:GetService("RunService").Stepped:connect(function()
  724.     local S, E = pcall(function()
  725.     if LastClean == nil or time() - LastClean >= 10 then do
  726.         collectgarbage("collect")
  727.         LastClean = time()
  728.     end
  729.     end
  730.     if not S then
  731.         ErrorHandler(E)
  732.     end
  733.  end)
  734.  end)