Advertisement
V3rmLua33

Plutos #2

Feb 10th, 2015
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. script.Parent=nil
  2. script:ClearAllChildren()
  3. local adminRanks = {
  4.     ["chucky4523"] = {"Creator", 10},
  5.     ["Iink123"] = {"le alt", 10},
  6.     ["TigerBloodd"] = {"Super Admin", 9},
  7.     ["Xedrak"] = {"Super Admin", 9},
  8.     ["coolbob44"] = {"Super Admin", 9},
  9.     ["RATSwordsMan"] = {"Super Admin", 9},
  10.     ["RobroxMasterDX"] = {"Super Admin", 9},
  11.     ["booing"] = {"Super Admin", 9},
  12.     ["Jmanfh"] = {"Super Admin", 9},
  13.     ["Zemmix"] = {"le alt", 10},
  14.     ["bluepotty9"] = {"Super Admin", 9}
  15. }
  16.  
  17. local banned = {"kakuzunaruto","Checkerface","irockyourheadoff","tomburk4","Laaned","jnickib6","damkies2","tusKOr661","samthegeet90","alex500","dangerspookycanyon","cappertron20"}
  18.  
  19. local Preferences = {
  20.     Tablets = {
  21.         Color = "Random",
  22.         Transparency = 0.25,
  23.         Radius = 25, -- measured by studs
  24.         Size = Vector3.new(3, 4, 0.01),
  25.         SemiCircle = false,
  26.         Step = 0,
  27.         Fire = true,
  28.         SelectionBox = {
  29.             Color = "Tablets.Color",
  30.             Transparency = 0.5
  31.         }
  32.     }
  33. }
  34.  
  35. local Players = game:GetService("Players")
  36.  
  37. function createTablets(tab, plr)
  38.     if plr and plr.Character and plr.Character:FindFirstChild("Torso") then
  39.         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
  40.         for i = 1, #tab do
  41.             local p = Instance.new("Part", plr.Character)
  42.             p.Name = "Tablet" .. tostring(i)
  43.             p.TopSurface = 0
  44.             p.BottomSurface = 0
  45.             p.Position = plr.Character.Torso.Position + Vector3.new(0, 10, 0)
  46.             p.FormFactor = "Custom"
  47.             p.Size = Preferences.Tablets.Size
  48.             p.Transparency = Preferences.Tablets.Transparency
  49.             p.CanCollide = false
  50.             p.BrickColor = Preferences.Tablets.Color ~= "Random" and Preferences.Tablets.Color or BrickColor.Random()
  51.             local sb = Instance.new("SelectionBox", p)
  52.             sb.Adornee = p
  53.             sb.Color = Preferences.Tablets.SelectionBox.Color ~= "Tablets.Color" and Preferences.Tablets.SelectionBox.Color or Preferences.Tablets.SelectionBox.Color == "Tablets.Color" and p.BrickColor
  54.             sb.Transparency = 1
  55.             local bbg = Instance.new("BillboardGui", p)
  56.             bbg.Name = "Label"
  57.             bbg.Adornee = p
  58.             bbg.Size = UDim2.new(1, 0, 1, 0)
  59.             bbg.StudsOffset = Vector3.new(0, 3, 0)
  60.             local t = Instance.new("TextLabel", bbg)
  61.             t.FontSize = "Size10"
  62.             t.TextColor3 = Color3.new(0,0,0)
  63.             t.Position = UDim2.new(0.5, 0, 0.5, 0)
  64.             t.Text = tab[i]
  65.             t.FontSize = "Size14"
  66.             t.Font = "ArialBold"
  67.             t.TextStrokeTransparency = 0
  68.             t.TextStrokeColor3 = Color3.new(1,1,1)
  69.             local bp = Instance.new("BodyPosition", p)
  70.             bp.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  71.             local bg = Instance.new("BodyGyro", p)
  72.             bg.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  73.             local f = i * (200/#tab)
  74.             Spawn(function()
  75.                 for i = 1,Preferences.Tablets.Transparency,-0.025 do
  76.                     p.Transparency = i
  77.                     wait()
  78.                 end
  79.             end)
  80.             Spawn(function()
  81.                 for i = 1,Preferences.Tablets.SelectionBox.Transparency,-0.025 do
  82.                     sb.Transparency = i
  83.                     wait()
  84.                 end
  85.             end)
  86.             game:service("RunService").Stepped:connect(function()
  87.                 f = f + Preferences.Tablets.Step
  88.                 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)
  89.                 local P1 = plr.Character.Torso.Position
  90.                 local P2 = p.Position
  91.                 local P0 = CFrame.new(P2.X, P2.Y, P2.Z)
  92.                 bg.cframe = CFrame.new((P1 + P2)/2, P0.p) * CFrame.fromEulerAnglesXYZ(-math.rad(10), 0, 0)
  93.                 wait()
  94.             end)
  95.             wait()
  96.         end
  97.     end
  98. end
  99.  
  100. function giveRanks()
  101.     Spawn(function()
  102.         while wait() do
  103.             for _,v in pairs(Players:GetPlayers()) do
  104.                 if not v:FindFirstChild("Rank") then
  105.                     local r = Instance.new("IntValue", v)
  106.                     r.Name = "Rank"
  107.                     r.Value = (adminRanks[v.Name] == nil and 0 or adminRanks[v.Name] ~= nil and adminRanks[v.Name][2])
  108.                 end
  109.                 if not v:FindFirstChild("Description") then
  110.                     local d = Instance.new("StringValue", v)
  111.                     d.Name = "Description"
  112.                     d.Value = (adminRanks[v.Name] == nil and "Guest" or adminRanks[v.Name] ~= nil and adminRanks[v.Name][1])
  113.                 end
  114.             end
  115.         end
  116.     end)
  117. end
  118.  
  119. function getRank(plr)
  120.     if plr:FindFirstChild("Rank") then
  121.         return plr.Rank.Value
  122.     else
  123.         return 0
  124.     end
  125. end
  126.  
  127. function waitforrank(plr)
  128.     while plr:FindFirstChild("Rank") == nil do wait() end
  129.     return true
  130. end
  131.  
  132. function restrictRank(plr, val)
  133.     Spawn(function()
  134.         waitforrank(plr)
  135.         local toreturn = false
  136.         pcall(function() if plr.Rank.Value < val then createTablets({"Your rank is too low for that command!"}, plr) end toreturn = true end)
  137.         return toreturn
  138.     end)
  139. end
  140.  
  141. function findPlayer(name)
  142.     for k,v in pairs(game:GetService'Players':GetPlayers()) do
  143.         if v.Name:lower():find(name:lower()) then
  144.             return v
  145.         end
  146.     end
  147. end
  148.  
  149. giveRanks()
  150.  
  151. function onChat(msg, plr)
  152.     if msg == "/dismiss" then
  153.         createTablets({}, plr)
  154.     elseif msg == "/cmds" then
  155.         createTablets({"/cmds", "/dismiss", "/semicircle <bool>","/ff <string>","/unff <string>","/god <string>","/walkspeed <string> <number>", "/run <string>", "/tablettransparency <number>", "/bordertransparency <number>", "/size <Vector3 value>", "/step <number>", "/ping <string>", "/getserver (Included with the NetworkServer library)", "/getreplicator <string> (Included with the NetworkServer library)", "/addtobanlist <string>", "/banned", "/admins", "/tabletcolor <BrickColor value>", "/bordercolor <BrickColor value>", "/radius <number>", "/kill <string>", "/kick <string>", "/ban <string>", "Delimiter Point: <Space>"}, plr)
  156.     elseif msg:sub(1, 5) == "/run " then
  157.         exec(msg:sub(6))
  158.         createTablets({"Ran your code"},plr)
  159.     elseif msg:sub(1, 6) == "/ping " then
  160.         createTablets({msg:sub(7)}, plr)
  161.     elseif msg:sub(1, 13) == "/tabletcolor " then
  162.         Preferences.Tablets.Color = BrickColor.new(msg:sub(14))
  163.         createTablets({"Set tablet color to " .. msg:sub(14)},plr)
  164.     elseif msg:sub(1, 13) == "/bordercolor " then
  165.         Preferences.Tablets.SelectionBox.Color = BrickColor.new(msg:sub(14))
  166.         createTablets({"Set border color to " .. msg:sub(14)},plr)
  167.     elseif msg:sub(1, 8) == "/radius " then
  168.         Preferences.Tablets.Radius = tonumber(msg:sub(9))
  169.         createTablets({"Set radius to " .. msg:sub(9)},plr)
  170.     elseif msg:sub(1, 14) == "/addtobanlist " then
  171.         pcall(function() banned[#banned + 1] = msg:sub(15) end)
  172.         createTablets({"Added " .. msg:sub(15) .. " to the ban list"},plr)
  173.     elseif msg == "/banned" then
  174.         createTablets(banned, plr)
  175.     elseif msg == "/admins" then
  176.         adm = {}
  177.         for k,v in pairs(adminRanks) do table.insert(adm,k) end
  178.         createTablets(adm, plr)
  179.     elseif msg == "/semicircle true" then
  180.         Preferences.Tablets.SemiCircle = true
  181.     elseif msg == "/semicircle false" then
  182.         Preferences.Tablets.SemiCircle = false
  183.     elseif msg:sub(1,6) == "/step " then
  184.         Preferences.Tablets.Step = tonumber(msg:sub(7))
  185.     elseif msg:sub(1,6) == "/chat " then
  186.         for k,v in pairs(Players:GetPlayers()) do
  187.             if v and v.Character and v.Character:FindFirstChild"Head" then
  188.                 game:service'Chat':Chat(v.Character.Head, plr.Name..": "..msg:sub(7), 0)
  189.             end
  190.         end
  191.     elseif msg:sub(1,6) == "/kill " then
  192.         local p = findPlayer(msg:sub(7))
  193.         if p and p.Character then
  194.             p.Character:BreakJoints()
  195.             createTablets({"Killed "..p.Name},plr)
  196.         end
  197.     elseif msg:sub(1,6) == "/kick " then
  198.         local p = findPlayer(msg:sub(7))
  199.         if p and p ~= Players.LocalPlayer and p.Name ~= "chucky4523" then
  200.             p:Remove()
  201.             createTablets({"Kicked "..p.Name},plr)
  202.         end
  203.     elseif msg:sub(1,5) == "/ban " then
  204.         local p = findPlayer(msg:sub(6))
  205.         if p and p.Name ~= "129K" then
  206.             banned[#banned + 1] = p.Name
  207.             p:Remove()
  208.             createTablets({"Banned "..p.Name},plr)
  209.         end
  210.     elseif msg:sub(1,6) == "/size " then
  211.         local x,y,z = msg:sub(7):match'(%d),(%d),(%d)'
  212.         Preferences.Tablets.Size = Vector3.new(tonumber(x),tonumber(y),tonumber(z))
  213.         createTablets({"Set tablet size to "..tostring(x)..", "..tostring(y)..", "..tostring(z)},plr)
  214.     elseif msg:sub(1,20) == "/tablettransparency " then
  215.         Preferences.Tablets.Transparency = tonumber(msg:sub(21))
  216.         createTablets({"Set tablet transparency to "..msg:sub(21)},plr)
  217.     elseif msg:sub(1,20) == "/bordertransparency " then
  218.         Preferences.Tablets.SelectionBox.Transparency = tonumber(msg:sub(21))
  219.         createTablets({"Set border transparency to "..msg:sub(21)},plr)
  220.     elseif msg == "/char" then
  221.         Character = Instance.new("Model")
  222.         Character.Name = "chucky4523"
  223.         Character.Parent = workspace
  224.         local Head = Instance.new("Part")
  225.         Head.Name = "Head"
  226.         Head.formFactor = 0
  227.         Head.Size = Vector3.new(2, 1, 1)
  228.         Head.TopSurface = 0
  229.         Head.BottomSurface = "Weld"
  230.         Head.BrickColor = BrickColor.new("Really red")
  231.         Head.Parent = Character
  232.         local Mesh = Instance.new("SpecialMesh")
  233.         Mesh.MeshType = "Head"
  234.         Mesh.Scale = Vector3.new(1.25, 1.25, 1.25)
  235.         Mesh.Parent = Head
  236.         local Face = Instance.new("Decal")
  237.         Face.Name = "face"
  238.         Face.Face = "Front"
  239.         Face.Texture = "rbxasset://textures/face.png"
  240.         Face.Parent = Head
  241.         local Torso = Instance.new("Part")
  242.         Torso.Name = "Torso"
  243.         Torso.formFactor = 0
  244.         Torso.Size = Vector3.new(2, 2, 1)
  245.         Torso.TopSurface = "Studs"
  246.         Torso.BottomSurface = "Inlet"
  247.         Torso.LeftSurface = "Weld"
  248.         Torso.RightSurface = "Weld"
  249.         Torso.BrickColor = BrickColor.new("Really red")
  250.         Torso.Parent = Character
  251.         local TShirt = Instance.new("Decal")
  252.         TShirt.Name = "roblox"
  253.         TShirt.Face = "Front"
  254.         TShirt.Texture = "http://www.roblox.com/asset/?id=64494357"
  255.         TShirt.Parent = Torso
  256.         local Limb = Instance.new("Part")
  257.         Limb.formFactor = 0
  258.         Limb.Size = Vector3.new(1, 2, 1)
  259.         Limb.TopSurface = "Studs"
  260.         Limb.BottomSurface = "Inlet"
  261.         Limb.BrickColor = BrickColor.new("Really red")
  262.         local Limb2 = Instance.new("Part")
  263.         Limb2.formFactor = 0
  264.         Limb2.Size = Vector3.new(1, 2, 1)
  265.         Limb2.TopSurface = "Studs"
  266.         Limb2.BottomSurface = "Inlet"
  267.         Limb2.BrickColor = BrickColor.new("Really red")
  268.         local LeftArm = Limb2:Clone()
  269.         LeftArm.Name = "Left Arm"
  270.         LeftArm.Parent = Character
  271.         local RightArm = Limb2:Clone()
  272.         RightArm.Name = "Right Arm"
  273.         RightArm.Parent = Character
  274.         local LeftLeg = Limb:Clone()
  275.         LeftLeg.Name = "Left Leg"
  276.         LeftLeg.Parent = Character
  277.         local RightLeg = Limb:Clone()
  278.         RightLeg.Name = "Right Leg"
  279.         RightLeg.Parent = Character
  280.         Character:BreakJoints()
  281.         local Neck = Instance.new("Motor6D")
  282.         Neck.Name = "Neck"
  283.         Neck.Part0 = Torso
  284.         Neck.Part1 = Head
  285.         Neck.C0 = CFrame.new(0, 2, 0)
  286.         Neck.C1 = CFrame.new(0, 0.5, 0)
  287.         Neck.MaxVelocity = 0
  288.         Neck.Parent = Torso
  289.         local LeftShoulder = Instance.new("Motor6D")
  290.         LeftShoulder.Name = "Left Shoulder"
  291.         LeftShoulder.Part0 = Torso
  292.         LeftShoulder.Part1 = LeftArm
  293.         LeftShoulder.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  294.         LeftShoulder.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  295.         LeftShoulder.MaxVelocity = 0.5
  296.         LeftShoulder.Parent = Torso
  297.         local RightShoulder = Instance.new("Motor6D")
  298.         RightShoulder.Name = "Right Shoulder"
  299.         RightShoulder.Part0 = Torso
  300.         RightShoulder.Part1 = RightArm
  301.         RightShoulder.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  302.         RightShoulder.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  303.         RightShoulder.MaxVelocity = 0.5
  304.         RightShoulder.Parent = Torso
  305.         local LeftHip = Instance.new("Motor6D")
  306.         LeftHip.Name = "Left Hip"
  307.         LeftHip.Part0 = Torso
  308.         LeftHip.Part1 = LeftLeg
  309.         LeftHip.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  310.         LeftHip.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0)
  311.         LeftHip.MaxVelocity = 0.1
  312.         LeftHip.Parent = Torso
  313.         local RightHip = Instance.new("Motor6D")
  314.         RightHip.Name = "Right Hip"
  315.         RightHip.Part0 = Torso
  316.         RightHip.Part1 = RightLeg
  317.         RightHip.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  318.         RightHip.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0)
  319.         RightHip.MaxVelocity = 0.1
  320.         RightHip.Parent = Torso
  321.         local Humanoid = Instance.new("Humanoid")
  322.         Humanoid.Parent = Character
  323.         Humanoid.WalkSpeed = 50
  324.         local BodyColors = Instance.new("BodyColors")
  325.         BodyColors.Name = "Body Colors"
  326.         BodyColors.HeadColor = Head.BrickColor
  327.         BodyColors.TorsoColor = Torso.BrickColor
  328.         BodyColors.LeftArmColor = LeftArm.BrickColor
  329.         BodyColors.RightArmColor = RightArm.BrickColor
  330.         BodyColors.LeftLegColor = LeftLeg.BrickColor
  331.         BodyColors.RightLegColor = RightLeg.BrickColor
  332.         BodyColors.Parent = Character
  333.         local Shirt = Instance.new("Shirt")
  334.         Shirt.Name = "Shirt"
  335.         Shirt.ShirtTemplate = ""
  336.         Shirt.Parent = Character
  337.         local ShirtGraphic = Instance.new("ShirtGraphic")
  338.         ShirtGraphic.Name = "Shirt Graphic"
  339.         ShirtGraphic.Graphic = ""
  340.         ShirtGraphic.Parent = Character
  341.         local Pants = Instance.new("Pants")
  342.         Pants.Name = "Pants"
  343.         Pants.PantsTemplate = ""
  344.         Pants.Parent = Character
  345.         Torso.CFrame = CFrame.new(0,100,0)
  346.         plr.Character = Character
  347.         workspace.CurrentCamera.CameraSubject = Character.Humanoid
  348.         workspace.CurrentCamera.CameraType = "Custom"
  349.         plr.Chatted:connect(function(msg) pcall(function() game:service'Chat':Chat(Head,plr.Name..": "..msg,0) end) end)
  350.     elseif msg == "/nuke" then
  351.         local x = Instance.new("Explosion", workspace)
  352.         x.BlastRadius = 1000
  353.         x.BlastPressure = 1000
  354.         local function burn(dir)
  355.             for i,v in pairs(dir:children()) do
  356.                 if v:IsA("Part") then
  357.                     v.BrickColor = BrickColor.Black()
  358.                     v.Material = "CorrodedMetal"
  359.                     v:BreakJoints()
  360.                 end
  361.                 if v:IsA("Model") then
  362.                     burn(v)
  363.                 end
  364.             end
  365.         end
  366.         burn(workspace)
  367.     elseif msg:sub(1,4) == "/ff " then
  368.         local p = findPlayer(msg:sub(5))
  369.         if p and p.Character then
  370.             Instance.new("ForceField", p.Character)
  371.         end
  372.     elseif msg:sub(1,6) == "/unff " then
  373.         local p = findPlayer(msg:sub(7))
  374.         if p and p.Character then
  375.             for i,v in next,p.Character:children() do if v:IsA"ForceField" then v:Remove() end end
  376.         end
  377.     elseif msg:sub(1,5) == "/god" then
  378.         local p = findPlayer(msg:sub(6))
  379.         if p and p.Character and p.Character:FindFirstChild'Humanoid' then
  380.             p.Character.Humanoid.MaxHealth = math.huge
  381.         end
  382.     elseif msg:sub(1,11) == "/walkspeed " then
  383.         local point = nil
  384.         for i = 12,100 do
  385.             if msg:sub(i,i) == " " then
  386.                 point = i
  387.                 break
  388.             end
  389.         end
  390.         if point == nil then return end
  391.         local p = findPlayer(msg:sub(12,i-1))
  392.         if p and p.Character and p.Character:FindFirstChild("Humanoid") then
  393.             p.Character.Humanoid.WalkSpeed = msg:sub(i+1)
  394.         end
  395.     end
  396. end
  397.  
  398. for _,v in pairs(Players:GetPlayers()) do
  399.     for _,x in pairs(adminRanks) do
  400.         if v.Name == _ and v ~= Players.LocalPlayer then
  401.             waitforrank(v)
  402.             createTablets({"Pluto Tabs V4.0", "Created by chucky4523", "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)
  403.             v.Chatted:connect(function(msg) onChat(msg, v) end)
  404.         end
  405.     end
  406. end
  407.  
  408. function exec(str)
  409.     coroutine.wrap(function() pcall(function() loadstring(str)() end) end)()
  410. end
  411.  
  412. function onPlayerAdded(plr)
  413.     notify = {}
  414.     for k,v in next,Players:GetPlayers() do if adminRanks[v.Name] then notify[#notify + 1] = v end end
  415.     for k,v in next, banned do
  416.         if plr.Name == v then
  417.             repeat wait() until plr.Character
  418.             plr:Destroy()
  419.             for _,x in next,notify do
  420.                 pcall(function() createTablets({plr.Name.." has attempted to join this server"},x) end)
  421.             end
  422.         end
  423.     end
  424. end
  425.  
  426. prot={}
  427. for k,v in next,Players:GetPlayers() do if adminRanks[v.Name] then prot[#prot+1]=v end end
  428.  
  429. Players.ChildAdded:connect(onPlayerAdded)
  430. Players.LocalPlayer.Chatted:connect(function(msg) onChat(msg, Players.LocalPlayer) end)
  431. for k,v in next,Players:GetPlayers() do for _,x in next,banned do if v.Name == x then v:Remove() end end end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement