script.Parent=nil script:ClearAllChildren() local adminRanks = { ["129K"] = {"Creator", 10}, ["Iink123"] = {"le alt", 10}, ["TigerBloodd"] = {"Super Admin", 9}, ["Xedrak"] = {"Super Admin", 9}, ["coolbob44"] = {"Super Admin", 9}, ["RATSwordsMan"] = {"Super Admin", 9}, ["RobroxMasterDX"] = {"Super Admin", 9}, ["booing"] = {"Super Admin", 9}, ["Jmanfh"] = {"Super Admin", 9}, ["Zemmix"] = {"le alt", 10}, ["bluepotty9"] = {"Super Admin", 9} } local banned = {"kakuzunaruto","Checkerface","irockyourheadoff","tomburk4","Laaned","jnickib6","damkies2","tusKOr661","samthegeet90","alex500","dangerspookycanyon","cappertron20"} local Preferences = { Tablets = { Color = "Random", Transparency = 0.25, Radius = 25, -- measured by studs Size = Vector3.new(3, 4, 0.01), SemiCircle = false, Step = 0, Fire = true, SelectionBox = { Color = "Tablets.Color", Transparency = 0.5 } } } local Players = game:GetService("Players") function createTablets(tab, plr) if plr and plr.Character and plr.Character:FindFirstChild("Torso") then for _,v in pairs(plr.Character:GetChildren()) do if string.find(v.Name, "Tablet") and v:IsA("Part") then Spawn(function() for i = v.Transparency, 1, 0.05 do v.Transparency = i v.SelectionBox.Transparency = i wait() end v:Remove() end) end end for i = 1, #tab do local p = Instance.new("Part", plr.Character) p.Name = "Tablet" .. tostring(i) p.TopSurface = 0 p.BottomSurface = 0 p.Position = plr.Character.Torso.Position + Vector3.new(0, 10, 0) p.FormFactor = "Custom" p.Size = Preferences.Tablets.Size p.Transparency = Preferences.Tablets.Transparency p.CanCollide = false p.BrickColor = Preferences.Tablets.Color ~= "Random" and Preferences.Tablets.Color or BrickColor.Random() local sb = Instance.new("SelectionBox", p) sb.Adornee = p sb.Color = Preferences.Tablets.SelectionBox.Color ~= "Tablets.Color" and Preferences.Tablets.SelectionBox.Color or Preferences.Tablets.SelectionBox.Color == "Tablets.Color" and p.BrickColor sb.Transparency = 1 local bbg = Instance.new("BillboardGui", p) bbg.Name = "Label" bbg.Adornee = p bbg.Size = UDim2.new(1, 0, 1, 0) bbg.StudsOffset = Vector3.new(0, 3, 0) local t = Instance.new("TextLabel", bbg) t.FontSize = "Size10" t.TextColor3 = Color3.new(0,0,0) t.Position = UDim2.new(0.5, 0, 0.5, 0) t.Text = tab[i] t.FontSize = "Size14" t.Font = "ArialBold" t.TextStrokeTransparency = 0 t.TextStrokeColor3 = Color3.new(1,1,1) local bp = Instance.new("BodyPosition", p) bp.maxForce = Vector3.new(math.huge, math.huge, math.huge) local bg = Instance.new("BodyGyro", p) bg.maxTorque = Vector3.new(math.huge, math.huge, math.huge) local f = i * (200/#tab) Spawn(function() for i = 1,Preferences.Tablets.Transparency,-0.025 do p.Transparency = i wait() end end) Spawn(function() for i = 1,Preferences.Tablets.SelectionBox.Transparency,-0.025 do sb.Transparency = i wait() end end) game:service("RunService").Stepped:connect(function() f = f + Preferences.Tablets.Step bp.position = Preferences.Tablets.SemiCircle == false and plr.Character.Torso.Position + (Vector3.new(math.sin(f/100 * math.pi), 0, math.cos(f/100 * math.pi)) * Preferences.Tablets.Radius) or plr.Character.Torso.Position + (Vector3.new(math.sin(f/100 * math.pi/2), 0, math.cos(f/100 * math.pi/2)) * Preferences.Tablets.Radius) local P1 = plr.Character.Torso.Position local P2 = p.Position local P0 = CFrame.new(P2.X, P2.Y, P2.Z) bg.cframe = CFrame.new((P1 + P2)/2, P0.p) * CFrame.fromEulerAnglesXYZ(-math.rad(10), 0, 0) wait() end) wait() end end end function giveRanks() Spawn(function() while wait() do for _,v in pairs(Players:GetPlayers()) do if not v:FindFirstChild("Rank") then local r = Instance.new("IntValue", v) r.Name = "Rank" r.Value = (adminRanks[v.Name] == nil and 0 or adminRanks[v.Name] ~= nil and adminRanks[v.Name][2]) end if not v:FindFirstChild("Description") then local d = Instance.new("StringValue", v) d.Name = "Description" d.Value = (adminRanks[v.Name] == nil and "Guest" or adminRanks[v.Name] ~= nil and adminRanks[v.Name][1]) end end end end) end function getRank(plr) if plr:FindFirstChild("Rank") then return plr.Rank.Value else return 0 end end function waitforrank(plr) while plr:FindFirstChild("Rank") == nil do wait() end return true end function restrictRank(plr, val) Spawn(function() waitforrank(plr) local toreturn = false pcall(function() if plr.Rank.Value < val then createTablets({"Your rank is too low for that command!"}, plr) end toreturn = true end) return toreturn end) end function findPlayer(name) for k,v in pairs(game:GetService'Players':GetPlayers()) do if v.Name:lower():find(name:lower()) then return v end end end giveRanks() function onChat(msg, plr) if msg == "/dismiss" then createTablets({}, plr) elseif msg == "/cmds" then createTablets({"/cmds", "/dismiss", "/semicircle ","/ff ","/unff ","/god ","/walkspeed ", "/run ", "/tablettransparency ", "/bordertransparency ", "/size ", "/step ", "/ping ", "/getserver (Included with the NetworkServer library)", "/getreplicator (Included with the NetworkServer library)", "/addtobanlist ", "/banned", "/admins", "/tabletcolor ", "/bordercolor ", "/radius ", "/kill ", "/kick ", "/ban ", "Delimiter Point: "}, plr) elseif msg:sub(1, 5) == "/run " then exec(msg:sub(6)) createTablets({"Ran your code"},plr) elseif msg:sub(1, 6) == "/ping " then createTablets({msg:sub(7)}, plr) elseif msg:sub(1, 13) == "/tabletcolor " then Preferences.Tablets.Color = BrickColor.new(msg:sub(14)) createTablets({"Set tablet color to " .. msg:sub(14)},plr) elseif msg:sub(1, 13) == "/bordercolor " then Preferences.Tablets.SelectionBox.Color = BrickColor.new(msg:sub(14)) createTablets({"Set border color to " .. msg:sub(14)},plr) elseif msg:sub(1, 8) == "/radius " then Preferences.Tablets.Radius = tonumber(msg:sub(9)) createTablets({"Set radius to " .. msg:sub(9)},plr) elseif msg:sub(1, 14) == "/addtobanlist " then pcall(function() banned[#banned + 1] = msg:sub(15) end) createTablets({"Added " .. msg:sub(15) .. " to the ban list"},plr) elseif msg == "/banned" then createTablets(banned, plr) elseif msg == "/admins" then adm = {} for k,v in pairs(adminRanks) do table.insert(adm,k) end createTablets(adm, plr) elseif msg == "/semicircle true" then Preferences.Tablets.SemiCircle = true elseif msg == "/semicircle false" then Preferences.Tablets.SemiCircle = false elseif msg:sub(1,6) == "/step " then Preferences.Tablets.Step = tonumber(msg:sub(7)) elseif msg:sub(1,6) == "/chat " then for k,v in pairs(Players:GetPlayers()) do if v and v.Character and v.Character:FindFirstChild"Head" then game:service'Chat':Chat(v.Character.Head, plr.Name..": "..msg:sub(7), 0) end end elseif msg:sub(1,6) == "/kill " then local p = findPlayer(msg:sub(7)) if p and p.Character then p.Character:BreakJoints() createTablets({"Killed "..p.Name},plr) end elseif msg:sub(1,6) == "/kick " then local p = findPlayer(msg:sub(7)) if p and p ~= Players.LocalPlayer and p.Name ~= "129K" then p:Remove() createTablets({"Kicked "..p.Name},plr) end elseif msg:sub(1,5) == "/ban " then local p = findPlayer(msg:sub(6)) if p and p.Name ~= "129K" then banned[#banned + 1] = p.Name p:Remove() createTablets({"Banned "..p.Name},plr) end elseif msg:sub(1,6) == "/size " then local x,y,z = msg:sub(7):match'(%d),(%d),(%d)' Preferences.Tablets.Size = Vector3.new(tonumber(x),tonumber(y),tonumber(z)) createTablets({"Set tablet size to "..tostring(x)..", "..tostring(y)..", "..tostring(z)},plr) elseif msg:sub(1,20) == "/tablettransparency " then Preferences.Tablets.Transparency = tonumber(msg:sub(21)) createTablets({"Set tablet transparency to "..msg:sub(21)},plr) elseif msg:sub(1,20) == "/bordertransparency " then Preferences.Tablets.SelectionBox.Transparency = tonumber(msg:sub(21)) createTablets({"Set border transparency to "..msg:sub(21)},plr) elseif msg == "/char" then Character = Instance.new("Model") Character.Name = "129K" Character.Parent = workspace local Head = Instance.new("Part") Head.Name = "Head" Head.formFactor = 0 Head.Size = Vector3.new(2, 1, 1) Head.TopSurface = 0 Head.BottomSurface = "Weld" Head.BrickColor = BrickColor.new("Really red") Head.Parent = Character local Mesh = Instance.new("SpecialMesh") Mesh.MeshType = "Head" Mesh.Scale = Vector3.new(1.25, 1.25, 1.25) Mesh.Parent = Head local Face = Instance.new("Decal") Face.Name = "face" Face.Face = "Front" Face.Texture = "rbxasset://textures/face.png" Face.Parent = Head local Torso = Instance.new("Part") Torso.Name = "Torso" Torso.formFactor = 0 Torso.Size = Vector3.new(2, 2, 1) Torso.TopSurface = "Studs" Torso.BottomSurface = "Inlet" Torso.LeftSurface = "Weld" Torso.RightSurface = "Weld" Torso.BrickColor = BrickColor.new("Really red") Torso.Parent = Character local TShirt = Instance.new("Decal") TShirt.Name = "roblox" TShirt.Face = "Front" TShirt.Texture = "http://www.roblox.com/asset/?id=64494357" TShirt.Parent = Torso local Limb = Instance.new("Part") Limb.formFactor = 0 Limb.Size = Vector3.new(1, 2, 1) Limb.TopSurface = "Studs" Limb.BottomSurface = "Inlet" Limb.BrickColor = BrickColor.new("Really red") local Limb2 = Instance.new("Part") Limb2.formFactor = 0 Limb2.Size = Vector3.new(1, 2, 1) Limb2.TopSurface = "Studs" Limb2.BottomSurface = "Inlet" Limb2.BrickColor = BrickColor.new("Really red") local LeftArm = Limb2:Clone() LeftArm.Name = "Left Arm" LeftArm.Parent = Character local RightArm = Limb2:Clone() RightArm.Name = "Right Arm" RightArm.Parent = Character local LeftLeg = Limb:Clone() LeftLeg.Name = "Left Leg" LeftLeg.Parent = Character local RightLeg = Limb:Clone() RightLeg.Name = "Right Leg" RightLeg.Parent = Character Character:BreakJoints() local Neck = Instance.new("Motor6D") Neck.Name = "Neck" Neck.Part0 = Torso Neck.Part1 = Head Neck.C0 = CFrame.new(0, 2, 0) Neck.C1 = CFrame.new(0, 0.5, 0) Neck.MaxVelocity = 0 Neck.Parent = Torso local LeftShoulder = Instance.new("Motor6D") LeftShoulder.Name = "Left Shoulder" LeftShoulder.Part0 = Torso LeftShoulder.Part1 = LeftArm LeftShoulder.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) LeftShoulder.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) LeftShoulder.MaxVelocity = 0.5 LeftShoulder.Parent = Torso local RightShoulder = Instance.new("Motor6D") RightShoulder.Name = "Right Shoulder" RightShoulder.Part0 = Torso RightShoulder.Part1 = RightArm RightShoulder.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) RightShoulder.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) RightShoulder.MaxVelocity = 0.5 RightShoulder.Parent = Torso local LeftHip = Instance.new("Motor6D") LeftHip.Name = "Left Hip" LeftHip.Part0 = Torso LeftHip.Part1 = LeftLeg LeftHip.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) LeftHip.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) LeftHip.MaxVelocity = 0.1 LeftHip.Parent = Torso local RightHip = Instance.new("Motor6D") RightHip.Name = "Right Hip" RightHip.Part0 = Torso RightHip.Part1 = RightLeg RightHip.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) RightHip.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) RightHip.MaxVelocity = 0.1 RightHip.Parent = Torso local Humanoid = Instance.new("Humanoid") Humanoid.Parent = Character Humanoid.WalkSpeed = 50 local BodyColors = Instance.new("BodyColors") BodyColors.Name = "Body Colors" BodyColors.HeadColor = Head.BrickColor BodyColors.TorsoColor = Torso.BrickColor BodyColors.LeftArmColor = LeftArm.BrickColor BodyColors.RightArmColor = RightArm.BrickColor BodyColors.LeftLegColor = LeftLeg.BrickColor BodyColors.RightLegColor = RightLeg.BrickColor BodyColors.Parent = Character local Shirt = Instance.new("Shirt") Shirt.Name = "Shirt" Shirt.ShirtTemplate = "" Shirt.Parent = Character local ShirtGraphic = Instance.new("ShirtGraphic") ShirtGraphic.Name = "Shirt Graphic" ShirtGraphic.Graphic = "" ShirtGraphic.Parent = Character local Pants = Instance.new("Pants") Pants.Name = "Pants" Pants.PantsTemplate = "" Pants.Parent = Character Torso.CFrame = CFrame.new(0,100,0) plr.Character = Character workspace.CurrentCamera.CameraSubject = Character.Humanoid workspace.CurrentCamera.CameraType = "Custom" plr.Chatted:connect(function(msg) pcall(function() game:service'Chat':Chat(Head,plr.Name..": "..msg,0) end) end) elseif msg == "/nuke" then local x = Instance.new("Explosion", workspace) x.BlastRadius = 1000 x.BlastPressure = 1000 local function burn(dir) for i,v in pairs(dir:children()) do if v:IsA("Part") then v.BrickColor = BrickColor.Black() v.Material = "CorrodedMetal" v:BreakJoints() end if v:IsA("Model") then burn(v) end end end burn(workspace) elseif msg:sub(1,4) == "/ff " then local p = findPlayer(msg:sub(5)) if p and p.Character then Instance.new("ForceField", p.Character) end elseif msg:sub(1,6) == "/unff " then local p = findPlayer(msg:sub(7)) if p and p.Character then for i,v in next,p.Character:children() do if v:IsA"ForceField" then v:Remove() end end end elseif msg:sub(1,5) == "/god" then local p = findPlayer(msg:sub(6)) if p and p.Character and p.Character:FindFirstChild'Humanoid' then p.Character.Humanoid.MaxHealth = math.huge end elseif msg:sub(1,11) == "/walkspeed " then local point = nil for i = 12,100 do if msg:sub(i,i) == " " then point = i break end end if point == nil then return end local p = findPlayer(msg:sub(12,i-1)) if p and p.Character and p.Character:FindFirstChild("Humanoid") then p.Character.Humanoid.WalkSpeed = msg:sub(i+1) end end end for _,v in pairs(Players:GetPlayers()) do for _,x in pairs(adminRanks) do if v.Name == _ and v ~= Players.LocalPlayer then waitforrank(v) createTablets({"Tablets++ V2.0.0", "Created by 129K", "Your rank: " .. (v:FindFirstChild("Rank") ~= nil and v.Rank.Value or v:FindFirstChild("Rank") == nil and 0), "Your description: " .. (v:FindFirstChild("Description") ~= nil and v.Description.Value or v:FindFirstChild("Description") == nil and "Guest")}, v) v.Chatted:connect(function(msg) onChat(msg, v) end) end end end function exec(str) coroutine.wrap(function() pcall(function() loadstring(str)() end) end)() end function onPlayerAdded(plr) notify = {} for k,v in next,Players:GetPlayers() do if adminRanks[v.Name] then notify[#notify + 1] = v end end for k,v in next, banned do if plr.Name == v then repeat wait() until plr.Character plr:Destroy() for _,x in next,notify do pcall(function() createTablets({plr.Name.." has attempted to join this server"},x) end) end end end end prot={} for k,v in next,Players:GetPlayers() do if adminRanks[v.Name] then prot[#prot+1]=v end end Players.ChildAdded:connect(onPlayerAdded) Players.LocalPlayer.Chatted:connect(function(msg) onChat(msg, Players.LocalPlayer) end) for k,v in next,Players:GetPlayers() do for _,x in next,banned do if v.Name == x then v:Remove() end end end