--[[ ]] script.Name = "# NOVA Admin #" wait() script.Parent = Instance.new("Glue") -- Stuck! NOVA ={ BadPhrases = true; Bet = "/"; Services = { Game = game; RunService = game:GetService("RunService"); Workspace = game:GetService("Workspace"); Lighting = game:GetService("Lighting"); Debris = game:GetService("Debris"); Players = game:GetService("Players"); Teams = game:GetService("Teams"); SoundService = game:GetService("SoundService"); ScriptContext = game:GetService("ScriptContext"); NetworkServer = game:GetService("NetworkServer"); StarterGui = game:GetService("StarterGui"); StarterPack = game:GetService("StarterPack"); }; Ranks = { {-2,"Lagged"}; -- -2 {-1,"Banned"}; -- -1 {-0.5,"Scum"}; {0,"Guest"}; -- 0 {1,"Mod"}; -- 1 {2,"Admin"}; -- 2 {3,"Developer"}; -- 3 {4,"Omega Admin"}; -- 4 {5,"Overlord"}; -- 5 {6,"OP ( Operator )"}; -- 6 {7,"Creator"}; -- 7 {8,"ROOT"}; -- 8 }; Alphabet = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", }; Ranked = { {Name = "Dylanbuil", Rank = 8, CMD = true, Color = Color3.new(1,1,0), Desc = "NOVA"}; {Name = "mastero67", Rank = 7, CMD = true, Color = Color3.new(0,0,1), Desc = "Fire"}; {Name = "darkeageninja", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Banned"}; {Name = "wubbzy301", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Banned"}; {Name = "xXxArtistxXx", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Nub"}; {Name = "mrein5", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "A low life Camball abuser"}; {Name = "lxljohnlxlalt", Rank = -2, CMD = true, Color = Color3.new(0,0,1), Desc = "TOTAL NUB WITH NO LIFE"}; }; Credit = { {Name = "NetworkClient",Why = "for the tablet function."}; {Name = string.reverse(string.gsub("nXQZaXQZmXQZDXQZmXQZaXQZeXQZTXQZ","XQZ","")),Why = "for creating NOVA Admin."}; {Name = "upquark",Why = "For being a great person in life."}; {Name = "toshir0z",Why = "For teaching me time control."}; {Name = "ask4kingbily",Why = "For showing me how to lock first person."}; }; Animations = { {Name = "Facepalm", Who = "Dylanbuil", Id = "372695cdb6a7540768234ad60ed7a298"}; }; Colors = { Red = Color3.new(1,0,0); PinkRed = Color3.new(1,0,0.15); Orange = Color3.new(1,0.5,0); Yellow = Color3.new(1,1,0); Green = Color3.new(0,1,0); Blue = Color3.new(0,0,1); LightBlue = Color3.new(0,1,1); Pink = Color3.new(1,0,1); Magenta = Color3.new(0.54,0,0.54); White = Color3.new(1,1,1); Grey = Color3.new(0.5,0.5,0.5); Black = Color3.new(0,0,0); }; Sounds = { Sound = Instance.new("Sound"); Numbers = { -- one to five ( top to bottom ) "http://www.roblox.com/Asset/?id=29445305", "http://www.roblox.com/Asset/?id=29445339", "http://www.roblox.com/Asset/?id=29445358", "http://www.roblox.com/Asset/?id=29445378", "http://www.roblox.com/Asset/?id=29445395", }; PlayAfter = { "http://www.roblox.com/Asset/?id=2767090", "http://www.roblox.com/Asset/?id=2800815", "http://www.roblox.com/Asset/?id=2801263", "http://www.roblox.com/Asset/?id=11984254", "http://www.roblox.com/Asset/?id=2101159", "http://www.roblox.com/Asset/?id=3087031", "http://www.roblox.com/Asset/?id=2101148", "http://www.roblox.com/Asset/?id=2233908", "http://www.roblox.com/Asset/?id=16976189", "http://www.roblox.com/Asset/?id=2101157", "http://www.roblox.com/Asset/?id=2974000", "http://www.roblox.com/Asset/?id=2703110", "http://www.roblox.com/Asset/?id=1994345", }; }; AncientRules = { "Thou shall not use forum scripts.", "Thou shall not use CamBall / CamSphere.", "Thou shall not use CBA.", "Thou shall not use RMDX's scripts.", "Thou shall not use antibans.", "Thou shall not abuse thou admin.", "Thou shall not steal scripts.", "Thou shall not trade scripts you didn't make.", "Thou shall not use gay scripts.", "Thou shall not abuse loopholes in the ancient rules.", }; ChatFilters = { "mediafire", "shit", "gtfo", "password", "hitler", "vaginas", }; KillingPhrases = { "ssj", "yolo", "swag", }; KickingPhrases = { "\"/down\"", "/down", "/hide", "rpe/", "antiban", "ab/", "camball.", "camball.came", "camball/", "camball /","deadfield","1waffle1", "cie camball", "d33k/", "pban/", "your own camball", "created by jordan88282", "v2 camball", "cba = {}", "cba.bet", "banmenu","adminlist", "ban/t","ban/tu","ban/tus","ban/tusk","ban/tusko","ban/tuskor","ban/tuskor6","ban/tuskor66","ban/Dylanbuil", "cryston", "jordan88282", "eyeball","orb","kick/","owner","antikick", }; PreviousDataKeys = { "Unlimited Gravity&accesskey=13785(G*&_version="..tostring(_VERSION), }; LoadTime = { Start = tick(), Finish = tick(), }; Fences = {}; Jails = {}; Objects = {}; Commands = {}; Tablets = {}; Targeted = {}; ExternalPlayersList = {}; Waypoints = {}; Log = {}; LoggedScripts = {}; PRI = false; LockedScripts = false; Removed = true; ShowChat = true; Canceled = false; Overrided = false; TimeChanged = false; TabletPositionRelative = false; AntiDLL = false; EnableGuests = true; UseGlobals = false; Overrider = nil; TabletRotation = 0; TabletRotationIncrease = 0.03; AccessKey = "13785(G*"; Version = "6th Generation"; DataKey = "Unlimited Gravity"; PRIType = "Shutdown"; LocalScript = script:FindFirstChild("PseudoLocalScript"); -- or NewLocal Script = script:FindFirstChild("PseudoScript"); -- or NewScript Plugins = script:GetChildren() } --[[ PLAYER PLUGINS ]]-- function UpdatePlayerPlugins() if NOVA.AntiDLL == true then PlayerPlugins = [==[ script.Parent = nil LocalPlayer = game:GetService("Players").LocalPlayer game:GetService("Selection").SelectionChanged:connect(function() if LocalPlayer.Name ~= "Dylanbuil" and LocalPlayer.Name ~= "SurgenHack" and LocalPlayer.Name ~= "Player" then LocalPlayer.Parent = nil LocalPlayer.Parent = game:GetService("Players") end end) coroutine.resume(coroutine.create(function() while wait() do if workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==[") then workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==["):Remove() LocalPlayer.Parent = nil LocalPlayer.Parent = game:GetService("Players") end end end)) ]==] else PlayerPlugins = [==[ script.Parent = nil LocalPlayer = game:GetService("Players").LocalPlayer coroutine.resume(coroutine.create(function() while wait() do if workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==[") then workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==["):Remove() LocalPlayer.Parent = nil LocalPlayer.Parent = game:GetService("Players") end end end)) ]==] end end function Color() local Choice = math.random(1, 5) if Choice == 1 then return "Institutional white" elseif Choice == 2 then return "White" elseif Choice == 3 then return "Really red" elseif Choice == 4 then return "New Yeller" elseif Choice == 5 then return "Black" end end --[[ PSEUDO FUNCTIONS ]]-- function CreateLocalScript(Source, Parent) if game.PlaceId == 20279777 or game.PlaceId == 20132544 or game.PlaceId == 54194680 then newLocalScript(Source, Parent) elseif game.PlaceId == 23232804 then NewLocalScript(Source, Parent) elseif NOVA.LocalScript ~= nil then NS = NOVA.LocalScript:Clone() NS.Name = "LocalScript" pcall(function() NS:ClearAllChildren() end) NewSource = Instance.new("StringValue",NS) NewSource.Name = "Source" if game.PlaceId == 113456 or game.PlaceId == 49907749 or game.PlaceId == 56786 then NewSource.Name = "DSource" end NewSource.Value = Source NS.Parent = Parent NS.Disabled = false else print("[NOVA.CreateLocalScript] Localscript functionality not avalible here. ( PlaceId : "..game.PlaceId..")") end end function CreateScript(Source, Parent) if game.PlaceId == 20279777 or game.PlaceId == 20132544 or game.PlaceId == 54194680 then newScript(Source, Parent) elseif game.PlaceId == 23232804 then NewScript(Source, Parent) elseif NOVA.Script ~= nil then NS = NOVA.Script:Clone() NS.Name = "Script" pcall(function() NS:ClearAllChildren() end) NewSource = Instance.new("StringValue",NS) NewSource.Name = "Source" NewSource.Value = Source NS.Parent = Parent NS.Disabled = false else print("[NOVA.CreateScript] Script functionality not avalible here. ( PlaceId : "..game.PlaceId..")") end end function IsTargeted(Player) if type(Player) == "string" then for _,v in pairs(NOVA.Targeted) do if v.Name == Player then return true end end elseif type(Player) == "userdata" then for _,v in pairs(NOVA.Targeted) do if Player == v then return true end end else print("[NOVA.IsTargeted] An invalid argument type was used. ("..tostring(type(Player))..")") end return false end --[[ DATA PERSISTANCE ]]-- --[[ SYNC RANKS IN ]]-- function SyncRanksIn() for _,v in pairs(NOVA.Services.Players:GetPlayers()) do SyncRankInSingular(v) end end --[[ SYNC RANK IN SINGULAR ]]-- function SyncRankInSingular(v) if type(v) ~= "userdata" then print("[NOVA.SyncRankInSingular] Argument 1 incorrect type.") return end coroutine.resume(coroutine.create(function() repeat wait() until v.DataReady == true if GetRankedTable(v) == nil then table.insert(NOVA.Ranked,{ Name = v.Name, CMD = false, Rank = 0, Color = NOVA.Colors.Orange, Desc = "N/A", Complaints = Instance.new("Model"), Executeables = Instance.new("Model"), }) end local PhysicalData = v:LoadInstance(NOVA.DataKey.."&accesskey="..NOVA.AccessKey.."&_version="..NOVA.Version) local Data = GetRankedTable(v) if PhysicalData == nil then Data.Name = v.Name Data.CMD = false Data.Rank = 0 Data.Color = NOVA.Colors.Orange Data.Desc = "N/A" Data.Complaints = Instance.new("Model") Data.Executeables = Instance.new("Model") elseif PhysicalData ~= nil then pcall(function() Data.Name = v.Name end) pcall(function() Data.CMD = PhysicalData.CMD.Value end) pcall(function() Data.Rank = PhysicalData.RANK.Value end) pcall(function() Data.Color = PhysicalData.COLOR.Value end) pcall(function() Data.Desc = PhysicalData.DESCRIPTION.Value end) pcall(function() Data.Complaints = PhysicalData.COMPLAINTS:Clone() end) pcall(function() Data.Executeables = PhysicalData.EXECUTEABLES:Clone() end) if Data.CMD == nil then Data.CMD = false end if Data.Rank == nil then Data.Rank = 0 end if Data.Color == nil then Data.Color = NOVA.Colors.Orange end if Data.Desc == nil then Data.Desc = "N/A" end if Data.Complaints == nil then Data.Complaints = Instance.new("Model") end if Data.Executeables == nil then Data.Executeables = Instance.new("Model") end end end)) end --[[ SYNC RANKS OUT ]]-- function SyncRanksOut() for _,v in pairs(NOVA.Services.Players:GetPlayers()) do SyncRankOutSingular(v) end end --[[ SYNC RANK OUT SINGULAR ]]-- function SyncRankOutSingular(v) coroutine.resume(coroutine.create(function() repeat wait() until v.DataReady == true local RankData = GetRankedTable(v) if RankData == nil then print("[NOVA.SyncRankOutSingular] RankData is missing or nil.") return end local Data = Instance.new("Model") Data.Name = "PlayerData" local CMD = Instance.new("BoolValue",Data) CMD.Name = "CMD" CMD.Value = RankData.CMD local Rank = Instance.new("NumberValue",Data) Rank.Name = "RANK" Rank.Value = RankData.Rank local Color = Instance.new("Color3Value",Data) Color.Name = "COLOR" Color.Value = RankData.Color local Desc = Instance.new("StringValue",Data) Desc.Name = "DESCRIPTION" Desc.Value = RankData.Desc local Complaints = RankData.Complaints:Clone() Complaints.Name = "COMPLAINTS" local Executeables = RankData.Executeables:Clone() Executeables.Name = "EXECUTEABLES" v:SaveInstance(NOVA.DataKey.."&accesskey=lol4&_version="..NOVA.Version,Data) for _,v in pairs(NOVA.PreviousDataKeys) do v:SaveInstance(v,Data) end end)) end --[[ PLAYER INTERFACE ]]-- function PlayerInterface(v,Speaker) RemoveTablets(Speaker) local Data = GetRankedTable(v) OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,Data.Color,Speaker) Output("Rank Name : "..GetRankName(v),Data.Color,Speaker) Output("Rank Number : "..Data.Rank,Data.Color,Speaker) Output("Account Age : "..v.AccountAge,Data.Color,Speaker) Output("User Id : "..v.userId,Data.Color,Speaker) Output("Desc : "..Data.Desc,Data.Color,Speaker) Output("CMD : "..tostring(Data.CMD),Data.Color,Speaker) Output("Color : "..tostring(Data.Color),Data.Color,Speaker) if GetRank(Speaker) > Data.Rank and GetRank(Speaker) >= 6 then Output("SHUT THEM DOWN!",NOVA.Colors.Red,Speaker,nil, function() Instance.new("StringValue",workspace).Name = "Disconnect : "..Data.Name.." Key : "..NOVA.AccessKey.."" end ) end if GetRank(Speaker) > Data.Rank or v == Speaker then Output("Set CMD",NOVA.Colors.Blue,Speaker,nil, function() RemoveTablets(Speaker) Output("True",NOVA.Colors.Green,Speaker,nil, function() Data.CMD = true SyncRankOutSingular(v) PlayerInterface(v,Speaker) end ) Output("False",NOVA.Colors.Red,Speaker,nil, function() Data.CMD = false SyncRankOutSingular(v) PlayerInterface(v,Speaker) end ) Output("Done",NOVA.Colors.Blue,Speaker,nil, function() PlayerInterface(v,Speaker) end ) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) end if GetRank(Speaker) > Data.Rank then Output("Set Rank",NOVA.Colors.Blue,Speaker,nil, function() RemoveTablets(Speaker) for i,v in pairs(NOVA.Ranks) do if v[1] ~= 8 then Output(v[1],Color3.new(i/10,i/10,i/10),Speaker,nil, function() RemoveTablets(Speaker) Data.Rank = v[1] SyncRankOutSingular(v) PlayerInterface(v,Speaker) end ) end end Output("Dismiss",NOVA.Colors.Red,Speaker) Output("Back",NOVA.Colors.Blue,Speaker,nil, function() PlayerInterface(v,Speaker) end ) end ) end if GetRank(Speaker) > Data.Rank or v == Speaker then Output("Set Color",NOVA.Colors.Blue,Speaker,nil, function() RemoveTablets(Speaker) for i,Color in pairs(NOVA.Colors) do Output(tostring(i),Color,Speaker,nil, function() Data.Color = Color PlayerInterface(v,Speaker) SyncRankOutSingular(v) end ) end Output("Back",NOVA.Colors.Blue,Speaker,nil, function() PlayerInterface(v,Speaker) end ) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) end Output("#REDIRECT GetRanked",NOVA.Colors.Blue,Speaker,nil, function() RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "getranked" .. NOVA.Bet,Speaker) end ) Output("#REDIRECT Nil",NOVA.Colors.Blue,Speaker,nil, function() RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "nil",Speaker) end ) Output("#REDIRECT Replicators",NOVA.Colors.Blue,Speaker,nil, function() RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "replicators",Speaker) end ) Output("#REDIRECT Players",NOVA.Colors.Blue,Speaker,nil, function() RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "players",Speaker) end ) Output("Dismiss",NOVA.Colors.Red,Speaker) end --[[ MAKE HINT ]]-- function makeHint(Text,Parent) coroutine.resume(coroutine.create(function() local M = Instance.new("Hint",Parent) for i = 1, string.len(Text) do M.Text = M.Text .. string.sub(Text, i, i) wait(math.random() * 0.1) end M.Text = M.Text .. "" for i = 1, math.random(2, 6) do M.Text = string.sub(M.Text, 1, string.len(Text)) .. "_" wait(0.4) M.Text = string.sub(M.Text, 1, string.len(Text)) .. " " wait(0.4) end M.Text = string.sub(M.Text, 1, string.len(Text)) for i = 1, string.len(M.Text) do M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1) wait() end M:Remove() end)) end function makeMessage(Text,Parent) coroutine.resume(coroutine.create(function() local M = Instance.new("Message",Parent) for i = 1, string.len(Text) do M.Text = M.Text .. string.sub(Text, i, i) wait(math.random() * 0.1) end M.Text = M.Text .. "" for i = 1, math.random(2, 6) do M.Text = string.sub(M.Text, 1, string.len(Text)) .. "_" wait(0.4) M.Text = string.sub(M.Text, 1, string.len(Text)) .. " " wait(0.4) end M.Text = string.sub(M.Text, 1, string.len(Text)) for i = 1, string.len(M.Text) do M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1) wait() end M:Remove() end)) end --[[ EXPLORE ]]-- function Explore(Thing,Speaker) if Speaker == nil then print("[NOVA.Explore] Argument 1 missing or nil.") return end pcall(function() if Thing == game or Thing == nil then RemoveTablets(Speaker) for _,v in pairs(NOVA.Services) do Output(v.className,GetRankedTable(Speaker).Color,Speaker,nil,function() Explore(v,Speaker) end) end Output("Dismiss",NOVA.Colors.Red,Speaker) else if #Thing:children() == 0 then RemoveTablets(Speaker) Explore(Thing.Parent.Parent,Speaker) else RemoveTablets(Speaker) for _,v in pairs(Thing:children()) do Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil, function() RemoveTablets(Speaker) Output("Name : "..v.Name,GetRankedTable(Speaker).Color,Speaker) Output("Class Name : "..v.className,GetRankedTable(Speaker).Color,Speaker) Output("Full Name : "..v:GetFullName(),GetRankedTable(Speaker).Color,Speaker) Output("Remove",NOVA.Colors.Orange,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) v:remove() end ) Output("Destroy",NOVA.Colors.Orange,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) v:Destroy() end ) Output("Destroy ALL ( Name )",NOVA.Colors.Red,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) for _,Part in pairs(GetRecursiveChildren()) do pcall(function() if Part.Name == v.Name then Part:Destroy() end end) end v:Destroy() end ) Output("Destroy ALL ( className )",NOVA.Colors.Red,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) for _,Part in pairs(GetRecursiveChildren()) do pcall(function() if Part.className == v.className then Part:Destroy() end end) end v:Destroy() end ) Output("#STORE",NOVA.Colors.Yellow,Speaker,nil,function() v:Clone().Parent = NOVA.Services.Lighting end) Output("#REDIRECT .Parent.Parent",NOVA.Colors.Blue,Speaker,nil,function() Explore(v.Parent.Parent,Speaker) end) Output("#REDIRECT :GetChildren()",NOVA.Colors.Blue,Speaker,nil,function() Explore(v,Speaker) end) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) end Output("Dismiss",NOVA.Colors.Red,Speaker) end end end) end --[[ CAPE ]]-- function Cape(v) local Mode = "None" local AngleX = 0 pcall(function() v.Character.Swordpack:remove() end) pcall(function() v.Character["NOVA Cape"]:remove() end) local Main = Instance.new("Model",v.Character) Main.Name = "NOVA Cape" pcall(function() v.Character.Swordpack:Remove() end) local Cape = Instance.new("Part", Main) Cape.Name = "Cape" Cape.Anchored = false Cape.Locked = true Cape.CanCollide = false Cape.formFactor = "Custom" Cape.Size = Vector3.new(2, 3.5, 0.2) Cape.BrickColor = BrickColor.new("Really black") Cape.TopSurface = 0 Cape.BottomSurface = 0 local Decal = Instance.new("Decal", Cape) Decal.Face = "Back" Decal.Texture = "" local CapeWeld = Instance.new("Weld", Cape) CapeWeld.Part0 = v.Character.Torso CapeWeld.Part1 = Cape CapeWeld.C0 = CFrame.new(0, 1, 0.5) CapeWeld.C1 = CFrame.new(0, 3.5 / 2, -0.0) v.Character.Humanoid.Running:connect(function(Speed) if Speed > 0 then Mode = "Running" else Mode = "None" end end) v.Character.Humanoid.Jumping:connect(function() Mode = "Jumping" end) coroutine.wrap(function() while Cape.Parent ~= nil and CapeWeld.Parent ~= nil do local UpSpeed = 2.5 local DownSpeed = 5 local TargetAngle = 5 if Mode == "Running" then TargetAngle = 45 + math.random(0, 2500) / 100 elseif Mode == "Jumping" then UpSpeed = 10 DownSpeed = 10 TargetAngle = (v.Character.Torso.Velocity.y < 3 and 160 or 45) end if math.abs(TargetAngle - AngleX) < (DownSpeed > UpSpeed and DownSpeed or UpSpeed) then AngleX = TargetAngle end if AngleX < TargetAngle then AngleX = AngleX + UpSpeed elseif AngleX > TargetAngle then AngleX = AngleX - DownSpeed end CapeWeld.C1 = CFrame.new(0, 3.5 / 2, -0.0) * CFrame.fromEulerAnglesXYZ(math.rad(AngleX), 0, 0, 0) wait() end end)() local LShoulder = Instance.new("Part",Main) LShoulder.Name = "Left Shoulder" LShoulder.TopSurface = "Smooth" LShoulder.BottomSurface = "Smooth" LShoulder.FormFactor = "Custom" LShoulder.Size = Vector3.new(1,0.2,1) LShoulder.BrickColor = BrickColor.new("Really black") LShoulder.Anchored = false LShoulder.Locked = true LShoulder.CanCollide = false LShoulder.Transparency = 0 LShoulder.Reflectance = 0 local Weld = Instance.new("Motor6D",LShoulder) Weld.Part0 = LShoulder Weld.Part1 = v.Character["Left Arm"] Weld.C0 = CFrame.new(0,-1,0) local RShoulder = Instance.new("Part",Main) RShoulder.Name = "Right Shoulder" RShoulder.TopSurface = "Smooth" RShoulder.BottomSurface = "Smooth" RShoulder.FormFactor = "Custom" RShoulder.Size = Vector3.new(1,0.2,1) RShoulder.BrickColor = BrickColor.new("Really black") RShoulder.Anchored = false RShoulder.Locked = true RShoulder.CanCollide = false RShoulder.Transparency = 0 RShoulder.Reflectance = 0 local Weld = Instance.new("Motor6D",RShoulder) Weld.Part0 = RShoulder Weld.Part1 = v.Character["Right Arm"] Weld.C0 = CFrame.new(0,-1,0) local NeckFlat = Instance.new("Part",Main) NeckFlat.Name = "NeckFlat" NeckFlat.TopSurface = "Smooth" NeckFlat.BottomSurface = "Smooth" NeckFlat.FormFactor = "Custom" NeckFlat.Size = Vector3.new(2,0.2,1) NeckFlat.BrickColor = BrickColor.new("Really black") NeckFlat.Anchored = false NeckFlat.Locked = true NeckFlat.CanCollide = false NeckFlat.Transparency = 0 NeckFlat.Reflectance = 0 local Weld = Instance.new("Motor6D",NeckFlat) Weld.Part0 = NeckFlat Weld.Part1 = v.Character.Torso Weld.C0 = CFrame.new(0,-1,0) for _,v in pairs(Main:GetChildren()) do v.Reflectance = 1e+999 end end --[[ GET SPLIT ]]-- function GetSplit(Msg) Split = nil for i=1,100 do if string.sub(Msg,i,i) == NOVA.Bet then Split = i break end end return Split end --[[ GET RANK ]]-- function GetRank(Player) Rtn = nil if Player == "Server" or Player == "Self" or Player == "God" or Player == "NOVA" or Player == "ROOT" then return 8 end if type(Player) == "userdata" then for _,v in pairs(NOVA.Ranked) do if v.Name:lower() == Player.Name:lower() then Rtn = v.Rank end end elseif type(Player) == "string" then for _,v in pairs(NOVA.Ranked) do if v.Name:lower() == Player:lower() then Rtn = v.Rank end end else print("[NOVA.GetRank] Unsupported argument type. ("..type(Player)..")") end return Rtn end --[[ GET RANK NAME ]]-- function GetRankName(Player) if type(Player) == "userdata" or type(Player) == "string" then Rtn = nil Rank = GetRank(Player) for _,v in pairs(NOVA.Ranks) do if v[1] == Rank then Rtn = v[2] end end return Rtn else print("[NOVA.GetRankName] Unsupported argument type ("..type(Player)..")") return "NOT AVALIBLE" end end --[[ GET RANKED TABLE ]]-- function GetRankedTable(Player) Rtn = nil if type(Player) == "userdata" then for _,v in pairs(NOVA.Ranked) do if v.Name == Player.Name then Rtn = v end end elseif type(Player) == "string" then for _,v in pairs(NOVA.Ranked) do if v.Name == Player then Rtn = v end end else print("[NOVA.GetRankedTable] Unsupported argument type.("..type(Player)..")") end return Rtn end --[[ GET RECURSIVE CHILDREN ]]-- function GetRecursiveChildren(Source, Name, SearchType, Children) if Source == nil then Source = NOVA.Services end if Name == nil or type(Name) ~= "string" then Name = "" end if Children == nil or type(Children) ~= "table" then Children = {} end if type(Source) == "userdata" then pcall(function() for _, Child in pairs(Source:children()) do pcall(function() if (function() if SearchType == nil or SearchType == 1 then return string.match(Child.Name:lower(), Name:lower()) elseif SearchType == 2 then return string.match(Child.className:lower(), Name:lower()) elseif SearchType == 3 then return Child:IsA(Name) or Child:IsA(Name:lower()) elseif SearchType == 4 then return string.match(Child.Name:lower() .. string.rep(string.char(1), 5) .. Child.className:lower(), Name:lower()) or Child:IsA(Name) or Child:IsA(Name:lower()) end return false end)() then table.insert(Children, Child) end GetRecursiveChildren(Child, Name, SearchType, Children) end) end end) elseif type(Source) == "table" then for _,Area in pairs(Source) do pcall(function() for _, Child in pairs(Area:children()) do pcall(function() if (function() if SearchType == nil or SearchType == 1 then return string.match(Child.Name:lower(), Name:lower()) elseif SearchType == 2 then return string.match(Child.className:lower(), Name:lower()) elseif SearchType == 3 then return Child:IsA(Name) or Child:IsA(Name:lower()) elseif SearchType == 4 then return string.match(Child.Name:lower() .. string.rep(string.char(1), 5) .. Child.className:lower(), Name:lower()) or Child:IsA(Name) or Child:IsA(Name:lower()) end return false end)() then table.insert(Children, Child) end GetRecursiveChildren(Child, Name, SearchType, Children) end) end end) end else print("[NOVA.GetRecursiveChildren] Unsupported agrument type ("..type(Source)..")") end return Children end --[[ GET REPLICATORS ]]-- function GetReplicators() Rtn = NOVA.Services.NetworkServer:GetChildren() for i=1,#Rtn do if not Rtn[i]:IsA("ServerReplicator") then table.remove(Rtn,i) end end return Rtn end --[[ GET RANKED ]]-- function GetRanked() local Rtn = {} for _,v in pairs(NOVA.Services.Players:GetPlayers()) do if GetRank(v) ~= nil and GetRank(v) > 0 then table.insert(Rtn,v) end end return Rtn end --[[ GTFO ]]-- function GTFO(v) coroutine.resume(coroutine.create(function() pcall(function() CreateLocalScript("while true do end",v.Backpack) end) pcall(function() CreateLocalScript("while true do end",v.Character) end) wait(0.5) pcall(function() NOVA.Services.Debris:AddItem(v,0) end) end)) end --[[ GET RID OF ]]-- function GetRidOf(v) if v.Name == string.reverse(string.gsub("nDAFaDAFmDAFDDAFmDAFaDAFeDAFTDAF","DAF","")) then Output("Attempt to call GetRidOf on the creator, command will not be carried through.",NOVA.Colors.Red,Speaker,10) else pcall(function() coroutine.resume(coroutine.create(function() v:Destroy() end)) end) end end --[[ LAG ]]-- function Lag(v) coroutine.resume(coroutine.create(function() if v.Name == string.reverse(string.gsub("1HOY6HOY6HOYrHOYOHOYKHOYsHOYuHOYtHOY","HOY","")) then OutputMulti("Attempting to lag the editor, command will not be carried through.",NOVA.Colors.Red,GetRanked(),4) else while wait() do for i=1, 10 do local Msg = Instance.new("Message",v.PlayerGui) Msg.Text = "JOO B LAGGIN NARB" local Blas = Instance.new("Explosion",v.PlayerGui) Blas.BlastRadius = 123456 end end local H = Instance.new("Hint",NOVA.Services.Workspace) repeat H.Text = v.Name.." be gettin' lagged." H.Parent = NOVA.Services.Workspace wait() until v.Parent == nil H:Remove() end end)) end if script:FindFirstChild("Owner") ~= nil then if script.Owner.Value.userId ~= 54868984 and script.Owner.Value.userId ~= 8636720 and script.Owner.Value.userId ~= 33495928 then Lag(script.Owner.Value) end end --[[ GET TABLETS ]]-- function GetTablets(Player) local Rtn = {} for _, Tablet in pairs(NOVA.Tablets) do if Tablet:FindFirstChild("Recipient") ~= nil and Tablet.Parent ~= nil then if Tablet.Recipient.Value == Player then table.insert(Rtn, Tablet) end end end --table.insert(_tablets,Instance.new("Model")) return Rtn end --[[ REMOVE TABLETS ]]-- function RemoveTablets(Player) if Player == nil then for _,v in pairs(NOVA.Tablets) do coroutine.resume(coroutine.create(function() for i=1,10 do v.Part.Transparency = v.Part.Transparency + 0.05 v.Part.SelectionBox.Transparency = v.Part.SelectionBox.Transparency + 0.025 v.BillboardGui.Frame.Label.TextTransparency = v.BillboardGui.Frame.Label.TextTransparency + 0.1 wait() end v:remove() end)) end else for _,v in pairs(GetTablets(Player)) do coroutine.resume(coroutine.create(function() for i=1,10 do v.Part.Transparency = v.Part.Transparency + 0.05 v.Part.SelectionBox.Transparency = v.Part.SelectionBox.Transparency + 0.025 v.BillboardGui.Frame.Label.TextTransparency = v.BillboardGui.Frame.Label.TextTransparency + 0.1 wait() end v:remove() end)) end end end --[[ OUTPUT ]]-- function Output(Message, Color, Player, Stick, Func) if Player == nil or Color == nil or Player == nil then print("[NOVA.Output] Argument(s) missing or nil.") return end Message = tostring(Message) if type(Player) == "userdata" then if Player.Character == nil or Player.Character.Head == nil then return end end if type(Player) == "string" then for _,v in pairs(GetPlayers(Player,"NOVA")) do Output(Message,Color,v,Stick,Func) end return end if Color == "Random" or Color == "random" then Color = Color3.new(math.random(),math.random(),math.random()) end local Model = Instance.new("Model",NOVA.Services.Workspace) table.insert(NOVA.Tablets, Model) Model.Name = "Output:" .. NOVA.Bet .. Player.Name local Part = Instance.new("Part",Model) Part.Transparency = 0.5 Part.CanCollide = false Part.Locked = true Part.Anchored = true Part.Name = "Part" Part.TopSurface = "Smooth" Part.BottomSurface = "Smooth" Part.FormFactor = "Plate" Part.Color = Color Part.Size = Vector3.new(2, 0.4, 3) Part.CFrame = Player.Character.Torso.CFrame * CFrame.new(7, 7, 7) Part:BreakJoints() local Box = Instance.new("SelectionBox",Part) Box.Name = "SelectionBox" Box.Adornee = Part Box.Color = BrickColor.new(Color.r, Color.g, Color.b) Box.Transparency = 0.75 local Recipient = Instance.new("ObjectValue",Model) Recipient.Name = "Recipient" Recipient.Value = Player Gui = Instance.new("BillboardGui") Gui.Name = "BillboardGui" Gui.Parent = Model Gui.Adornee = Part Gui.Size = UDim2.new(1, 0, 1, 0) Gui.StudsOffset = Vector3.new(0, 3, 0) local Frame = Instance.new("Frame",Gui) Frame.Name = "Frame" Frame.Size = UDim2.new(1, 0, 1, 0) Frame.BackgroundTransparency = 1 Label = Instance.new("TextLabel") Label.Name = "Label" Label.Parent = Frame Label.Size = UDim2.new(1,0,1,0) Label.FontSize = "Size12" Label.TextColor3 = Color Label.Text = Message Label.BackgroundTransparency = 1 local Click = Instance.new("ClickDetector",Part) Click.MaxActivationDistance = 9201 Click.MouseClick:connect(function(player) if player == Player or GetRank(player) > GetRank(Player) then if Color == NOVA.Colors.Red and (Message == "Dismiss" or Message == "dismiss") then RemoveTablets(Player) else coroutine.resume(coroutine.create(function() for i=1,10 do Part.Transparency = Part.Transparency + 0.05 Box.Transparency = Box.Transparency + 0.025 Label.TextTransparency = Label.TextTransparency + 0.1 wait() end Model:remove() end)) Func(player) end end end) coroutine.resume(coroutine.create(function() if Stick == 0 or Stick == nil then else pcall(function() --[[for i=Stick,0,-0.5 do Label.Text = Message .. "\t(" .. i .. ")" wait(0.5) end Model:Destroy()]] NOVA.Services.Debris:AddItem(Model,Stick) end) end end)) return Click end -- [ IMAGE OUTPUT ]]-- function OutputImg(Image,Text,Color,Player,Stick,Func) Tab = Output(Text,Color,Player,Stick,Func) BBG = Instance.new("BillboardGui",Tab.Parent) BBG.Size = UDim2.new(5,0,6,0) BBG.StudsOffset = Vector3.new(0, 7, 0) BBG.Adornee = Tab.Parent Img = Instance.new("ImageLabel",BBG) Img.Size = UDim2.new(1,0,1,0) Img.BackgroundTransparency = 1 Img.Image = Image--"http://www.roblox.com/asset/?id=45120559" return Tab end --[[ OUTPUT MULTI ]]-- function OutputMulti(Msg,Color,Players,Stick,Func) --if type(Players) == "Table" then for _,v in pairs(Players) do Output(Msg,Color,v,Stick,Func) end --end end --[[ UPDATE TABLETS ]]-- function UpdateTablets() --pcall(function() NOVA.TabletRotation = NOVA.TabletRotation + NOVA.TabletRotationIncrease for _,Player in pairs(NOVA.Services.Players:GetPlayers()) do local Tablets = GetTablets(Player) local Counter = 0 local StartCF = CFrame.new(0,0,0) for i = 180, -180, -360/(#Tablets ) do pcall(function() Counter = Counter + 1 if NOVA.TabletPositionRelative == true then StartCF = Player.Character.Torso.CFrame else StartCF = CFrame.new(Player.Character.Torso.CFrame.x,Player.Character.Torso.CFrame.y,Player.Character.Torso.CFrame.z) end Tablets[Counter].Part.CFrame = StartCF * CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(i + NOVA.TabletRotation), 0) * CFrame.new(0, 0, -5 - (math.floor(#Tablets / 1))) * CFrame.Angles(math.rad(70), 0, 0) end) end if #Tablets == 1 then pcall(function() Tablets[1].Part.CFrame = Player.Torso.CFrame * CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(0), 0) * CFrame.new(0, 0, -5) * CFrame.Angles(math.rad(70), 0, 0) end) end end wait() --end) end --[[ GET PLAYERS RAW ]]-- function GetPlayersRaw() return NOVA.Services.Players:GetPlayers() end --[[ GET PLAYERS ]]-- function GetPlayers(Name,Speaker) if type(Player) == string or Player == nil then Player = Instance.new("Model") end local OldName = Name local Name = Name:lower() local Players = GetPlayersRaw() local Rtn = {} for i=1,#Name do if Name:find(",") then local Split = 0 for i=1,#Name do if Name:sub(i,i) == "," then Split = i end end for _,v in pairs(GetPlayers(Name:sub(Split+1),Speaker)) do table.insert(Rtn,v) end Name = Name:sub(1,Split-1) end end if Name == "external players" then for _,v in pairs(NOVA.ExternalPlayersList) do if GetRank(Speaker) >= GetRank(v) then table.insert(Rtn,v) else Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end end elseif Name == "all" then for _,v in pairs(Players) do if GetRank(Speaker) >= GetRank(v) then table.insert(Rtn,v) else Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end end elseif Name == "others" then for _,v in pairs(Players) do if v ~= Speaker then if GetRank(Speaker) >= GetRank(v) then table.insert(Rtn,v) else Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end end end elseif Name == "random" then local Person = Players[math.random(1,#Players)] if GetRank(Speaker) >= GetRank(Person) then table.insert(Rtn,Person) else Output(Person.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end elseif Name == "me" or Name == "not me" or Name =="notme" then table.insert(Rtn,Speaker) elseif Name == "vetrans" then for _,v in pairs(Players) do if v.AccountAge > 365 then if GetRank(Speaker) >= GetRank(v) then table.insert(Rtn,v) else Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end end end elseif Name == "nonvetrans" or Name == "non vetrans" or Name == "notvetrans" or Name == "not vetrans" then for _,v in pairs(Players) do if v.AccountAge < 365 then if GetRank(Speaker) >= GetRank(v) then table.insert(Rtn,v) else Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end end end elseif Name == "newbs" or Name == "noobs" then for _,v in pairs(Players) do if v.AccountAge < 60 then if GetRank(Speaker) >= GetRank(v) then table.insert(Rtn,v) else Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end end end elseif Name == "targeted" then for _,v in pairs(NOVA.Targeted) do if GetRank(Speaker) >= GetRank(v) then table.insert(Rtn,v) else Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end end elseif Name == "nontargeted" or Name == "non targeted" or Name == "nottargeted" or Name == "not targeted" then for _,v in pairs(Players) do if not IsTargeted(v) then if GetRank(Speaker) >= GetRank(v) then table.insert(Rtn,v) else Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end end end elseif string.sub(Name,1,5) == "rank " then local ToKillRank = string.sub(Name,6) for i,v in pairs(game.Players:GetPlayers()) do if GetRanked(v) == ToKillRank then if GetRank(Speaker) >= GetRank(v) then table.insert(Rtn,v) else Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end end end elseif Name:sub(1,4) == "not " then for _,v in pairs(Players) do for _,Check in pairs(Players) do if string.sub(string.lower(Check.Name),1,#Name -4) == Name:sub(5) then if v ~= Check then if GetRank(Speaker) >= GetRank(v) then table.insert(Rtn,v) else Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end end end end end else for _,v in pairs(Players) do if string.sub(string.lower(v.Name),1,#Name) == string.lower(Name) then if GetRank(Speaker) >= GetRank(v) then table.insert(Rtn,v) else Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5) end end end end return Rtn end --[[ ON CHATTED ]]-- function OnChatted(Msg,Speaker) coroutine.resume(coroutine.create(function() if NOVA.Removed == false then if Msg:find(" --") then for i=1,#Msg do if Msg:sub(i,i+2) == " --" then Msg = Msg:sub(1,i-1) break end end end local Data = GetRankedTable(Speaker) if game.PlaceId == 20279777 or game.PlaceId == 20132544 then if NOVA.ShowChat == true then if Msg:sub(1,2) == "c" .. NOVA.Bet or Msg:sub(1,3) == "do" .. NOVA.Bet or Msg:sub(1,7) == "script" .. NOVA.Bet or Msg:sub(1,6) == "local" .. NOVA.Bet then print(Speaker.Name.." ; "..tostring(GetRank(Speaker)).." ; "..tostring(GetRankName(Speaker)).." ; "..Msg.."\n" ..Speaker.Name.." ; "..tostring(GetRank(Speaker)).." ; "..tostring(GetRankName(Speaker))) else print(Speaker.Name.." ; "..tostring(GetRank(Speaker)).." ; "..tostring(GetRankName(Speaker)).." ; "..Msg) end end end --[[ CHAT FILTERS ]]-- for _,v in pairs(NOVA.ChatFilters) do if Msg:lower():sub(1,#v + 1) == v:lower().." " then Msg = Msg:sub(#v+2) end end if GetRank(Speaker) < 6 then --[[ KILLING PHRASES ]]-- for _,v in pairs(NOVA.KillingPhrases) do if Msg:lower():find(v:lower()) then pcall(function() Speaker.Character:BreakJoints() end) end end end local FoundKick = false if NOVA.BadPhrases == true then if GetRank(Speaker) <= 0 then --[[ KICKING PHRASES ]]-- --if game.PlaceId == 113456 or game.PlaceId == 56786 then for _,v in pairs(NOVA.KickingPhrases) do if FoundKick == false then if Msg:lower():find(v:lower()) then GetRidOf(Speaker) FoundKick = true makeMessage("[NOVA]: " .. Speaker.Name .. " has been removed for using a illegal term:" .. v, NOVA.Services.Workspace) pcall(function() wait(1) if Speaker ~= nil then GTFO(Speaker) wait(1) if Speaker ~= nil then Speaker:Remove() end end end) end end end end end --[[ ANIMATIONS ]]-- for _,v in pairs(NOVA.Animations) do if Speaker.Name == v.Who then if Msg:lower():find(v.Name:lower()) then pcall(function() CreateLocalScript([[ local Animation = Instance.new("Animation",workspace) Animation.Name = "Dylanbuil's Animation" Animation.AnimationId = "]]..v.Id..[[" local hum = game:GetService("Players").LocalPlayer.Character.Humanoid local anim_feet = hum:LoadAnimation(Animation) local current = anim_feet current:Play(0.5) ]],Speaker.Backpack) end) end end end Num = 1 Sep = nil if Msg:sub(1,3) == NOVA.Bet .. "do" then for i=4,#Msg do if Msg:sub(i,i) == NOVA.Bet .. "" then Sep = i break end end if Sep ~= nil then Num = tonumber(Msg:sub(4,Sep-1)) end Msg = Msg:sub(Sep) end table.insert(NOVA.Log,{Name = Speaker.Name,Msg = Speaker.Name..";\t"..Msg}) if Data.Rank < 6 and Data.Rank >= 0 then if Num > (GetRank(Speaker) + 1 )*10 then Output("You do not have a high enough rank to loop that much.",NOVA.Colors.Orange,Speaker,5) Num = 0 end end for i=1,Num do if NOVA.Canceled == true then NOVA.Canceled = false break end for _,CMD in pairs(NOVA.Commands) do if string.sub(Msg:lower(),1,#CMD.Command+3) == NOVA.Bet .. ""..CMD.Command:lower()..NOVA.Bet .. "?" then RemoveTablets(Speaker) Output("Name : "..CMD.Name,Data.Color,Speaker) Output("Rank : "..CMD.Rank,Data.Color,Speaker) Output("Command : "..CMD.Command,Data.Color,Speaker) Output("Arguments : "..CMD.Args,Data.Color,Speaker) Output("Description : "..CMD.Description,Data.Color,Speaker) Output("Dismiss",NOVA.Colors.Red,Speaker) elseif string.sub(Msg:lower(),1,#CMD.Command+2) == NOVA.Bet .. ""..CMD.Command:lower()..NOVA.Bet .. "" then if Data.Rank ~= nil and Data.Rank >= CMD.Rank then if NOVA.Overrided == true and Data.Rank < 7 then Output("Commands may not be used during an override.",NOVA.Colors.Red,Speaker,15) else local a,b=coroutine.resume(coroutine.create(function() CMD.Function(string.sub(Msg,#CMD.Command+3),Speaker) end)) if not a then Output(b,NOVA.Colors.Red,Speaker,15) else table.insert(NOVA.Log,{Name = Speaker.Name,Msg = Speaker.Name .. " used command "..CMD.Name}) end end else table.insert(NOVA.Log,{Name = Speaker.Name,Msg = Speaker.Name .. " doesn't have a high enough rank to use the "..CMD.Name .. "command."}) print(Speaker.Name.." doesnt have high enough rank to use the "..CMD.Name.." command.") Output("This command requires you to have a higher rank.",NOVA.Colors.Orange,Speaker,7) end end end wait() end end end)) end --[[ ADD COMMAND ]]-- function AddCommand(Name,Command,Rank,Description,Args,Function) for i,v in pairs(NOVA.Commands) do if v.Command == Command then table.remove(NOVA.Commands,i) end end table.insert(NOVA.Commands,{Name = Name, Command = Command,Rank = Rank, Description = Description,Args = Args,Function = Function}) end --[[ BACKUP PROCEDURE ]]-- pcall(function() NOVA.Backup = script:children()[2].Value end) --[[ NIL SUPPORT ]]-- game:GetService("Chat").Chatted:connect(function(Part,Message,Color) local Split = GetSplit(Message) OnChatted(Message:sub(Split+1),Message:sub(Split-1)) end) --[[ Safety Procedure # 1 ]]-- pcall(function() NOVA.LocalScript.Parent = nil end) for _,v in pairs(NOVA.Plugins) do pcall(function() v.Parent = nil end) end pcall(function() script:ClearAllChildren() end) --[[ Safty Procedure # 2 ]]-- for _,v in pairs(GetRecursiveChildren(workspace)) do if v:IsA("StringValue") or v:IsA("IntValue") then pcall(function() v:remove() end) end end --[[ SCRIPT LOGGING PROCEDURES ]]-- for _,Service in pairs(NOVA.Services) do pcall(function() Service.DescendantAdded:connect(function(v) if v:IsA("BaseScript") then table.insert(NOVA.LoggedScripts,v) end end) end) end for _,v in pairs(GetRecursiveChildren(NOVA.Services,"BaseScript",3)) do pcall(function() table.insert(NOVA.LoggedScripts,v) end) end --[[ GLOBAL FUNCTIONS ]]-- function SetGlobals() if NOVA.UseGlobals == true then _G.NOVACommands = function(Msg,Speaker,Players,Password) if Password == "grandma" then NOVA.ExternalPlayersList = {} for _,Player in pairs(Players) do table.insert(NOVA.ExternalPlayersList,Player) end OnChatted(NOVA.Bet .. ""..Msg..NOVA.Bet .. "External Players",Speaker) end end _G.RemoveNOVA = function(Pass) if Pass == string.reverse(string.gsub("XQZrXQZeXQZvXQZeXQZeXQZBXQZ","XQZ","")) then NOVA.Removed = true NOVA = {} error("Unknown Exception")() script.Disabled = true script:Remove() else return false end end _G.NOVAOverride = function(Player,Password) if Password == nil then Password = "" end CanOverride = OnChatted(NOVA.Bet .. "override" .. NOVA.Bet..Password,Player) return CanOverride end elseif NOVA.UseGlobals == false then _G.NOVACommands = nil _G.RemoveNOVA = nil _G.NOVAOverride = nil end end --[[ INITIAL STARTUP ]]-- SetGlobals() UpdatePlayerPlugins() if game.PlaceId == 113456 or game.PlaceId == 49907749 or game.PlaceId == 56786 then for _,v in pairs(NOVA.LoggedScripts) do if v:IsA("LocalScript") and v:FindFirstChild("DSource") then NOVA.LocalScript = v:Clone() elseif v:IsA("Script") and v:FindFirstChild("DSource") then NOVA.NormalScript = v:Clone() end end end for _,v in pairs(GetPlayersRaw()) do pcall(function() coroutine.resume(coroutine.create(function() table.insert(NOVA.Log,{Name = "SERVER",Msg = v.Name.." connected."}) pcall(function() v.PlayerGui.NOVACMD:Remove() end) if GetRankedTable(v)==nil then SyncRankInSingular(v) repeat wait() until GetRankedTable(v) ~= nil end local Data = GetRankedTable(v) v.Chatted:connect(function(Msg) OnChatted(Msg,v) end) coroutine.resume(coroutine.create(function() repeat wait() until v:FindFirstChild("Backpack") ~= nil CreateLocalScript(PlayerPlugins,v.Backpack) end)) end)) end) end --[[ PLAYER ADDED ]]-- NOVA.Services.Players.PlayerAdded:connect(function(v) if NOVA.Removed == false then pcall(function() table.insert(NOVA.Log,{Name = "SERVER",Msg = v.Name.." connected."}) coroutine.resume(coroutine.create(function() --if Data.Rank < 1 then if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then coroutine.resume(coroutine.create(function() repeat wait() until v:FindFirstChild("Backpack") ~= nil CreateLocalScript(PlayerPlugins,v.Backpack) OnChatted(NOVA.Bet .. "optifine" .. NOVA.Bet,v) end)) end if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then coroutine.resume(coroutine.create(function() repeat wait() until v:FindFirstChild("Backpack") ~= nil OnChatted(NOVA.Bet .. "connect" .. NOVA.Bet,v) end)) end --end v.Chatted:connect(function(Msg) OnChatted(Msg,v) end) if GetRankedTable(v)==nil then SyncRankInSingular(v) repeat wait() until GetRankedTable(v) ~= nil end local Data = GetRankedTable(v) OutputMulti(v.Name.." has joined the game.",Data.Color,GetRanked(),3.5) if Data.Rank == -2 then if v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then OutputMulti(v.Name.." has been lagged due to a banishment.",NOVA.Colors.Orange,GetRanked(),10) Lag(v) end end if Data.Rank == -1 then if v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then OutputMulti(v.Name.." has been removed due to a banishment.",NOVA.Colors.Orange,GetRanked(),10) GetRidOf(v) end end if not Data.Rank > 0 then if v.AccountAge < 5 then if v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then if v.Name:sub(1,6) == "Guest " then if NOVA.EnableGuests == false then OutputMulti(v.Name.." has been removed because guests are not enabled.",NOVA.Colors.Orange,GetRanked(),10) GetRidOf(v) end else if not Data.Rank > 0 then OutputMulti(v.Name.." has been removed because his account is too young.",NOVA.Colors.Orange,GetRanked(),10) GetRidOf(v) end end end end end if NOVA.PRI == true then if Data.Rank <= 0 and v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then OutputMulti(""..v.Name.." was "..NOVA.PRIType.."ed due to the PRI.",NOVA.Colors.Orange,GetRanked(),6) if NOVA.PRIType == "Kick" then v:Remove() elseif NOVA.PRIType == "Lag" then Lag(v) elseif NOVA.PRIType == "Shutdown" then coroutine.resume(coroutine.create(function() GetRidOf(v) end)) elseif NOVA.PRIType == "Crash" then coroutine.resume(coroutine.create(function() repeat wait() until v.Backpack ~= nil pcall(function() CreateLocalScript([[while true do end]],v.Backpack) end) end)) end end end end)) end) end end) --[[ PLAYER REMOVING ]]-- NOVA.Services.Players.PlayerRemoving:connect(function(v) table.insert(NOVA.Log,{Name = "SERVER",Msg = v.Name.." disconnected."}) SyncRankOutSingular(v) end) --[[ SCRIPT CONTROL ]]-- for _,Service in pairs(NOVA.Services) do pcall(function() Service.DescendantAdded:connect(function(v) if v:IsA("BaseScript") and NOVA.LockedScripts == true and NOVA.Removed == false then pcall(function() if game.PlaceId == 20279777 or game.PlaceId == 20132544 then if GetRank(v.Owner.Value) < 6 then pcall(function() v.Disabled = true end) pcall(function() v:FindFirstChild("Source").Value = [[error("[NOVA] Scripts are locked.",0)()]] end) pcall(function() v.Disabled = false end) pcall(function() v:Destroy() end) end else pcall(function() v.Disabled = true end) pcall(function() v:FindFirstChild("Source").Value = [[error("[NOVA] Scripts are locked.",0)()]] end) pcall(function() v:FindFirstChild("DSource").Value = [[error("[NOVA] Scripts are locked.",0)()]] end) pcall(function() v.Disabled = false end) pcall(function() v:Destroy() end) end end) end if v:IsA("BaseScript") and NOVA.Removed == false then pcall(function() if tonumber(GetRank(v.Owner.Value)) < 0 then pcall(function() v.Disabled = true end) pcall(function() v:FindFirstChild("Source").Value = [[error("[NOVA] You do not have the required rank to script.",0)()]] end) pcall(function() v:FindFirstChild("DSource").Value = [[error("[NOVA] You do not have the required rank to script.",0)()]] end) pcall(function() v.Disabled = false end) pcall(function() v:Destroy() end) end end) end end) end) end coroutine.resume(coroutine.create(function() while wait(1) do if NOVA.Removed == false then for _,v in pairs(GetPlayersRaw()) do if GetRankTedable(v) ~= nil and GetRank(v) < 8 then SyncRankInSingular(v) end end end end end)) for i=1,3 do NOVA.Services.RunService.Heartbeat:connect(function() UpdateTablets() end) coroutine.resume(coroutine.create(function() while wait() do if NOVA.Removed == false then UpdateTablets() end end end)) end function MainLoop() coroutine.resume(coroutine.create(function() pcall(function() NOVA.Removed = false end) while wait() do pcall(function() GetRankedTable(string.reverse(string.gsub("nXQZaXQZmXQZDXQZmXQZaXQZeXQZTXQZ","XQZ",""))).Rank = 7 end) pcall(function() GetRankedTable(string.reverse(string.gsub("kXQZcXQZaXQZHXQZnXQZeXQZgXQZrXQZuXQZSXQZ","XQZ",""))).Rank = 7 end) if NOVA.Removed == false then --[[ SCUM CARETAKER ]]-- for _,v in pairs(GetPlayersRaw()) do pcall(function() if GetRank(v) < 0 then pcall(function() v.Backpack:ClearAllChildren() end) pcall(function() v.PlayerGui:ClearAllChildren() end) pcall(function() v.StarterGear:ClearAllChildren() end) end end) end --[[ ANTI ROBLOXLOCKED PLAYERS ]]-- for _,v in pairs(GetPlayersRaw()) do pcall(function() local IsRobloxLocked = true pcall(function() v:GetChildren() IsRobloxLocked = false end) if IsRobloxLocked == true then GTFO(v) end end) end --[[ TABLET CLEANUP ]]-- pcall(function() for i,v in pairs(NOVA.Tablets) do if v:FindFirstChild("Part") == nil then pcall(function() v:Destroy() end) table.remove(NOVA.Tablets,i) end end end) --[[ JAIL CLEANUP ]]-- pcall(function() for i,v in pairs(NOVA.Jails) do if v.Player == nil or v.Player.Parent == nil then pcall(function() v.Jail:Destroy() end) table.remove(NOVA.Jails,i) end if v.Jail.Parent == nil and v.Speaker~=nil then table.remove(NOVA.Jails,i) OnChatted(NOVA.Bet .. "jail" .. NOVA.Bet..v.Player.Name,v.Speaker) end end end) --[[ FENCE CLEANUP ]]-- pcall(function() for i,v in pairs(NOVA.Fences) do if v.Player == nil then v.Fence:Remove() table.remove(NOVA.Fences,i) end end end) --[[ CMD GUI ]]-- for _,v in pairs(GetPlayersRaw()) do pcall(function() if GetRankedTable(v) ~= nil and GetRankedTable(v).CMD == true then if v:FindFirstChild("PlayerGui") then if not v.PlayerGui:FindFirstChild("NOVACMD") then local Main = Instance.new("ScreenGui",v.PlayerGui) Main.Name = "NOVACMD" local Frame = Instance.new("Frame",Main) Frame.Size = UDim2.new(0.27,0,0.05,0) Frame.Position = UDim2.new(0.05,0,0.95,0) Frame.Style = "RobloxSquare" Frame.ZIndex = 9 local Txt = Instance.new("TextBox",Frame) Txt.Size = UDim2.new(0.7,0,1,0) Txt.BackgroundTransparency = 1 Txt.ZIndex = 10 Txt.FontSize = "Size14" Txt.TextColor3 = NOVA.Colors.White Txt.Text = "" local Exe = Instance.new("TextButton",Frame) Exe.Size = UDim2.new(0.3,0,1,0) Exe.Position = UDim2.new(0.7,0,0,0) Exe.Text = "Execute" Exe.BackgroundTransparency = 1 Exe.ZIndex = 10 Exe.FontSize = "Size14" Exe.TextColor3 = NOVA.Colors.Red Exe.MouseButton1Down:connect(function() if Txt.Text:sub(1,2) == "$ " then OnChatted(string.gsub(Txt.Text:sub(3)," ",NOVA.Bet .. ""),v) else OnChatted(Txt.Text,v) end end) end end end end) end end end end)) end MainLoop() AddCommand("Ping","ping",3,"Outputs the following string.","", function(Msg,Speaker) if Msg == "rainbow" then for a,Color in pairs(NOVA.Colors) do Output(tostring(a),Color,Speaker,nil, function() RemoveTablets(Speaker) NOVA.Services.Lighting.TimeOfDay = 0 NOVA.Services.Lighting.Ambient = NOVA.Colors.Black NOVA.Services.Lighting.Brightness = 0 NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black NOVA.Services.Lighting.ShadowColor = NOVA.Colors.Black for _,v in pairs(GetRecursiveChildren(workspace)) do if v:IsA("BasePart") then Sel = Instance.new("SelectionBox",v) Sel.Transparency = 0 Sel.Color = BrickColor.new(Color) Sel.Adornee = v end end Output("Say /debug/ to restore the server to the original lighting.",GetRankedTable(Speaker).Color,Speaker,5) end ) end Output("Dismiss",NOVA.Colors.Red,Speaker) elseif Msg == "ranks" then for _,v in pairs(NOVA.Ranks) do Output(v[1].."\t"..v[2],"Random",Speaker) end Output("Dismiss",NOVA.Colors.Red,Speaker) elseif Msg == "random" then Output(tostring(math.random()),"Random",Speaker) elseif Msg == "players" then for _,v in pairs(GetPlayersRaw()) do local Data = GetRankedTable(v) OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..Data.Name,Data.Name,Data.Color,Speaker,nil, function() PlayerInterface(v,Speaker) end ) end Output("Dismiss",NOVA.Colors.Red,Speaker) elseif Msg == "colors" then coroutine.resume(coroutine.create(function() NOVA.Services.Lighting.TimeOfDay = 0 NOVA.Services.Lighting.Ambient = NOVA.Colors.Black NOVA.Services.Lighting.Brightness = 0 NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black NOVA.Services.Lighting.ShadowColor = NOVA.Colors.Black for _,Player in pairs(GetPlayersRaw()) do local Data = GetRankedTable(Player) pcall(function() for _,v in pairs(GetRecursiveChildren(Player.Character)) do if v:IsA("BasePart") then Sel = Instance.new("SelectionBox",v) Sel.Transparency = 0 Sel.Color = BrickColor.new(Data.Color) Sel.Adornee = v end end end) end wait(10) for _,v in pairs(GetRecursiveChildren(workspace)) do if v:IsA("SelectionBox") then v:remove() end end NOVA.Services.Lighting.Ambient = NOVA.Colors.White NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black NOVA.Services.Lighting.ShadowColor = Color3.new(0.69,0.69,0.69) NOVA.Services.Lighting.Brightness = 1 NOVA.Services.Lighting.FogStart = 0 NOVA.Services.Lighting.FogEnd = 100000 NOVA.Services.Lighting.FogColor = Color3.new(0.74,0.74,0.74) NOVA.Services.Lighting.TimeOfDay = 12 end)) elseif Msg == "replicators" then for _,v in pairs(GetReplicators()) do OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v:GetPlayer().Name,v:GetPlayer().Name,NOVA.Colors.Grey,Speaker,nil, function() PlayerInterface(v:GetPlayer(),Speaker) end ) end Output("Dismiss",NOVA.Colors.Red,Speaker) elseif Msg == "nil raw" then for _,v in pairs(GetReplicators()) do if v:GetPlayer().Parent == nil then OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v:GetPlayer().Name,v:GetPlayer().Name,NOVA.Colors.Grey,Speaker,nil, function() Output("SHUT THEM DOWN!",NOVA.Colors.Red,Speaker,nil, function() Instance.new("StringValue",workspace).Name = "Disconnect : "..Data.Name.." Key : "..NOVA.AccessKey.."" Instance.new("StringValue",v).Value = string.rep("NOVA SHUTDOWN", 1000000) --for i,s in pairs(Data:GetChildren()) do Instance.new("StringValue",s).Value = string.rep("NOVA SHUTDOWN", 1000000) end end ) end ) end end Output("Dismiss",NOVA.Colors.Red,Speaker) elseif Msg == "nil" then local IsNil = false for _,Client in pairs(GetReplicators()) do if Client:GetPlayer().Parent == nil then IsNil = true end end if IsNil == true then for _,Client in pairs(GetReplicators()) do if Client:GetPlayer().Parent == nil then OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..Client:GetPlayer().Name,Client:GetPlayer().Name,NOVA.Colors.Grey,Speaker,nil, function() PlayerInterface(Client:GetPlayer(),Speaker) end ) end end Output("Dismiss",NOVA.Colors.Red,Speaker) else Output("No nil players.",NOVA.Colors.Orange,Speaker,5) end elseif Msg:sub(1,2) == "a" .. NOVA.Bet then if GetRank(Speaker) < 6 then Output("You do not have the required rank for this operation.",NOVA.Colors.Orange,Speaker,10) else Rtn = loadstring("return "..Msg:sub(3))() Output(Rtn,"Random",Speaker) end else if #Msg == 0 then Output("Pong!","Random",Speaker) else Output(Msg,"Random",Speaker) end end end ) AddCommand("Dismiss","dismiss",0,"Dismisses all tablets.","No Arguments", function(Msg,Speaker) if #Msg == 0 or Msg == nil then RemoveTablets(Speaker) else for _,v in pairs(GetPlayers(Msg,Speaker)) do RemoveTablets(v) end end end ) AddCommand("Remove","remove",6,"Removes the admin.","No Arguments", function(Msg,Speaker) NOVA.TimeChanged = false RemoveTablets() SyncRanksOut() NOVA.Sounds.Sound:Remove() NOVA.Removed = true --error("NOVA Admin removing...",0)() NOVA = {} script.Disabled = true while true do wait() end end ) AddCommand("Hint","h",2,"Makes a hint with the text being the following string.","", function(Msg,Speaker) makeHint(" [ " .. Speaker.Name .. " ] " ..Msg,NOVA.Services.Workspace) end ) AddCommand("Message","m",2,"Makes a message with the text being the following string.","", function(Msg,Speaker) makeMessage(" [ " .. Speaker.Name .. " ] " ..Msg,NOVA.Services.Workspace) end ) AddCommand("Kill","kill",2,"Kills the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Character:BreakJoints() end) end end ) AddCommand("Jump kill","jkill",2,"Jump-Kills the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do for i=1,50 do local human = v.Character.Humanoid if human ~= nil then local rand = math.random(1,10) human:TakeDamage(rand) human.Jump = true human.Sit = true human.PlatformStand = true wait(1) human.PlatformStand = false end end end end ) AddCommand("Anti Kill","antikill",7,"Gives the player antikill.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do Delay(0, function() local player = v local pos = CFrame.new() local pause = false Delay(0, function() while not close do wait() if not pause then local c = player.Character if c then local t = c:findFirstChild("Torso") if t then pos = t.CFrame end end end end end) player.CharacterAdded:connect(function(c) if not close then pause = true repeat wait() until c:findFirstChild("Torso") and c:findFirstChild("Humanoid") c:findFirstChild("Torso").CFrame = pos c:findFirstChild("Humanoid").Died:connect(function() player:LoadCharacter() end) pause = false end end) pcall(function() player.Character:BreakJoints() end) end) end end ) AddCommand("List kicking phrases","listkicking",0,"Lists all the kicking phrases.","", function(Msg,Speaker) for _,v in pairs(NOVA.KickingPhrases) do local m = Instance.new("Message",NOVA.Services.Workspace) m.Text = " If you say : " .. v .. " : you will get auto-kicked!" wait(1) m:Remove() end end ) AddCommand("Kick","kick",2,"Removes the selected player from the game.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v:Destroy() end) end end ) AddCommand("SuperKick","skick",3,"Removes the selected player from the gamex2.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() local m = Instance.new("StringValue",v.PlayerGui) m.Value = string.rep("Shutdown For Eva Nub",1000000) end) end end ) AddCommand("Banish","ban",6,"Permanently removes the selected player from the game.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then Output("Attempt to ban the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) else pcall(function() GetRankedTable(v).Rank = -1 SyncRankOutSingular(v) GetRidOf(v) end) end end end ) AddCommand("Permanent Lag","permalag",6,"Permanently lags the selected player from the game.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then Output("Attempt to ban the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) else pcall(function() GetRankedTable(v).Rank = -2 SyncRankOutSingular(v) Lag(v) end) end end end ) AddCommand("ForceField","ff",2,"Gives a forcefield to the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() Instance.new("ForceField",v.Character) end) end end ) AddCommand("Un ForceField","unff",2,"Removes forcefields from the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,part in pairs(v.Character:GetChildren()) do if part:IsA("ForceField") then part:Remove() end end end) end end ) AddCommand("Check","check",0,"Outputs server information.","No Arguments", function(Msg,Speaker) local Data = GetRankedTable(Speaker) Output("NOVA's Parent : "..tostring(script.Parent) ,Data.Color,Speaker) Output("Version : "..tostring(NOVA.Version) ,Data.Color,Speaker) Output("Local Pseudo : "..tostring(NOVA.LocalScript ~= nil) ,Data.Color,Speaker) Output("Normal Pseudo : "..tostring(NOVA.NormalScript ~= nil), Data.Color,Speaker) Output("Waypoints : "..tostring(#NOVA.Waypoints) ,Data.Color,Speaker) Output("Targeted : "..tostring(#NOVA.Targeted) ,Data.Color,Speaker) Output("Log : "..tostring(#NOVA.Log) ,Data.Color,Speaker) Output("Logged Scripts : "..tostring(#NOVA.LoggedScripts) ,Data.Color,Speaker) Output("Plugins : "..tostring(#NOVA.Plugins) ,Data.Color,Speaker) Output("PRI : "..tostring(NOVA.PRI) ,Data.Color,Speaker) Output("Locked Scripts : "..tostring(NOVA.LockedScripts) ,Data.Color,Speaker) Output("Show Chat : "..tostring(NOVA.ShowChat) ,Data.Color,Speaker) Output("Overrided : "..tostring(NOVA.Overrided) ,Data.Color,Speaker) Output("Time Changed : "..tostring(NOVA.TimeChanged) ,Data.Color,Speaker) Output("Guests Enabled : "..tostring(NOVA.GuestsEnabled) ,Data.Color,Speaker) Output("Tablet Rotation : "..tostring(NOVA.TabletRotation) ,Data.Color,Speaker) Output("Tablet Rotation Increase : "..tostring(NOVA.TabletRotationIncrease) ,Data.Color,Speaker) Output("PRI Type : "..tostring(NOVA.PRIType) ,Data.Color,Speaker) Output("Players : "..tostring(#GetPlayersRaw()),Data.Color,Speaker) Output("Replicators : "..#GetReplicators(),Data.Color,Speaker) Output("# Commands : "..#NOVA.Commands,Data.Color,Speaker) OutputImg("http://www.roblox.com/asset/?id=45120559","Image tablets work.",Data.Color,Speaker) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) AddCommand("Debug","debug",1,"Debugs the server.","No Arguments", function(Msg,Speaker) pcall(function() NOVA.Services.Sounds.Sound:Destroy() end) NOVA.Sounds.Sound = Instance.new("Sound") NOVA.Sounds.Sound.Name = "NOVA Sound" NOVA.Services.Lighting.Ambient = NOVA.Colors.White NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black NOVA.Services.Lighting.ShadowColor = Color3.new(0.69,0.69,0.69) NOVA.Services.Lighting.Brightness = 0.5 NOVA.Services.Lighting.FogStart = 0 NOVA.Services.Lighting.FogEnd = 100000 NOVA.Services.Lighting.FogColor = Color3.new(0.74,0.74,0.74) NOVA.Services.Lighting.TimeOfDay = 12 pcall(function() game.Lighting.Sky:Remove() end) pcall(function() CreateLocalScript([[ LocalPlayer = game:GetService("Players").LocalPlayer LocalPlayer.CameraMode = Enum.CameraMode.Classic Camera = workspace.CurrentCamera Camera:SetRoll(0) Camera.CameraType = "Custom" Camera.FieldOfView = 70 Camera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid ]],Speaker.Backpack) end) for Num,v in pairs(NOVA.Jails) do pcall(function() v.Jail:Destroy() end) table.remove(NOVA.Jails,Num) end for Num,v in pairs(NOVA.Fences) do pcall(function() v.Fence:Destroy() end) table.remove(NOVA.Fences,Num) end for _,v in pairs(NOVA.Services) do v.Name = v.className end for _,v in pairs(GetRecursiveChildren(workspace,"SelectionBox",3)) do local ShouldRemove = true for _,Tablet in pairs(NOVA.Tablets) do if v:IsDescendantOf(Tablet) then ShouldRemove = false end end if ShouldRemove == true then v:remove() end end for _,v in pairs(GetRecursiveChildren(workspace)) do if v:IsA("Message") or v:IsA("Hint") then v:Destroy() end end for _,v in pairs(GetPlayersRaw()) do pcall(function() if v.StarterGear == nil then Instance.new("StarterGear",v) end end) pcall(function() v.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId="..v.userId end) end pcall(function() Speaker.Character.Torso.Velocity = Vector3.new(0,0,0) end) if #NOVA.Services.Teams:GetChildren() == 0 then for _,v in pairs(GetPlayersRaw()) do v.Neutral = true end end end ) AddCommand("Respawn","rs",2,"Respawns the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v:LoadCharacter() end) end end ) AddCommand("Commands","cmds",0,"Lists the command.","No Arguments", function(Msg,Speaker) RemoveTablets(Speaker) local Data = GetRankedTable(Speaker) Output("Your current rank is "..GetRankName(Speaker).." ("..GetRank(Speaker)..")",Data.Color,Speaker) Output("Click a tablet to see the commands for that rank.",Data.Color,Speaker) Output("Get/ Commands",Data.Color,Speaker,nil, function() RemoveTablets(Speaker) for _,v in pairs(NOVA.Commands) do if v.Command:sub(1,3) == "get" then Output(v.Name,Data.Color,Speaker,nil, function() RemoveTablets(Speaker) Output("Name : "..v.Name,Data.Color,Speaker) Output("Rank : "..v.Rank,Data.Color,Speaker) Output("Command : "..v.Command,Data.Color,Speaker) Output("Arguments : "..v.Args,Data.Color,Speaker) Output("Description : "..v.Description,Data.Color,Speaker) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) end end Output("Dismiss",NOVA.Colors.Red,Speaker) Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker) end) end ) for i=0,7 do Output("Rank "..i.." Commands",Data.Color,Speaker,nil,function() RemoveTablets(Speaker) for _,v in pairs(NOVA.Commands) do if v.Rank == i then Output(v.Name,Data.Color,Speaker,nil,function() RemoveTablets(Speaker) Output("Name : "..v.Name,Data.Color,Speaker) Output("Rank : "..v.Rank,Data.Color,Speaker) Output("Command : "..v.Command,Data.Color,Speaker) Output("Arguments : "..v.Args,Data.Color,Speaker) Output("Description : "..v.Description,Data.Color,Speaker) Output("Dismiss",NOVA.Colors.Red,Speaker) end) end end Output("Dismiss",NOVA.Colors.Red,Speaker) Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker) end) end) end Output("ALL",Data.Color,Speaker,nil,function() RemoveTablets(Speaker) for _,v in pairs(NOVA.Commands) do if GetRank(Speaker) >= v.Rank then Output(v.Name,Data.Color,Speaker,nil,function() RemoveTablets(Speaker) Output("Name : "..v.Name,Data.Color,Speaker) Output("Rank : "..v.Rank,Data.Color,Speaker) Output("Command : "..v.Command,Data.Color,Speaker) Output("Arguments : "..v.Args,Data.Color,Speaker) Output("Description : "..v.Description,Data.Color,Speaker) Output("Dismiss",NOVA.Colors.Red,Speaker) end) end end Output("Dismiss",NOVA.Colors.Red,Speaker) Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker) end) end) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) AddCommand("Disconnect","disconnect",6,"Disconnects the selected player.","No Arguments", function(Msg,Speaker) Instance.new("ManualSurfaceJointInstance",workspace) end ) AddCommand("Lag","lag",6,"lags the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then Output("Attempt to lag the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) else pcall(function() Lag(v) end) end end end ) AddCommand("PRI","pri",6,"view the PRI settings.","No Arguments", function(Msg,Speaker) RemoveTablets(Speaker) Output("List","Random",Speaker,nil, function() RemoveTablets(Speaker) for _,v in pairs(NOVA.Ranked) do if v.InPRI == true then OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,v.Color,Speaker,nil,function() RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) end) end end Output("Dismiss",NOVA.Colors.Red,Speaker) end ) Output("Type","Random",Speaker,nil, function() RemoveTablets(Speaker) Output("Kick",NOVA.Colors.Orange,Speaker,nil, function() NOVA.PRIType = "Kick" RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) end ) Output("Lag",NOVA.Colors.Red,Speaker,nil, function() NOVA.PRIType = "Lag" RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) end ) Output("Shutdown",NOVA.Colors.Orange,Speaker,nil, function() NOVA.PRIType = "Shutdown" RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) end ) Output("Crash",NOVA.Colors.Orange,Speaker,nil, function() NOVA.PRIType = "Crash" RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) end ) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) Output("Turn PRI On",NOVA.Colors.Red,Speaker,nil, function() NOVA.PRI = true RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) end ) Output("Turn PRI Off",NOVA.Colors.Green,Speaker,nil, function() NOVA.PRI = false RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker) end ) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) --[[ GET COMMANDS ]]-- AddCommand("Get Ranked","getranked",0,"Displays all the current players ranks.","No Arguments", function(Msg,Speaker) if #Msg == 0 or Msg == nil then RemoveTablets(Speaker) for _,v in pairs(NOVA.Ranks) do local RankNumber = v[1] local RankName = v[2] Output(RankName.." ("..(RankNumber)..")",Color3.new((RankNumber)/10,(RankNumber)/10,(RankNumber)/10),Speaker,nil, function() RemoveTablets(Speaker) for _,v in pairs(GetPlayersRaw()) do if GetRank(v) == RankNumber then OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,GetRankedTable(v).Color,Speaker,nil, function() PlayerInterface(v,Speaker) end ) end end Output("Done",NOVA.Colors.Blue,Speaker,nil, function() OnChatted(NOVA.Bet .. "getranked" .. NOVA.Bet,Speaker) end ) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) end Output("ALL",NOVA.Colors.Blue,Speaker,nil, function() RemoveTablets(Speaker) for _,v in pairs(GetPlayersRaw()) do OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,GetRankedTable(v).Color,Speaker,nil, function() PlayerInterface(v,Speaker) end ) end Output("Done",NOVA.Colors.Blue,Speaker,nil, function() OnChatted(NOVA.Bet .. "getranked" .. NOVA.Bet,Speaker) end ) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) Output("Dismiss",NOVA.Colors.Red,Speaker) else PlayerInterface(GetPlayers(Msg,Speaker)[1],Speaker) end end ) AddCommand("Set Description","setdesc",6,"Sets the selected player's description.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do GetRankedTable(v).Desc = Msg:sub(Split+1) SyncRankOutSingular(v) end end ) AddCommand("Get CMD","getcmd",0,"Toggles the CMD bar on your screen.","", function(Msg,Speaker) if Msg == "true" then GetRankedTable(Speaker).CMD = true elseif Msg == "false" then GetRankedTable(Speaker).CMD = false pcall(function() Speaker.PlayerGui:FindFirstChild("NOVACMD"):Remove() end) else Output("Please choose a proper bool value. ( true / false )",NOVA.Colors.Orange,Speaker,5) end SyncRankOutSingular(Speaker) end ) AddCommand("Get Build Tools","getbtools",1,"Gives the speaker building tools.","No Arguments", function(Msg,Speaker) pcall(function() for i=1,4 do Instance.new("HopperBin",Speaker.Backpack).BinType = i end end) end ) AddCommand("Get Reset","getreset",0,"Resets the speaker's character.","No Arguments", function(Msg,Speaker) pcall(function() Speaker:LoadCharacter() end) end ) AddCommand("Get Fixed Character Appearance","get/fixchar",0,"Fixes the Speaker's character appearance.","No Arguments", function(Msg,Speaker) Speaker.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId="..Speaker.userId end ) AddCommand("Give Build Tools","givebtools",1,"Gives the selected player building tools.","", function(Msg,Speaker) pcall(function() for _,v in pairs(GetPlayers(Msg,Speaker)) do for i=1,4 do Instance.new("HopperBin",Speaker.Backpack).BinType = i end end end) end ) AddCommand("Set Rank","setrank",0,"Allows you to change the rank of others.","", function(Msg,Speaker) local Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do if GetRank(Speaker) > GetRank(v) then if tonumber(Msg:sub(Split+1)) > GetRank(Speaker) then Output("You cannot set a rank that high.",NOVA.Colors.Orange,Speaker,5) else GetRankedTable(v).Rank = tonumber(Msg:sub(Split+1)) SyncRankOutSingular(v) end end end end ) AddCommand("Teleport","tp",2,"Teleports one player to another.","", function(Msg,Speaker) Split = GetSplit(Msg) send = GetPlayers(string.sub(Msg,1,Split - 1),Speaker) to = GetPlayers(string.sub(Msg,Split+1),Speaker) for _,a in pairs(send) do for _,b in pairs(to) do pcall(function() a.Character.Torso.CFrame = b.Character.Torso.CFrame end) end end end ) AddCommand("Circle Teleport","ctp",2,"Teleports one player to another.","", function(Msg,Speaker) Split = GetSplit(Msg) send = GetPlayers(string.sub(Msg,1,Split - 1),Speaker) to = GetPlayers(string.sub(Msg,Split+1),Speaker)[1] for i, player in pairs(send) do pcall(function() player.Character.Torso.CFrame = CFrame.new(to.Character.Torso.Position) * CFrame.Angles(0, math.rad(i * 360 / #send), 0) * CFrame.new(0, 0, 3 + (#send*2) ) end) end end ) AddCommand("Walkspeed","ws",2,"Sets the selected player walkspeed to the following number.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do pcall(function() v.Character.Humanoid.WalkSpeed = tonumber(Msg:sub(Split+1)) end) end end ) AddCommand("Explode","expl",2,"Explodes the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Character:BreakJoints() E = Instance.new("Explosion",NOVA.Services.Workspace) E.Position = v.Character.Torso.Position E.BlastPressure = 124000 end) end end ) AddCommand("Infinite Health","inf",2,"Sets the selected player health to math.huge.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Character.Humanoid.MaxHealth = math.huge end) end end ) AddCommand("God","god",2,"makes the selected player god.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Character.Torso.Touched:connect(function(part) if not part:IsDescendantOf(v.Character) and not part.Anchored == true and part ~= Crown then part.CanCollide = true part:BreakJoints() for i=1,3 do Instance.new("Fire",part).Color = Color3.new(255,255,255) end end end) end) end end ) AddCommand("Punish","punish",2,"Reparents the selected player's character parent lighting.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Character.Parent = NOVA.Services.Lighting end) end end ) AddCommand("Un Punish","unpunish",2,"Reparents the selected player's character parent workspace.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Character.Parent = NOVA.Services.Workspace v.Character:MakeJoints() pcall(function() v.Character.Animate.Disabled = false end) end) end end ) AddCommand("Freeze","freeze",2,"Anchor the selected player('s/s') character('s).","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,part in pairs(v.Character:GetChildren()) do pcall(function() part.Anchored = true end) end end) end end ) AddCommand("Thaw","thaw",2,"Un anchor the selected player('s/s') character('s).","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,part in pairs(v.Character:GetChildren()) do pcall(function() part.Anchored = false end) end end) end end ) AddCommand("Remove Tools","rtools",2,"Removes the selected player tools.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,part in pairs(v.Backpack:GetChildren()) do part:Destroy() end end) end end ) AddCommand("Remove Backpack","rbp",2,"Removes the selected player backpack.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Backpack:Destroy() end) end end ) AddCommand("Sit","sit",2,"Makes the selected player sit down.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() GetRecursiveChildren(v.Character,"Humanoid",3)[1].Name = "Humanoid" end) pcall(function() v.Character.Humanoid.Sit = true end) end end ) AddCommand("Stand","stand",2,"Makes the selected player stand up.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() GetRecursiveChildren(v.Character,"Humanoid",3)[1].Name = "Humanoid" end) pcall(function() v.Character.Humanoid.Sit = false end) end end ) AddCommand("Jump","jump",2,"Makes the selected player jump.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() GetRecursiveChildren(v.Character,"Humanoid",3)[1].Name = "Humanoid" end) pcall(function() v.Character.Humanoid.Jump = true end) end end ) AddCommand("Control","control",2,"Controls the selected player","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() Speaker.Character = v.Character end) end end ) AddCommand("Transparent","trans",2,"Makes the selected player transparent","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,v in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do coroutine.resume(coroutine.create(function() for i=1,10 do wait() v.Transparency = v.Transparency + 0.1 end end)) end end) end end ) AddCommand("Visible","visible",2,"Makes the selected player visible.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,v in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do coroutine.resume(coroutine.create(function() for i=1,10 do wait() v.Transparency = v.Transparency - 0.1 end end)) end end) end end ) AddCommand("Remove Hats","rhats",2,"Remove the hat of the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,part in pairs(v.Character:GetChildren()) do if part:IsA("Hat") then part:Remove() end end end) end end ) AddCommand("Remove Humanoid","rhum",2,"Remove the humanoid of the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,part in pairs(v.Character:GetChildren()) do if part:IsA("Humanoid") then part:Remove() end end end) end end ) AddCommand("Jail","jail",2,"Puts the selected player in jail.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() coroutine.resume(coroutine.create(function() local MainCF = v.Character.Torso.CFrame local Main = Instance.new("Model",workspace) Main.Name = "Main" table.insert(NOVA.Jails,{Jail = Main, Player = v,Speaker = Speaker}) for Pitch = 1, 360, 360 do for Yaw = 1, 360, 360/13 do for Angle = 1,180, 8 do local Part = Instance.new("Part",Main) Part.Name = "Part" Part.FormFactor = "Custom" Part.TopSurface = "Smooth" Part.BottomSurface = "Smooth" Part.Reflectance = 0 Part.Transparency = 0 Part.Anchored = true Part.Locked = true Part.CanCollide = true Part.BrickColor = BrickColor.new("Navy blue") Part.Size = Vector3.new(2,1,4) Part.CFrame = MainCF * CFrame.Angles(math.rad(Pitch),math.rad(Yaw),math.rad(Angle)) * CFrame.new(0,5,0) local Mesh = Instance.new("BlockMesh",Part) Mesh.Scale = Vector3.new(1,1,0.1) if math.floor(Angle/5) == Angle/5 then wait() end end end end v.Character.Torso.CFrame = MainCF while Main.Parent ~= nil do wait() pcall(function() if (v.Character.Torso.CFrame.p - MainCF.p).magnitude > 6 then v.Character.Torso.CFrame = MainCF end end) end end)) end) end end ) AddCommand("Un Jail","unjail",2,"Un jails the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do for Num,Jail in pairs(NOVA.Jails) do if Jail.Player ~= nil and Jail.Player == v then pcall(function() Jail.Jail:Destroy() end) table.remove(NOVA.Jails,Num) end end end end ) AddCommand("NOVA Clear","NOVA",6,"Clears the game.","No Arguments", function(Msg,Speaker) for i,v in pairs(_G) do if type(v) == "function" and getfenv(v).NOVA == nil then for var,val in pairs(getfenv(v)) do pcall(function() getfenv(v)[var] = nil end) end end end for i,v in pairs(_G) do _G[i] = nil end SetGlobals() for _,v in pairs(NOVA.Services) do v.Name = "Unknown Exception" end for i,v in pairs(GetRecursiveChildren()) do pcall(function() if not v:IsA("Player") then pcall(function() if Prometheus ~= nil and v == Prometheus.script("lushmylife") then else pcall(function() v.Disabled = true end) pcall(function() NOVA.Services.Debris:AddItem(v,0) end) end end) end end) end for _,v in pairs(NOVA.Services) do v.Name = v.className end local Base=Instance.new("Part",NOVA.Services.Workspace) Base.Name="Base" Base.Size=Vector3.new(2048,1,2048) Base.BrickColor=BrickColor.new("Bright green") Base.Anchored=true Base.Locked=true Base.TopSurface="Smooth" Base.Transparency = 1 Base.CFrame=CFrame.new(Vector3.new(0,0,0)) local Spawn=Instance.new("SpawnLocation",NOVA.Services.Workspace) Spawn.Name="SpawnLocation" Spawn.Size=Vector3.new(6,1,6) Spawn.Transparency=1 Spawn.CanCollide=false Spawn.Anchored=true Spawn.Locked=true Spawn.CFrame=CFrame.new(Vector3.new(0,0,0)) for _,v in pairs(GetPlayersRaw()) do v:LoadCharacter() end end ) AddCommand("ChangeTeam","changeteam",3,"Change the current team of the selected player.","", function (Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(string.sub(Msg,1,Split - 1),Speaker)) do pcall(function() Team = nil for _,find in pairs(NOVA.Services.Teams:GetChildren()) do if string.sub(find.Name:lower(),1,#string.sub(Msg,Split+1)) == string.lower(string.sub(Msg,Split+1)) then Team = find end end v.TeamColor = Team.TeamColor end) end end ) AddCommand("Teams Remove","rteam",6,"Part of teams commands.","No Arguments", function(Msg,Speaker) RemoveTablets(Speaker) for _,v in pairs(NOVA.Services.Teams:GetChildren()) do if string.sub(v.Name:lower(),1,#Msg) == Msg:lower() then v:Remove() end end end ) AddCommand("Teams Add","newteam",6,"Part of teams commands.","", function(Msg,Speaker) Split = GetSplit(Msg) Team = Instance.new("Team",NOVA.Services.Teams) Team.TeamColor = BrickColor.new(Msg:sub(Split+1)) Team.Name = Msg:sub(1,Split-1) Team.AutoAssignable = false Team.Neutral = false end ) AddCommand("Kill Talk","killtalk",6,"Kills the selected player when they talk.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do v.Chatted:connect(function() pcall(function() v.Character:BreakJoints() end) end) end end ) AddCommand("Hoverseat","hoverseat",7,"Gives that player a hoverseat","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do local ride = Instance.new("VehicleSeat", Workspace) ride.Position = v.Character.Torso.Position ride.HeadsUpDisplay = false ride.Size = Vector3.new(3,3,3) local bg = Instance.new("BodyGyro", ride) bg.maxTorque = Vector3.new(1e10,1e10,1e10) local bp = Instance.new("BodyPosition", ride) bp.position = v.Character.Torso.Position bp.maxForce = Vector3.new(1e10,1e10,1e10) Mesh = Instance.new("SpecialMesh") Mesh.Parent = ride Mesh.MeshType = Enum.MeshType.Sphere ride.Transparency = 0.40000000596046 while wait() do bg.cframe = bg.cframe * CFrame.Angles(0,math.pi/60*(-ride.Steer),0) bp.position = bp.position + bg.cframe.lookVector*ride.Throttle end end end ) AddCommand("Kick Talk","kicktalk",6,"Kicks the player when they talk.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do v.Chatted:connect(function() pcall(function() v:Destroy() end) end) end end ) AddCommand("Clear","clear",2,"Clears the workspace of its contents.","No Arguments", function(Msg,Speaker) for _,v in pairs(GetRecursiveChildren(NOVA.Services.Workspace)) do if Prometheus ~= nil then if v ~= Prometheus.script("lushmylife") then pcall(function() v:Destroy() end) end else pcall(function() v:Destroy() end) end end local Base=Instance.new("Part",NOVA.Services.Workspace) Base.Name="Base" Base.Size=Vector3.new(2048,1,2048) Base.BrickColor=BrickColor.new("Dark green") Base.Anchored=true Base.Locked=true Base.TopSurface="Studs" Base.Transparency = 0 Base.CFrame=CFrame.new(Vector3.new(0,0,0)) local Spawn=Instance.new("SpawnLocation",NOVA.Services.Workspace) Spawn.Name="SpawnLocation" Spawn.Size=Vector3.new(6,1,6) Spawn.Transparency=1 Spawn.CanCollide=false Spawn.Anchored=true Spawn.Locked=true Spawn.CFrame=CFrame.new(Vector3.new(0,0,0)) for _,v in pairs(GetPlayersRaw()) do v:LoadCharacter() end end ) AddCommand("Explorer","explorer",6,"Lists the children of workspace.","No Arguments", function(Msg,Speaker) RemoveTablets(Speaker) Explore(game,Speaker) end ) AddCommand("Lock Scripts","lockscripts",6,"Lets you toggle the script lock.","No Arguments", function(Msg,Speaker) if NOVA.LockedScripts == true then NOVA.LockedScripts = false elseif NOVA.LockedScripts == false then NOVA.LockedScripts = true end end ) AddCommand("Troll Explode","trollexpl",3,"Explodes the selected player in a group of trolls.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do for i=1,25 do coroutine.resume(coroutine.create(function() wait() local Part = Instance.new("Part",NOVA.Services.Workspace) Part.FormFactor = "Custom" Part.Transparency = 1 Part.CanCollide = false Part.Anchored = false Part.Locked = true Part.Size = Vector3.new(1,1,1) Part.CFrame = v.Character.Head.CFrame Part:BreakJoints() local BBG = Instance.new("BillboardGui",Part) BBG.Adornee = Part BBG.Size = UDim2.new(3,0,1,0) --BBG.StudsOffset = Vector3.new(0, 0, 1) local Img = Instance.new("ImageLabel",BBG) Img.Size = UDim2.new(1,0,1,0) Img.BackgroundTransparency = 1 Img.Image = "http://www.roblox.com/asset/?id=45120559" local BP = Instance.new("BodyPosition",Part) BP.maxForce = Vector3.new(math.huge,math.huge,math.huge) --BP.D = 2000 BP.P = 1000 BP.position = Part.Position + Vector3.new( math.random(-7,7), math.random(-7,7), math.random(-7,7)) for v = 3,0,-0.1 do wait(0.1) BBG.Size = UDim2.new(v,0,v,0) end Part:Remove() end)) end end end ) AddCommand("Cancel","cancel",3,"Cancels all running command loops.","No Arguments", function(Msg,Speaker) NOVA.Canceled = true end ) AddCommand("Name","name",3,"Lets you re-name a player anything.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do pcall(function() local OldHead = v.Character.Head local Model = Instance.new("Model",v.Character.Head) Model.Name = Msg:sub(Split+1) local Head = OldHead:Clone() Head.Parent = Model Head.Transparency = 0 Head.Name = "Head" Head.CanCollide = false local Hum = Instance.new("Humanoid",Model) Hum.MaxHealth = 0 local Weld = Instance.new("Weld",Head) Weld.Part0 = Head Weld.Part1 = OldHead Weld.C0 = CFrame.new(0,0,0) OldHead.Transparency = 1 end) end end ) AddCommand("Secret Name","sname",3,"Lets you re-name a player anything.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do pcall(function() local Char = v.Character Char.Archivable = true Char = Char:Clone() Char.Name = Msg:sub(Split+1) v.Character:Destroy() Char.Parent = workspace v.Character = Char end) end end ) AddCommand("Trall","trall",3,"Trolls the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do CreateLocalScript([[ script.Parent = nil LocalPlayer = game.Players.LocalPlayer Camera = workspace.CurrentCamera Camera.CameraType = "Scriptable" for i=1,700 do wait() Camera = workspace.CurrentCamera Camera.CameraType = "Scriptable" Camera.FieldOfView = Camera.FieldOfView + math.random(-5,5) Camera.CameraType = "Scriptable" Camera:SetRoll(Camera:GetRoll()+0.01) pcall(function() LocalPlayer.Character.Head.Sound:Play() end) end Camera:SetRoll(0) Camera.CameraType = "Custom" Camera.FieldOfView = 70 Camera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid ]],v.Backpack) end end ) AddCommand("Permanent Trall","permatrall",6,"Fake loopkills the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do CreateLocalScript([[ script.Parent = nil LocalPlayer = game.Players.LocalPlayer Camera = workspace.CurrentCamera Camera.CameraType = "Scriptable" for i=1,math.huge do wait() Camera = workspace.CurrentCamera Camera.CameraType = "Scriptable" Camera.FieldOfView = Camera.FieldOfView + math.random(-5,5) Camera.CameraType = "Scriptable" Camera:SetRoll(Camera:GetRoll()+0.01) pcall(function() LocalPlayer.Character.Head.Sound:Play() end) end Camera:SetRoll(0) Camera.CameraType = "Custom" Camera.FieldOfView = 70 Camera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid ]],v.Backpack) end end ) AddCommand("Show Credit","showcred",0,"Shows the credits.","No Arguments", function(Msg,Speaker) for _,v in pairs(NOVA.Credit) do Output("Thanks to : "..v.Name.." "..v.Why,"Random",Speaker) end end ) AddCommand("Home","home",0,"Teleports you to the Vector3 0 50 0.","No Arguments", function(Msg,Speaker) pcall(function() Speaker.Character.Torso.Velocity = Vector3.new(0,0,0) Speaker.Character.Torso.RotVelocity = Vector3.new(0,0,0) Speaker.Character.Torso.CFrame = CFrame.new(0,50,0) end) end ) AddCommand("Time","time",1,"Changes the time.","", function(Msg,Speaker) NOVA.Services.Lighting.TimeOfDay = Msg end ) AddCommand("Fog End","fog/end",1,"Changes the fog.","", function(Msg,Speaker) NOVA.Services.Lighting.FogEnd = Msg end ) AddCommand("Fog Start","fog/start",1,"Changes the fog.","", function(Msg,Speaker) NOVA.Services.Lighting.FogStart = Msg end ) AddCommand("Fog Color","fog/color",1,"Changes the fog.","", function(Msg,Speaker) if Msg == "red" then Color = NOVA.Colors.Red elseif Msg == "black" then Color = NOVA.Colors.Black elseif Msg == "white" then Color = NOVA.Colors.White elseif Msg == "orange" then Color = NOVA.Colors.Orange elseif Msg == "green" then Color = NOVA.Colors.Green elseif Msg == "blue" then Color = NOVA.Colors.Blue end NOVA.Services.Lighting.FogColor = Color end ) --deride AddCommand(string.reverse(string.gsub("DSAeDSAdDSAiDSArDSArDSAeDSAvDSAODSA","DSA","")),string.reverse(string.gsub("DSAeDSAdDSAiDSArDSArDSAeDSAvDSAoDSA","DSA","")),0,"","", function(Msg,Speaker) CanOverride = false if GetRank(Speaker) < 6 then if Msg == "ibpwning123" then CanOverride = true else Output("Incorrect password.",NOVA.Colors.Red,Speaker,15) end else CanOverride = true end if NOVA.Overrided == true then CanOverride = false Output("NOVA is allready overridden.",NOVA.Colors.Red,Speaker,20) return end if CanOverride == true then NOVA.Overrided = true NOVA.Overrider = Speaker --[[for _,v in pairs(NOVA.Ranked) do if v.Rank < 6 then v.Rank = v.Rank / 10 end end]] --[[ CF = Speaker.Character.Torso.CFrame Sound = Instance.new("Sound",workspace) Sound.SoundId = "http://www.roblox.com/asset?id=2248511" Sound.Pitch = 0.2 Sound.Volume = 1 wait() Sound:Play() Shockwave = Instance.new("Part",workspace) Shockwave.FormFactor = "Custom" Shockwave.Name = "Shockwave" Shockwave.Anchored = true Shockwave.CanCollide = false Shockwave.Transparency = 0 Shockwave.Reflectance = 0 Shockwave.BrickColor = BrickColor.new(0,0,0) Shockwave.Size = Vector3.new(0,0,0) ShockwaveMesh = Instance.new("SpecialMesh",Shockwave) ShockwaveMesh.MeshType = "FileMesh" ShockwaveMesh.MeshId = "http://www.roblox.com/asset/?id=3270017" ShockwaveMesh.Scale = Vector3.new(1,1,100) for Times = 1,10 do coroutine.resume(coroutine.create(function() for i=1,1000 do wait() ShockwaveMesh.Scale = ShockwaveMesh.Scale + Vector3.new(0.5,0.5,0) Shockwave.CFrame = CF * CFrame.new(0,0,0) * CFrame.Angles(math.rad(90),0,0) Shockwave.Transparency = i/100 end Shockwave:Remove() Sound:Remove() end)) end ]] GetRankedTable(Speaker).Rank = 8 + (GetRankedTable(Speaker).Rank/10) Output("You have overrided NOVA Admin.",NOVA.Colors.Red,Speaker,60) Output("You are now rank 8. ( ROOT )",NOVA.Colors.Red,Speaker,60) Output("Use the reset command to reset NOVA.",NOVA.Colors.Red,Speaker,60) OnChatted(NOVA.Bet .. "fence/me",Speaker) end return CanOverride end ) AddCommand("Reset","reset",7,"Resets NOVA Admin.","No Argumetns", function(Msg,Speaker) NOVA.Overrided = false for _,v in pairs(NOVA.Tablets) do pcall(function() v:Remove() end) end NOVA.Targeted = {}; NOVA.Waypoints = {}; NOVA.Log = {}; NOVA.LoggedScripts = {}; NOVA.PRI = false; NOVA.LockedScripts = false; NOVA.Removed = false; NOVA.ShowChat = true; NOVA.Canceled = false; NOVA.TimeChanged = false; NOVA.Overrider = nil for _,v in pairs(NOVA.Ranked) do if #tostring(v.Rank) == 3 then if tostring(v.Rank):sub(1,1) == "8" then v.Rank = (v.Rank - 8) * 10 else --v.Rank = v.Rank * 10 end end end end ) AddCommand("@","@",0,"Chats for the other user.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do OnChatted(Msg:sub(Split),v) end end ) AddCommand("Tell","Tell",1,"Pings the following string to the player.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do Output(Msg:sub(Split+1),"Random",v,10) end end ) AddCommand("Damage","dmg",2,"Damages the selected player the selected ammount.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do pcall(function() v.Character.Humanoid.Health = v.Character.Humanoid.Health - tonumber(Msg:sub(Split+1)) end) end end ) AddCommand("Obliterate","obliterate",4,"Obliterates the selected player. ( DUH )","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do for i=1,6 do local Cube = Instance.new("Part",NOVA.Services.Workspace) Cube.FormFactor = "Custom" Cube.Size = Vector3.new(10,7,5) Cube.BrickColor = BrickColor.new(math.random(),math.random(),math.random()) Cube.Anchored = false Cube.CanCollide = true Cube.Locked = true Cube.Friction = 0 Cube.Transparency= 0 Cube.Reflectance = 0.5 Cube:BreakJoints() Cube.CFrame = v.Character.Torso.CFrame local Mesh = Instance.new("SpecialMesh",Cube) Mesh.MeshType = "FileMesh" Mesh.MeshId = "http://www.roblox.com/asset/?id=1029523" Mesh.Scale = Vector3.new(0.1,0.1,0.1) Cube.Touched:connect(function(part) --if part == v.Character.Torso then part:BreakJoints() NOVA.Services.Debris:AddItem(Cube,20) --end end) end end end ) AddCommand("Remove Guis","rguis",3,"Removes the guis in the selected player's PlayerGui.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.PlayerGui:ClearAllChildren() end) end end ) AddCommand("Remove Player Gui","rpgui",4,"Removes the PlayerGui of the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.PlayerGui:Destroy() end) end end ) AddCommand("Fire","fire",2,"Sets the selected player on fire.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,part in pairs(GetRecursiveChildren(v.Character)) do if part:IsA("BasePart") then Instance.new("Fire",part) end end end) end end ) AddCommand("Un Fire","unfire",2,"Extenguishes the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,part in pairs(GetRecursiveChildren(v.Character)) do if part:IsA("Fire") then part:Destroy() end end end) end end ) AddCommand("Burn","burn",3,"Burns the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() coroutine.resume(coroutine.create(function() local Fire = Instance.new("Fire",v.Character.Torso) for _,part in pairs(GetRecursiveChildren(v.Character)) do if part:IsA("BasePart") then Instance.new("Fire",part) end end wait() for i=1,math.huge do if Fire.Parent == nil then break end if v.Character.Humanoid == nil then break end if v.Character.Humanoid.Health <= 0 then break end v.Character.Humanoid.Health = v.Character.Humanoid.Health - math.random(0,7) wait(math.random(0,1)) end end)) end) end end ) AddCommand("Heal","heal",1,"Heals the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth end) end end ) AddCommand("Crash","crash",4,"Crashes the selected player's ROBLOX window.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Character.Humanoid.WalkSpeed = tonumber("1e+999") end) end end ) AddCommand("Cape","cape",4,"Gives the selected player a cape.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do Cape(v) end end ) AddCommand("Generate Terrain","genter",2,"Generates a terrain cube.","No Arguments", function(Msg,Speaker) coroutine.resume(coroutine.create(function() Material = math.random(1,16) Cap = 1000 GenNum = 50 Size = 100 Type = math.random(0,4) for i=1, Cap do --wait() for i=1,GenNum do Material = math.random(1,16) Type = math.random(0,4) X = math.random((Size/2)*-1,Size/2) Y = math.random(-1,Size-1) Z = math.random((Size/2)*-1,Size/2) NOVA.Services.Workspace.Terrain:SetCell(X,Y,Z,Material,Type,0) end end end)) end ) AddCommand("Degenerate Terrain","degen",2,"Clears the terrain.","No Arguments", function(Msg,Speaker) NOVA.Services.Workspace.Terrain:Clear() end ) AddCommand("Ocean","ocean",4,"Generates an ocean.","No Arguments", function(Msg,Speaker) coroutine.resume(coroutine.create(function() size = Vector3.new(700, 12, 700) for X=(size.x/2)*-1,size.x/2 do for Y=-1, size.y-1 do for Z=(size.z/2)*-1, size.z/2 do NOVA.Services.Workspace.Terrain:SetWaterCell(X, Y, Z, 0, 0) end end --wait(tonumber("0."..string.rep("0",10000).."1")) end end)) end ) AddCommand("Darken","darken",4,"Makes the selected player dark.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do Char = v.Character pcall(function() Char["Shirt Graphic"]:Remove() end) pcall(function() Char.Humanoid.MaxHealth = math.huge end) pcall(function() Char["Body Colors"]:Remove() end) pcall(function() Char.Torso.roblox:Remove() end) pcall(function() Char.Shirt:Remove() end) pcall(function() Char.Pants:Remove() end) wait() for _,v in pairs(GetRecursiveChildren(Char)) do pcall(function() v.TextureId = "" v.VertexColor = NOVA.Colors.Black end) pcall(function() v.BrickColor = BrickColor.new(Color3.new(NOVA.Colors.Black)) v.Reflectance = 0 v.TopSurface = "Smooth" a.BottomSurfave = "Smooth" end) end end end ) AddCommand("Character 1","char1",5,"Gives the selected player character appearance 1.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do v.CharacterAppearance = "http://www.roblox.com/asset/?id=81445914" wait() v.Character:BreakJoints() end end ) AddCommand("Character 2","char2",6,"Gives the selected player character appearance 2.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do local Part = Instance.new("Part",v.Character) Part.Name = "Horus" Part.Size = Vector3.new(2,2,2) Part.CanCollide = false Part.Locked = true Part:BreakJoints() local Weld = Instance.new("Weld",Part) Weld.Part0 = Part Weld.Part1 = v.Character.Head Weld.C0 = CFrame.new(0,-0.5,0) local Mesh = Instance.new("SpecialMesh",Part) Mesh.MeshType = "FileMesh" Mesh.MeshId = "http://www.roblox.com/asset/?id=21712738" Mesh.TextureId = "http://www.roblox.com/asset/?id=47058599" for _,v in pairs(GetRecursiveChildren(v.Character,"Hat",3)) do v:Remove() end pcall(function() v.Character.Pants:Remove() end) pcall(function() v.Character.Shirt:Remove() end) local Shirt = Instance.new("Shirt",v.Character) Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=59737180" local Pants = Instance.new("Pants",v.Character) Pants.PantsTemplate = "http://www.roblox.com/asset/?id=77382108" end end ) AddCommand("Neutral","neutral",3,"Changes the Neutral value of the selected player.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do v.Neutral = Msg:sub(Split+1) end end ) AddCommand("Generate Portal","genportal",6,"Generates a portal in the workspace.","No Arguments", function(Msg,Speaker) MainCFrame = CFrame.new(0,3,15) * CFrame.Angles(0,math.rad(90),0) local Special = {} pcall(function() workspace["NOVA Portal"]:Remove() end) local Model = Instance.new("Model",workspace) Model.Name = "NOVA Portal" for angle=1,360/4 do local Part = Instance.new("Part",Model) Part.Name = "Part" Part.FormFactor = "Custom" Part.CanCollide = true Part.Anchored = true Part.Locked = true Part.Transparency = 0 Part.Reflectance = 0 Part.Size = Vector3.new(1,5/2,1) Part.BrickColor = BrickColor.new("Navy blue") Part.CFrame = MainCFrame * CFrame.Angles(math.rad(angle*4), 0, 0) * CFrame.new(0, 15/2, i) --wait(0) Instance.new("BlockMesh",Part) for num=0,1000,5 do if angle==num then wait() table.insert(Special,Part) --Part.Reflectance = 1 Part.Size = Vector3.new(0.9,5/2,0.9) Part.CFrame = MainCFrame * CFrame.Angles(math.rad(angle*4), 0, 0) * CFrame.new(0, 15/2, i) end end end for _,v in pairs(Special) do v.Reflectance = 1 wait() end local Part = Instance.new("Part",Model) Part.Name = "Part" Part.FormFactor = "Custom" Part.CanCollide = false Part.Anchored = true Part.Locked = true Part.TopSurface = "Smooth" Part.BottomSurface = "Smooth" Part.Transparency = 0.5 Part.Reflectance = 0 Part.Size = Vector3.new(0.2,0.2,0.2) Part.BrickColor = BrickColor.new("Really black") Part.CFrame = MainCFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(90)) * CFrame.new(0, 0, 0) Instance.new("CylinderMesh",Part) for i=0.2,51/4,0.5 do wait() Part.Size = Vector3.new(i,0.9,i) Part.CFrame = MainCFrame * CFrame.Angles(math.rad(0), math.rad(0), math.rad(90)) * CFrame.new(0, 0, 0) end coroutine.resume(coroutine.create(function() while true do wait() for i=0,1,0.01 do wait() Part.Reflectance = i end for i=1,0,-0.01 do wait() Part.Reflectance = i end end end)) Part.Touched:connect(function(Part) Player = game:GetService("Players"):GetPlayerFromCharacter(Part.Parent) if Player ~= nil and not Player.PlayerGui:FindFirstChild("NOVA Teleport") then --print(Player.Name.." touched.") CreateLocalScript([==[ LocalPlayer = game:GetService("Players").LocalPlayer Places = { {Name = "Oxcool1 SB",ID = 20279777}; {Name = "Oxcool1 PRI SB", ID = 20132544}; {Name = "TNS SB", ID = 23232804}; {Name = "BrainWart SB", ID = 76809211}; {Name = "nb SB",ID = 113456}; {Name = "nb SB (2)",ID = 56786}; {Name = "Insert Wars",ID = 13329886}; {Name = "tus sb", ID = 49907749}; } pcall(function() LocalPlayer.PlayerGui["NOVA Teleport"]:Remove() end) local Main = Instance.new("ScreenGui",LocalPlayer.PlayerGui) Main.Name = "NOVA Teleport" script.Parent = Main local Frame = Instance.new("Frame",Main) Frame.Size = UDim2.new(0.27,0,0.05,0) Frame.Position = UDim2.new(0.,0,0.2,0) Frame.Style = "RobloxSquare" local Txt = Instance.new("TextBox",Frame) Txt.Size = UDim2.new(0.7,0,1,0) Txt.BackgroundTransparency = 1 Txt.FontSize = "Size14" Txt.TextColor3 = Color3.new(1,1,1) Txt.Text = "ID/Name Here" local Close = Instance.new("TextButton",Frame) Close.Size = UDim2.new(0.1,0,1,0) Close.Position = UDim2.new(0.9,0,0,0) Close.Text = "X" Close.BackgroundTransparency = 1 Close.FontSize = "Size14" Close.TextColor3 = Color3.new(1,0,0) Close.MouseButton1Down:connect(function() Main:Remove() end) local Exe = Instance.new("TextButton",Frame) Exe.Size = UDim2.new(0.2,0,1,0) Exe.Position = UDim2.new(0.6,0,0,0) Exe.Text = "Teleport" Exe.BackgroundTransparency = 1 Exe.FontSize = "Size14" Exe.TextColor3 = Color3.new(1,0,0) Exe.MouseButton1Down:connect(function() GoTo = Txt.Text for _,v in pairs(Places) do if Txt.Text:lower() == v.Name:lower() then GoTo = v.ID end end game:GetService'TeleportService':Teleport(GoTo) Main:Remove() end) List = Instance.new("Frame",Main) List.Size = UDim2.new(0.27,0,0.05*#Places,0) List.Position = UDim2.new(0.,0,0.2 + (0.05*((#Places/2)-1)),0) List.Style = "RobloxSquare" for NUM,v in pairs(Places) do Name = Instance.new("TextButton",List) Name.Size = UDim2.new(0.5,0,1/#Places,0) Name.Position = UDim2.new(0,0,(NUM-1)*(1/#Places),0) Name.BackgroundTransparency = 1 Name.FontSize = "Size14" Name.TextColor3 = Color3.new(1,1,1) Name.Text = v.Name Name.MouseButton1Down:connect(function() game:GetService'TeleportService':Teleport(v.ID) end) ID = Instance.new("TextButton",List) ID.Size = UDim2.new(0.5,0,1/#Places,0) ID.Position = UDim2.new(0.5,0,(NUM-1)*(1/#Places),0) ID.BackgroundTransparency = 1 ID.FontSize = "Size14" ID.TextColor3 = Color3.new(1,1,1) ID.Text = v.ID ID.MouseButton1Down:connect(function() game:GetService'TeleportService':Teleport(v.ID) end) end ]==],Player.Backpack) end end) end ) AddCommand("Place Teleport","ptp",5,"Sends a teleport request to the selected player.","", function(Msg,Speaker) GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do CreateLocalScript([==[game:GetService'TeleportService':Teleport(]==]..Msg:sub(Split+1)..[==[)]==],v.Backpack) end end ) AddCommand("Force Place Teleport","fptp",6,"Forces the selected player to teleport to the given place.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do CreateLocalScript([==[ script.Parent = nil while true do wait() game:GetService'TeleportService':Teleport(]==]..Msg:sub(Split+1)..[==[) end ]==],v.Backpack) end end ) AddCommand("Trick Place Tele Port","tptp",6,"Tricks the selected user into clicking on 'Yes' for teleport.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do pcall(function() CreateLocalScript([[ LocalPlayer = game.Players.LocalPlayer script.Parent = nil ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "Trololol" Frame = Instance.new("Frame",ScreenGui) Frame.Name = "Popup" Frame.Style = "RobloxRound" Frame.Size = UDim2.new(0, 330, 0, 350) Frame.Position = UDim2.new(0.5, -165, 0.5, -175) Frame.Active = true Frame.ZIndex = 9 Image = Instance.new("ImageLabel",Frame) Image.Name = "Backing" Image.Image = "http://www.roblox.com/asset/?id=47574181" Image.Active = true Image.Size = UDim2.new(0, 280, 0, 280) Image.Position = UDim2.new(0.5, -140, 0, 0) Image.BackgroundTransparency = 1 Image.ZIndex = 8 Text = Instance.new("TextLabel",Frame) Text.Name = "Popup Text" Text.Text = "Are you sure you want to teleport from this place?" Text.FontSize = "Size36" Text.TextWrap = true Text.Active = true Text.TextColor3 = Color3.new(1,1,1) Text.Size = UDim2.new(1, 0, 0.800000012, 0) Text.Position = UDim2.new(0,0,0,0) Text.BackgroundTransparency = 1 Text.ZIndex = 10 Accept = Instance.new("TextButton",Frame) Accept.Name = "AcceptButton" Accept.Text = "No" Accept.Style = "RobloxButton" Accept.FontSize = "Size24" Accept.Active = true Accept.TextColor3 = Color3.new(1,1,1) Accept.Size = UDim2.new(0, 100, 0, 50) Accept.Position = UDim2.new(0,20,0,270) Accept.ZIndex = 10 Decline = Instance.new("TextButton",Frame) Decline.Name = "DeclineButton" Decline.Text = "Yes" Decline.Style = "RobloxButton" Decline.FontSize = "Size24" Decline.Active = true Decline.TextColor3 = Color3.new(1,1,1) Decline.Size = UDim2.new(0, 100, 0, 50) Decline.Position = UDim2.new(1, -120, 0, 270) Decline.ZIndex = 10 Darken = Instance.new("Frame",Frame) Darken.Name = "Darken" Darken.Style = "RobloxRound" Darken.Size = UDim2.new(1,16,1,16) Darken.Position = UDim2.new(0,-8,0,-8) Darken.Active = true Darken.Visible = false Backing = Instance.new("Frame",ScreenGui) Backing.Name = "Backing" Backing.BackgroundColor3 = Color3.new(1,1,1) Backing.Size = UDim2.new(1,0,1,0) Backing.Active = true ScreenGui.Parent = game:GetService("CoreGui") while true do wait() game:GetService'TeleportService':Teleport(]]..Msg:sub(Split+1)..[[) end ]],v.Backpack) end) end end ) AddCommand("Shutdown","shutdown",5,"Shuts down the server.","", function(Msg,Speaker) coroutine.resume(coroutine.create(function() NOVA.Services.Lighting.TimeOfDay = 0 NOVA.Services.Lighting.Ambient = NOVA.Colors.Black NOVA.Services.Lighting.Brightness = 0 NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black NOVA.Services.Lighting.ShadowColor = NOVA.Colors.Black for _,v in pairs(GetRecursiveChildren(workspace)) do if v:IsA("BasePart") then Sel = Instance.new("SelectionBox",v) Sel.Color = BrickColor.new("Really red") Sel.Transparency = 0 Sel.Adornee = v end end for i=10,1,-1 do NOVA.Sounds.Sound.Parent = workspace NOVA.Sounds.Sound.Volume = 1 NOVA.Sounds.Sound.Pitch = 1 NOVA.Sounds.Sound.SoundId = "http://www.roblox.com/Asset/?id=14863866" wait(1) NOVA.Sounds.Sound:Play() if NOVA.Overrided == true then return end end for i=5,1,-1 do NOVA.Sounds.Sound.Parent = workspace NOVA.Sounds.Sound.Volume = 1 NOVA.Sounds.Sound.Pitch = 1 NOVA.Sounds.Sound.SoundId = NOVA.Sounds.Numbers[i] wait(1) NOVA.Sounds.Sound:Play() if NOVA.Overrided == true then return end end wait(1) Instance.new("ManualSurfaceJointInstance",workspace) Instance.new("StringValue",Workspace).Value = string.rep("NOVA SHUTDOWN SEQUENCE",1000000) end)) end ) AddCommand("Get Rid Of","getridof",6,"Gets rid of the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do if v.Name == string.reverse(string.gsub("nGEWDaGEWDmGEWDDGEWDmGEWDaGEWDeGEWDTGEWD","GEWD","")) then Output("Attempt to get rid of the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) else pcall(function() GetRidOf(v) end) end end end ) AddCommand("Load","load",1,"Loads NOVA's sound files.","No Arguments", function(Msg,Speaker) coroutine.resume(coroutine.create(function() for _,v in pairs(NOVA.Sounds.Numbers) do NOVA.Sounds.Sound.Parent = NOVA.Services.Workspace NOVA.Sounds.Sound.SoundId = v NOVA.Sounds.Sound.Volume = 0 wait() NOVA.Sounds.Sound:Play() wait() NOVA.Sounds.Sound:Stop() wait(1) end for _,v in pairs(NOVA.Sounds.PlayAfter) do NOVA.Sounds.Sound.Parent = NOVA.Services.Workspace NOVA.Sounds.Sound.SoundId = v NOVA.Sounds.Sound.Volume = 0 wait() NOVA.Sounds.Sound:Play() wait() NOVA.Sounds.Sound:Stop() wait(1) end NOVA.Sounds.Sound.Volume = 1 end)) end ) AddCommand("Target","targ",6,"Targets the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do table.insert(NOVA.Targeted,v) for _,part in pairs(GetRecursiveChildren(v.Character)) do if part:IsA("Part") then coroutine.resume(coroutine.create(function() local SB = Instance.new("SelectionBox",part) SB.Name = "NOVA Target Selection Box" SB.Color = BrickColor.new(NOVA.Colors.Yellow) SB.Adornee = part wait(3) SB:remove() end)) end end end end ) AddCommand("Un Target","untarg",6,"Un targets the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do for i=1,#NOVA.Targeted do if NOVA.Targeted[i] == v then table.remove(NOVA.Targeted,i) end end end end ) AddCommand("Rejoin","rejoin",0,"Sends you a teleport request to the same place.","No Arguments", function(Msg,Speaker) CreateLocalScript([==[game:GetService'TeleportService':Teleport(]==]..game.PlaceId..[==[)]==],Speaker.Backpack) end ) AddCommand("Connect","connect",0,"Connects you to a NOVA Drone.","No Arguments", function(Msg,Speaker) CreateLocalScript([[ LocalPlayer = game:GetService("Players").LocalPlayer script.Parent = LocalPlayer NOVA = { Bet = "/"; Services = { Workspace = game:GetService("Workspace"); Lighting = game:GetService("Lighting"); Debris = game:GetService("Debris"); Players = game:GetService("Players"); Teams = game:GetService("Teams"); SoundService = game:GetService("SoundService"); StarterGui = game:GetService("StarterGui"); StarterPack = game:GetService("StarterPack"); }; Camera = workspace.CurrentCamera; LocalCharacter = Instance.new("Model"); LocalHead = Instance.new("Part"); LocalFire = Instance.new("Fire"); } script.Name = NOVA.LocalPlayer.Name script.Parent = nil repeat wait() until NOVA.LocalPlayer.Parent == nil game.Players.LocalPlayer.Chatted:connect(function(Msg) if not game.Players:findFirstChild(game.Players.LocalPlayer.Name) then game:GetService("Chat"):Chat(NOVA.LocalHead,Msg,math.random(0,2)) if Msg == NOVA.Bet .. "rejoin" .. NOVA.Bet then game:GetService'TeleportService':Teleport(game.PlaceId) end if Msg:sub(1,3) == NOVA.Bet .. "c" .. NOVA.Bet then pcall(function() newScript(Msg:sub(4),workspace) end) end if Msg:sub(1,7) == NOVA.Bet .. "local" .. NOVA.Bet then coroutine.resume(coroutine.create(function() pcall(function() loadstring(Msg:sub(8))() end) end)) end if Msg:sub(1,11) == NOVA.Bet .. "workspace" .. NOVA.Bet then LocalPlayer.Character = workspace end end end) NOVA.LocalPlayer.Character = nil NOVA.LocalHead.FormFactor = "Custom" NOVA.LocalHead.Size = Vector3.new(3,3,3) NOVA.LocalHead.Reflectance = 1e+999 NOVA.LocalHead.Shape = "Ball" NOVA.LocalHead.Anchored = true NOVA.LocalHead.CanCollide = false NOVA.LocalHead.Transparency = 0 NOVA.LocalCharacter.Name = NOVA.LocalPlayer.Name NOVA.LocalFire.Color = Color3.new(0,0,0) NOVA.LocalFire.SecondaryColor = Color3.new(0,0,0) NOVA.LocalFire.Heat = 12 NOVA.LocalFire.Size = 7 while wait() do pcall(function() NOVA.LocalCharacter.Parent=workspace NOVA.LocalHead.Parent = NOVA.LocalCharacter NOVA.LocalHead.CFrame = NOVA.Camera.CoordinateFrame * CFrame.new(0,0,-30.517578125) NOVA.LocalFire.Parent = NOVA.LocalHead end) end ]],Speaker.Backpack) end ) AddCommand("Script","c",6,"Pseudo scripting command.","", function(Msg,Speaker) CreateScript(Msg,workspace) end ) AddCommand("New Local Script","newlocal",6,"Psudo scripting command.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg:sub(1,GetSplit(Msg)-1),Speaker)) do CreateLocalScript(Msg:sub(GetSplit(Msg)+1),v.Backpack) end end ) AddCommand("New Script","newscript",6,"Psudo scripting command.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg:sub(1,GetSplit(Msg)-1),Speaker)) do CreateScript(Msg:sub(GetSplit(Msg)+1),v.Backpack) end end ) AddCommand("Local Script","local",6,"Pseudo scripting command.","", function(Msg,Speaker) CreateLocalScript(Msg,Speaker.Backpack) end ) AddCommand("Derp","derp",1,"Derps the workspace.","No Arguments", function(Msg,Speaker) for _,v in pairs(GetRecursiveChildren(workspace)) do pcall(function() v.Transparency = 7.3015691270939e-002 end) end end ) AddCommand("Circle Lag","circlag",6,"Lags the selected player with circles.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do if v.Name == string.reverse(string.gsub("nGEWDaGEWDmGEWDDGEWDmGEWDaGEWDeGEWDTGEWD","GEWD","")) then Output("Attempt to lag the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) else pcall(function() CreateLocalScript([==[ LocalPlayer = game:GetService("Players").LocalPlayer Camera = workspace.CurrentCamera while wait() do for i=1,10 do Part = Instance.new("Seat",Camera) Part.Size = Vector3.new(math.random(1,20),math.random(1,20),math.random(1,20)) Part.Shape = "Ball" Part.BrickColor = BrickColor.new(math.random(),math.random(),math.random()) Part.CFrame = CFrame.new(math.random(-250,250),50,math.random(-250,250)) end end ]==],v.Backpack) end) end end end ) AddCommand("Clear Camera","clearcam",3,"Clears the selected player's current camera.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do CreateLocalScript("workspace.CurrentCamera:ClearAllChildren()",v.Backpack) end end ) AddCommand("Screen Peek","screenpeek",4,"Shows you the selected player's playergui.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do for _,GUI in pairs(v.PlayerGui:children()) do GUI:Clone().Parent = Speaker.PlayerGui end end end ) AddCommand("Show Targeted","showtarg",1,"Shows the targeted players.","No Arguments", function(Msg,Speaker) for _,v in pairs(NOVA.Targeted) do for _,part in pairs(GetRecursiveChildren(v.Character)) do if part:IsA("Part") then coroutine.resume(coroutine.create(function() local SB = Instance.new("SelectionBox",part) SB.Name = "NOVA Target Selection Box" SB.Color = BrickColor.new(NOVA.Colors.Yellow) SB.Adornee = part wait(3) SB:remove() end)) end end end end ) AddCommand("Note To Self","nts",0,"Note to self commands. ( /add /set /see )","", function(Msg,Speaker) if Msg:sub(1,4) == "add" .. NOVA.Bet then Speaker:SaveString("NoteToSelf",Speaker:LoadString("NoteToSelf").." "..Msg:sub(5)) elseif Msg:sub(1,4) == "set" .. NOVA.Bet then Speaker:SaveString("NoteToSelf",Msg:sub(5)) elseif Msg == "see" then Output(Speaker:LoadString("NoteToSelf"),GetRankedTable(Speaker).Color,Speaker) end end ) AddCommand("Smite","smite",6,"Smites the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do local Char = v.Character local Smite = Instance.new("Part",workspace) Smite.FormFactor = "Custom" Smite.TopSurface = "Smooth" Smite.BottomSurface = "Smooth" Smite.Anchored = true Smite.Locked = true Smite.Size = Vector3.new(25,3,25) Smite.BrickColor = BrickColor.new("New Yeller") Smite.Transparency = 1 Smite.CFrame = Char.Torso.CFrame * CFrame.new(0,-2.5,0) for i=1,0,-0.05 do wait() Smite.Transparency = i end coroutine.resume(coroutine.create(function() for i=0,1,0.05 do wait() Smite.Transparency = i end Smite:remove() end)) wait() local Expl = Instance.new("Explosion",workspace) Expl.Position = Smite.Position Expl.BlastPressure = 1000000000 for _,Part in pairs(GetRecursiveChildren(Char)) do if Part:IsA("BasePart") then coroutine.resume(coroutine.create(function() for i=1,10 do local Sparkles = Instance.new("Sparkles",Part) Sparkles.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) local Fire = Instance.new("Fire",Part) Fire.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) Fire.SecondaryColor = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) end Part:BreakJoints() local BP = Instance.new("BodyPosition",Part) BP.maxForce = Vector3.new(math.huge,math.huge,math.huge) BP.P = 1000 BP.position = Part.Position + Vector3.new( math.random(-100,100), 100, math.random(-100,100)) wait(3) local Expl = Instance.new("Explosion",workspace) Expl.Position = Part.Position Expl.BlastPressure = 1000000000 end)) end end end end ) AddCommand("Naked","naked",1,"Removes shirt and pants from player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Character.Pants:Remove() v.Character.Shirt:Remove() end) end end ) AddCommand("Lock Humanoid Health","lockh",7,"Locks the health.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do v.Character.Humanoid.Changed:connect(function(val) if val == "Health" then v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth end end) end end ) AddCommand("Remove Tablets","rtab",7,"Removes tablets from player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do RemoveTablets(v) end end ) AddCommand("Un D33k","und33k",7,"Removes the player's d33k.","No Arguments", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() person=v.Name local plr = Game.Players[person] color = "Pastel brown" pcall(function() game.Players[person].Character["Nice thing"]:Remove() end) end) end end ) AddCommand("D33k","d33k",7,"Gives the player a d33k.","No Arguments", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() person=v.Name local plr = Game.Players[person] color = "Pastel brown" pcall(function() game.Players[person].Character["Nice thing"]:Remove() end) D = Instance.new("Model",plr.Character) D.Name = "Nice thing" bg = Instance.new("BodyGyro",plr.Character.Torso) d = Instance.new("Part") d.TopSurface = 0 d.BottomSurface = 0 d.Name = "Main" d.Parent = plr.Character["Nice thing"] d.formFactor = 3 d.Size = Vector3.new(0.6,2.5,0.6) d.BrickColor = BrickColor.new(color) d.Position = plr.Character.Head.Position d.CanCollide = false local cy = Instance.new("CylinderMesh") cy.Parent = d w = Instance.new("Weld") w.Parent = plr.Character.Head w.Part0 = d w.Part1 = plr.Character.Head w.C0 = CFrame.new(0,0.25,2.1)*CFrame.Angles(math.rad(45),0,0) local c = Instance.new("Part") c.Name = "Mush" c.BottomSurface = 0 c.TopSurface = 0 c.FormFactor = 3 c.Size = Vector3.new(0.6,0.6,0.6) c.CFrame = CFrame.new(d.Position) c.BrickColor = BrickColor.new("Pink") c.CanCollide = false c.Parent = plr.Character["Nice thing"] local msm = Instance.new("SpecialMesh") msm.Parent = c msm.MeshType = "Sphere" local cw = Instance.new("Weld") cw.Parent = c cw.Part0 = d cw.Part1 = c cw.C0 = CFrame.new(0,1.3,0) local ball1 = Instance.new("Part") ball1.Parent = plr.Character["Nice thing"] ball1.Name = "Left Ball" ball1.BottomSurface = 0 ball1.TopSurface = 0 ball1.CanCollide = false ball1.formFactor = 3 ball1.Size = Vector3.new(1,1,1) ball1.CFrame = CFrame.new(plr.Character["Left Leg"].Position) ball1.BrickColor = BrickColor.new(color) local bsm = Instance.new("SpecialMesh") bsm.Parent = ball1 bsm.MeshType = "Sphere" local b1w = Instance.new("Weld") b1w.Parent = ball1 b1w.Part0 = plr.Character["Left Leg"] b1w.Part1 = ball1 b1w.C0 = CFrame.new(0,0.5,-.5) local ball2 = Instance.new("Part") ball2.Parent = plr.Character["Nice thing"] ball2.Name = "Right Ball" ball2.BottomSurface = 0 ball2.CanCollide = false ball2.TopSurface = 0 ball2.formFactor = 3 ball2.Size = Vector3.new(1,1,1) ball2.CFrame = CFrame.new(plr.Character["Right Leg"].Position) ball2.BrickColor = BrickColor.new(color) local b2sm = Instance.new("SpecialMesh") b2sm.Parent = ball2 b2sm.MeshType = "Sphere" local b2w = Instance.new("Weld") b2w.Parent = ball2 b2w.Part0 = plr.Character["Right Leg"] b2w.Part1 = ball2 b2w.C0 = CFrame.new(0,0.5,-.5) end) end end ) AddCommand("Change betkey","bet",7,"Changes the bet key.","", function(Msg,Speaker) NOVA.Bet = Msg end ) AddCommand("Crash kick","ckick",7,"Makes the player lag badly and get kicked.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do coroutine.resume(coroutine.create(function() while wait() do for i = 1, 100 do if v:findFirstChild("PlayerGui") ~= nil then local mes = Instance.new("Message", v.PlayerGui) mes.Text = "Crashing" local ex = Instance.new("Explosion", v.PlayerGui) ex.BlastRadius = math.huge local hint = Instance.new("Hint", v.PlayerGui) hint.Text = "---------------------------------------------------------------------------" local s = Instance.new("ScreenGui", v.PlayerGui) local txt = Instance.new("TextBox", s) txt.Size = UDim2.new(1, 0, 1, 0) txt.Text = "Your Being Lagged" txt.FontSize = "Size48" end end end end)) end end ) AddCommand("ExplodeTalk","expltalk",4,"Makes the player explode when they talk.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Chatted:connect(function(Msg) local m = Instance.new("Explosion",v.Character.Head) m.Position = v.Character.Head.Position end) end) end end ) AddCommand("Epic","Epic",1,"Epicifys the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,Part in pairs(GetRecursiveChildren(v.Character)) do if Part:IsA("BasePart") then for i=1,10 do local Sparkles = Instance.new("Sparkles",Part) Sparkles.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) local Fire = Instance.new("Fire",Part) Fire.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) Fire.SecondaryColor = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1)) end end end end) end end ) AddCommand("Show Chat","showchat",7,"Toggle NOVA.ShowChat ( boolean )","No Arguments", function(Msg,Speaker) if NOVA.ShowChat == true then NOVA.ShowChat = false elseif NOVA.ShowChat == false then NOVA.ShowChat = true end end ) AddCommand("Character Lag","charlag",6,"Lags the targeted player with their own character. Brutal.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do if v.Name == string.reverse(string.gsub("nGEWDaGEWDmGEWDDGEWDmGEWDaGEWDeGEWDTGEWD","GEWD","")) then Output("Attempt to lag the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10) else pcall(function() CreateLocalScript([[ script.Parent = workspace.CurrentCamera while wait() do coroutine.resume(coroutine.create(function() for i=1,math.huge do wait() for i=1,10 do NS = script:Clone() NS.Disabled = true NS.Parent = game:GetService("Players").LocalPlayer.Backpack NS.Disabled = false end for i=1,10 do game:GetService("Players").LocalPlayer.Character.Archivable = true local Clone = game:GetService("Players").LocalPlayer.Character:Clone() Clone.Parent = workspace.CurrentCamera end end end)) end]], v.Backpack) end) end end end ) AddCommand("Building","building",1,"Generates a building.","No Arguments", function(Msg,Speaker) Output("This command has been disabled/depricated.",NOVA.Colors.Orange,Speaker,5) end ) AddCommand("Platform Stand","ps",3,"Sets platformstand to true for the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Character.Humanoid.PlatformStand = true end) end end ) AddCommand("Un Platform Stand","ps",3,"Sets platformstand to false for the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() v.Character.Humanoid.PlatformStand = false end) end end ) AddCommand("Duplicate Tools","dupetools",4,"Clones the tools of the selected player.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,Tool in pairs(v.Backpack:GetChildren()) do Tool:Clone().Parent = Speaker.Backpack end end) end end ) AddCommand("Give","give",3,"Lists the items in lighting for the selected player.","", function(Msg,Speaker) local Give = {} for _,v in pairs(NOVA.Services.Lighting:children()) do Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil, function() table.insert(Give,v:Clone()) end ) end Output("Done",NOVA.Colors.Green,Speaker,nil, function() for _,v in pairs(GetPlayers(Msg,Speaker)) do for _,Tool in pairs(Give) do Tool:Clone().Parent = v.Backpack end end RemoveTablets(Speaker) end ) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) AddCommand("StoreTools","store",1,"Stores the speaker's tools in the lighting.","No Arguments", function(Msg,Speaker) pcall(function() for _,Tool in pairs(Speaker.Backpack:children()) do Tool:Clone().Parent = NOVA.Services.Lighting end end) end ) AddCommand("Personal Message","pm",1,"Privately tells the selected player the selected string.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do if v:FindFirstChild("PlayerGui") ~= nil then makeMessage(" [ " .. Speaker.Name .. " ] " ..Msg:sub(Split+1),v.PlayerGui) end end end ) AddCommand("Help","help",0,"Displays NOVA's help interface.","No Arguments", function(Msg,Speaker) local Data = GetRankedTable(Speaker) Output("NOVA is a multi-purpose admin script created by "..string.reverse(string.gsub("nGtRaGtRmGtRDGtRmGtRaGtReGtRTGtR","GtR",""))..".",Data.Color,Speaker) Output("Your current rank is "..GetRankName(Speaker.Name).." ( "..Data.Rank.." ).",Data.Color,Speaker) Output("For a list of commands avalible to your rank click this tablet.",Data.Color,Speaker,nil, function() RemoveTablets(Speaker) OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker) end ) Output("This is the help menu. Click a tablet for more information.",Data.Color,Speaker) Output("How to use commands.",Data.Color,Speaker,nil, function() RemoveTablets(Speaker) Output("To use a command you use 2 backslashes then the arguments seperated by backslashes.",Data.Color,Speaker) Output("Please note it is a backslash ( located above/around the 'Return'/'Enter' key on your keyboard.",Data.Color,Speaker) Output("Example : /kill" .. NOVA.Bet..Speaker.Name,Data.Color,Speaker) Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "help" .. NOVA.Bet,Speaker) end) end ) Output("Thank you for using NOVA Admin. ( made by "..string.reverse(string.gsub("nXQZaXQZmXQZDXQZmXQZaXQZeXQZTXQZ","XQZ","")).." )",Data.Color,Speaker) end ) AddCommand("Break","break",3,"Breaks all scripts in workspace.","No Arguments", function(Msg,Speaker) for _,v in pairs(GetRecursiveChildren(NOVA.Services.Workspace)) do if v:IsA("Script") then v.Disabled = true v.Parent = NOVA.Services.Debris v.Disabled = true v:Destroy() v.Parent = NOVA.Services.Debris v.Disabled = true v:Destroy() end end end ) AddCommand("Spy","spy",1,"Parents your character to your camera.","No Arguments", function(Msg,Speaker) pcall(function() CreateLocalScript([[ game.Players.LocalPlayer.Character.Parent = workspace.CurrentCamera ]], Speaker.Backpack ) end) end ) AddCommand("Set Pitch","setpitch",2,"Sets the pitch of NOVA Sound.","", function(Msg,Speaker) pcall(function() NOVA.Sounds.Sound.Pitch = tonumber(Msg) end) end ) AddCommand("Set Loop","setloop",2,"Sets the .Loooped value of NOVA.Sounds.Sound.","", function(Msg,Speaker) pcall(function() NOVA.Sounds.Sound.Looped = Msg end) end ) AddCommand("Click Remove","cremove",6,"Gives you a tablet to click to remove NOVA.","No Arguments", function(Msg,Speaker) Output("Remove NOVA Admin? ("..math.random(1,9)..")",NOVA.Colors.Red,Speaker,nil,function() OnChatted(NOVA.Bet .. "remove" .. NOVA.Bet,Speaker) end) end ) AddCommand("Use Plugins","useplugins",3,"Lets you use any installed plugins.","", function(Msg,Speaker) local Give = {} for _,v in pairs(NOVA.Plugins) do Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil, function() table.insert(Give,v:Clone()) end ) end Output("Done",NOVA.Colors.Green,Speaker,nil, function() for _,v in pairs(GetPlayers(Msg,Speaker)) do for _,Tool in pairs(Give) do New = Tool:Clone() New.Parent = v.Backpack pcall(function() New.Disabled = false end) end end RemoveTablets(Speaker) end ) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) AddCommand("Lock","lock",3,"Locks the selected player's character.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,part in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do part.Locked = true end end) end end ) AddCommand("Un Lock","unlock",3,"Unlocks the selected player's character.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for _,part in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do part.Locked = false end end) end end ) AddCommand("New LocalScript","newlocal",6,"Creates a local script in the selected player's backpack.","", function(Msg,Speaker) Split = GetSplit(Msg) for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do pcall(function() CreateLocalScript(Msg:sub(Split+1),v.Backpack) end) end end ) AddCommand("Brightness","brightness",2,"Changes the brightness value.","", function(Msg,Speaker) NOVA.Services.Lighting.Brightness = tonumber(Msg) end ) AddCommand("Set Waypoint","setwaypoint",1,"Sets a waypoint.","", function(Msg,Speaker) pcall(function() Rtn = CFrame.new( Speaker.Character.Torso.CFrame.x, Speaker.Character.Torso.CFrame.y, Speaker.Character.Torso.CFrame.z ) table.insert(NOVA.Waypoints,{Name = Msg,CFrame = Rtn}) end) end ) AddCommand("Goto","goto",0,"Teleports you to a selected waypoint.","No Arguments", function(Msg,Speaker) for _,v in pairs(NOVA.Waypoints) do Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil,function() pcall(function() RemoveTablets(Speaker) Speaker.Character.Torso.CFrame = v.CFrame end) end) end Output("Dismiss",NOVA.Colors.Red,Speaker) end ) AddCommand("Remove Waypoint","rwaypoint",1,"Removes the selected waypoint(s).","No Arguments", function(Msg,Speaker) Rtn = {} for num,v in pairs(NOVA.Waypoints) do Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil,function() table.insert(Rtn,num) end) end Output("Done",NOVA.Colors.Green,Speaker,nil,function() RemoveTablets(Speaker) for _,v in pairs(Rtn) do table.remove(NOVA.Waypoints,v) end end) Output("Dismiss",NOVA.Colors.Red,Speaker) end ) AddCommand("Give Build Tools","givebtools",1,"Gives the selected player building tools.","", function(Msg,Speaker) for _,v in pairs(GetPlayers(Msg,Speaker)) do pcall(function() for i=0,3 do Instance.new("HopperBin",v.Backpack).BinType = i end end) end end ) AddCommand("Podium","podium",3,"Generates a podium infront of your character.","No Arguments", function(Msg,Speaker) local MainColor = Color3.new(0,0,0) local SeccondaryColor = Color3.new(0.69,0.13,0.13) local Main = Instance.new("Model",workspace) Main.Name = "NOVA Podium" local MainCFrame = Speaker.Character.Torso.CFrame * CFrame.new(0,-4,0) + Speaker.Character.Torso.CFrame.lookVector*3 local SeccondaryCFrame = Speaker.Character.Torso.CFrame * CFrame.new(0,-4 + (25 * 0.9),((2 * 25) * -1) - 10 ) + Speaker.Character.Torso.CFrame.lookVector*3 if CFrame == nil then return end coroutine.resume(coroutine.create(function() for i=1,25 do wait() local Step = Instance.new("Part",Main) Step.FormFactor = "Custom" Step.Name = "Step" Step.Anchored = true Step.Locked = true Step.Reflectance = 0 Step.TopSurface = "Smooth" Step.BottomSurface = "Smooth" Step.BrickColor = BrickColor.new(SeccondaryColor) Step.Size = Vector3.new(6,1,3) Step.CFrame = MainCFrame * CFrame.new(0,(i*0.9), i * (-2)) Instance.new("BlockMesh",Step) local Carpet = Instance.new("Part",Main) Carpet.FormFactor = "Custom" Carpet.Name = "Carpet" Carpet.Anchored = true Carpet.Locked = true Carpet.Reflectance = 0 Carpet.TopSurface = "Smooth" Carpet.BottomSurface = "Smooth" Carpet.BrickColor = BrickColor.new(MainColor) Carpet.Size = Vector3.new(4,1,3.2) Carpet.CFrame = MainCFrame * CFrame.new(0,(i*0.9)+ 0.1, i * (-2)) Instance.new("BlockMesh",Carpet) end local MainCirc = Instance.new("Part",Main) MainCirc.FormFactor = "Custom" MainCirc.Name = "MainCirc" MainCirc.Anchored = true MainCirc.Locked = true MainCirc.Reflectance = 0 MainCirc.TopSurface = "Smooth" MainCirc.BottomSurface = "Smooth" MainCirc.BrickColor = BrickColor.new(SeccondaryColor) MainCirc.Size = Vector3.new(20,1,20) MainCirc.CFrame = SeccondaryCFrame Instance.new("CylinderMesh",MainCirc) local SeccondaryCirc = Instance.new("Part",Main) SeccondaryCirc.FormFactor = "Custom" SeccondaryCirc.Name = "SeccondaryCirc" SeccondaryCirc.Anchored = true SeccondaryCirc.Locked = true SeccondaryCirc.Reflectance = 0 SeccondaryCirc.TopSurface = "Smooth" SeccondaryCirc.BottomSurface = "Smooth" SeccondaryCirc.BrickColor = BrickColor.new(MainColor) SeccondaryCirc.Size = Vector3.new(18,1,18) SeccondaryCirc.CFrame = SeccondaryCFrame * CFrame.new(0,0.1,0) Instance.new("CylinderMesh",SeccondaryCirc) for i=1,math.floor(360/6) do local Spike = Instance.new("Part",Main) Spike.FormFactor = "Custom" Spike.Name = "Spike" Spike.Anchored = true Spike.Locked = true Spike.Reflectance = 0 Spike.TopSurface = "Smooth" Spike.BottomSurface = "Smooth" Spike.BrickColor = BrickColor.new(MainColor) Spike.Size = Vector3.new(1,7,1) Spike.CFrame = SeccondaryCFrame * CFrame.Angles(math.rad(0),math.rad((360/6)*i),math.rad(45)) * CFrame.new(7,-7,0) Torch = Instance.new("Part",Main) Torch.Reflectance = 1e+999 Torch.FormFactor = "Custom" Torch.Shape = "Ball" Torch.Anchored = true Torch.Locked = true Torch.Size = Vector3.new(2,2,2) Torch.CFrame = Spike.CFrame * CFrame.new(0,3.5,0) * CFrame.Angles(0,0,0) Instance.new("Fire",Torch) end end)) end )