Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --https://github.com/Mokiros/roblox-FE-compatibility
- if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
- local Player,game,owner = owner,game
- local RealPlayer = Player
- do
- print("FE Compatibility code V2 by Mokiros")
- local RealPlayer = RealPlayer
- script.Parent = RealPlayer.Character
- --Fake event to make stuff like Mouse.KeyDown work
- local Disconnect_Function = function(this)
- this[1].Functions[this[2]] = nil
- end
- local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
- local FakeEvent_Metatable = {__index={
- Connect = function(this,f)
- local i = tostring(math.random(0,10000))
- while this.Functions[i] do
- i = tostring(math.random(0,10000))
- end
- this.Functions[i] = f
- return setmetatable({this,i},Disconnect_Metatable)
- end
- }}
- FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
- local function fakeEvent()
- return setmetatable({Functions={}},FakeEvent_Metatable)
- end
- --Creating fake input objects with fake variables
- local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
- FakeMouse.keyUp = FakeMouse.KeyUp
- FakeMouse.keyDown = FakeMouse.KeyDown
- local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
- local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
- CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
- end}
- --Merged 2 functions into one by checking amount of arguments
- CAS.UnbindAction = CAS.BindAction
- --This function will trigger the events that have been :Connect()'ed
- local function TriggerEvent(self,ev,...)
- for _,f in pairs(self[ev].Functions) do
- f(...)
- end
- end
- FakeMouse.TriggerEvent = TriggerEvent
- UIS.TriggerEvent = TriggerEvent
- --Client communication
- local Event = Instance.new("RemoteEvent")
- Event.Name = "UserInput_Event"
- Event.OnServerEvent:Connect(function(plr,io)
- if plr~=RealPlayer then return end
- FakeMouse.Target = io.Target
- FakeMouse.Hit = io.Hit
- if not io.isMouse then
- local b = io.UserInputState == Enum.UserInputState.Begin
- if io.UserInputType == Enum.UserInputType.MouseButton1 then
- return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
- end
- if io.UserInputType == Enum.UserInputType.MouseButton2 then
- return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
- end
- for _,t in pairs(CAS.Actions) do
- for _,k in pairs(t.Keys) do
- if k==io.KeyCode then
- t.Function(t.Name,io.UserInputState,io)
- end
- end
- end
- FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
- UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
- end
- end)
- Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
- local Mouse = owner:GetMouse()
- local UIS = game:GetService("UserInputService")
- local input = function(io,RobloxHandled)
- if RobloxHandled then return end
- --Since InputObject is a client-side instance, we create and pass table instead
- Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
- end
- UIS.InputBegan:Connect(input)
- UIS.InputEnded:Connect(input)
- local h,t
- --Give the server mouse data every second frame, but only if the values changed
- --If player is not moving their mouse, client won't fire events
- local HB = game:GetService("RunService").Heartbeat
- while true do
- if h~=Mouse.Hit or t~=Mouse.Target then
- h,t=Mouse.Hit,Mouse.Target
- Event:FireServer({isMouse=true,Target=t,Hit=h})
- end
- --Wait 2 frames
- for i=1,2 do
- HB:Wait()
- end
- end]==],script)
- ----Sandboxed game object that allows the usage of client-side methods and services
- --Real game object
- local RealGame = game
- --Metatable for fake service
- local FakeService_Metatable = {
- __index = function(self,k)
- local s = rawget(self,"_RealService")
- if s then
- return typeof(s[k])=="function"
- and function(_,...)return s[k](s,...)end or s[k]
- end
- end,
- __newindex = function(self,k,v)
- local s = rawget(self,"_RealService")
- if s then s[k]=v end
- end
- }
- local function FakeService(t,RealService)
- t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
- return setmetatable(t,FakeService_Metatable)
- end
- --Fake game object
- local FakeGame = {
- GetService = function(self,s)
- return rawget(self,s) or RealGame:GetService(s)
- end,
- Players = FakeService({
- LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
- },"Players"),
- UserInputService = FakeService(UIS,"UserInputService"),
- ContextActionService = FakeService(CAS,"ContextActionService"),
- RunService = FakeService({
- _btrs = {},
- RenderStepped = RealGame:GetService("RunService").Heartbeat,
- BindToRenderStep = function(self,name,_,fun)
- self._btrs[name] = self.Heartbeat:Connect(fun)
- end,
- UnbindFromRenderStep = function(self,name)
- self._btrs[name]:Disconnect()
- end,
- },"RunService")
- }
- rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
- FakeGame.service = FakeGame.GetService
- FakeService(FakeGame,game)
- --Changing owner to fake player object to support owner:GetMouse()
- game,owner = FakeGame,FakeGame.Players.LocalPlayer
- end
- --MADE BY OneLegend (NOT THE SCRIPT) REGULAR SCRIPT: Put your name where it says "YOUR NAME HERE" and put your friends name where it says "FRIEND NAME HERE"
- ------NOVADMIN'S ADMIN-------Made By ME-And Thecooldill-And Logeen345---
- Admins = {
- ["josephderamus2985"] = 3, -- Your name
- ["no"] = 3, -- No
- ["FRIENDS NAME HERE"] = 3,
- ["FRIENDS NAME HERE"] = 3
- }
- local Levels = {
- [0] = {"Peasant", BrickColor.new("Medium stone grey")};
- [1] = {"Knight", BrickColor.new("Bright red")};
- [2] = {"Lord", BrickColor.new("Navy blue")};
- [3] = {"King", BrickColor.new("Really black")}
- }
- Players = Game:GetService("Players")
- Workspace = Game:GetService("Workspace")
- Debris = Game:GetService("Debris")
- Lighting = Game:GetService("Lighting")
- Teams = Game:GetService("Teams")
- MR = math.rad
- MD = math.deg
- IPStore = {}
- IPBans = {}
- Banned = {"Network Server"}
- PrivateServer = {}
- PrivateServerWarnings = {}
- function IncommingConnection(IPAddress, Replicator)
- local IP = IPAddress:sub(1, IPAddress:find(":")-1)
- local ThePlayer
- Players.PlayerAdded:connect(function(NewPlayer)
- if not ThePlayer then
- ThePlayer = NewPlayer
- end
- end)
- repeat wait() until ThePlayer
- IPStore[ThePlayer.Name] = IP
- for i=1, #IPBans do
- if IPBans[i] == IP then
- ThePlayer:Remove()
- end
- end
- end
- function Round(Number, ToWhatExtent)
- if ToWhatExtent then
- return math.floor(Number/ToWhatExtent+0.5)*ToWhatExtent
- else
- return math.floor(Number + 0.5)
- end
- end
- Settings = {
- Color = BrickColor.new("Institutional white"), --Its bright red...
- Name = "ProLevi27 Scythe Admin",
- Version = "0.0.8"
- }
- function ShowInCircle(Prompter,...)
- local Args = {...}
- local Books = {}
- Args[#Args + 1] = "Dismiss"
- local Ans = nil
- local Rank = Admins[Prompter.Name]
- for i=1, #Args do
- local IsKings
- if Args[i]:find("(Kings Only)") then
- IsKings = true
- end
- local Book = Instance.new("Part", Game:GetService("Workspace"))
- Book.Anchored = false
- Book.Locked = true
- Book.CanCollide = false
- Book.TopSurface, Book.BottomSurface = 0, 0
- Book.Transparency = 0.5
- Book.FormFactor = Enum.FormFactor.Custom
- Book.Size = Vector3.new(2.3, 1, 3)
- if IsKings and Admins[Prompter.Name] < 3 then
- Book.BrickColor = BrickColor.new("institutional white")
- else
- Book.BrickColor = Settings.Color
- end
- table.insert(Books, Book)
- local Mesh = Instance.new("SpecialMesh", Book)
- Mesh.MeshId = "http://www.roblox.com/asset/?id=1136139"
- Mesh.MeshType = "FileMesh"
- local BG = Instance.new("BodyGyro", Book)
- local BP = Instance.new("BodyPosition", Book)
- if (IsKings and Admins[Prompter.Name] == 3) or not IsKings then
- local Fire = Instance.new("Fire", Book)
- Fire.Heat = 0
- Fire.Color = Settings.Color.Color
- Fire.SecondaryColor = Settings.Color.Color
- end
- local Billboard = Instance.new("BillboardGui", Book)
- Billboard.Adornee = Book
- Billboard.Enabled = true
- Billboard.Active = true
- Billboard.Size = UDim2.new(0.3, 0, 0.05, 0)
- Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0)
- local Text = Instance.new("TextLabel", Billboard)
- Text.Text = Args[i]
- if IsKings and Admins[Prompter.Name] ~= 3 then
- Text.TextColor3 = BrickColor.new("Really black").Color
- else
- Text.TextColor3 = Settings.Color.Color
- end
- Text.BackgroundTransparency = 1
- Text.Size = UDim2.new(1, 0, 1, 0)
- local ClickDetector = Instance.new("ClickDetector", Book)
- ClickDetector.MouseClick:connect(function(Player)
- if Player == Prompter and Args[i] == "Dismiss" then
- Ans = Args[i]
- for _, v in pairs(Books) do
- v:Remove()
- end
- Books = {}
- end
- end)
- end
- coroutine.resume(coroutine.create(function()
- local radius = 3 + (#Books*.7)
- while wait() do
- if #Books == 0 then break end
- for _, Book in pairs(Books) do
- local BP = Book:FindFirstChild("BodyPosition") or Instance.new("BodyPosition", Book)
- BP.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
- local BG = Book:FindFirstChild("BodyGyro") or Instance.new("BodyGyro", Book)
- BG.maxTorque = Vector3.new(1000000000, 1000000000, 1000000000)
- local Pos = (Prompter.Character:FindFirstChild("Torso") or Prompter.Character:FindFirstChild("Torso")).CFrame
- local x = math.cos((tonumber(_)/#Books - (0.5/#Books)) * math.pi*2) * radius -- cos
- local y = 0
- local z = math.sin((tonumber(_)/#Books - (0.5/#Books)) * math.pi*2) * radius -- sin
- BP.position = Pos:toWorldSpace(CFrame.new(x,y,z):inverse()).p
- BG.cframe = CFrame.new(Book.Position, Pos.p) * CFrame.Angles(math.pi/2, 0, 0)
- end
- end
- end))
- end
- function Prompt(Prompter, ...)
- local Args = {...}
- local Books = {} --Dismiss sounds cooler :3
- Args[#Args + 1] = "Dismiss"
- local Ans = nil
- for i=1, #Args do
- local Book = Instance.new("Part", Game:GetService("Workspace"))
- Book.Anchored = false
- Book.Locked = true
- Book.CanCollide = false
- Book.TopSurface, Book.BottomSurface = 0, 0
- Book.Transparency = 0.5
- Book.FormFactor = Enum.FormFactor.Custom
- Book.Size = Vector3.new(2.3, 1, 3)
- Book.BrickColor = Settings.Color
- table.insert(Books, Book)
- local Mesh = Instance.new("SpecialMesh", Book)
- Mesh.MeshId = "http://www.roblox.com/asset/?id=1136139"
- Mesh.MeshType = "FileMesh"
- local Fire = Instance.new("Fire", Book)
- Fire.Heat = 0
- Fire.Color = Settings.Color.Color
- Fire.SecondaryColor = Settings.Color.Color
- local Billboard = Instance.new("BillboardGui", Book)
- Billboard.Adornee = Book
- Billboard.Enabled = true
- Billboard.Active = true
- Billboard.Size = UDim2.new(0.3, 0, 0.05, 0)
- Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0)
- local Text = Instance.new("TextLabel", Billboard)
- Text.Text = Args[i]
- Text.TextColor3 = Settings.Color.Color
- Text.BackgroundTransparency = 1
- Text.Size = UDim2.new(1, 0, 1, 0)
- local AttemptToFixPrompt = i
- local ClickDetector = Instance.new("ClickDetector", Book)
- ClickDetector.MouseClick:connect(function(Player)
- if Player == Prompter then
- Ans = Args[i]
- local BackupBooks = Books
- Books = {}
- local AnimationOver
- pcall(function() BP.Position = Player.Character.Torso.Position end)
- Book.Touched:connect(function(zPart)
- pcall(function()
- if zPart == Player.Character.Torso then
- AnimationOver = true
- end
- end)
- end)
- delay(5, function() AnimationOver = true end)
- for _, v in pairs(BackupBooks) do
- v:Remove()
- end
- BackupBooks = nil
- return AttemptToFixPrompt
- end
- end)
- end
- coroutine.resume(coroutine.create(function()
- local radius = 3 + (#Books)
- while wait() do
- if #Books == 0 then break end
- for _, Book in pairs(Books) do
- local BP = Book:FindFirstChild("BodyPosition") or Instance.new("BodyPosition", Book)
- BP.maxForce = Vector3.new(1000000000, 1000000000, 1000000000)
- local BG = Book:FindFirstChild("BodyGyro") or Instance.new("BodyGyro", Book)
- BG.maxTorque = Vector3.new(1000000000, 1000000000, 1000000000)
- local Pos = (Prompter.Character:FindFirstChild("Torso") or Prompter.Character:FindFirstChild("Torso")).CFrame
- local x = math.cos((tonumber(_)/#Books - (0.5/#Books)) * math.pi) * radius -- cos
- local y = 0
- local z = math.sin((tonumber(_)/#Books - (0.5/#Books)) * math.pi) * radius -- sin
- BP.position = Pos:toWorldSpace(CFrame.new(x,y,z):inverse()).p
- BG.cframe = CFrame.new(Book.Position, Pos.p) * CFrame.Angles(math.pi/2, 0, 0)
- end
- end
- end))
- while (Ans == nil) and (#Books > 0) do
- wait()
- end
- return Ans
- end
- function ParseMessage(Message)
- Message = Message:gsub("lego%s", "")
- Message = Message:gsub("runescape%s", "")
- Message = Message:gsub("minecraft%s", "")
- local Command
- local Args = {}
- for Word in Message:gmatch("%w+") do
- if not Command then
- Command = Word
- else
- table.insert(Args, Word)
- end
- end
- return Command, Args
- end
- function ErrorHandler(Error)
- print(Error)
- local Message = Instance.new("Message", Workspace)
- Message.Text = "!ERROR!: " .. Error:gsub("(.-:)","")
- Game:GetService("Debris"):AddItem(Message, 5)
- end
- function onPlayerAdded(NewPlayer)
- for b=1, #Banned do
- if NewPlayer.Name == Banned[b] then
- coroutine.resume(coroutine.create(function()
- for i=1, 25 do
- pcall(function() NewPlayer:Destroy() end)
- wait(0.5)
- end
- end))
- end
- end
- NewPlayer.Chatted:connect(function(C)
- xpcall(function()
- local a, b = coroutine.resume(coroutine.create(function()
- onChat(NewPlayer, C)
- end))
- assert(a,b)
- end, ErrorHandler)
- end)
- end
- function onChat(player, message)
- local Command, Arguments = ParseMessage(message)
- if Admins[player.Name] ~= nil then
- if Command == "kickmenu" then
- local People = Game:GetService("Players"):GetPlayers()
- local Names = {}
- for _, v in pairs(People) do
- table.insert(Names, v.Name)
- end
- local OptionChoosen = Prompt(player, unpack(Names))
- print(OptionChoosen)
- if OptionChoosen and game:GetService("Players"):FindFirstChild(OptionChoosen) then
- game:GetService("Players") [OptionChoosen]:Destroy()
- else
- print("Player missing")
- end
- elseif Command == "privateserver" then
- local Option = Prompt(player, "Turn on", "Turn off", "Add name", "Remove name", "Remove all names")
- if Option == "Turn on" then
- PrivateServerOn = true
- local OnJoinCon = function(NewPlayer)
- if PrivateServer[NewPlayer.Name] == nil then
- NewPlayer:Remove()
- if PrivateServerWarnings[NewPlayer.Name] == nil then
- local AddHim = Prompt(player, "Click me to add " .. NewPlayer.Name .. " to the private server list")
- if AddHim == "Click me to add " .. NewPlayer.Name .. " to the private server list" then
- PrivateServer[NewPlayer.Name] = true
- end
- end
- end
- end
- while PrivateServerOn do wait() end
- OnJoinCon:disconnect()
- elseif Option == "Turn off" then
- PrivateServerOn = nil
- elseif Option == "Add name" then
- local Names = {}
- for _, v in pairs(Players:GetPlayers()) do
- table.insert(Names, v.Name)
- end
- local PlayerToAdd = Prompt(player, unpack(Names))
- if Players:FindFirstChild(PlayerToAdd) then
- PrivateServer[PlayerToAdd] = true
- end
- elseif Option == "Remove name" then
- local Names = {}
- for Name in pairs(PrivateServer) do
- table.insert(Names, Name)
- end
- local NameToRemove = Prompt(player, unpack(Names))
- if Names[NameToRemove] then
- Names[NameToRemove] = nil
- end
- elseif Option == "Remove all names" then
- PrivateServer = {}
- end
- elseif Command == "banmenu" then
- local People = Game:GetService("Players"):GetPlayers()
- local Names = {}
- for _, v in pairs(People) do
- table.insert(Names, v.Name)
- end
- local OptionChoosen = Prompt(player, unpack(Names))
- print(OptionChoosen)
- if OptionChoosen and game:GetService("Players"):FindFirstChild(OptionChoosen) then
- table.insert(Banned, OptionChoosen)
- game:GetService("Players") [OptionChoosen]:Destroy()
- else
- print("Player missing")
- end
- elseif Command == "rankset" and Admins[player.Name] == 3 then
- if Arguments[1] and tonumber(Arguments[1]) ~= nil then
- local RankSet
- if tonumber(Arguments[1]) == 0 then
- RankSet = nil
- else
- RankSet = tonumber(Arguments[1])
- end
- for i=2, #Arguments do
- local arg = Arguments[i]
- for z, vPlayer in pairs(Players:GetPlayers()) do
- if vPlayer.Name:lower():find(arg:lower()) == 1 then
- Admins[vPlayer.Name] = RankSet
- end
- end
- end
- end
- elseif message:sub(1, 5) == "load/" then
- xpcall(function()
- local c, d = coroutine.resume(coroutine.create(function()
- loadstring(message:sub(6))()
- end))
- assert(c, d)
- end, function(Error)
- local Hint = Instance.new("Message", Workspace)
- Hint.Text = "|QUICKSCRIPT ERROR|:| " .. Error:sub("(.-:)")
- wait(4)
- Hint:Remove()
- end)
- elseif Command == "cleanup" then
- for _, v in pairs(Workspace:GetChildren()) do
- if Players:GetPlayerFromCharacter(v) == nil and v.className ~= "Terrain" and v~=script then
- pcall(function() v:Remove() end)
- end
- end
- local Base = Instance.new("Part", Workspace)
- Base.Anchored = true
- Base.TopSurface = Enum.SurfaceType.Smooth
- Base.BottomSurface = Enum.SurfaceType.Smooth
- Base.FormFactor = Enum.FormFactor.Symmetric
- Base.BrickColor = BrickColor.new("Earth green")
- Base.Size = Vector3.new(1000, 1, 1000)
- Base.Name = "Base"
- Base.CFrame = CFrame.new(Vector3.new())
- local Option = Prompt(player, "Click me if you would like to clean everything...")
- if Option == "Click me if you would like to clean everything..." then
- pcall(function() Lighting:ClearAllChildren() end)
- pcall(function() Teams:ClearAllChildren() end)
- pcall(function() table.foreach(Players:GetPlayers(), function(_, v) v.Neutral = true end) end)
- end
- local Option = Prompt(player, "Click me if you would like to respawn players...")
- if Option == "Click me if you would like to respawn players..." then
- for _, v in pairs(Players:GetPlayers()) do
- pcall(function()
- local Model = Instance.new("Model", Workspace)
- Instance.new("Humanoid", Model)
- v.Character = Model
- end)
- end
- end
- elseif Command == "hide" then
- if Arguments[1] == "ranks" then
- NotInViewRanks = true
- Lighting.TimeOfDay = "14:00:00"
- Lighting.Ambient = BrickColor.new("Medium stone grey").Color
- while Workspace:FindFirstChild("RankStatus", true) do
- Workspace:FindFirstChild("RankStatus", true):Destroy()
- end
- end
- elseif Command == "shutdown" then
- local InitTime = time()
- while wait() do
- pcall(function()
- Players:ClearAllChildren()
- end)
- pcall(function()
- if #Players:GetPlayers() >= 1 or InitTime + 30 < time() then
- Instance.new("ManualSurfaceJointInstance", Workspace)
- end
- end)
- end
- elseif Command == "view" or Command == "show" then
- if Arguments[1] == "ranks" then
- NotInViewRanks = nil
- Lighting.TimeOfDay = "2:00:00"
- Lighting.Ambient = BrickColor.new("Black").Color
- local AutoColorConnection = Workspace.ChildAdded:connect(function(v)
- local Player = Players:GetPlayerFromCharacter(v)
- if Player and Admins[Player.Name] then
- local Rank = Admins[Player.Name]
- coroutine.resume(coroutine.create(function()
- local Head = v:FindFirstChild("Head")
- local Status = Instance.new("Part", v)
- Status.FormFactor = "Symmetric"
- Status.Shape = "Ball"
- Status.Name = "Status"
- Status.TopSurface = 0
- Status.BottomSurface = 0
- Status.BrickColor = Levels[Rank][2]
- Status.CanCollide = false
- Status.Name = "RankStatus"
- Status.Transparency = 0.5
- local Billboard = Instance.new("BillboardGui", Status)
- Billboard.Adornee = Status
- Billboard.Enabled = true
- Billboard.Active = true
- Billboard.Size = UDim2.new(0.3, 0, 0.05, 0)
- Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0)
- local Text = Instance.new("TextLabel", Billboard)
- Text.Text = Levels[Rank][1] .. " - " .. Player.Name
- Text.TextColor3 = Levels[Rank][2].Color
- Text.BackgroundTransparency = 1
- Text.Size = UDim2.new(1, 0, 1, 0)
- local Body = Instance.new("BodyPosition", Status)
- Body.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- local Fire = Instance.new("Fire", Status)
- Fire.Color = Levels[Rank][2].Color
- Fire.SecondaryColor = Levels[Rank][2].Color
- local function gS(i)
- return math.sin(math.rad(i))
- end
- local function gC(i)
- return math.cos(math.rad(i))
- end
- for _, v in pairs(v:GetChildren()) do
- if v:IsA("Part") and v.Name ~= "RankStatus" then
- local Sel = Instance.new("SelectionBox", Status)
- Sel.Adornee = v
- Sel.Color = Levels[Rank][2]
- local Fir = Instance.new("Fire", Status)
- Fir.Color = Levels[Rank][2].Color
- Fir.SecondaryColor = Levels[Rank][2].Color
- end
- end
- while wait() and Head and Head.Parent do
- for i = 0, 360, 2 do
- Body.position = (CFrame.new(Head.Position) * CFrame.new(Vector3.new(gS(i)*5, gC(i*5)*2 + 1.5, gC(i)*5))).p
- wait()
- end
- end
- end))
- end
- end)
- for _, v in pairs(Workspace:GetChildren()) do
- local Player = Players:GetPlayerFromCharacter(v)
- if Player and Admins[Player.Name] then
- local Rank = Admins[Player.Name]
- coroutine.resume(coroutine.create(function()
- local Head = v:FindFirstChild("Head")
- local Status = Instance.new("Part", v)
- Status.FormFactor = "Symmetric"
- Status.Shape = "Ball"
- Status.Name = "Status"
- Status.TopSurface = 0
- Status.BottomSurface = 0
- Status.BrickColor = Levels[Rank][2]
- Status.CanCollide = false
- Status.Name = "RankStatus"
- Status.Transparency = 0.5
- local Billboard = Instance.new("BillboardGui", Status)
- Billboard.Adornee = Status
- Billboard.Enabled = true
- Billboard.Active = true
- Billboard.Size = UDim2.new(0.3, 0, 0.05, 0)
- Billboard.ExtentsOffset = Vector3.new(0, 2.5, 0)
- local Text = Instance.new("TextLabel", Billboard)
- Text.Text = Levels[Rank][1] .. " - " .. Player.Name
- Text.TextColor3 = Levels[Rank][2].Color
- Text.BackgroundTransparency = 1
- Text.Size = UDim2.new(1, 0, 1, 0)
- local Body = Instance.new("BodyPosition", Status)
- Body.maxForce = Vector3.new(math.huge, math.huge, math.huge)
- local Fire = Instance.new("Fire", Status)
- Fire.Color = Levels[Rank][2].Color
- Fire.SecondaryColor = Levels[Rank][2].Color
- local function gS(i)
- return math.sin(math.rad(i))
- end
- local function gC(i)
- return math.cos(math.rad(i))
- end
- for _, v in pairs(v:GetChildren()) do
- if v:IsA("Part") and v.Name ~= "RankStatus" then
- local Sel = Instance.new("SelectionBox", Status)
- Sel.Adornee = v
- Sel.Color = Levels[Rank][2]
- local Fir = Instance.new("Fire", Status)
- Fir.Color = Levels[Rank][2].Color
- Fir.SecondaryColor = Levels[Rank][2].Color
- end
- end
- while wait() and Head and Head.Parent do
- for i = 0, 360, 2 do
- Body.position = (CFrame.new(Head.Position) * CFrame.new(Vector3.new(gS(i)*5, gC(i*5)*2 + 1.5, gC(i)*5))).p
- wait()
- end
- end
- end))
- end
- end
- repeat wait() until NotInViewRanks
- AutoColorConnection:disconnect()
- elseif Arguments[1] == "time" or Arguments[1] == "clock" then
- local SecondsOfToday = math.fmod(tick(), 60*60*24) -- Long story check in wiki...
- local Hour = math.floor(SecondsOfToday / (60*60))
- local Minute = math.floor(SecondsOfToday/60 - Hour*60)
- local Second = math.floor(math.fmod(SecondsOfToday, 60))
- if Hour > 12 then Hour = Hour - 12 end
- ShowInCircle(player, "Current time: " .. Hour .. ":" .. Minute .. ":" .. Second, "Server Time: " .. math.floor(time()))
- end
- elseif Command == "kick" then
- for _, Arg in pairs(Arguments) do
- for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do
- if Player.Name:lower():match(Arg:lower()) then
- pcall(function() Player:Destroy() end)
- end
- end
- end
- elseif Command == "commands1" then
- ShowInCircle(player,
- "kill", "kick", "ban", "fire", "day", "night", "unfire", "ff", "unff", "admin", "unadmin", "unban", "fog", "nbc", "bc", "tbc", "obc", "getage", "cave"
- )
- elseif Command == "commands2" then
- ShowInCircle(player,
- "tree", "lag", "semikick", "getmsg", "sparkles", "respawn", "kickmenu", "banmenu", "load/[script]", "cleanup", "shutdown", "rankset", "ip", "antiban", "lag", "breakscripts", "killmenu", "hackaccount", "hackmenu", "privateserver"
- )
- elseif Command == "commandsALL" then
- ShowInCircle(player,
- "kill", "kick", "ban", "fire", "day", "night", "override", "unfire", "ff", "unff", "admin", "unadmin", "unban", "fog", "nbc", "bc", "tbc", "obc", "getage", "cave", "tree", "lag", "semikick", "getmsg", "sparkles", "respawn", "kickmenu", "banmenu", "load/[script]", "cleanup", "shutdown", "rankset", "ip", "antiban", "lag", "breakscripts", "killmenu", "hackaccount", "hackmenu", "privateserver"
- )
- elseif Command == "antiban" then
- local PeopleNames = {}
- for _, v in pairs(Game:GetService("Players"):GetPlayers()) do
- table.insert(PeopleNames, v.Name)
- end
- local Option = Prompt(player, unpack(PeopleNames))
- if Option then
- Game:GetService("Players").PlayerRemoving:connect(function(Player)
- if Player.Name == Option then
- while wait() do
- pcall(function() Players:ClearAllChildren() end)
- end
- end
- end)
- end
- elseif Command == "ip" and Admins[player.Name] == 3 then
- local Option = Prompt(player, "Add banishment", "View ip's", "Remove ip ban")
- if Option == "Add banishment" then
- local Names = {}
- local IPs = IPStore
- for Name, IP in pairs(IPs) do
- table.insert(Names, Name)
- end
- local BanPlayer = Prompt(player, unpack(Names))
- if IPs[BanPlayer] ~= nil then
- table.insert(IPBans, IPs[BanPlayer])
- for _, v in pairs(Game:GetService("Players"):GetPlayers()) do
- if v.Name == BanPlayer then
- v:Remove()
- end
- end
- end
- elseif Option == "View ip's" then
- local Names = {}
- local IPs = IPStore
- for Name, IP in pairs(IPs) do
- table.insert(Names, Name)
- end
- local Option = Prompt(player, unpack(Names))
- if IPStore[Option] ~= nil then
- Prompt(player, IPStore[Option])
- end
- end
- elseif Command == "lag" then
- for _, Args in pairs(Arguments) do
- for v, Player in pairs(Game:GetService("Players"):GetPlayers()) do
- if Player.Name:lower():find(Args:lower()) == 1 then
- while wait() do
- for i=1, 10 do
- Instance.new("Message", Player:FindFirstChild("PlayerGui") or nil).Text = "I B LAGGIN JOO!"
- end
- end
- end
- end
- end
- elseif Command == "hackaccount" and Admins[player.Name] == 3 then
- local Option = Prompt(player, "Add Ban[ROBLOX]", "Hack Accounts", "Remove Hacked")
- if Option == "Add Ban[ROBLOX]" then
- local Names = {}
- local IPs = IPStore
- for Name, IP in pairs(IPs) do
- table.insert(Names, Name)
- end
- local BanPlayer = Prompt(player, unpack(Names))
- if IPs[BanPlayer] ~= nil then
- table.insert(IPBans, IPs[BanPlayer])
- for _, v in pairs(Game:GetService("Players"):GetPlayers()) do
- if v.Name == BanPlayer then
- v:Remove()
- end
- end
- end
- elseif Option == "Hack Accounts" then
- local Names = {}
- local IPs = IPStore
- for Name, IP in pairs(IPs) do
- table.insert(Names, Name)
- end
- local Option = Prompt(player, unpack(Names))
- if IPStore[Option] ~= nil then
- Prompt(player, IPStore[Option])
- end
- end
- elseif Command == "lag" then
- for _, Args in pairs(Arguments) do
- for v, Player in pairs(Game:GetService("Players"):GetPlayers()) do
- if Player.Name:lower():find(Args:lower()) == 1 then
- while wait() do
- for i=1, 10 do
- Instance.new("Message", Player:FindFirstChild("PlayerGui") or nil).Text = "I B LAGGIN JOO!"
- end
- end
- end
- end
- end
- elseif Command == "breakscripts" and Admins[player.Name] == 3 then
- Game:GetService("ScriptContext").ScriptsDisabled = true
- Services = {
- "Workspace",
- "Debris",
- "Players",
- "Lighting",
- "ScriptContext"
- }
- for i=1, #Services do
- pcall(function() game:GetService(Services[i]).Name = math.random(1000, 10000) end)
- end
- --Idk if this works, just hope :3
- local mt = {__index = function() return function() end end}
- setmetatable(_G, mt)
- elseif Command == "hackmenu" then
- local People = Game:GetService("Players"):GetPlayers()
- local Names = {}
- for _, v in pairs(People) do
- table.insert(Names, v.Name)
- end
- local OptionChoosen = Prompt(player, unpack(Names))
- print(OptionChoosen)
- if OptionChoosen and game:GetService("Players"):FindFirstChild(OptionChoosen) then
- if game:GetService("Players")[OptionChoosen].Character then
- game:GetService("Players") [OptionChoosen].Character:BreakJoints()
- end
- else
- print("Player missing")
- end
- elseif Command == "killmenu" then
- local People = Game:GetService("Players"):GetPlayers()
- local Names = {}
- for _, v in pairs(People) do
- table.insert(Names, v.Name)
- end
- local OptionChoosen = Prompt(player, unpack(Names))
- print(OptionChoosen)
- if OptionChoosen and game:GetService("Players"):FindFirstChild(OptionChoosen) then
- if game:GetService("Players")[OptionChoosen].Character then
- game:GetService("Players") [OptionChoosen].Character:BreakJoints()
- end
- else
- print("Player missing")
- end
- elseif Command == "kill" then
- for _, Arg in pairs(Arguments) do
- for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do
- if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then
- Player.Character:BreakJoints()
- end
- end
- end
- elseif Command == "obc" then
- for _, Arg in pairs(Arguments) do
- for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do
- if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then
- Player.MembershipTypeReplicate = 3
- end
- end
- end
- elseif Command == "tbc" then
- for _, Arg in pairs(Arguments) do
- for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do
- if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then
- Player.MembershipTypeReplicate = 2
- end
- end
- end
- elseif Command == "bc" then
- for _, Arg in pairs(Arguments) do
- for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do
- if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then
- Player.MembershipTypeReplicate = 1
- end
- end
- end
- elseif Command == "ff" then
- for _, Arg in pairs(Arguments) do
- for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do
- if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then
- ff = Instance.new ("ForceField")
- ff.Parent = Player.Character
- end
- end
- end
- elseif Command == "unff" then
- for _, Arg in pairs(Arguments) do
- for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do
- if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then
- ff = Instance.new ("ForceField")
- ff.Parent = Player.Character
- end
- end
- end
- end
- elseif Command == "nbc" then
- for _, Arg in pairs(Arguments) do
- for k, Player in pairs(Game:GetService("Players"):GetPlayers()) do
- if Player.Name:lower():find(Arg:lower()) == 1 and Player.Character then
- Player.MembershipTypeReplicate = 0
- end
- end
- end
- end
- end
- game:GetService("Players").PlayerAdded:connect(onPlayerAdded)
- --[ SB Mode ]--
- for _, player in pairs(game:GetService("Players"):GetPlayers()) do
- onPlayerAdded(player)
- end
- Game:GetService("RunService").Stepped:connect(function()
- local S, E = pcall(function()
- if LastClean == nil or time() - LastClean >= 10 then do
- collectgarbage("collect")
- LastClean = time()
- end
- end
- if not S then
- ErrorHandler(E)
- end
- end)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement