Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[ ]]
- script.Name = "# R0bustic #"
- wait()0
- 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.","<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.","<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.","<String>",
- function(Msg,Speaker)
- makeMessage(" [ " .. Speaker.Name .. " ] " ..Msg,NOVA.Services.Workspace)
- end
- )
- AddCommand("Kill","kill",2,"Kills the selected player.","<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.","<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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<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 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.","<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 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.","<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.","<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.","<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.","<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.","<Player><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.","<BoolValue>",
- 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.","<Player>",
- 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.","<Player><Rank>",
- 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.","<Player><Player>",
- 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.","<Player><Player>",
- 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.","<Player><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.","<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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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).","<Player>",
- 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).","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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","<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","<Player>",
- 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.","<Player>",
- 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.","<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.","<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.","<Player>",
- 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.","<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.","<Player><TeamName>",
- 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.","<Name>",
- 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.","<Players>",
- 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","<Players>",
- 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.","<Players>",
- 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.","<Players>",
- 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.","<Player><Name>",
- 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.","<Player><Name>",
- 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.","<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.","<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.","<Number>",
- function(Msg,Speaker)
- NOVA.Services.Lighting.TimeOfDay = Msg
- end
- )
- AddCommand("Fog End","fog/end",1,"Changes the fog.","<Number>",
- function(Msg,Speaker)
- NOVA.Services.Lighting.FogEnd = Msg
- end
- )
- AddCommand("Fog Start","fog/start",1,"Changes the fog.","<Number>",
- function(Msg,Speaker)
- NOVA.Services.Lighting.FogStart = Msg
- end
- )
- AddCommand("Fog Color","fog/color",1,"Changes the fog.","<Number>",
- 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.","<Player><Chat>",
- 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.","<Player><Chat>",
- 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.","<Player><FloatValue>",
- 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 )","<Player>",
- 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.","<Player>",
- 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.","<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.","<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
- Instance.new("Fire",part)
- end
- end
- end)
- end
- end
- )
- AddCommand("Un Fire","unfire",2,"Extenguishes the selected player.","<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.","<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.","<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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<Player><Boolean>",
- 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.","<Player><PlaceId>",
- 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.","<Player><PlaceId>",
- 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.","<Player><PlaceId>",
- 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.","<No Arguments>",
- 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.","<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.","<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.","<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.","<Source>",
- function(Msg,Speaker)
- CreateScript(Msg,workspace)
- end
- )
- AddCommand("New Local Script","newlocal",6,"Psudo scripting command.","<Player><Source>",
- 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.","<Player><Source>",
- 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.","<Source>",
- 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.","<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 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.","<Player>",
- 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.","<Player>",
- 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 )","<Action>",
- 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.","<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.","<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.","<Player>",
- 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.","<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.","<New bet Key>",
- function(Msg,Speaker)
- NOVA.Bet = Msg
- end
- )
- AddCommand("Crash kick","ckick",7,"Makes the player lag badly and get kicked.","<Player>",
- 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.","<Player>",
- 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.","<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.","<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 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.","<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.","<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.","<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.","<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.","<Player><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.","<Int Value>",
- 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.","<Boolean>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<Player>",
- 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.","<IntValue>",
- function(Msg,Speaker)
- NOVA.Services.Lighting.Brightness = tonumber(Msg)
- end
- )
- AddCommand("Set Waypoint","setwaypoint",1,"Sets a waypoint.","<StringValue>",
- 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.","<Player>",
- 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
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement