Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --[[
  2.     This is Abyss, I MathematicalPie, wrote this for Z_V and he didn't pay me. So fuck him, lole. Join the discord!
  3.  
  4.     https://discord.gg/aU3Ckyu
  5. ]]--
  6.  
  7. --[[
  8. a=newproxy(true)
  9. getmetatable(a).__tostring=function()
  10. a=getfenv(3)
  11. end
  12. pcall(warn,a)
  13. a=setfenv(1,a)
  14. local WebApi = require(419760136)]]--
  15.  
  16. local DEFAULT_KEY = ";"
  17. local LOOP_TYPE = "Heartbeat" -- This allows you to change the type of event used to rotate the tablets
  18. local ROT_INTER = 0.06
  19. local ALERT_BAN = true -- Alerts users
  20. _G.CommandConfirmation = ("True")
  21.  
  22.  
  23. local proxy = "https://search.roblox-proxy.cf/"
  24. local apiproxy = "https://api.roblox-proxy.cf/"
  25. local http = game:service'HttpService'
  26. pcall(function() http.HttpEnabled = true end)
  27.  
  28. GetNameFromId=function(id)
  29. if id then
  30. local id = tostring(id)
  31. local method = "Users/"..id
  32. local jsonTab = http:GetAsync(apiproxy..method)
  33. local Tab = http:JSONDecode(jsonTab)
  34. return Tab.Username
  35. end
  36. end
  37.  
  38.  
  39. --[[ Upvalues ]]--
  40.  
  41. local game = game
  42. local print = print
  43. local script = script
  44.  
  45. --[[ Core Table ]]--
  46.  
  47. local Abyss = {
  48.     Ranks = {
  49.         [-1] = "Banned",
  50.         [0] = "Player",
  51.         [1] = "Player +",
  52.         [2] = "Moderator",
  53.         [3] = "Moderator +",
  54.         [4] = "Administrator",
  55.         [5] = "Administrator +",
  56.         [6] = "Owner",
  57.     },
  58.     RankedUsers = {
  59.         ["35464197"] = 6,
  60.         ["67304998"] = 6,
  61.     },
  62.     Players = {},
  63.     Buffer = {
  64.         Commands = {},
  65.     },
  66. }
  67.  
  68. --[[ Internal Functions ]]--
  69.  
  70.  
  71. local function generatePart()
  72.     local tabs = Instance.new("Model", workspace.Terrain)
  73.     tabs.Name = "Tabs"
  74.  
  75.     local blackouter = Instance.new("Part", tabs)
  76.     blackouter.FormFactor = Enum.FormFactor.Symmetric
  77.     blackouter.TopSurface = Enum.SurfaceType.Smooth
  78.     blackouter.Anchored = true
  79.     blackouter.Material = Enum.Material.DiamondPlate
  80.     blackouter.Size = Vector3.new(1, 1, 1)
  81.     blackouter.Name = "Black_Outer"
  82.     blackouter.CFrame = CFrame.new(-0.015, 17.38, 22.035) * CFrame.Angles(-3.3687967970764e-008, -0.60763174295425, -3.141592502594)
  83.     blackouter.BrickColor = BrickColor.new("Really black")
  84.     blackouter.Friction = 0.3
  85.     blackouter.BottomSurface = Enum.SurfaceType.Smooth
  86.  
  87.     local mesh = Instance.new("SpecialMesh", blackouter)
  88.     mesh.Scale = Vector3.new(-5, -5, -5)
  89.     mesh.MeshId = "http://www.roblox.com/asset/?id=1529453"
  90.     mesh.MeshType = Enum.MeshType.FileMesh
  91.  
  92.     local main = Instance.new("Part", tabs)
  93.     main.FormFactor = Enum.FormFactor.Symmetric
  94.     main.TopSurface = Enum.SurfaceType.Smooth
  95.     main.Anchored = true
  96.     main.Material = Enum.Material.DiamondPlate
  97.     main.Size = Vector3.new(2.5,2.5,2.5)
  98.     main.Name = "Main"
  99.     main.CFrame = CFrame.new(-0.015, 17.38, 22.035) * CFrame.Angles(-3.3687967970764e-008, -0.60763174295425, -3.141592502594)
  100.     main.BrickColor = BrickColor.new("Institutional white")
  101.     main.Friction = 0.3
  102.     main.BottomSurface = Enum.SurfaceType.Smooth
  103.  
  104.     local mesh_2 = Instance.new("SpecialMesh", main)
  105.     mesh_2.Scale = Vector3.new(-4.9, -4.9, -4.9)
  106.     mesh_2.MeshId = "http://www.roblox.com/asset/?id=1529453"
  107.     mesh_2.MeshType = Enum.MeshType.FileMesh
  108.  
  109.  
  110.     local GUI = Instance.new("BillboardGui", main)
  111.     GUI.Name = "GUI"
  112.     GUI.StudsOffset = Vector3.new(0, 1.5, 0)
  113.     GUI.AlwaysOnTop = true
  114.     GUI.Size = UDim2.new(0,200,0,50)
  115.    
  116.     local TextGUI = Instance.new("TextLabel", GUI)
  117.     TextGUI.Name = "Text"
  118.     TextGUI.Font = "SourceSansLight"
  119.     TextGUI.FontSize = "Size24"
  120.     TextGUI.BackgroundTransparency = 1
  121.     TextGUI.Size = UDim2.new(0,200,0,50)
  122.     TextGUI.Text = "waddup"
  123.     return tabs
  124. end
  125.  
  126. local function getPlayersFromSubstr(Substr)
  127.     local rPlayers = {}
  128.    
  129.     for i,v in next, game:GetService("Players"):GetPlayers() do
  130.         if v.Name:sub(1, Substr:len()):lower() == Substr:lower() then
  131.             table.insert(rPlayers, v)
  132.         end
  133.     end
  134.    
  135.     return rPlayers
  136. end
  137.  
  138. local function Color(R, G, B)
  139.     return Color3.new(R/255, G/255, B/255)
  140. end
  141.  
  142. local function EditMultipleProperties(Container, Property, Value)
  143.     for i,v in next, Container:GetChildren() do
  144.         v[Property] = Value
  145.     end
  146. end
  147.  
  148. local function Error(String, DismissTime, Player)
  149.     if Player == nil then
  150.         return
  151.     end
  152.     local Player = Abyss:GetPlayer(Player.userId)
  153.     Player:CreateTablet("Error: "..String.." ~ Abyss", BrickColor.new("Really red").Color, DismissTime, nil, BrickColor.new("Really red"))
  154. end
  155.  
  156. local function Notify(String, DismissTime, Player)
  157.     if Player == nil then
  158.         return
  159.     end
  160.     local Player = Abyss:GetPlayer(Player.userId)
  161.     Player:CreateTablet("Success: "..String.." ~ Abyss", BrickColor.new("Dark green").Color, DismissTime, nil, BrickColor.new("Dark green"))
  162. end
  163.  
  164. local function Warn(String, DismissTime, Player)
  165.     if Player == nil then
  166.         return
  167.     end
  168.     local Player = Abyss:GetPlayer(Player.userId)
  169.     Player:CreateTablet("Warning: "..String.." ~ Abyss", BrickColor.new("Bright orange").Color, DismissTime, nil, BrickColor.new("Bright orange"))
  170. end
  171.  
  172. local function Note(String, DismissTime, Player)
  173.     if Player == nil then
  174.         return
  175.     end
  176.     local Player = Abyss:GetPlayer(Player.userId)
  177.     Player:CreateTablet("Notice: "..String.." ~ Abyss", BrickColor.new("Bright blue").Color, DismissTime, nil, BrickColor.new("Bright blue"))
  178. end
  179.  
  180. local function Inform(String, DismissTime, Player)
  181.     if Player == nil then
  182.         return
  183.     end
  184.     local Player = Abyss:GetPlayer(Player.userId)
  185.     Player:CreateTablet(String, BrickColor.new("Institutional white").Color, DismissTime, nil, BrickColor.new("Really black"))
  186. end
  187.  
  188. function OnChatted(Message,Player)
  189.     if not Message or type(Message) ~= "string" then
  190.         return
  191.     end
  192.     if not Player or type(Player) ~= "userdata" then
  193.         return
  194.     end
  195.     Message=Message:gsub("/e ","")
  196.     local nPlayer = Abyss:GetPlayer(Player.userId)
  197.     local InTCheck = (Message:sub(1,1) == Abyss:GetPlayer(Player.userId).KEY)
  198.     if InTCheck then
  199.         Message=Message:sub(2)
  200.         local SpaceDet=Message:find(" ")
  201.         local SubString,ProString
  202.         pcall(function()
  203.             SubString=Message:sub(1,SpaceDet-1)
  204.             ProString=Message:sub(SpaceDet+1)
  205.         end)
  206.         if not SubString then
  207.             SubString=Message  
  208.         end
  209.         if not ProString then
  210.             ProString=""
  211.         end
  212.         local Profile=Abyss:GetPlayer(Player.userId)
  213.         for i,v in pairs(Abyss.Buffer.Commands) do
  214.             table.foreach(v.Calls,function(self,index)
  215.                 if SubString==index and Profile.Rank then
  216.                     if v.Rank <= Profile.Rank then
  217.                         local CCFlags={}
  218.                         for a,s in pairs(v.Flags) do
  219.                             if string.find(ProString,("-"..s)) ~= nil then
  220.                                 local FlagData;
  221.                                 local Test,Error=pcall(function()
  222.                                     string.sub(ProString,string.find(ProString,("-"..s)),string.sub(ProString,string.find(ProString:sub(string.find(ProString,("-"..s))+1),"-")))          
  223.                                 end)
  224.                                 if not Test then
  225.                                     FlagData=ProString
  226.                                 else
  227.                                     FlagData=string.sub(ProString,string.find(ProString,("-"..s)),string.sub(ProString,string.find(ProString:sub(string.find(ProString,("-"..s))+1),"-")))
  228.                                 end
  229.                                 FlagData=string.gsub(FlagData,("-"..s),"",1)
  230.                                 CCFlags[s]={FlagData}
  231.                                 ProString=string.gsub(ProString,("-"..s),"",1)
  232.                             end;
  233.                         end;
  234.                         local Thread=coroutine.create(v.Function)
  235.                         local Success,Error=coroutine.resume(Thread,ProString,CCFlags,Player,Profile.Rank)
  236.                         if not Success then
  237.                             Error("[Chatted Error] "..tostring(Error), 5, Player)
  238.                         end
  239.                     else
  240.                         nPlayer:CreateTablet("Your rank is too low to access this command. Required Rank : "..v.Rank, Color(255,0,0), 1)
  241.                     end
  242.                 end
  243.             end)
  244.         end
  245.     end
  246. end
  247.  
  248. local function SaveRanks()
  249.     local DataStore = game:GetService("DataStoreService"):GetDataStore("Abyss_Ranks")
  250.     local Ranks = game:GetService("HttpService"):JSONDecode(DataStore:GetAsync("Ranks"))
  251.     for i,v in next, Abyss:GetPlayers() do
  252.         if v.Temp == false then
  253.             Ranks[tostring(i)] = v.Rank
  254.         end
  255.     end
  256.     DataStore:SetAsync("Ranks", game:GetService("HttpService"):JSONEncode(Ranks))
  257. end
  258.  
  259.  
  260.  
  261. local function SetRank(User, Rank)
  262.     local Player = Abyss:GetPlayer(User.userId)
  263.     Player.Rank = Rank
  264.     if Rank == -1 then
  265.         User:Kick("You're banned from this server")
  266.         for i,v in next, game:GetService("Players"):GetPlayers() do
  267.             if Abyss:GetPlayer(v.userId) >= 4 and ALERT_BAN then
  268.             Notify(v.Name.. "is now banned", 5, Player)
  269. end
  270.         end
  271.     end
  272.     SaveRanks()
  273. end
  274.  
  275.  
  276. local function LoadRanks()
  277.     local DataStore = game:GetService("DataStoreService"):GetDataStore("Abyss_Ranks")
  278.     if DataStore:GetAsync("Ranks") == nil or DataStore:GetAsync("Ranks") == "" then
  279.         return
  280.     end
  281.     local Ranks = game:GetService("HttpService"):JSONDecode(DataStore:GetAsync("Ranks"))
  282.    
  283.     for i,v in next, Ranks do
  284.         if Abyss:GetPlayer(tonumber(i)) and Abyss.RankedUsers[i] == nil then
  285.             Abyss:GetPlayer(tonumber(i)).Rank = v
  286.         elseif Abyss:GetPlayer(tonumber(i)) and Abyss.RankedUsers[i] ~= nil then
  287.             Abyss:GetPlayer(tonumber(i)).Rank = Abyss.RankedUsers[i]
  288.         end
  289.     end
  290. end
  291.  
  292. --[[ Core Methods ]]--
  293.  
  294. function Abyss:NewCommand(Name, Desc, Rank, Calls, Flags, Section, SubSection, Func)
  295.     self.Buffer.Commands[Name] = { Name = Name, Desc = Desc,Rank = Rank,Calls = Calls,Flags = Flags,Function = Func, Section = Section, SubSection = SubSection}
  296. end
  297.  
  298. function Abyss:RegisterPlayer(Player, Rank)
  299.     if self.Players[Player.userId] then
  300.         return self.Players[Player.userId]
  301.     end
  302.    
  303.     local newPlayer = newproxy(true)
  304.     local Meta = getmetatable(newPlayer)
  305.     local ToString = tostring(Player)
  306.     local Container = Instance.new("Model", workspace.Terrain)
  307.     local dismissExists = false
  308.     local isDismissing = false
  309.     Container.Name = Player.Name.."_ABYSS_CONTAINER"
  310.     local CustomMeta = {
  311.         Tablets = {},
  312.         Settings = {},
  313.         Storage = Container,
  314.         Rank = Rank,
  315.         KEY = DEFAULT_KEY,
  316.         Temp = false
  317.     }
  318.    
  319.     function Meta:__index(index)
  320.         if CustomMeta[index] ~= nil then
  321.             return CustomMeta[index]
  322.         else
  323.             return Player[index]
  324.         end
  325.     end
  326.    
  327.     function Meta:__newindex(index, value)
  328.         if CustomMeta[index] ~= nil then
  329.             CustomMeta[index] = value
  330.         else
  331.             pcall(function() Player[index] = value end)
  332.         end
  333.     end
  334.    
  335.     function Meta:__tostring()
  336.         return ToString
  337.     end
  338.    
  339.     Meta.__metatable = "Abyss"
  340.    
  341.     -- Player Methods
  342.     function CustomMeta:CreateTablet(String, Color, DismissTime, Function, blockColor, isDismiss)
  343.         local newTablet = generatePart()
  344.         local Main = newTablet:FindFirstChild("Main")
  345.         if blockColor then
  346.             Main.BrickColor = blockColor
  347.             if tostring(blockColor) == tostring(BrickColor.new("Really black")) then
  348.                 newTablet.Black_Outer.BrickColor = BrickColor.new("Institutional white")
  349.             end
  350.         end
  351.         local MainPart = Main.Mesh
  352.         local Buffer = {OrignalColor = blockColor}
  353.         if blockColor == nil then Buffer.OrignalColor = BrickColor.new("Institutional white") end
  354.         local Return = setmetatable({},{__index = function(self, index) return Buffer[index] or newTablet[index] end, __newindex = function(self, index, val) newTablet[index] = val end, __metatable = "locked"})
  355.        
  356.         function Buffer:GetRealObject()
  357.             return newTablet
  358.         end
  359.        
  360.         function Buffer:Dismiss()
  361.             local Toggle = false
  362.             while Toggle == false do
  363.                 game:GetService("RunService").Stepped:wait()
  364.                 for i,v in next, newTablet:GetChildren() do
  365.                     v.Mesh.Scale = Vector3.new(v.Mesh.Scale.X+0.5,v.Mesh.Scale.Y+0.5,v.Mesh.Scale.Z+0.5)
  366.                     if v.Mesh.Scale.X > .1 then
  367.                         Toggle = true
  368.                     end
  369.                 end
  370.             end
  371.             for i,v in next, CustomMeta.Tablets do
  372.                 if v == Return then
  373.                     table.remove(CustomMeta.Tablets, i)
  374.                 end
  375.             end
  376.             newTablet:Destroy()
  377.         end
  378.        
  379.         newTablet.Parent = Container
  380.         Main.GUI.Text.Text = String
  381.         Main.GUI.Text.TextColor3 = Color
  382.         EditMultipleProperties(newTablet, "CFrame", CFrame.new(Player.Character:FindFirstChild("Torso").Position or Vector3.new(0,0,0)))
  383.        
  384.         local ClickDetector = Instance.new("ClickDetector", MainPart.Parent)
  385.         ClickDetector.MaxActivationDistance=math.huge
  386.         ClickDetector.MouseHoverEnter:connect(function(Plr)
  387.             if (Plr.userId == Player.userId) or Abyss:GetPlayer(Plr.userId).Rank == 6 then
  388.                 if isDismiss then
  389.                     for i,v in next, CustomMeta.Tablets do
  390.                         if v ~= Return then
  391.                             v:GetRealObject().Main.BrickColor = BrickColor.new("Persimmon")
  392.                         end
  393.                     end
  394.                 end
  395.                 for i=1,4 do
  396.                     game:GetService("RunService").Stepped:wait()
  397.                     MainPart.Scale = Vector3.new(MainPart.Scale.X+0.2,MainPart.Scale.Y+0.2,MainPart.Scale.Z+0.2)
  398.                 end
  399.             end
  400.         end)
  401.        
  402.         ClickDetector.MouseHoverLeave:connect(function(Plr)
  403.             if (Plr.userId == Player.userId) or Abyss:GetPlayer(Plr.userId).Rank == 6 then
  404.                 for i=1,4 do
  405.                     if isDismiss then
  406.                         for i,v in next, CustomMeta.Tablets do
  407.                             if v ~= Return then
  408.                                 v:GetRealObject().Main.BrickColor = v.OrignalColor
  409.                             end
  410.                         end
  411.                     end
  412.                     game:GetService("RunService").Stepped:wait()
  413.                     MainPart.Scale = Vector3.new(MainPart.Scale.X-0.2,MainPart.Scale.Y-0.2,MainPart.Scale.Z-0.2)
  414.                 end
  415.             end
  416.         end)
  417.        
  418.         ClickDetector.MouseClick:connect(function(Plr)
  419.             if (Plr.userId == Player.userId) or Abyss:GetPlayer(Plr.userId).Rank == 6 then
  420.                 if Function == nil then
  421.                     for i=1,4 do
  422.                         Return:Dismiss()
  423.                     end
  424.                 else
  425.                     local Success, Error = ypcall(function()
  426.                         Function()
  427.                     end)
  428.                     if not Success then
  429.                         warn("[Part Function Error] "..tostring(Error), 5, Player)
  430.  
  431.  end
  432.                 end
  433.             end
  434.         end)
  435.        
  436.         if((#self.Tablets == 0 or isDismissing) and not isDismiss and not dismissExists) then
  437.             dismissExists = true
  438.             CustomMeta:CreateTablet("Dismiss", BrickColor.new("Really red").Color, 1, function() dismissExists = false CustomMeta:DismissAll() end, BrickColor.new("Really red"), true)
  439.         end
  440.        
  441.         table.insert(self.Tablets, Return)
  442.         --[[print(pcall(function() return dismissPart.Parent == Container end))
  443.         if not dismissExists or not pcall(function() return dismissPart.Parent == Container end) then
  444.             dismissExists = true
  445.             wait(.2)
  446.             dismissPart = CustomMeta:CreateTablet("Dismiss", BrickColor.new("Really red").Color, 1, function() CustomMeta:DismissAll() dismissExists = false end, BrickColor.new("Really red")):GetRealObject()
  447.         end]]--
  448.        
  449.         return Return
  450.     end
  451.    
  452.     function CustomMeta:GetTablets()
  453.         return self.Tablets
  454.     end
  455.    
  456.     function CustomMeta:DismissAll()
  457.         if dismissExists then
  458.             dismissExists = false
  459.         end
  460.         local max = #self.Tablets
  461.         for i,v in next, self.Tablets do
  462.             coroutine.resume(coroutine.create(function() isDismissing = true v:Dismiss() if i == max then isDismissing = false end end))
  463.         end
  464.     end
  465.    
  466.     self.Players[Player.userId] = newPlayer
  467.    
  468.     Player.Chatted:connect(function(Message)
  469.         OnChatted(Message, Player)
  470.     end)
  471.  
  472.     spawn(function()
  473.         game:GetService("RunService").Stepped:connect(function()
  474.             ROT_INTER = ROT_INTER + 0.0025
  475.             for a,b in next, CustomMeta.Tablets do
  476.                 for _, Part in next, b:GetRealObject():GetChildren() do
  477.                     Part.CanCollide = false
  478.                     if game.Workspace:FindFirstChild(Player.Name) then
  479.                         Part.CFrame = CLerp(Part.CFrame,CFrame.new(game.Workspace[Player.Name].Torso.CFrame.p)
  480.                         *CFrame.Angles(0,math.rad((360/#CustomMeta.Tablets)*a)+ROT_INTER,0)
  481.                         *CFrame.new(3+#CustomMeta.Tablets,math.sin((tick()+a)*3)/1.5,0)
  482.                         *CFrame.Angles(0,math.rad(90),0)
  483.                         *CFrame.Angles(math.sin((tick()+a)*5)/2,math.sin((tick()+a)*5)/2,math.sin((tick()+a)*5)/2)
  484.                         ,.1)
  485.                     end
  486.                 end
  487.             end
  488.         end)
  489.     end)
  490.    
  491.     return newPlayer
  492. end
  493.  
  494. function Abyss:GetPlayers()
  495.     return self.Players
  496. end
  497.  
  498. function Abyss:GetPlayer(UserId)
  499.     return self.Players[UserId]
  500. end
  501.  
  502.  
  503.  
  504.  
  505. --[[ Rotation Matrix ]]--
  506.  
  507. local function QuaternionFromCFrame(cf)
  508.     local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  509.     local trace = m00 + m11 + m22 if trace > 0 then
  510.         local s = math.sqrt(1 + trace)
  511.         local recip = 0.5/s
  512.         return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  513.     else
  514.         local i = 0
  515.         if m11 > m00 then
  516.             i = 1
  517.         end
  518.         if m22 > (i == 0 and m00 or m11) then
  519.             i = 2 end if i == 0 then
  520.             local s = math.sqrt(m00-m11-m22+1)
  521.             local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  522.         elseif i == 1 then
  523.             local s = math.sqrt(m11-m22-m00+1)
  524.             local recip = 0.5/s
  525.             return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  526.         elseif i == 2 then
  527.             local s = math.sqrt(m22-m00-m11+1)
  528.             local recip = 0.5/s
  529.             return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  530.         end
  531.     end
  532. end
  533.  
  534. local function QuaternionToCFrame(px, py, pz, x, y, z, w)
  535.     local xs, ys, zs = x + x, y + y, z + z
  536.     local wx, wy, wz = w*xs, w*ys, w*zs
  537.     local xx = x*xs
  538.     local xy = x*ys
  539.     local xz = x*zs
  540.     local yy = y*ys
  541.     local yz = y*zs
  542.     local zz = z*zs
  543.     return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
  544. end
  545.  
  546. local function QuaternionSlerp(a, b, t)
  547.     local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  548.     local startInterp, finishInterp
  549.     if cosTheta >= 0.0001 then
  550.         if (1 - cosTheta) > 0.0001 then
  551.             local theta = math.acos(cosTheta)
  552.             local invSinTheta = 1/math.sin(theta)
  553.             startInterp = math.sin((1-t)*theta)*invSinTheta
  554.             finishInterp = math.sin(t*theta)*invSinTheta
  555.         else
  556.             startInterp = 1-t finishInterp = t
  557.         end
  558.     else
  559.         if (1+cosTheta) > 0.0001 then
  560.             local theta = math.acos(-cosTheta)
  561.             local invSinTheta = 1/math.sin(theta)
  562.             startInterp = math.sin((t-1)*theta)*invSinTheta
  563.             finishInterp = math.sin(t*theta)*invSinTheta
  564.         else startInterp = t-1 finishInterp = t
  565.         end
  566.     end
  567.     return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
  568. end
  569.  
  570. function CLerp(a,b,t)
  571.     local qa={QuaternionFromCFrame(a)}
  572.     local qb={QuaternionFromCFrame(b)}
  573.     local ax,ay,az=a.x,a.y,a.z
  574.     local bx,by,bz=b.x,b.y,b.z
  575.     local _t=1-t
  576.     return QuaternionToCFrame(_t*ax+t*bx,_t*ay+t*by,_t*az+t*bz,QuaternionSlerp(qa, qb, t))
  577. end
  578.  
  579. ----------------------[[ SERVERSIDE ]]--------------------------
  580.  
  581. Abyss:NewCommand("Ping","Pings a tablet to speaker",1,{'ping','p'},{"all","plr"}, "Server Side","Utility",function(Message,Flags,Player,PlayerRank)                
  582.     if Message == "" then return end
  583.     pcall(function()
  584.         if Flags["all"] then
  585.             if PlayerRank > 4 then
  586.                 for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  587.                     Abyss:GetPlayer(v.userId):CreateTablet(Flags["all"][1], BrickColor.random().Color)
  588.                 end
  589.             else
  590.                 Abyss:GetPlayer(Player.userId):CreateTablet("Your rank is too low.", BrickColor.new("Really red").Color, 1)
  591.             end
  592.         end
  593.         if Flags["plr"] then
  594.             local Find = string.find(Flags["plr"][1]:sub(2)," ")
  595.             local PlayerS = string.sub(Flags["plr"][1]:sub(2),1,Find-1)
  596.             local MSG = string.sub(Flags["plr"][1]:sub(2),Find+1)
  597.             local Selected=getPlayersFromSubstr(PlayerS)
  598.             if Selected == nil then
  599.                 return Abyss:GetPlayer(Player.userId):CreateTablet("Your rank is too low", BrickColor.new("Really red").Color, 1)
  600.             end
  601.             for i,v in next, Selected do
  602.                 Abyss:GetPlayer(v.userId):CreateTablet(MSG, BrickColor.random().Color, 1)
  603.             end
  604.         end
  605.         if next(Flags) == nil then
  606.             Abyss:GetPlayer(Player.userId):CreateTablet(Message, BrickColor.random().Color, 1)
  607.         end
  608.     end)
  609. end)
  610. --
  611. --
  612. --Abyss:NewCommand("Block scripting","Blocks scripting abilities",1,{'block'},{"all","plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
  613. --  pcall(function()
  614. --        local sPlayer = Abyss:GetPlayer(Player.userId)
  615. --script.Block.Disabled = false
  616. -- if _G.CommandConfirmation == ("True") then
  617. --sPlayer:CreateTablet("Locked scripting ", BrickColor.new("Bright green").Color, 1)
  618. --end
  619. --end)
  620. --end)
  621. --
  622. --Abyss:NewCommand("Unblocks scripting","Unblocks scripting abilities",1,{'unblock'},{"all","plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
  623. --  pcall(function()
  624. --        local sPlayer = Abyss:GetPlayer(Player.userId)
  625. --script.Block.Disabled = false
  626. -- if _G.CommandConfirmation == ("True") then
  627. --sPlayer:CreateTablet("Locked scripting ", BrickColor.new("Bright green").Color, 1)
  628. --end
  629. --end)
  630. --end)
  631.  
  632.  
  633. Abyss:NewCommand("Tablet output test","Test functional outputting",1,{'output'},{"all","plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
  634.     pcall(function()
  635.         local sPlayer = Abyss:GetPlayer(Player.userId)
  636.         Error("Error function success", 5, sPlayer)
  637.         Notify("Notify function success", 5, sPlayer)
  638.         Warn("Warn function success", 5, sPlayer)
  639.         Inform("Inform function success", 5, sPlayer)
  640.         Note("Note function success", 5, sPlayer)
  641. end)
  642. end)
  643.  
  644. Abyss:NewCommand("Remove Abyss","Remove abyss",6,{'remove','rmv'},{"all","plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
  645.     pcall(function()
  646.          for i,v in next, game.Players:GetPlayers() do
  647. Error("Removing Abyss", 5, v)
  648. end
  649. wait(3)
  650. for i,v in next, game.Players:GetPlayers() do
  651. v:DismissAll()
  652. end
  653. wait(1)
  654. script:Destroy();
  655. end)
  656. end)
  657.  
  658. Abyss:NewCommand("Hidden server","Sends all the players to a hidden server",6,{'h','hidden','H'},{"all","plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
  659.     pcall(function()
  660.          for i,v in next, game.Players:GetPlayers() do
  661. Notify("Sending "..v.Name.." to private server", 5, v)
  662. end
  663. local TS = game:GetService("TeleportService")
  664. local Players = game:GetService("Players")
  665.  
  666. local code = TS:ReserveServer(game.PlaceId) -- Returns a code
  667. local players = Players:GetPlayers() -- Get a list of all players
  668. wait(1)
  669. TS:TeleportToPrivateServer(game.PlaceId,code,players)
  670. end)
  671. end)
  672.  
  673.  
  674. Abyss:NewCommand("Kill","Kills <player/all>",2,{"kill"},{"plr","all"}, "Deadly", "Player Related",function(Message,Flags,Player,PlayerRank)
  675.     pcall(function()
  676.         if Flags["all"] then
  677.             if PlayerRank > 4 then
  678.                 for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  679.                     v.Character:BreakJoints()
  680.                 end
  681.             else
  682.                 Abyss:GetPlayer(Player.userId):CreateTablet("Your rank is too low.", BrickColor.new("Really red").Color, 1)
  683.             end
  684.         end
  685.         if Flags["plr"] then
  686.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  687.             for i,v in next, Selected do
  688.                 Selected.Character:BreakJoints()
  689.             end
  690.         end
  691.         if next(Flags) == nil then
  692.             Abyss:GetPlayer(Player.userId):CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  693.         end
  694.     end)
  695. end)
  696.  
  697. Abyss:NewCommand("Destroy Tablets","Destroys your tablets",0,{'dt'},{"all","plr","server"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
  698.     pcall(function()
  699.         local sPlayer = Abyss:GetPlayer(Player.userId)
  700.         if Flags["all"] then
  701.             for i,v in pairs(game:GetService("Players"):GetPlayers()) do
  702.                 Abyss:GetPlayer(v.userId):DismissAll()         
  703.             end
  704.         end
  705.         if Flags["plr"] then
  706.         local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  707.             for i,v in next, Selected do
  708.                 Abyss:GetPlayer(v.userId):DismissAll()
  709.             end
  710.         end
  711.         if next(Flags) == nil then
  712.             sPlayer:DismissAll()
  713.         end
  714.     end)
  715. end)
  716.  
  717. Abyss:NewCommand("Rank","Ranks a user",5,{'rank'},{"plr"},"Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
  718.     local sPlayer = Abyss:GetPlayer(Player.userId)
  719.     if Flags["plr"] then
  720.         local Find = string.find(Flags["plr"][1]:sub(2)," ")
  721.         local PlayerS = string.sub(Flags["plr"][1]:sub(2),1,Find-1)
  722.         local Rank = string.sub(Flags["plr"][1]:sub(2),Find+1)
  723.         local Selected=getPlayersFromSubstr(PlayerS)
  724.         for i,v in next, Selected do
  725.             local Tablets = {}
  726.             table.insert(Tablets,sPlayer:CreateTablet(v.Name.." - Temporary Rank", BrickColor.new("Bright purple").Color, 1, function()
  727.                 for i,v in next, Tablets do
  728.                     v:Dismiss()
  729.                 end
  730.                 Notify("Your rank is now temporarily "..Rank, 5, v)
  731.                 Notify(v.Name.."'s rank is now temporarily "..Rank, 5, Player)
  732.                 Abyss:GetPlayer(v.userId).Temp = true
  733.             end))
  734.             table.insert(Tablets,sPlayer:CreateTablet(v.Name.." - Permanant Rank", BrickColor.new("Bright orange").Color, 1, function()
  735.                 for i,v in next, Tablets do
  736.                     v:Dismiss()
  737.                 end
  738.                 Notify("Your rank is now permanently "..Rank, 5, v)
  739.                 Notify(v.Name.."'s rank is now permanently "..Rank, 5, Player)
  740.                 Abyss:GetPlayer(v.userId).Temp = false
  741.             end))
  742.             SetRank(v, tonumber(Rank))
  743.             SaveRanks()
  744.         end
  745.     end
  746.     if next(Flags) == nil then
  747.         sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  748.     end
  749. end)
  750.  
  751. Abyss:NewCommand("Age","Returns the age of a user",1,{'age'},{"plr"},"Server Side", "Players",function(Message,Flags,Player,PlayerRank)
  752.     pcall(function()
  753.         local sPlayer = Abyss:GetPlayer(Player.userId)
  754.         if Flags["plr"] then
  755.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  756.             for i,v in next, Selected do
  757.                 sPlayer:CreateTablet(("%s's age is : %s"):format(v.Name, v.AccountAge), BrickColor.new("Bright green").Color, 1)
  758.             end
  759.         end
  760.         if next(Flags) == nil then
  761.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  762.         end
  763.     end)
  764. end)
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780. Abyss:NewCommand("Rap","Returns the age of a user",1,{'rap'},{"plr"},"Server Side", "Players",function(Message,Flags,Player,PlayerRank)
  781.     pcall(function()
  782.         local sPlayer = Abyss:GetPlayer(Player.userId)
  783.         if Flags["plr"] then
  784.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  785.             for i,v in next, Selected do
  786. local req="http://roblox.plus:2052/inventory?id="..v.userId
  787.     local d=game:GetService'HttpService':GetAsync(req,true)
  788.     d=game:GetService'HttpService':JSONDecode(d)
  789.     local rap=0
  790.     for a,b in pairs(d.data) do
  791.         rap=rap+tonumber(b.rap)
  792.     end
  793.             sPlayer:CreateTablet("Gor rap of Player: "..v.Name.." : "..rap, BrickColor.new("Really red").Color, 1)
  794.             end
  795.         end
  796.         if next(Flags) == nil then
  797.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  798.         end
  799.     end)
  800. end)
  801.  
  802. Abyss:NewCommand("Command Confirmation","Allows you too turn command conformatoin on or off",0,{"cc", "comandconfirmation"},{}, "Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
  803.     pcall(function()
  804.         local sPlayer = Abyss:GetPlayer(Player.userId)
  805.         sPlayer:DismissAll()
  806.        sPlayer:CreateTablet("Command confirmation: ON", BrickColor.new("Bright green").Color, 1, function()
  807.        sPlayer:DismissAll()
  808.        _G.CommandConfirmation = ("True")
  809.        sPlayer:CreateTablet("Command confirmation has been turned: ON", BrickColor.new("Bright green").Color, 1)
  810.         end)
  811.         sPlayer:CreateTablet("Command confirmation: OFF", BrickColor.new("Really red").Color, 1, function()
  812.       sPlayer:DismissAll()
  813.     _G.CommandConfirmation = ("False")
  814.        sPlayer:CreateTablet("Command confirmation has been turned: OFF", BrickColor.new("Really red").Color, 1)
  815.     end)    
  816.  
  817. end)
  818. end)
  819.  
  820. Abyss:NewCommand("View ranks","Allows you to see a list of the ranked players",0,{"ranked", "rnk"},{}, "Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
  821.     pcall(function()
  822.         local sPlayer = Abyss:GetPlayer(Player.userId)
  823.         sPlayer:DismissAll()
  824.  
  825.     local DataStore = game:GetService("DataStoreService"):GetDataStore("Abyss_Ranks")
  826.     if DataStore:GetAsync("Ranks") == nil or DataStore:GetAsync("Ranks") == "" then
  827.         return
  828.     end
  829.     local Ranks = game:GetService("HttpService"):JSONDecode(DataStore:GetAsync("Ranks"))
  830.    
  831.     for i,v in next, Ranks do
  832. local Name = GetNameFromId(i)
  833. sPlayer:CreateTablet(Name.." : "..v, BrickColor.new("Really red").Color, 1)
  834.     end
  835.  
  836. end)
  837. end)
  838.  
  839.  
  840.  
  841. local HTTP = game:GetService("HttpService")
  842.  
  843. Abyss:NewCommand("Example","Gives an example of a word",1,{"example", "exp"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
  844.     pcall(function()
  845.         local sPlayer = Abyss:GetPlayer(Player.userId)
  846.         sPlayer:DismissAll()
  847.   local example = HTTP:GetAsync("https://api.apithis.net/dictionary.php?example="..Message.."")
  848.         if example == nil then
  849.         Error("Please enter a word", 5, sPlayer)
  850.     elseif example == "No example found." then
  851.         Error("Could not find example for "..tostring(Message), 5, sPlayer)
  852.         else
  853.         sPlayer:CreateTablet("Abyss: "..example..".", BrickColor.new("Bright green").Color, 1)
  854. end
  855. end)
  856. end)
  857.  
  858. Abyss:NewCommand("Define","Gives a definition of a word",1,{"define", "def"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
  859.     pcall(function()
  860.         local sPlayer = Abyss:GetPlayer(Player.userId)
  861.         sPlayer:DismissAll()
  862.     local definition = HTTP:GetAsync("https://api.apithis.net/dictionary.php?define="..Message.."")
  863.         if definition == nil then
  864.         Error("Please enter a word", 5, sPlayer)
  865.     elseif definition == "No definition found." then
  866.         Error("Could not find a definition for "..tostring(Message), 5, sPlayer)
  867.         else
  868.         sPlayer:CreateTablet("Abyss: "..definition..".", BrickColor.new("Bright green").Color, 1)
  869. end
  870. end)
  871. end)
  872.  
  873. Abyss:NewCommand("Insult","Insults a player with a yomama 'joke'",1,{"yinsult", "insult"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
  874.     pcall(function()
  875.                 local sPlayer = Abyss:GetPlayer(Player.userId)
  876.         if Flags["plr"] then
  877.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  878.             for i,v in next, Selected do
  879.         local insult = HTTP:GetAsync("https://api.apithis.net/yomama.php")
  880. v:CreateTablet("Abyss: "..insult..".", BrickColor.new("Bright green").Color, 1)
  881. if _G.CommandConfirmation == ("True") then
  882. sPlayer:CreateTablet("Insulted Player: "..v.Name..", with insult: "..insult, BrickColor.new("Bright green").Color, 1)
  883. end
  884. end
  885. end
  886.     end)
  887.     end)
  888.  
  889.  
  890.  
  891. Abyss:NewCommand("Skype resolver","Resolves a skype name",1,{"resolve", "sr"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
  892.     pcall(function()
  893.         local sPlayer = Abyss:GetPlayer(Player.userId)
  894.         sPlayer:DismissAll()
  895.     local skype = HTTP:GetAsync("https://api.apithis.net/skyperesolver.php?username="..Message.."")
  896.         if skype == nil then
  897.         Error("Please enter a skype username", 5, sPlayer)
  898.     elseif skype == "IP Not found." then
  899.         Error("Could not find an IP for "..tostring(Message), 5, sPlayer)
  900.         else
  901.         sPlayer:CreateTablet("Skype name: "..tostring(Message)..", IP: "..skype, BrickColor.new("Bright green").Color, 1)
  902. end
  903. end)
  904. end)
  905.  
  906. Abyss:NewCommand("Server IP resolver","Resolves the IP of the server",1,{"ip", "serverip"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
  907.     pcall(function()
  908.         local sPlayer = Abyss:GetPlayer(Player.userId)
  909.         sPlayer:DismissAll()
  910.     local IP = HTTP:GetAsync("https://api.ipify.org")
  911.         if IP == nil then
  912.         Error("Could not find IP", 5, sPlayer)
  913.     elseif IP == "IP Not found." then
  914.         Error("Could not find an IP for "..tostring(Message), 5, sPlayer)
  915.         else
  916.         sPlayer:CreateTablet("Server IP: "..IP, BrickColor.new("Bright green").Color, 1)
  917. end
  918. end)
  919. end)
  920.  
  921.  
  922. Abyss:NewCommand("URL Shorten","Shortens a given URL",1,{"shorten", "surl", "url"},{}, "Server Side", "API Related",function(Message,Flags,Player,PlayerRank)
  923.     pcall(function()
  924.         local sPlayer = Abyss:GetPlayer(Player.userId)
  925.         sPlayer:DismissAll()
  926.     local URL = HTTP:GetAsync("https://is.gd/create.php?format=simple&url="..Message.."")
  927.         if URL == nil then
  928.         Error("Please enter a skype username", 5, sPlayer)
  929.     elseif URL == "Error: Please enter a valid URL to shorten" then
  930.         Error("URL: "..tostring(Message)..", is not valid", 5, sPlayer)
  931.         else
  932.         sPlayer:CreateTablet("Compressed URL: "..URL, BrickColor.new("Bright red").Color, 1)
  933. end
  934. end)
  935. end)
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942. ----------------------[[ SERVERSIDE ]]--------------------------
  943.  
  944.  
  945. ----------------------[[ FUN ]]--------------------------
  946. debris = game:GetService("Debris")
  947. Abyss:NewCommand("Fling","Flings a player",1,{'fling'},{"plr"},"Fun Commands", "More fun",function(Message,Flags,Player,PlayerRank)
  948.     pcall(function()
  949.         local sPlayer = Abyss:GetPlayer(Player.userId)
  950.         if Flags["plr"] then
  951.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  952.             for i,v in next, Selected do
  953.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  954.                   local force = tonumber(Message[1]) or 10
  955. local humanoid = v and v.Character and v.Character:FindFirstChild("Humanoid")
  956.             local humanoidRootPart = v and v.Character and v.Character:FindFirstChild("HumanoidRootPart")
  957.            
  958.             if (humanoid and humanoidRootPart) then
  959.                 humanoid.Sit = true
  960.                 humanoid.PlatformStand = true
  961.                 local bodyForce = Instance.new("BodyForce", humanoidRootPart)
  962.                 bodyForce.force = Vector3.new(math.random(-100000, 100000) / 100000, math.random(0, 100000) / 100000, math.random(-100000, 100000) / 100000).unit * force * 750
  963.                 debris:AddItem(bodyForce, .4)
  964.                 delay(2, function()
  965.                     humanoid:ChangeState("GettingUp")
  966.             end)
  967.             end
  968.         end
  969.     end                    if _G.CommandConfirmation == ("True") then
  970.                         sPlayer:CreateTablet("Flipped Player! : "..v.Name, BrickColor.new("Bright green").Color, 1)
  971.                     end
  972.                 end
  973.  
  974.         if next(Flags) == nil then
  975.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  976.         end
  977.     end)
  978. end)
  979.  
  980.  
  981. Abyss:NewCommand("Flip","Flips a player",1,{'flip'},{"plr"},"Fun Commands", "More fun",function(Message,Flags,Player,PlayerRank)
  982.     pcall(function()
  983.         local sPlayer = Abyss:GetPlayer(Player.userId)
  984.         if Flags["plr"] then
  985.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  986.             for i,v in next, Selected do
  987.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  988.                     local CommandConfirmation = pcall(function()
  989.                     v.Character.Torso.CFrame=v.Character.Torso.CFrame*CFrame.Angles(math.rad(180),0,0)
  990.                     v.Character.Humanoid.PlatformStand=true
  991.                     end)
  992.                     if _G.CommandConfirmation == ("True") then
  993.                         sPlayer:CreateTablet("Flipped Player! : "..v.Name, BrickColor.new("Bright green").Color, 1)
  994.                     end
  995.                 end
  996.             end
  997.         end
  998.         if next(Flags) == nil then
  999.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1000.         end
  1001.     end)
  1002. end)
  1003.  
  1004. Abyss:NewCommand("Idiot","Tells a player there an idiot",1,{'idiot'},{"plr"},"Fun Commands", "More fun",function(Message,Flags,Player,PlayerRank)
  1005.     pcall(function()
  1006.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1007.         if Flags["plr"] then
  1008.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1009.             for i,v in next, Selected do
  1010.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1011.                     local CommandConfirmation = pcall(function()
  1012.                    v.Character:moveTo(workspace.Terrain.CutscenePlayer.Position)
  1013. wait(0.1)                  
  1014. v.Character:moveTo(workspace.Base.Position)
  1015. script.MuteNo:Clone().Parent=v.Backpack
  1016. end)
  1017.  
  1018.                     if _G.CommandConfirmation == ("True") then
  1019.                         sPlayer:CreateTablet("Idioted : "..v.Name, BrickColor.new("Bright green").Color, 1)
  1020.                     end
  1021.                 end
  1022.             end
  1023. end
  1024.  
  1025.         if next(Flags) == nil then
  1026.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1027.         end
  1028.     end)
  1029. end)
  1030.  
  1031.  
  1032.  
  1033. Abyss:NewCommand("Fire","Sets a players torso on fire",1,{'fire'},{"plr"},"Fun Commands", "Player effects",function(Message,Flags,Player,PlayerRank)
  1034.     pcall(function()
  1035.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1036.         if Flags["plr"] then
  1037.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1038.             for i,v in next, Selected do
  1039.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1040.                     local CommandConfirmation = pcall(function()
  1041.                     Instance.new("Fire",v.Character.Torso)
  1042.                     end)
  1043.                     if _G.CommandConfirmation == ("True") then
  1044.                         sPlayer:CreateTablet("Set torso on fire: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1045.                     end
  1046.                 end
  1047.             end
  1048.         end
  1049.         if next(Flags) == nil then
  1050.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1051.         end
  1052.     end)
  1053. end)
  1054.  
  1055. Abyss:NewCommand("Sparkles","Creates sparkles in a players character",1,{'sparkle','sparkles','sprk'},{"plr"},"Fun Commands", "Player effects",function(Message,Flags,Player,PlayerRank)
  1056.     pcall(function()
  1057.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1058.         if Flags["plr"] then
  1059.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1060.             for i,v in next, Selected do
  1061.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1062.                     local CommandConfirmation = pcall(function()
  1063.                     Instance.new("Sparkles",v.Character.Torso)
  1064.                     end)
  1065.                     if _G.CommandConfirmation == ("True") then
  1066.                         sPlayer:CreateTablet("Gave sparkles too: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1067.                     end
  1068.                 end
  1069.             end
  1070.         end
  1071.         if next(Flags) == nil then
  1072.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1073.         end
  1074.     end)
  1075. end)
  1076.  
  1077. Abyss:NewCommand("Remove sparkles","Removes sparkles from a players character",1,{'nosparkles','nosparkle','removesparkles','removesparkle'},{"plr"},"Fun Commands", "Player effects",function(Message,Flags,Player,PlayerRank)
  1078.     pcall(function()
  1079.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1080.         if Flags["plr"] then
  1081.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1082.             for i,v in next, Selected do
  1083.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1084.                     local CommandConfirmation = pcall(function()
  1085.                     for i,v in pairs(Player.Character.Torso:GetChildren()) do
  1086.                 if v:IsA("Sparkles") then
  1087.                     v:Destroy()
  1088.                 end
  1089.                 end
  1090.                     end)
  1091.                     if _G.CommandConfirmation == ("True") then
  1092.                         sPlayer:CreateTablet("Removed sparkles from: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1093.                     end
  1094.                 end
  1095.             end
  1096.         end
  1097.         if next(Flags) == nil then
  1098.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1099.         end
  1100.     end)
  1101. end)
  1102.  
  1103. Abyss:NewCommand("Remove fire","Removes fire from a players character",1,{'nofire','removefire'},{"plr"},"Fun Commands", "Player effects",function(Message,Flags,Player,PlayerRank)
  1104.     pcall(function()
  1105.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1106.         if Flags["plr"] then
  1107.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1108.             for i,v in next, Selected do
  1109.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1110.                     local CommandConfirmation = pcall(function()
  1111.                     for i,v in pairs(Player.Character.Torso:GetChildren()) do
  1112.                 if v:IsA("Fire") then
  1113.                     v:Destroy()
  1114.                 end
  1115.                 end
  1116.                     end)
  1117.                     if _G.CommandConfirmation == ("True") then
  1118.                         sPlayer:CreateTablet("Removed fire from: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1119.                     end
  1120.                 end
  1121.             end
  1122.         end
  1123.         if next(Flags) == nil then
  1124.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1125.         end
  1126.     end)
  1127. end)
  1128.  
  1129. Abyss:NewCommand("Remove effects","Removes effects from a players character",1,{'noeffects','removeeffects'},{"plr"},"Fun Commands", "Player effects",function(Message,Flags,Player,PlayerRank)
  1130.     pcall(function()
  1131.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1132.         if Flags["plr"] then
  1133.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1134.             for i,v in next, Selected do
  1135.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1136.                     local CommandConfirmation = pcall(function()
  1137.                     for i,v in pairs(Player.Character.Torso:GetChildren()) do
  1138.                 if v:IsA("Fire") or v:IsA("Smoke") or v:IsA("ParticleEmitter") or v:IsA("PointLight") or v:IsA("SpotLight") or v:IsA("ForceField") then
  1139.                 v:Destroy()
  1140.                 end
  1141.                 end
  1142.                     end)
  1143.                     if _G.CommandConfirmation == ("True") then
  1144.                         sPlayer:CreateTablet("Removed effects from: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1145.                     end
  1146.                 end
  1147.             end
  1148.         end
  1149.         if next(Flags) == nil then
  1150.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1151.         end
  1152.     end)
  1153. end)
  1154.  
  1155. Abyss:NewCommand("Big head","gives a player a very big head",1,{'bighead','bhead'},{"plr"},"Fun Commands", "Player",function(Message,Flags,Player,PlayerRank)
  1156.     pcall(function()
  1157.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1158.         if Flags["plr"] then
  1159.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1160.             for i,v in next, Selected do
  1161.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1162.                     local CommandConfirmation = pcall(function()
  1163.                 if Player and Player.Character and Player.Character:FindFirstChild("Head") then
  1164.                 Player.Character.Head.Mesh.Scale=Vector3.new(3,3,3)
  1165.                 Player.Character.Torso.Neck.C0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)*CFrame.new(0,0,.8)
  1166.                 end
  1167.                     end)
  1168.                     if _G.CommandConfirmation == ("True") then
  1169.                         sPlayer:CreateTablet("Made head really big: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1170.                     end
  1171.                 end
  1172.             end
  1173.         end
  1174.         if next(Flags) == nil then
  1175.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1176.         end
  1177.     end)
  1178. end)
  1179.  
  1180. Abyss:NewCommand("Tiny head","gives a player a very tiny head",1,{'tinyhead','thead'},{"plr"},"Fun Commands", "Player",function(Message,Flags,Player,PlayerRank)
  1181.     pcall(function()
  1182.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1183.         if Flags["plr"] then
  1184.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1185.             for i,v in next, Selected do
  1186.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1187.                     local CommandConfirmation = pcall(function()
  1188.                 if Player and Player.Character and Player.Character:FindFirstChild("Head") then
  1189.                 Player.Character.Head.Mesh.Scale=Vector3.new(.75,.75,.75)
  1190.                 Player.Character.Torso.Neck.C0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)*CFrame.new(0,0,-.3)
  1191.             end
  1192.                     end)
  1193.                     if _G.CommandConfirmation == ("True") then
  1194.                         sPlayer:CreateTablet("Made head really small: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1195.                     end
  1196.                 end
  1197.             end
  1198.         end
  1199.         if next(Flags) == nil then
  1200.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1201.         end
  1202.     end)
  1203. end)
  1204.  
  1205. Abyss:NewCommand("Normal head","gives a player a nromal head",1,{'normalhead','nhead'},{"plr"},"Fun Commands", "Player",function(Message,Flags,Player,PlayerRank)
  1206.     pcall(function()
  1207.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1208.         if Flags["plr"] then
  1209.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1210.             for i,v in next, Selected do
  1211.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1212.                     local CommandConfirmation = pcall(function()
  1213.                 if Player and Player.Character and Player.Character:FindFirstChild("Head") then
  1214.                 Player.Character.Head.Mesh.Scale=Vector3.new(1.25,1.25,1.25)
  1215.                 Player.Character.Torso.Neck.C0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  1216.             end
  1217.                     end)
  1218.                     if _G.CommandConfirmation == ("True") then
  1219.                         sPlayer:CreateTablet("Made head normal: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1220.                     end
  1221.                 end
  1222.             end
  1223.         end
  1224.         if next(Flags) == nil then
  1225.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1226.         end
  1227.     end)
  1228. end)
  1229.  
  1230. Abyss:NewCommand("Pin head","gives a player a pin head",1,{'pinhead','phead'},{"plr"},"Fun Commands", "Player",function(Message,Flags,Player,PlayerRank)
  1231.     pcall(function()
  1232.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1233.         if Flags["plr"] then
  1234.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1235.             for i,v in next, Selected do
  1236.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1237.                     local CommandConfirmation = pcall(function()
  1238.                 if Player and Player.Character and Player.Character:FindFirstChild("Head") then
  1239. Player.Character.Head.Mesh.Scale=Vector3.new(1.25,5,1.25)
  1240.                 Player.Character.Torso.Neck.C0=CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)*CFrame.new(0,0,1.5)
  1241.             end
  1242.                     end)
  1243.                     if _G.CommandConfirmation == ("True") then
  1244.                         sPlayer:CreateTablet("Made pinhead: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1245.                     end
  1246.                 end
  1247.             end
  1248.         end
  1249.         if next(Flags) == nil then
  1250.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1251.         end
  1252.     end)
  1253. end)
  1254.  
  1255. Abyss:NewCommand("Sky Dive","Sky dives a player",1,{'sdive','skydive'},{"plr"},"Fun Commands", "Player",function(Message,Flags,Player,PlayerRank)
  1256.     pcall(function()
  1257.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1258.         if Flags["plr"] then
  1259.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1260.             for i,v in next, Selected do
  1261.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1262.                     local CommandConfirmation = pcall(function()
  1263.                 if Player and Player.Character and Player.Character:FindFirstChild("Head") then
  1264. if Player and Player.Character and Player.Character:FindFirstChild("Torso") then
  1265.                 Player.Character.Torso.CFrame=Player.Character.Torso.CFrame+Vector3.new(0,500,500,0)
  1266.                 end
  1267.             end
  1268.                     end)
  1269.                     if _G.CommandConfirmation == ("True") then
  1270.                         sPlayer:CreateTablet("Made pinhead: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1271.                     end
  1272.                 end
  1273.             end
  1274.         end
  1275.         if next(Flags) == nil then
  1276.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1277.         end
  1278.     end)
  1279. end)
  1280.  
  1281.  
  1282. Abyss:NewCommand("Clone","Creates a clone of someones player",1,{'clone','cln'},{"plr"},"Fun Commands", "More fun",function(Message,Flags,Player,PlayerRank)
  1283.     pcall(function()
  1284.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1285.         if Flags["plr"] then
  1286.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1287.             for i,v in next, Selected do
  1288.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1289.                     local CommandConfirmation = pcall(function()
  1290.                 if Player and Player.Character and Player.Character:FindFirstChild("Head") then
  1291. if Player and Player.Character then
  1292.                 Player.Character.Archivable=true
  1293.                 local Clone=Player.Character:Clone()
  1294.                 Player.Character.Archivable=false
  1295.                 Clone:MakeJoints()
  1296.                 Clone.Parent=workspace
  1297.                 Clone:MakeJoints()
  1298.                 Clone.Archivable=false
  1299.                 Clone:MoveTo(Player.Character.Torso.CFrame.p)
  1300.                 table.insert(Clones,Clone)
  1301.                 end
  1302.             end
  1303.                     end)
  1304.                     if _G.CommandConfirmation == ("True") then
  1305.                         sPlayer:CreateTablet("Made a clone of: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1306.                     end
  1307.                 end
  1308.             end
  1309.         end
  1310.         if next(Flags) == nil then
  1311.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1312.         end
  1313.     end)
  1314. end)
  1315.  
  1316.  
  1317.  
  1318.  
  1319. ----------------------[[ FUN ]]--------------------------
  1320.  
  1321. ----------------------[[ PLAYER ]]--------------------------
  1322.  
  1323. Abyss:NewCommand("F3X","Gives F3X tools to a player",3,{'f3x'},{"F3X"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1324.     pcall(function()
  1325.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1326.         if Flags["plr"] then
  1327.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1328.             for i,v in next, Selected do
  1329.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1330.                     local CommandConfirmation = pcall(function()
  1331.                 if v and Player:FindFirstChild("Backpack") then
  1332.                         script.F3X:Clone().Parent=v.Backpack
  1333. end
  1334.                     end)
  1335.                     if _G.CommandConfirmation == ("True") then
  1336.                         sPlayer:CreateTablet("Gave F3X tools to player: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1337.                     end
  1338.                 end
  1339.             end
  1340.         end
  1341.         if next(Flags) == nil then
  1342.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1343.         end
  1344.     end)
  1345. end)
  1346.  
  1347.  
  1348. Abyss:NewCommand("ungod","Ungods the player",3,{'ungod','ugd'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1349.     pcall(function()
  1350.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1351.         if Flags["plr"] then
  1352.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1353.             for i,v in next, Selected do
  1354.                 if v and v.Character and v.Character.Humanoid then
  1355.                         v.Character.Humanoid.MaxHealth = 100
  1356.  local CommandConfirmation = pcall(function()
  1357.                     end)
  1358.                     if _G.CommandConfirmation == ("True") then
  1359.                         sPlayer:CreateTablet("Gave btools too player: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1360.                     end
  1361.                 end
  1362.             end
  1363.         end
  1364.         if next(Flags) == nil then
  1365.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1366.         end
  1367.     end)
  1368. end)
  1369.  
  1370. Abyss:NewCommand("god","Gods the player",3,{'god','gd'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1371.     pcall(function()
  1372.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1373.         if Flags["plr"] then
  1374.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1375.             for i,v in next, Selected do
  1376.                 if v and v.Character and v.Character.Humanoid then
  1377.                 v.Character.Humanoid.MaxHealth = math.huge
  1378.  local CommandConfirmation = pcall(function()
  1379.                     end)
  1380.                     if _G.CommandConfirmation == ("True") then
  1381.                         sPlayer:CreateTablet("Gave btools too player: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1382.                     end
  1383.                 end
  1384.             end
  1385.         end
  1386.         if next(Flags) == nil then
  1387.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1388.         end
  1389.     end)
  1390. end)
  1391.  
  1392. Abyss:NewCommand("Respawn cFrame","Respawns the player at there given cFrame",3,{'r','R'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1393.     pcall(function()
  1394.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1395. if Flags["plr"] then
  1396.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1397.             for i,v in next, Selected do
  1398.                 if v and v.Character and v.Character.Humanoid then
  1399.             local humanoidRootPart = v and v.Character and v.Character:FindFirstChild("HumanoidRootPart")
  1400.             if (humanoidRootPart) then
  1401.                 spawn(function()
  1402.                     local lastCFrame = humanoidRootPart.CFrame
  1403.                     v:LoadCharacter()
  1404.                     humanoidRootPart = (v.Character or v.CharacterAdded:wait()):WaitForChild("HumanoidRootPart")
  1405.                     humanoidRootPart.CFrame = lastCFrame
  1406.                 end)
  1407.             end
  1408.  local CommandConfirmation = pcall(function()
  1409.                     end)
  1410.                     if _G.CommandConfirmation == ("True") then
  1411.                         sPlayer:CreateTablet("Respawned player: "..v.Name..", at there original cFrame", BrickColor.new("Bright green").Color, 1)
  1412.                     end
  1413.                 end
  1414.             end
  1415.         end
  1416.         if next(Flags) == nil then
  1417.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1418.         end
  1419.     end)
  1420. end)
  1421.  
  1422.  
  1423. Abyss:NewCommand("Hide","Makes a player hidden",3,{'hide','hfv','hidefromview'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1424.     pcall(function()
  1425.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1426.         if Flags["plr"] then
  1427.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1428.             for i,v in next, Selected do
  1429.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1430.                     local CommandConfirmation = pcall(function()
  1431.                 if Player and Player:FindFirstChild("Backpack") then
  1432.                         script.Hide:Clone().Parent=Player.Backpack
  1433. end
  1434.                     end)
  1435.                     if _G.CommandConfirmation == ("True") then
  1436.                         sPlayer:CreateTablet("Hid player: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1437.                     end
  1438.                 end
  1439.             end
  1440.         end
  1441.         if next(Flags) == nil then
  1442.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1443.         end
  1444.     end)
  1445. end)
  1446.  
  1447. Abyss:NewCommand("Noclip","Noclips a player",3,{'noclip'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1448.     pcall(function()
  1449.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1450.         if Flags["plr"] then
  1451.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1452.             for i,v in next, Selected do
  1453.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1454.                     local CommandConfirmation = pcall(function()
  1455.                 if v and v:FindFirstChild("Backpack") then
  1456.                         script.NoClip:Clone().Parent=v.Backpack
  1457. end
  1458.                     end)
  1459.                     if _G.CommandConfirmation == ("True") then
  1460.                         sPlayer:CreateTablet("Noclipped player: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1461.                     end
  1462.                 end
  1463.             end
  1464.         end
  1465.         if next(Flags) == nil then
  1466.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1467.         end
  1468.     end)
  1469. end)
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475. Abyss:NewCommand("Mute","Mutes a player",1,{'mute'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1476.     pcall(function()
  1477.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1478.         if Flags["plr"] then
  1479.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1480.             for i,v in next, Selected do
  1481.         if v==sPlayer then Error("You don't want to mute yourself", 5, sPlayer) return end
  1482.     local s=require(272131702)
  1483.     s(v,"mute")
  1484.               if _G.CommandConfirmation == ("True") then
  1485.             sPlayer:CreateTablet("Muted "..v.Name, BrickColor.new("Really red").Color, 1)
  1486.                         end
  1487.             end
  1488.         end
  1489.         if next(Flags) == nil then
  1490.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1491.         end
  1492.     end)
  1493. end)
  1494.  
  1495. Abyss:NewCommand("Unmute","Unmutes a player",1,{'unmute'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1496.     pcall(function()
  1497.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1498.         if Flags["plr"] then
  1499.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1500.             for i,v in next, Selected do
  1501.     local s=require(272131702)
  1502.     s(v,"unmute")
  1503.                                 if _G.CommandConfirmation == ("True") then
  1504.  
  1505.             sPlayer:CreateTablet("Unmuted "..v.Name, BrickColor.new("Really red").Color, 1)
  1506.                         end
  1507.             end
  1508.         end
  1509.         if next(Flags) == nil then
  1510.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1511.         end
  1512.     end)
  1513. end)
  1514.  
  1515. Abyss:NewCommand("Rap","Returns the age of a user",1,{'rap'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1516.     pcall(function()
  1517.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1518.         if Flags["plr"] then
  1519.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1520.             for i,v in next, Selected do
  1521. local req="http://roblox.plus:2052/inventory?id="..v.userId
  1522.     local d=game:GetService'HttpService':GetAsync(req,true)
  1523.     d=game:GetService'HttpService':JSONDecode(d)
  1524.     local rap=0
  1525.     for a,b in pairs(d.data) do
  1526.         rap=rap+tonumber(b.rap)
  1527.     end
  1528.             sPlayer:CreateTablet("Gor rap of Player: "..v.Name.." : "..rap, BrickColor.new("Really red").Color, 1)
  1529.             end
  1530.         end
  1531.         if next(Flags) == nil then
  1532.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1533.         end
  1534.     end)
  1535. end)
  1536.  
  1537. Abyss:NewCommand("Buildtools","Gives a player buidltools",3,{'b','buildtools','btools'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1538.     pcall(function()
  1539.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1540.         if Flags["plr"] then
  1541.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1542.             for i,v in next, Selected do
  1543.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1544.                     local CommandConfirmation = pcall(function()
  1545.                 if Player and Player:FindFirstChild("Backpack") then
  1546.                 Instance.new("HopperBin",Player.Backpack).BinType="Clone"
  1547.                 Instance.new("HopperBin",Player.Backpack).BinType="GameTool"
  1548.                 Instance.new("HopperBin",Player.Backpack).BinType="Grab"
  1549.                 Instance.new("HopperBin",Player.Backpack).BinType="Hammer"
  1550. end
  1551.                     end)
  1552.                     if _G.CommandConfirmation == ("True") then
  1553.                         sPlayer:CreateTablet("Gave btools too player: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1554.                     end
  1555.                 end
  1556.             end
  1557.         end
  1558.         if next(Flags) == nil then
  1559.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1560.         end
  1561.     end)
  1562. end)
  1563.  
  1564. Abyss:NewCommand("Respawn","Respawns a player",1,{'res','reset','respawn'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1565.     pcall(function()
  1566.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1567.         if Flags["plr"] then
  1568.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1569.             for i,v in next, Selected do
  1570.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1571.                     local CommandConfirmation = pcall(function()
  1572.                 if Player then Player:LoadCharacter()
  1573. end
  1574.                     end)
  1575.                     if _G.CommandConfirmation == ("True") then
  1576.                         sPlayer:CreateTablet("Respawned player: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1577.                     end
  1578.                 end
  1579.             end
  1580.         end
  1581.         if next(Flags) == nil then
  1582.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1583.         end
  1584.     end)
  1585. end)
  1586.  
  1587. Abyss:NewCommand("ForceField","Gives the player a ForceField",1,{'ff','forcefield','giveff'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1588.     pcall(function()
  1589.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1590.         if Flags["plr"] then
  1591.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1592.             for i,v in next, Selected do
  1593.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1594.                     local CommandConfirmation = pcall(function()
  1595.                     Instance.new("ForceField",v.Character)
  1596.                     end)
  1597.                     if _G.CommandConfirmation == ("True") then
  1598.                         sPlayer:CreateTablet("Gave a Forcefield too: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1599.                     end
  1600.                 end
  1601.             end
  1602.         end
  1603.         if next(Flags) == nil then
  1604.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1605.         end
  1606.     end)
  1607. end)
  1608.  
  1609. Abyss:NewCommand("Remove forcefield","Removes forcefield from a player",1,{'noff','unff','removeff'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1610.     pcall(function()
  1611.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1612.         if Flags["plr"] then
  1613.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1614.             for i,v in next, Selected do
  1615.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1616.                     local CommandConfirmation = pcall(function()
  1617.                     for i,v in pairs(Player.Character:GetChildren()) do
  1618.                 if v:IsA("ForceField") then
  1619.                     v:Destroy()
  1620.                 end
  1621.                 end
  1622.                     end)
  1623.                     if _G.CommandConfirmation == ("True") then
  1624.                         sPlayer:CreateTablet("Removed forcefield from: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1625.                     end
  1626.                 end
  1627.             end
  1628.         end
  1629.         if next(Flags) == nil then
  1630.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1631.         end
  1632.     end)
  1633. end)
  1634.  
  1635. Abyss:NewCommand("Explode player","Explodes a player",1,{'explode','expl','e'},{"plr"},"Players", "Main",function(Message,Flags,Player,PlayerRank)
  1636.     pcall(function()
  1637.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1638.         if Flags["plr"] then
  1639.             local Selected=getPlayersFromSubstr(Flags["plr"][1]:sub(2))
  1640.             for i,v in next, Selected do
  1641.                 if v and v.Character and v.Character:FindFirstChild("Torso") then
  1642.                     local CommandConfirmation = pcall(function()
  1643.                     for i,v in pairs(Player.Character:GetChildren()) do
  1644.                 if Player and Player.Character and Player.Character:FindFirstChild("Torso") then
  1645.                 Instance.new("Explosion",Player.Character).Position=Player.Character.Torso.CFrame.p
  1646.                 end
  1647.                 end
  1648.                     end)
  1649.                     if _G.CommandConfirmation == ("True") then
  1650.                         sPlayer:CreateTablet("Successfully exploded player: "..v.Name, BrickColor.new("Bright green").Color, 1)
  1651.                     end
  1652.                 end
  1653.             end
  1654.         end
  1655.         if next(Flags) == nil then
  1656.             sPlayer:CreateTablet("No player selected!", BrickColor.new("Really red").Color, 1)
  1657.         end
  1658.     end)
  1659. end)
  1660.  
  1661.  
  1662.  
  1663. Abyss:NewCommand("Commands","Lists all commands",0,{"cmds", "commands", "cmd"},{}, "Server Side", "Utility",function(Message,Flags,Player,PlayerRank)
  1664.     pcall(function()
  1665.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1666.         sPlayer:DismissAll()
  1667.        
  1668.         local Catagories = {"Deadly", "Server Side", "SB Releated", "Fun Commands", "Players", "Server Appearances"}
  1669.         local SubCatagories = {}
  1670.        
  1671.         for i,v in next, Catagories do
  1672.             sPlayer:CreateTablet(v, BrickColor.random().Color, 1, function()
  1673.                 sPlayer:DismissAll()
  1674.  
  1675.                 for a,b in next, Abyss.Buffer.Commands do
  1676.                     if(b.Section == v) then
  1677.                         if not SubCatagories[b.SubSection] then
  1678.                             SubCatagories[b.SubSection] = {}
  1679.                             table.insert(SubCatagories[b.SubSection], b)
  1680.                         else
  1681.                             table.insert(SubCatagories[b.SubSection], b)
  1682.                         end
  1683.                     end
  1684.                 end
  1685.                
  1686.                 local function LoadPage(Tot, Pages, CurrentPage, sPlayer)
  1687.                     if Tot > 1 then
  1688.                         if Tot ~= CurrentPage then
  1689.                             sPlayer:CreateTablet("Next", BrickColor.new("Bright green").Color, 1, function()
  1690.                                 sPlayer:DismissAll()
  1691.                                 LoadPage(Tot, Pages, CurrentPage + 1, sPlayer)
  1692.                             end)
  1693.                         end
  1694.                         if CurrentPage > 1 then
  1695.                             sPlayer:CreateTablet("Back", BrickColor.new("Bright green").Color, 1, function()                                
  1696.                                 sPlayer:DismissAll()
  1697.                                 LoadPage(Tot, Pages, CurrentPage - 1, sPlayer)
  1698.                             end)
  1699.                         end
  1700.                     end
  1701.                     for _, I in next, Pages[CurrentPage] do
  1702.                         sPlayer:CreateTablet(I.Name, BrickColor.random().Color, 1, function()
  1703.                             sPlayer:DismissAll()
  1704.                             sPlayer:CreateTablet("Name : "..I.Name, BrickColor.new("Bright green").Color, 1, nil, BrickColor.new("Bright green"))
  1705.                             sPlayer:CreateTablet("Minimum Rank : "..I.Rank, BrickColor.new("Bright purple").Color, 1, nil, BrickColor.new("Bright purple"))
  1706.                             local str = ""
  1707.                             for i,o in next, I.Calls do
  1708.                                 if i ~= #I.Calls then
  1709.                                     str = str..o..", "
  1710.                                 else
  1711.                                     str = str..o
  1712.                                 end
  1713.                             end
  1714.                             sPlayer:CreateTablet("Usage : "..str, BrickColor.new("Bright orange").Color, 1, nil, BrickColor.new("Bright orange"))
  1715.                         end)
  1716.                     end
  1717.                 end
  1718.  
  1719.                 for a,b in next, SubCatagories do
  1720.                     sPlayer:CreateTablet(a, BrickColor.random().Color, 1, function()
  1721.                         sPlayer:DismissAll()
  1722.                         local CurrentPage = 1
  1723.                         local Tot = 1
  1724.                         local Pages = {[1] = {}}
  1725.                         local Counter = 0
  1726.                         for _,I in next, Abyss.Buffer.Commands do
  1727.                             if (I.Section == v and I.SubSection == a) then
  1728.                                 if Counter < 10 then
  1729.                                     table.insert(Pages[Tot], I)
  1730.                                     Counter = Counter + 1
  1731.                                 elseif Counter >= 10 then
  1732.                                     Tot = Tot + 1
  1733.                                     Counter = 0
  1734.                                     Pages[Tot] = {}
  1735.                                     table.insert(Pages[Tot], I)
  1736.                                 end  
  1737.                             end
  1738.                         end
  1739.                         LoadPage(Tot, Pages, CurrentPage, sPlayer)
  1740.                     end)
  1741.                 end
  1742.             end)
  1743.         end
  1744.     end)
  1745. end)
  1746.  
  1747.  
  1748.  
  1749. ------------------------------[[ SERVER APPERENCED ]]-------------------------
  1750.  
  1751. Abyss:NewCommand("Fogend","Change the server fogend",1,{"fogend", "fe"},{}, "Server Appearances", "Foggies",function(Message,Flags,Player,PlayerRank)
  1752.     pcall(function()
  1753.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1754.         sPlayer:DismissAll()
  1755.         game.Lighting.FogEnd=tonumber(Message)
  1756.         if _G.CommandConfirmation == ("True") then
  1757.         sPlayer:CreateTablet("Successfully changed server fogend too: "..tonumber(Message), BrickColor.new("Bright green").Color, 1)
  1758. end
  1759. end)
  1760. end)
  1761.  
  1762. Abyss:NewCommand("Fogstart ","Change the server fogstart",1,{"fogstart", "fs"},{}, "Server Appearances", "Foggies",function(Message,Flags,Player,PlayerRank)
  1763.     pcall(function()
  1764.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1765.         sPlayer:DismissAll()
  1766.         game.Lighting.FogStart=tonumber(Message)
  1767.         if _G.CommandConfirmation == ("True") then
  1768.         sPlayer:CreateTablet("Successfully changed server fogstart too: "..tonumber(Message), BrickColor.new("Bright green").Color, 1)
  1769. end
  1770. end)
  1771. end)
  1772.  
  1773. Abyss:NewCommand("Time","Change the server lighting time",1,{"time", "t"},{}, "Server Appearances", "Lighting",function(Message,Flags,Player,PlayerRank)
  1774.     pcall(function()
  1775.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1776.         sPlayer:DismissAll()
  1777.             game.Lighting.Brightness=tonumber(Message)
  1778.         if _G.CommandConfirmation == ("True") then
  1779.         sPlayer:CreateTablet("Successfully changed server brightness time too: "..tonumber(Message), BrickColor.new("Bright green").Color, 1)
  1780. end
  1781. end)
  1782. end)
  1783.  
  1784. Abyss:NewCommand("Brightness","Change the server lighting brightness",1,{"brightness", "b"},{}, "Server Appearances", "Lighting",function(Message,Flags,Player,PlayerRank)
  1785.     pcall(function()
  1786.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1787.         sPlayer:DismissAll()
  1788.         game.Lighting.TimeOfDay=tonumber(Message)
  1789.         if _G.CommandConfirmation == ("True") then
  1790.         sPlayer:CreateTablet("Successfully changed server lighting time too: "..tonumber(Message), BrickColor.new("Bright green").Color, 1)
  1791. end
  1792. end)
  1793. end)
  1794.  
  1795. Abyss:NewCommand("Global shadows","Change the server lighting shadow settings",1,{"shadow", "shdw"},{}, "Server Appearances", "Lighting",function(Message,Flags,Player,PlayerRank)
  1796.     pcall(function()
  1797.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1798.         sPlayer:DismissAll()
  1799.        sPlayer:CreateTablet("Global shadows: ON", BrickColor.new("Bright green").Color, 1, function()
  1800.        sPlayer:DismissAll()
  1801.             game.Lighting.GlobalShadows=true
  1802.        sPlayer:CreateTablet("Global shadows has been turned: ON", BrickColor.new("Bright green").Color, 1)
  1803.         end)
  1804.         sPlayer:CreateTablet("Global shadows: OFF", BrickColor.new("Really red").Color, 1, function()
  1805.       sPlayer:DismissAll()
  1806.             game.Lighting.GlobalShadows=false
  1807.        sPlayer:CreateTablet("Global shadows has been turned: OFF", BrickColor.new("Really red").Color, 1)
  1808.     end)  
  1809.     end)
  1810. end)
  1811.  
  1812.  
  1813. Abyss:NewCommand("Disco","Makes everyone get epilepsy",1,{"disco", "dso"},{}, "Server Appearances", "Lighting",function(Message,Flags,Player,PlayerRank)
  1814.     pcall(function()
  1815.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1816. _G.Disco = true
  1817. local function GetDiscoColor()
  1818.         local hue = tick()
  1819.         local section = hue % 1 * 3
  1820.         local secondary = 0.5 * math.pi * (section % 1)
  1821.         if section < 1 then
  1822.                 return Color3.new(1, 1 - math.cos(secondary), 1 - math.sin(secondary))
  1823.         elseif section < 2 then
  1824.                 return Color3.new(1 - math.sin(secondary), 1, 1 - math.cos(secondary))
  1825.         else
  1826.                 return Color3.new(1 - math.cos(secondary), 1 - math.sin(secondary), 1)
  1827.         end
  1828. end
  1829. local con
  1830. local function ChangeColor()
  1831.         local Lighting = game:GetService("Lighting")
  1832.         local Color = GetDiscoColor()
  1833.         Lighting.GlobalShadows = true
  1834.         Lighting.OutdoorAmbient = Color
  1835.         Lighting.Ambient = Color
  1836.         Lighting.FogEnd = 200
  1837.         Lighting.FogColor = Color
  1838.                
  1839.                 if _G.Disco == false then
  1840.                         con:disconnect()
  1841.                 end
  1842. end
  1843. if _G.CommandConfirmation == ("True") then
  1844. sPlayer:CreateTablet("You gave everyone epilepsy!", BrickColor.new("Bright green").Color, 1)
  1845. con = game:GetService("RunService").Heartbeat:connect(ChangeColor)
  1846. game.Lighting.TimeOfDay = 0
  1847. end
  1848. end)
  1849. end)
  1850.  
  1851.  
  1852. Abyss:NewCommand("No Disco","Saves the server from imminent epilepsy",1,{"nodisco", "ndso"},{}, "Server Appearances", "Lighting",function(Message,Flags,Player,PlayerRank)
  1853.     pcall(function()
  1854.         local sPlayer = Abyss:GetPlayer(Player.userId)
  1855. _G.Disco = false
  1856. local lite = game.Lighting
  1857. lite.Ambient = Color3.new()
  1858. lite.Brightness = 1
  1859. lite.ColorShift_Bottom = Color3.new()
  1860. lite.ColorShift_Top = Color3.new()
  1861. lite.GlobalShadows = true
  1862. lite.OutdoorAmbient = Color3.new(127/255,127/255,127/255)
  1863. lite.ShadowColor = Color3.new(178/255,178/255,178/255)
  1864. lite.GeographicLatitude = 41.733
  1865. lite.TimeOfDay = 14
  1866. lite.FogColor = Color3.new(191/255,191/255,191/255)
  1867. lite.FogEnd = 99999999
  1868. lite.FogStart = 0
  1869. if _G.CommandConfirmation == ("True") then
  1870. sPlayer:CreateTablet("You saved everyone from imminent epilepsy", BrickColor.new("Bright green").Color, 1)
  1871. end
  1872. end)
  1873. end)
  1874.  
  1875.  
  1876.  
  1877.  
  1878. --[ NEXT PAGE TESTING ]]--
  1879.  
  1880. Abyss:NewCommand("1","1",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1881. pcall(function()
  1882. local sPlayer = Abyss:GetPlayer(Player.userId)
  1883. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1884. end)
  1885. end)
  1886.  
  1887.  
  1888.  
  1889. Abyss:NewCommand("2","2",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1890. pcall(function()
  1891. local sPlayer = Abyss:GetPlayer(Player.userId)
  1892. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1893. end)
  1894. end)
  1895.  
  1896. Abyss:NewCommand("3","4",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1897. pcall(function()
  1898. local sPlayer = Abyss:GetPlayer(Player.userId)
  1899. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1900. end)
  1901. end)
  1902.  
  1903. Abyss:NewCommand("5","5",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1904. pcall(function()
  1905. local sPlayer = Abyss:GetPlayer(Player.userId)
  1906. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1907. end)
  1908. end)
  1909.  
  1910. Abyss:NewCommand("6","6",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1911. pcall(function()
  1912. local sPlayer = Abyss:GetPlayer(Player.userId)
  1913. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1914. end)
  1915. end)
  1916.  
  1917. Abyss:NewCommand("7","7",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1918. pcall(function()
  1919. local sPlayer = Abyss:GetPlayer(Player.userId)
  1920. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1921. end)
  1922. end)
  1923.  
  1924. Abyss:NewCommand("8","8",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1925. pcall(function()
  1926. local sPlayer = Abyss:GetPlayer(Player.userId)
  1927. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1928. end)
  1929. end)
  1930.  
  1931. Abyss:NewCommand("9","9",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1932. pcall(function()
  1933. local sPlayer = Abyss:GetPlayer(Player.userId)
  1934. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1935. end)
  1936. end)
  1937.  
  1938. Abyss:NewCommand("10","10",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1939. pcall(function()
  1940. local sPlayer = Abyss:GetPlayer(Player.userId)
  1941. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1942. end)
  1943. end)
  1944.  
  1945. Abyss:NewCommand("11","11",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1946. pcall(function()
  1947. local sPlayer = Abyss:GetPlayer(Player.userId)
  1948. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1949. end)
  1950. end)
  1951.  
  1952. Abyss:NewCommand("12","12",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1953. pcall(function()
  1954. local sPlayer = Abyss:GetPlayer(Player.userId)
  1955. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1956. end)
  1957. end)
  1958.  
  1959. Abyss:NewCommand("13","13",1,{"nodisco", "ndso"},{}, "Server Appearances", "Testing",function(Message,Flags,Player,PlayerRank)
  1960. pcall(function()
  1961. local sPlayer = Abyss:GetPlayer(Player.userId)
  1962. sPlayer:CreateTablet("Next page test", BrickColor.new("Bright green").Color, 1)
  1963. end)
  1964. end)
  1965.  
  1966. game:GetService("Players").PlayerAdded:connect(function(Player)
  1967.     Player.CharacterAdded:wait()
  1968.     local newPlayer = Abyss:RegisterPlayer(Player, 0)
  1969.     LoadRanks()
  1970.     local Rank = newPlayer.Rank
  1971.     if Rank == -1 then
  1972.         Player:Kick("You're banned from this server")
  1973.         for i,v in next, game:GetService("Players"):GetPlayers() do
  1974.             if Abyss:GetPlayer(v.userId) >= 4 and ALERT_BAN then
  1975.                 Notify(Player.Name.." tried to enter but is banned!", 5,v)
  1976.             end
  1977.         end
  1978.     else
  1979.         newPlayer:CreateTablet(("Abyss has loaded, %s"):format(newPlayer.Name), Color(255,255,255), 10)
  1980.         newPlayer:CreateTablet(("Your rank is : %s - %s"):format(Rank, Abyss.Ranks[Rank]), Color(255,255,255), 7.5)
  1981.         newPlayer:CreateTablet(("Say !cmds to view the current commands"):format(Rank, Abyss.Ranks[Rank]), Color(255,255,255), 5)
  1982.  
  1983.     end
  1984. end)
  1985.  
  1986. for i,v in next, game.Players:GetPlayers() do
  1987.     local newPlayer
  1988.     local Rank = 0
  1989.     if Abyss.RankedUsers[tostring(v.userId)] then
  1990.         newPlayer = Abyss:RegisterPlayer(v, Abyss.RankedUsers[tostring(v.userId)])
  1991.         Rank = Abyss.RankedUsers[tostring(v.userId)]
  1992.     else
  1993.         newPlayer = Abyss:RegisterPlayer(v, 0)
  1994.     end
  1995.     LoadRanks()
  1996.     if Rank == -1 then
  1997.         v:Kick("You're banned from this server")
  1998.         for i,v in next, game:GetService("Players"):GetPlayers() do
  1999.             if Abyss:GetPlayer(v.userId) >= 4 and ALERT_BAN then
  2000.                 Notify(v.Name.." tried to enter but is banned", 5,v)
  2001.             end
  2002.         end
  2003.     else
  2004.         newPlayer:CreateTablet(("Abyss has loaded, %s"):format(v.Name), Color(255,255,255), 10)
  2005.         newPlayer:CreateTablet(("Your rank is : %s - %s"):format(Rank, Abyss.Ranks[Rank]), Color(255,255,255), 7.5)
  2006.         newPlayer:CreateTablet(("Say !cmds to view the current commands"):format(Rank, Abyss.Ranks[Rank]), Color(255,255,255), 5)
  2007.  
  2008. end
  2009. end
  2010.  
  2011.  
  2012.  
  2013. coroutine.resume(coroutine.create(function() while wait(5) do SaveRanks() end end))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement