View difference between Paste ID: PG9S6q6r and 3bGrPv34
SHOW: | | - or go back to the newest paste.
1
--[[                                                                                                                                                                                    ]]
2
script.Name = "# NOVA Admin #"
3
wait()
4
script.Parent = Instance.new("Glue") -- Stuck!
5
NOVA ={
6
    BadPhrases = true;
7
    Bet = "/";
8
    Services = {
9
        Game = game;
10
        RunService = game:GetService("RunService");
11
        Workspace = game:GetService("Workspace");
12
        Lighting = game:GetService("Lighting");
13
        Debris = game:GetService("Debris");
14
        Players = game:GetService("Players");
15
        Teams = game:GetService("Teams");
16
        SoundService = game:GetService("SoundService");
17
        ScriptContext = game:GetService("ScriptContext");
18
        NetworkServer = game:GetService("NetworkServer");
19
        StarterGui = game:GetService("StarterGui");
20
        StarterPack = game:GetService("StarterPack");
21
    };
22
    Ranks = {
23
        {-2,"Lagged"}; -- -2
24
        {-1,"Banned"}; -- -1
25
        {-0.5,"Scum"};
26
        {0,"Guest"}; -- 0
27
        {1,"Mod"}; -- 1
28
        {2,"Admin"}; -- 2
29
        {3,"Developer"}; -- 3
30
        {4,"Omega Admin"}; -- 4
31
        {5,"Overlord"}; -- 5
32
        {6,"OP ( Operator )"}; -- 6
33
        {7,"Creator"}; -- 7
34
        {8,"ROOT"}; -- 8
35
    };
36
    Alphabet = {
37
    "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",    
38
    };
39
    Ranked = {
40-
        {Name = "Dylanbuil", Rank = 8, CMD = true, Color = Color3.new(1,1,0), Desc = "NOVA"};
40+
        {Name = "cambow19", Rank = 8, CMD = true, Color = Color3.new(1,1,0), Desc = "NOVA"};
41
        {Name = "mastero67", Rank = 7, CMD = true, Color = Color3.new(0,0,1), Desc = "Fire"};
42
        {Name = "darkeageninja", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Banned"};
43
        {Name = "wubbzy301", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Banned"};
44
        {Name = "xXxArtistxXx", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Nub"};
45
        {Name = "mrein5", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "A low life Camball abuser"};
46
        {Name = "lxljohnlxlalt", Rank = -2, CMD = true, Color = Color3.new(0,0,1), Desc = "TOTAL NUB WITH NO LIFE"};
47
 
48
    };    
49
    Credit = {
50
        {Name = "NetworkClient",Why = "for the tablet function."};
51
        {Name = string.reverse(string.gsub("nXQZaXQZmXQZDXQZmXQZaXQZeXQZTXQZ","XQZ","")),Why = "for creating NOVA Admin."};
52
        {Name = "upquark",Why = "For being a great person in life."};
53
        {Name = "toshir0z",Why = "For teaching me time control."};
54
        {Name = "ask4kingbily",Why = "For showing me how to lock first person."};
55
    };
56
    Animations = {
57
        {Name = "Facepalm", Who = "Dylanbuil", Id = "372695cdb6a7540768234ad60ed7a298"};
58
    };
59
    Colors = {
60
        Red = Color3.new(1,0,0);
61
        PinkRed = Color3.new(1,0,0.15);
62
        Orange = Color3.new(1,0.5,0);
63
        Yellow = Color3.new(1,1,0);
64
        Green = Color3.new(0,1,0);
65
        Blue = Color3.new(0,0,1);
66
        LightBlue = Color3.new(0,1,1);
67
        Pink = Color3.new(1,0,1);
68
        Magenta = Color3.new(0.54,0,0.54);
69
        White = Color3.new(1,1,1);
70
        Grey = Color3.new(0.5,0.5,0.5);
71
        Black = Color3.new(0,0,0);
72
    };
73
    Sounds = {
74
        Sound = Instance.new("Sound");
75
        Numbers = { -- one to five ( top to bottom )
76
            "http://www.roblox.com/Asset/?id=29445305",
77
            "http://www.roblox.com/Asset/?id=29445339",
78
            "http://www.roblox.com/Asset/?id=29445358",
79
            "http://www.roblox.com/Asset/?id=29445378",
80
            "http://www.roblox.com/Asset/?id=29445395",
81
        };
82
        PlayAfter = {
83
            "http://www.roblox.com/Asset/?id=2767090",
84
            "http://www.roblox.com/Asset/?id=2800815",
85
            "http://www.roblox.com/Asset/?id=2801263",
86
            "http://www.roblox.com/Asset/?id=11984254",
87
            "http://www.roblox.com/Asset/?id=2101159",
88
            "http://www.roblox.com/Asset/?id=3087031",
89
            "http://www.roblox.com/Asset/?id=2101148",
90
            "http://www.roblox.com/Asset/?id=2233908",
91
            "http://www.roblox.com/Asset/?id=16976189",
92
            "http://www.roblox.com/Asset/?id=2101157",
93
            "http://www.roblox.com/Asset/?id=2974000",
94
            "http://www.roblox.com/Asset/?id=2703110",
95
            "http://www.roblox.com/Asset/?id=1994345",
96
        };
97
    };
98
    AncientRules = {
99
        "Thou shall not use forum scripts.",
100
        "Thou shall not use CamBall / CamSphere.",
101
        "Thou shall not use CBA.",
102
        "Thou shall not use RMDX's scripts.",
103
        "Thou shall not use antibans.",
104
        "Thou shall not abuse thou admin.",
105
        "Thou shall not steal scripts.",
106
        "Thou shall not trade scripts you didn't make.",
107
        "Thou shall not use gay scripts.",
108
        "Thou shall not abuse loopholes in the ancient rules.",
109
    };
110
    ChatFilters = {
111
        "mediafire",
112
        "shit",
113
        "gtfo",
114
        "password",
115
        "hitler",
116
        "vaginas",
117
    };
118
 
119
    KillingPhrases = {
120
        "ssj",
121
        "yolo",
122
        "swag",
123
    };
124
    KickingPhrases = {
125
             "\"/down\"",
126
        "/down",
127
        "/hide",
128
        "rpe/",
129
        "antiban",
130
        "ab/",
131
        "camball.",
132
        "camball.came",
133
        "camball/",
134
        "camball /","deadfield","1waffle1",
135
        "cie camball",
136
        "d33k/",
137
        "pban/",
138
        "your own camball",
139
        "created by jordan88282",
140
        "v2 camball",
141
        "cba = {}",
142
        "cba.bet",
143
        "banmenu","adminlist",
144
        "ban/t","ban/tu","ban/tus","ban/tusk","ban/tusko","ban/tuskor","ban/tuskor6","ban/tuskor66","ban/Dylanbuil",
145
        "cryston",
146
        "jordan88282", "eyeball","orb","kick/","owner","antikick",
147
   };
148
    PreviousDataKeys = {
149
        "Unlimited Gravity&accesskey=13785(G*&_version="..tostring(_VERSION),
150
    };
151
    LoadTime = {
152
        Start = tick(),
153
        Finish = tick(),
154
    };
155
    Fences = {};
156
    Jails = {};
157
    Objects = {};
158
    Commands = {};
159
    Tablets = {};
160
    Targeted = {};
161
    ExternalPlayersList = {};
162
    Waypoints = {};
163
    Log = {};
164
    LoggedScripts = {};
165
    PRI = false;
166
    LockedScripts = false;
167
    Removed = true;
168
    ShowChat = true;
169
    Canceled = false;
170
    Overrided = false;
171
    TimeChanged = false;
172
    TabletPositionRelative = false;
173
    AntiDLL = false;
174
    EnableGuests = true;
175
    UseGlobals = false;
176
    Overrider = nil;
177
    TabletRotation = 0;
178
    TabletRotationIncrease = 0.03;
179
    AccessKey = "13785(G*";
180
    Version = "6th Generation";
181
    DataKey = "Unlimited Gravity";
182
    PRIType = "Shutdown";
183
    LocalScript = script:FindFirstChild("PseudoLocalScript"); -- or NewLocal
184
    Script = script:FindFirstChild("PseudoScript"); -- or NewScript
185
    Plugins = script:GetChildren()
186
}
187
--[[ PLAYER PLUGINS ]]--
188
function UpdatePlayerPlugins()
189
    if NOVA.AntiDLL == true then PlayerPlugins = [==[
190
            script.Parent = nil
191
            LocalPlayer = game:GetService("Players").LocalPlayer
192
           
193
            game:GetService("Selection").SelectionChanged:connect(function()
194
                if LocalPlayer.Name ~= "Dylanbuil" and LocalPlayer.Name ~= "SurgenHack" and LocalPlayer.Name ~= "Player" then
195
                    LocalPlayer.Parent = nil
196
                    LocalPlayer.Parent = game:GetService("Players")
197
                end
198
            end)
199
            coroutine.resume(coroutine.create(function()
200
                while wait() do
201
                    if workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==[") then
202
                        workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==["):Remove()
203
                        LocalPlayer.Parent = nil
204
                        LocalPlayer.Parent = game:GetService("Players")
205
                    end
206
                end
207
            end))
208
        ]==]
209
        else
210
            PlayerPlugins = [==[
211
            script.Parent = nil
212
            LocalPlayer = game:GetService("Players").LocalPlayer
213
       
214
            coroutine.resume(coroutine.create(function()
215
                while wait() do
216
                    if workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==[") then
217
                        workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==["):Remove()
218
                        LocalPlayer.Parent = nil
219
                        LocalPlayer.Parent = game:GetService("Players")
220
                    end
221
                end
222
            end))
223
        ]==]
224
    end
225
end
226
function Color()
227
        local Choice = math.random(1, 5)
228
        if Choice == 1 then
229
                return "Institutional white"
230
        elseif Choice == 2 then
231
                return "White"
232
        elseif Choice == 3 then
233
                return "Really red"
234
        elseif Choice == 4 then
235
                return "New Yeller"
236
        elseif Choice == 5 then
237
                return "Black"
238
        end
239
end  
240
--[[ PSEUDO FUNCTIONS ]]--
241
function CreateLocalScript(Source, Parent)
242
    if game.PlaceId == 20279777 or game.PlaceId == 20132544 or game.PlaceId == 54194680 then
243
        newLocalScript(Source, Parent)
244
    elseif game.PlaceId == 23232804 then
245
        NewLocalScript(Source, Parent)
246
    elseif NOVA.LocalScript ~= nil then
247
        NS = NOVA.LocalScript:Clone()
248
        NS.Name = "LocalScript"
249
        pcall(function() NS:ClearAllChildren() end)
250
        NewSource = Instance.new("StringValue",NS)
251
        NewSource.Name = "Source"
252
        if game.PlaceId == 113456 or game.PlaceId == 49907749 or game.PlaceId == 56786 then
253
            NewSource.Name = "DSource"
254
        end
255
        NewSource.Value = Source
256
        NS.Parent = Parent
257
        NS.Disabled = false
258
    else
259
        print("[NOVA.CreateLocalScript] Localscript functionality not avalible here. ( PlaceId : "..game.PlaceId..")")
260
    end
261
end
262
 
263
function CreateScript(Source, Parent)
264
    if game.PlaceId == 20279777 or game.PlaceId == 20132544 or game.PlaceId == 54194680 then
265
        newScript(Source, Parent)
266
    elseif game.PlaceId == 23232804 then
267
        NewScript(Source, Parent)
268
    elseif NOVA.Script ~= nil then
269
        NS = NOVA.Script:Clone()
270
        NS.Name = "Script"
271
        pcall(function() NS:ClearAllChildren() end)
272
        NewSource = Instance.new("StringValue",NS)
273
        NewSource.Name = "Source"
274
        NewSource.Value = Source
275
        NS.Parent = Parent
276
        NS.Disabled = false
277
    else
278
        print("[NOVA.CreateScript] Script functionality not avalible here. ( PlaceId : "..game.PlaceId..")")
279
    end
280
end
281
 
282
function IsTargeted(Player)
283
    if type(Player) == "string" then
284
        for _,v in pairs(NOVA.Targeted) do
285
            if v.Name == Player then
286
                return true
287
            end
288
        end
289
    elseif type(Player) == "userdata" then
290
        for _,v in pairs(NOVA.Targeted) do
291
            if Player == v then
292
                return true
293
            end
294
        end
295
    else
296
        print("[NOVA.IsTargeted] An invalid argument type was used. ("..tostring(type(Player))..")")
297
    end
298
    return false
299
end
300
 
301
--[[ DATA PERSISTANCE ]]--
302
--[[ SYNC RANKS IN ]]--
303
function SyncRanksIn()
304
    for _,v in pairs(NOVA.Services.Players:GetPlayers()) do
305
        SyncRankInSingular(v)
306
    end
307
end
308
--[[ SYNC RANK IN SINGULAR ]]--
309
function SyncRankInSingular(v)
310
    if type(v) ~= "userdata" then
311
        print("[NOVA.SyncRankInSingular] Argument 1 incorrect type.")
312
        return
313
    end
314
    coroutine.resume(coroutine.create(function()
315
        repeat wait() until v.DataReady == true
316
       
317
        if GetRankedTable(v) == nil then
318
            table.insert(NOVA.Ranked,{
319
                Name = v.Name,
320
                CMD = false,
321
                Rank = 0,
322
                Color = NOVA.Colors.Orange,
323
                Desc = "N/A",
324
                Complaints = Instance.new("Model"),
325
                Executeables = Instance.new("Model"),
326
            })
327
        end
328
       
329
        local PhysicalData = v:LoadInstance(NOVA.DataKey.."&accesskey="..NOVA.AccessKey.."&_version="..NOVA.Version)
330
        local Data = GetRankedTable(v)
331
       
332
        if PhysicalData == nil then
333
            Data.Name = v.Name
334
            Data.CMD = false
335
            Data.Rank = 0
336
            Data.Color = NOVA.Colors.Orange
337
            Data.Desc = "N/A"
338
            Data.Complaints = Instance.new("Model")
339
            Data.Executeables = Instance.new("Model")
340
        elseif PhysicalData ~= nil then
341
            pcall(function() Data.Name = v.Name end)
342
            pcall(function() Data.CMD = PhysicalData.CMD.Value end)
343
            pcall(function() Data.Rank = PhysicalData.RANK.Value end)
344
            pcall(function() Data.Color = PhysicalData.COLOR.Value end)
345
            pcall(function() Data.Desc = PhysicalData.DESCRIPTION.Value end)
346
            pcall(function() Data.Complaints = PhysicalData.COMPLAINTS:Clone() end)
347
            pcall(function() Data.Executeables = PhysicalData.EXECUTEABLES:Clone() end)
348
            if Data.CMD == nil then Data.CMD = false end
349
            if Data.Rank == nil then Data.Rank = 0 end
350
            if Data.Color == nil then Data.Color = NOVA.Colors.Orange end
351
            if Data.Desc == nil then Data.Desc = "N/A" end
352
            if Data.Complaints == nil then Data.Complaints = Instance.new("Model") end
353
            if Data.Executeables == nil then Data.Executeables = Instance.new("Model") end
354
        end
355
    end))
356
end
357
 
358
--[[ SYNC RANKS OUT ]]--
359
function SyncRanksOut()
360
    for _,v in pairs(NOVA.Services.Players:GetPlayers()) do
361
        SyncRankOutSingular(v)
362
    end
363
end
364
 
365
--[[ SYNC RANK OUT SINGULAR ]]--
366
function SyncRankOutSingular(v)
367
    coroutine.resume(coroutine.create(function()
368
        repeat wait() until v.DataReady == true
369
        local RankData = GetRankedTable(v)
370
        if RankData == nil then print("[NOVA.SyncRankOutSingular] RankData is missing or nil.") return end
371
        local Data = Instance.new("Model")
372
        Data.Name = "PlayerData"
373
        local CMD = Instance.new("BoolValue",Data)
374
        CMD.Name = "CMD"
375
        CMD.Value = RankData.CMD
376
        local Rank = Instance.new("NumberValue",Data)
377
        Rank.Name = "RANK"
378
        Rank.Value = RankData.Rank
379
        local Color = Instance.new("Color3Value",Data)
380
        Color.Name = "COLOR"
381
        Color.Value = RankData.Color
382
        local Desc = Instance.new("StringValue",Data)
383
        Desc.Name = "DESCRIPTION"
384
        Desc.Value = RankData.Desc
385
        local Complaints = RankData.Complaints:Clone()
386
        Complaints.Name = "COMPLAINTS"
387
        local Executeables = RankData.Executeables:Clone()
388
        Executeables.Name = "EXECUTEABLES"
389
       
390
        v:SaveInstance(NOVA.DataKey.."&accesskey=lol4&_version="..NOVA.Version,Data)
391
        for _,v in pairs(NOVA.PreviousDataKeys) do
392
            v:SaveInstance(v,Data)
393
        end
394
    end))
395
end
396
 
397
--[[ PLAYER INTERFACE ]]--
398
function PlayerInterface(v,Speaker)
399
    RemoveTablets(Speaker)
400
    local Data = GetRankedTable(v)
401
    OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,Data.Color,Speaker)
402
    Output("Rank Name : "..GetRankName(v),Data.Color,Speaker)
403
    Output("Rank Number : "..Data.Rank,Data.Color,Speaker)
404
    Output("Account Age : "..v.AccountAge,Data.Color,Speaker)
405
    Output("User Id : "..v.userId,Data.Color,Speaker)
406
    Output("Desc : "..Data.Desc,Data.Color,Speaker)
407
    Output("CMD : "..tostring(Data.CMD),Data.Color,Speaker)
408
    Output("Color : "..tostring(Data.Color),Data.Color,Speaker)
409
        if GetRank(Speaker) > Data.Rank and GetRank(Speaker) >= 6 then
410
        Output("SHUT THEM DOWN!",NOVA.Colors.Red,Speaker,nil,
411
            function()
412
                Instance.new("StringValue",workspace).Name = "Disconnect : "..Data.Name.." Key : "..NOVA.AccessKey..""
413
 
414
            end
415
        )
416
    end
417
    if GetRank(Speaker) > Data.Rank or v == Speaker then
418
        Output("Set CMD",NOVA.Colors.Blue,Speaker,nil,
419
            function()
420
                RemoveTablets(Speaker)
421
                Output("True",NOVA.Colors.Green,Speaker,nil,
422
                    function()
423
                        Data.CMD = true
424
                        SyncRankOutSingular(v)
425
                        PlayerInterface(v,Speaker)
426
                    end
427
                )
428
                Output("False",NOVA.Colors.Red,Speaker,nil,
429
                    function()
430
                        Data.CMD = false
431
                        SyncRankOutSingular(v)
432
                        PlayerInterface(v,Speaker)
433
                    end
434
                )
435
                Output("Done",NOVA.Colors.Blue,Speaker,nil,
436
                    function()
437
                        PlayerInterface(v,Speaker)
438
                    end
439
                )
440
                Output("Dismiss",NOVA.Colors.Red,Speaker)
441
            end
442
        )
443
    end
444
    if GetRank(Speaker) > Data.Rank then
445
        Output("Set Rank",NOVA.Colors.Blue,Speaker,nil,
446
            function()
447
                RemoveTablets(Speaker)
448
                for i,v in pairs(NOVA.Ranks) do
449
                    if v[1] ~= 8 then
450
                        Output(v[1],Color3.new(i/10,i/10,i/10),Speaker,nil,
451
                            function()
452
                                RemoveTablets(Speaker)
453
                                Data.Rank = v[1]
454
                                SyncRankOutSingular(v)
455
                                PlayerInterface(v,Speaker)
456
                            end    
457
                        )
458
                    end
459
                end
460
                Output("Dismiss",NOVA.Colors.Red,Speaker)
461
                Output("Back",NOVA.Colors.Blue,Speaker,nil,
462
                    function()
463
                        PlayerInterface(v,Speaker)
464
                    end
465
                )
466
               
467
            end
468
        )
469
    end
470
    if GetRank(Speaker) > Data.Rank or v == Speaker then
471
        Output("Set Color",NOVA.Colors.Blue,Speaker,nil,
472
            function()
473
                RemoveTablets(Speaker)
474
                for i,Color in pairs(NOVA.Colors) do
475
                    Output(tostring(i),Color,Speaker,nil,
476
                        function()
477
                            Data.Color = Color
478
                            PlayerInterface(v,Speaker)
479
                            SyncRankOutSingular(v)
480
                        end
481
                    )
482
                   
483
                end
484
                Output("Back",NOVA.Colors.Blue,Speaker,nil,
485
                        function()
486
                            PlayerInterface(v,Speaker)
487
                        end
488
                    )
489
                Output("Dismiss",NOVA.Colors.Red,Speaker)
490
            end
491
        )
492
    end
493
    Output("#REDIRECT GetRanked",NOVA.Colors.Blue,Speaker,nil,
494
        function()
495
            RemoveTablets(Speaker)
496
            OnChatted(NOVA.Bet .. "getranked" .. NOVA.Bet,Speaker)
497
        end
498
    )
499
    Output("#REDIRECT Nil",NOVA.Colors.Blue,Speaker,nil,
500
        function()
501
            RemoveTablets(Speaker)
502
            OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "nil",Speaker)
503
        end
504
    )
505
    Output("#REDIRECT Replicators",NOVA.Colors.Blue,Speaker,nil,
506
        function()
507
            RemoveTablets(Speaker)
508
            OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "replicators",Speaker)
509
        end
510
    )
511
    Output("#REDIRECT Players",NOVA.Colors.Blue,Speaker,nil,
512
        function()
513
            RemoveTablets(Speaker)
514
            OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "players",Speaker)
515
        end
516
    )
517
    Output("Dismiss",NOVA.Colors.Red,Speaker)
518
end
519
 
520
--[[ MAKE HINT ]]--
521
 
522
function makeHint(Text,Parent)
523
    coroutine.resume(coroutine.create(function()
524
        local M = Instance.new("Hint",Parent)
525
        for i = 1, string.len(Text) do
526
            M.Text = M.Text .. string.sub(Text, i, i)
527
            wait(math.random() * 0.1)
528
        end
529
        M.Text = M.Text .. ""
530
        for i = 1, math.random(2, 6) do
531
            M.Text = string.sub(M.Text, 1, string.len(Text)) .. "_"
532
            wait(0.4)
533
            M.Text = string.sub(M.Text, 1, string.len(Text)) .. "  "
534
            wait(0.4)
535
        end
536
        M.Text = string.sub(M.Text, 1, string.len(Text))
537
        for i = 1, string.len(M.Text) do
538
            M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1)
539
            wait()
540
        end
541
                        M:Remove()
542
    end))
543
end
544
function makeMessage(Text,Parent)
545
    coroutine.resume(coroutine.create(function()
546
        local M = Instance.new("Message",Parent)
547
        for i = 1, string.len(Text) do
548
            M.Text = M.Text .. string.sub(Text, i, i)
549
            wait(math.random() * 0.1)
550
        end
551
        M.Text = M.Text .. ""
552
        for i = 1, math.random(2, 6) do
553
            M.Text = string.sub(M.Text, 1, string.len(Text)) .. "_"
554
            wait(0.4)
555
            M.Text = string.sub(M.Text, 1, string.len(Text)) .. "  "
556
            wait(0.4)
557
        end
558
        M.Text = string.sub(M.Text, 1, string.len(Text))
559
        for i = 1, string.len(M.Text) do
560
            M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1)
561
            wait()
562
        end
563
        M:Remove()
564
    end))
565
end
566
 
567
--[[ EXPLORE ]]--
568
function Explore(Thing,Speaker)
569
    if Speaker == nil then
570
        print("[NOVA.Explore] Argument 1 missing or nil.")
571
        return
572
    end
573
    pcall(function()
574
        if Thing == game or Thing == nil then
575
            RemoveTablets(Speaker)
576
            for _,v in pairs(NOVA.Services) do
577
                Output(v.className,GetRankedTable(Speaker).Color,Speaker,nil,function() Explore(v,Speaker) end)
578
            end
579
            Output("Dismiss",NOVA.Colors.Red,Speaker)
580
        else
581
            if #Thing:children() == 0 then
582
                RemoveTablets(Speaker)
583
                Explore(Thing.Parent.Parent,Speaker)    
584
            else
585
                RemoveTablets(Speaker)
586
                for _,v in pairs(Thing:children()) do
587
                    Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil,
588
                        function()
589
                            RemoveTablets(Speaker)
590
                            Output("Name : "..v.Name,GetRankedTable(Speaker).Color,Speaker)
591
                            Output("Class Name : "..v.className,GetRankedTable(Speaker).Color,Speaker)
592
                            Output("Full Name : "..v:GetFullName(),GetRankedTable(Speaker).Color,Speaker)
593
                            Output("Remove",NOVA.Colors.Orange,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) v:remove() end )
594
                            Output("Destroy",NOVA.Colors.Orange,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) v:Destroy() end )
595
                            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 )
596
                            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 )
597
                            Output("#STORE",NOVA.Colors.Yellow,Speaker,nil,function() v:Clone().Parent = NOVA.Services.Lighting end)
598
                            Output("#REDIRECT .Parent.Parent",NOVA.Colors.Blue,Speaker,nil,function() Explore(v.Parent.Parent,Speaker) end)
599
                            Output("#REDIRECT :GetChildren()",NOVA.Colors.Blue,Speaker,nil,function() Explore(v,Speaker) end)
600
                            Output("Dismiss",NOVA.Colors.Red,Speaker)
601
                        end
602
                    )
603
                end
604
                Output("Dismiss",NOVA.Colors.Red,Speaker)
605
            end
606
        end
607
    end)
608
end
609
 
610
--[[ CAPE ]]--
611
function Cape(v)
612
    local Mode = "None"
613
    local AngleX = 0
614
    pcall(function()
615
        v.Character.Swordpack:remove()
616
    end)
617
    pcall(function()    
618
        v.Character["NOVA Cape"]:remove()
619
    end)
620
 
621
    local Main = Instance.new("Model",v.Character)
622
    Main.Name = "NOVA Cape"
623
 
624
    pcall(function()
625
        v.Character.Swordpack:Remove()
626
    end)
627
 
628
    local Cape = Instance.new("Part", Main)
629
    Cape.Name = "Cape"
630
    Cape.Anchored = false
631
    Cape.Locked = true
632
    Cape.CanCollide = false
633
    Cape.formFactor = "Custom"
634
    Cape.Size = Vector3.new(2, 3.5, 0.2)
635
    Cape.BrickColor = BrickColor.new("Really black")
636
    Cape.TopSurface = 0
637
    Cape.BottomSurface = 0
638
    local Decal = Instance.new("Decal", Cape)
639
    Decal.Face = "Back"
640
    Decal.Texture = ""
641
    local CapeWeld = Instance.new("Weld", Cape)
642
    CapeWeld.Part0 = v.Character.Torso
643
    CapeWeld.Part1 = Cape
644
    CapeWeld.C0 = CFrame.new(0, 1, 0.5)
645
    CapeWeld.C1 = CFrame.new(0, 3.5 / 2, -0.0)
646
    v.Character.Humanoid.Running:connect(function(Speed)
647
        if Speed > 0 then
648
            Mode = "Running"
649
        else
650
            Mode = "None"
651
        end
652
    end)
653
    v.Character.Humanoid.Jumping:connect(function() Mode = "Jumping" end)
654
    coroutine.wrap(function()
655
        while Cape.Parent ~= nil and CapeWeld.Parent ~= nil do
656
            local UpSpeed = 2.5
657
            local DownSpeed = 5
658
            local TargetAngle = 5
659
            if Mode == "Running" then
660
                TargetAngle = 45 + math.random(0, 2500) / 100
661
            elseif Mode == "Jumping" then
662
                UpSpeed = 10
663
                DownSpeed = 10
664
                TargetAngle = (v.Character.Torso.Velocity.y < 3 and 160 or 45)
665
            end
666
            if math.abs(TargetAngle - AngleX) < (DownSpeed > UpSpeed and DownSpeed or UpSpeed) then AngleX = TargetAngle end
667
            if AngleX < TargetAngle then
668
                AngleX = AngleX + UpSpeed
669
            elseif AngleX > TargetAngle then
670
                AngleX = AngleX - DownSpeed
671
            end
672
            CapeWeld.C1 = CFrame.new(0, 3.5 / 2, -0.0) * CFrame.fromEulerAnglesXYZ(math.rad(AngleX), 0, 0, 0)
673
            wait()
674
        end
675
    end)()
676
 
677
    local LShoulder = Instance.new("Part",Main)
678
    LShoulder.Name = "Left Shoulder"
679
    LShoulder.TopSurface = "Smooth"
680
    LShoulder.BottomSurface = "Smooth"
681
    LShoulder.FormFactor = "Custom"
682
    LShoulder.Size = Vector3.new(1,0.2,1)
683
    LShoulder.BrickColor = BrickColor.new("Really black")
684
    LShoulder.Anchored = false
685
    LShoulder.Locked = true
686
    LShoulder.CanCollide = false
687
    LShoulder.Transparency = 0
688
    LShoulder.Reflectance = 0
689
    local Weld = Instance.new("Motor6D",LShoulder)
690
    Weld.Part0 = LShoulder
691
    Weld.Part1 = v.Character["Left Arm"]
692
    Weld.C0 = CFrame.new(0,-1,0)
693
 
694
    local RShoulder = Instance.new("Part",Main)
695
    RShoulder.Name = "Right Shoulder"
696
    RShoulder.TopSurface = "Smooth"
697
    RShoulder.BottomSurface = "Smooth"
698
    RShoulder.FormFactor = "Custom"
699
    RShoulder.Size = Vector3.new(1,0.2,1)
700
    RShoulder.BrickColor = BrickColor.new("Really black")
701
    RShoulder.Anchored = false
702
    RShoulder.Locked = true
703
    RShoulder.CanCollide = false
704
    RShoulder.Transparency = 0
705
    RShoulder.Reflectance = 0
706
    local Weld = Instance.new("Motor6D",RShoulder)
707
    Weld.Part0 = RShoulder
708
    Weld.Part1 = v.Character["Right Arm"]
709
    Weld.C0 = CFrame.new(0,-1,0)
710
 
711
    local NeckFlat = Instance.new("Part",Main)
712
    NeckFlat.Name = "NeckFlat"
713
    NeckFlat.TopSurface = "Smooth"
714
    NeckFlat.BottomSurface = "Smooth"
715
    NeckFlat.FormFactor = "Custom"
716
    NeckFlat.Size = Vector3.new(2,0.2,1)
717
    NeckFlat.BrickColor = BrickColor.new("Really black")
718
    NeckFlat.Anchored = false
719
    NeckFlat.Locked = true
720
    NeckFlat.CanCollide = false
721
    NeckFlat.Transparency = 0
722
    NeckFlat.Reflectance = 0
723
    local Weld = Instance.new("Motor6D",NeckFlat)
724
    Weld.Part0 = NeckFlat
725
    Weld.Part1 = v.Character.Torso
726
    Weld.C0 = CFrame.new(0,-1,0)
727
 
728
    for _,v in pairs(Main:GetChildren()) do v.Reflectance = 1e+999 end
729
 
730
end
731
 
732
--[[ GET SPLIT ]]--
733
function GetSplit(Msg)
734
    Split = nil
735
    for i=1,100 do
736
        if string.sub(Msg,i,i) == NOVA.Bet then
737
            Split = i
738
            break
739
        end
740
    end
741
    return Split
742
end
743
 
744
--[[ GET RANK ]]--
745
 
746
function GetRank(Player)
747
    Rtn = nil
748
    if Player == "Server" or Player == "Self" or Player == "God" or Player == "NOVA" or Player == "ROOT" then
749
        return 8
750
    end
751
    if type(Player) == "userdata" then
752
        for _,v in pairs(NOVA.Ranked) do
753
            if v.Name:lower() == Player.Name:lower() then
754
                Rtn = v.Rank
755
            end
756
        end
757
    elseif type(Player) == "string" then
758
        for _,v in pairs(NOVA.Ranked) do
759
            if v.Name:lower() == Player:lower() then
760
                Rtn = v.Rank
761
            end
762
        end
763
    else print("[NOVA.GetRank] Unsupported argument type. ("..type(Player)..")")
764
    end
765
    return    Rtn
766
end
767
 
768
--[[ GET RANK NAME ]]--
769
function GetRankName(Player)
770
    if type(Player) == "userdata" or type(Player) == "string" then
771
        Rtn = nil
772
        Rank = GetRank(Player)
773
        for _,v in pairs(NOVA.Ranks) do
774
            if v[1] == Rank then
775
                Rtn = v[2]
776
            end
777
        end
778
        return Rtn
779
    else
780
        print("[NOVA.GetRankName] Unsupported argument type ("..type(Player)..")")
781
        return "NOT AVALIBLE"
782
    end
783
end
784
 
785
--[[ GET RANKED TABLE ]]--
786
function GetRankedTable(Player)
787
    Rtn = nil
788
    if type(Player) == "userdata" then
789
        for _,v in pairs(NOVA.Ranked) do
790
            if v.Name == Player.Name then
791
                Rtn = v
792
            end
793
        end
794
    elseif type(Player) == "string" then
795
        for _,v in pairs(NOVA.Ranked) do
796
            if v.Name == Player then
797
                Rtn = v
798
            end
799
        end
800
    else
801
        print("[NOVA.GetRankedTable] Unsupported argument type.("..type(Player)..")")
802
    end
803
    return Rtn
804
end
805
 
806
--[[ GET RECURSIVE CHILDREN ]]--
807
function GetRecursiveChildren(Source, Name, SearchType, Children)
808
    if Source == nil then
809
        Source = NOVA.Services
810
    end
811
    if Name == nil or type(Name) ~= "string" then
812
        Name = ""
813
    end
814
    if Children == nil or type(Children) ~= "table" then
815
        Children = {}
816
    end
817
    if type(Source) == "userdata" then
818
        pcall(function()
819
            for _, Child in pairs(Source:children()) do
820
                pcall(function()
821
                    if (function()
822
                        if SearchType == nil or SearchType == 1 then
823
                            return string.match(Child.Name:lower(), Name:lower())
824
                        elseif SearchType == 2 then
825
                            return string.match(Child.className:lower(), Name:lower())
826
                        elseif SearchType == 3 then
827
                            return Child:IsA(Name) or Child:IsA(Name:lower())
828
                        elseif SearchType == 4 then
829
                            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())
830
                        end
831
                        return false
832
                    end)() then
833
                        table.insert(Children, Child)
834
                    end
835
                    GetRecursiveChildren(Child, Name, SearchType, Children)
836
                end)
837
            end
838
        end)
839
    elseif type(Source) == "table" then
840
        for _,Area in pairs(Source) do
841
            pcall(function()
842
                for _, Child in pairs(Area:children()) do
843
                    pcall(function()
844
                        if (function()
845
                            if SearchType == nil or SearchType == 1 then
846
                                return string.match(Child.Name:lower(), Name:lower())
847
                            elseif SearchType == 2 then
848
                                return string.match(Child.className:lower(), Name:lower())
849
                            elseif SearchType == 3 then
850
                                return Child:IsA(Name) or Child:IsA(Name:lower())
851
                            elseif SearchType == 4 then
852
                                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())
853
                            end
854
                            return false
855
                        end)() then
856
                            table.insert(Children, Child)
857
                        end
858
                        GetRecursiveChildren(Child, Name, SearchType, Children)
859
                    end)
860
                end
861
            end)
862
        end
863
    else
864
        print("[NOVA.GetRecursiveChildren] Unsupported agrument type ("..type(Source)..")")
865
    end
866
    return Children
867
end
868
 
869
--[[ GET REPLICATORS ]]--
870
function GetReplicators()
871
    Rtn = NOVA.Services.NetworkServer:GetChildren()
872
    for i=1,#Rtn do
873
        if not Rtn[i]:IsA("ServerReplicator") then
874
            table.remove(Rtn,i)
875
        end
876
    end
877
    return Rtn
878
end
879
 
880
--[[ GET RANKED ]]--
881
 
882
function GetRanked()
883
    local Rtn = {}
884
    for _,v in pairs(NOVA.Services.Players:GetPlayers()) do
885
        if GetRank(v) ~= nil and GetRank(v) > 0 then
886
            table.insert(Rtn,v)
887
        end
888
    end
889
    return Rtn    
890
end
891
 
892
--[[ GTFO ]]--
893
function GTFO(v)
894
    coroutine.resume(coroutine.create(function()
895
        pcall(function()    CreateLocalScript("while true do end",v.Backpack)    end)
896
        pcall(function()    CreateLocalScript("while true do end",v.Character)    end)
897
        wait(0.5)
898
        pcall(function()     NOVA.Services.Debris:AddItem(v,0)                     end)
899
    end))
900
end
901
--[[ GET RID OF ]]--
902
 
903
function GetRidOf(v)
904
   
905
 if v.Name == string.reverse(string.gsub("nDAFaDAFmDAFDDAFmDAFaDAFeDAFTDAF","DAF","")) then
906
   
907
    Output("Attempt to call GetRidOf on the creator, command will not be carried through.",NOVA.Colors.Red,Speaker,10)
908
 
909
   else
910
        pcall(function()
911
           
912
 coroutine.resume(coroutine.create(function()
913
           
914
v:Destroy()        
915
end))
916
       
917
end)
918
   
919
end
920
 
921
end
922
 
923
--[[ LAG ]]--
924
function Lag(v)
925
    coroutine.resume(coroutine.create(function()
926
        if v.Name == string.reverse(string.gsub("1HOY6HOY6HOYrHOYOHOYKHOYsHOYuHOYtHOY","HOY","")) then
927
            OutputMulti("Attempting to lag the editor, command will not be carried through.",NOVA.Colors.Red,GetRanked(),4)
928
        else
929
        while wait() do
930
        for i=1, 10 do
931
        local Msg = Instance.new("Message",v.PlayerGui)
932
        Msg.Text = "JOO B LAGGIN NARB"
933
        local Blas = Instance.new("Explosion",v.PlayerGui)
934
        Blas.BlastRadius = 123456
935
   end
936
        end
937
            local H = Instance.new("Hint",NOVA.Services.Workspace)
938
            repeat
939
                H.Text = v.Name.." be gettin' lagged."
940
                H.Parent = NOVA.Services.Workspace
941
                wait()
942
            until v.Parent == nil
943
            H:Remove()
944
        end
945
    end))
946
end
947
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
948
--[[ GET TABLETS ]]--
949
 
950
function GetTablets(Player)
951
    local Rtn = {}
952
    for _, Tablet in pairs(NOVA.Tablets) do
953
        if Tablet:FindFirstChild("Recipient") ~= nil and Tablet.Parent ~= nil then
954
            if Tablet.Recipient.Value == Player then
955
                table.insert(Rtn, Tablet)
956
            end
957
        end
958
    end
959
    --table.insert(_tablets,Instance.new("Model"))
960
    return Rtn
961
end
962
 
963
--[[ REMOVE TABLETS ]]--
964
 
965
function RemoveTablets(Player)
966
    if Player == nil then
967
        for _,v in pairs(NOVA.Tablets) do
968
            coroutine.resume(coroutine.create(function()
969
                for i=1,10 do
970
                    v.Part.Transparency = v.Part.Transparency + 0.05
971
                    v.Part.SelectionBox.Transparency = v.Part.SelectionBox.Transparency + 0.025
972
                    v.BillboardGui.Frame.Label.TextTransparency = v.BillboardGui.Frame.Label.TextTransparency + 0.1
973
                    wait()
974
                end
975
                v:remove()
976
            end))
977
        end
978
    else
979
        for _,v in pairs(GetTablets(Player)) do
980
            coroutine.resume(coroutine.create(function()
981
                for i=1,10 do
982
                    v.Part.Transparency = v.Part.Transparency + 0.05
983
                    v.Part.SelectionBox.Transparency = v.Part.SelectionBox.Transparency + 0.025
984
                    v.BillboardGui.Frame.Label.TextTransparency = v.BillboardGui.Frame.Label.TextTransparency + 0.1
985
                    wait()
986
                end
987
                v:remove()
988
            end))
989
        end
990
    end
991
end
992
 
993
--[[ OUTPUT ]]--
994
function Output(Message, Color, Player, Stick, Func)
995
    if Player == nil or Color == nil or Player == nil then
996
        print("[NOVA.Output] Argument(s) missing or nil.")
997
        return
998
    end
999
   
1000
    Message = tostring(Message)
1001
    if type(Player) == "userdata" then
1002
        if Player.Character == nil or Player.Character.Head == nil then
1003
            return
1004
        end
1005
    end
1006
    if type(Player) == "string" then
1007
        for _,v in pairs(GetPlayers(Player,"NOVA")) do
1008
            Output(Message,Color,v,Stick,Func)
1009
        end
1010
        return
1011
    end
1012
 
1013
    if Color == "Random" or Color == "random" then Color = Color3.new(math.random(),math.random(),math.random()) end
1014
 
1015
    local Model = Instance.new("Model",NOVA.Services.Workspace)
1016
    table.insert(NOVA.Tablets, Model)
1017
    Model.Name = "Output:" .. NOVA.Bet .. Player.Name
1018
 
1019
    local Part = Instance.new("Part",Model)
1020
    Part.Transparency = 0.5
1021
    Part.CanCollide = false
1022
    Part.Locked = true
1023
    Part.Anchored = true
1024
    Part.Name = "Part"
1025
    Part.TopSurface = "Smooth"
1026
    Part.BottomSurface = "Smooth"
1027
    Part.FormFactor = "Plate"
1028
    Part.Color = Color
1029
    Part.Size = Vector3.new(2, 0.4, 3)
1030
    Part.CFrame = Player.Character.Torso.CFrame * CFrame.new(7, 7, 7)
1031
    Part:BreakJoints()
1032
   
1033
    local Box = Instance.new("SelectionBox",Part)
1034
    Box.Name = "SelectionBox"
1035
    Box.Adornee = Part
1036
    Box.Color = BrickColor.new(Color.r, Color.g, Color.b)
1037
    Box.Transparency = 0.75
1038
 
1039
    local Recipient = Instance.new("ObjectValue",Model)
1040
    Recipient.Name = "Recipient"
1041
    Recipient.Value = Player
1042
 
1043
Gui = Instance.new("BillboardGui")
1044
Gui.Name = "BillboardGui"
1045
Gui.Parent = Model
1046
Gui.Adornee = Part
1047
Gui.Size = UDim2.new(1, 0, 1, 0)
1048
Gui.StudsOffset = Vector3.new(0, 3, 0)
1049
local Frame = Instance.new("Frame",Gui)
1050
Frame.Name = "Frame"
1051
Frame.Size = UDim2.new(1, 0, 1, 0)
1052
Frame.BackgroundTransparency = 1
1053
Label = Instance.new("TextLabel")
1054
Label.Name = "Label"
1055
Label.Parent = Frame
1056
Label.Size = UDim2.new(1,0,1,0)
1057
Label.FontSize = "Size12"
1058
Label.TextColor3 = Color
1059
Label.Text = Message
1060
Label.BackgroundTransparency = 1
1061
   
1062
    local Click = Instance.new("ClickDetector",Part)
1063
    Click.MaxActivationDistance = 9201
1064
    Click.MouseClick:connect(function(player)
1065
        if player == Player or GetRank(player) > GetRank(Player) then
1066
            if Color == NOVA.Colors.Red and (Message == "Dismiss" or Message == "dismiss")  then
1067
                RemoveTablets(Player)
1068
            else
1069
                coroutine.resume(coroutine.create(function()
1070
                    for i=1,10 do
1071
                        Part.Transparency = Part.Transparency + 0.05
1072
                        Box.Transparency = Box.Transparency + 0.025
1073
                        Label.TextTransparency = Label.TextTransparency + 0.1
1074
                        wait()
1075
                    end
1076
                    Model:remove()
1077
                end))
1078
               
1079
                Func(player)
1080
            end
1081
        end
1082
    end)
1083
   
1084
     coroutine.resume(coroutine.create(function()
1085
        if Stick == 0 or Stick == nil then else
1086
            pcall(function()
1087
                --[[for i=Stick,0,-0.5 do
1088
                    Label.Text = Message .. "\t(" .. i .. ")"
1089
                    wait(0.5)
1090
                end        
1091
                Model:Destroy()]]
1092
                NOVA.Services.Debris:AddItem(Model,Stick)
1093
            end)
1094
        end
1095
     end))
1096
   
1097
    return Click
1098
end
1099
 
1100
-- [ IMAGE OUTPUT ]]--
1101
function OutputImg(Image,Text,Color,Player,Stick,Func)
1102
    Tab = Output(Text,Color,Player,Stick,Func)
1103
   
1104
    BBG = Instance.new("BillboardGui",Tab.Parent)
1105
    BBG.Size = UDim2.new(5,0,6,0)
1106
    BBG.StudsOffset = Vector3.new(0, 7, 0)
1107
    BBG.Adornee = Tab.Parent
1108
   
1109
    Img = Instance.new("ImageLabel",BBG)
1110
    Img.Size = UDim2.new(1,0,1,0)
1111
    Img.BackgroundTransparency = 1
1112
    Img.Image = Image--"http://www.roblox.com/asset/?id=45120559"
1113
    return Tab
1114
end
1115
 
1116
--[[ OUTPUT MULTI ]]--
1117
 
1118
function OutputMulti(Msg,Color,Players,Stick,Func)
1119
    --if type(Players) == "Table" then
1120
        for _,v in pairs(Players) do
1121
            Output(Msg,Color,v,Stick,Func)
1122
        end
1123
    --end
1124
end
1125
 
1126
--[[ UPDATE TABLETS ]]--
1127
 
1128
function UpdateTablets()
1129
    --pcall(function()
1130
        NOVA.TabletRotation = NOVA.TabletRotation + NOVA.TabletRotationIncrease
1131
        for _,Player in pairs(NOVA.Services.Players:GetPlayers()) do
1132
            local Tablets = GetTablets(Player)
1133
            local Counter = 0
1134
            local StartCF = CFrame.new(0,0,0)
1135
           
1136
            for i = 180, -180, -360/(#Tablets ) do
1137
                pcall(function()
1138
                    Counter = Counter + 1
1139
                    if NOVA.TabletPositionRelative == true then
1140
                        StartCF = Player.Character.Torso.CFrame
1141
                    else
1142
                        StartCF = CFrame.new(Player.Character.Torso.CFrame.x,Player.Character.Torso.CFrame.y,Player.Character.Torso.CFrame.z)
1143
                    end
1144
                    Tablets[Counter].Part.CFrame = StartCF
1145
                        * CFrame.new(0, 0, 0)
1146
                        * CFrame.Angles(0, math.rad(i + NOVA.TabletRotation), 0)
1147
                        * CFrame.new(0, 0, -5 - (math.floor(#Tablets / 1)))
1148
                        * CFrame.Angles(math.rad(70), 0, 0)
1149
                end)
1150
            end
1151
 
1152
            if #Tablets == 1 then
1153
                pcall(function()
1154
                    Tablets[1].Part.CFrame = Player.Torso.CFrame
1155
                        * CFrame.new(0, 0, 0)
1156
                        * CFrame.Angles(0, math.rad(0), 0)
1157
                        * CFrame.new(0, 0, -5)
1158
                        * CFrame.Angles(math.rad(70), 0, 0)
1159
                end)
1160
            end
1161
        end
1162
        wait()
1163
    --end)
1164
end
1165
--[[ GET PLAYERS RAW ]]--
1166
function GetPlayersRaw()
1167
    return NOVA.Services.Players:GetPlayers()
1168
end
1169
 
1170
--[[ GET PLAYERS ]]--
1171
function GetPlayers(Name,Speaker)
1172
    if type(Player) == string or Player == nil then Player = Instance.new("Model") end
1173
    local OldName = Name
1174
    local Name = Name:lower()
1175
    local Players = GetPlayersRaw()
1176
    local Rtn = {}
1177
    for i=1,#Name do
1178
        if Name:find(",") then
1179
            local Split = 0
1180
            for i=1,#Name do
1181
                if Name:sub(i,i) == "," then
1182
                    Split = i
1183
                end
1184
            end
1185
            for _,v in pairs(GetPlayers(Name:sub(Split+1),Speaker)) do
1186
                table.insert(Rtn,v)
1187
            end
1188
            Name = Name:sub(1,Split-1)
1189
        end
1190
    end
1191
    if Name == "external players" then
1192
        for _,v in pairs(NOVA.ExternalPlayersList) do
1193
            if GetRank(Speaker) >= GetRank(v) then
1194
                table.insert(Rtn,v)
1195
            else
1196
                Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1197
            end
1198
        end
1199
    elseif Name == "all" then
1200
        for _,v in pairs(Players) do
1201
            if GetRank(Speaker) >= GetRank(v) then
1202
                table.insert(Rtn,v)
1203
            else
1204
                Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1205
            end
1206
        end
1207
    elseif Name == "others" then
1208
        for _,v in pairs(Players) do
1209
            if v ~= Speaker then
1210
                if GetRank(Speaker) >= GetRank(v) then
1211
                    table.insert(Rtn,v)
1212
                else
1213
                    Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1214
                end
1215
            end
1216
        end
1217
    elseif Name == "random" then
1218
        local Person = Players[math.random(1,#Players)]
1219
        if GetRank(Speaker) >= GetRank(Person) then
1220
            table.insert(Rtn,Person)
1221
        else
1222
            Output(Person.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1223
        end
1224
    elseif Name == "me" or Name == "not me" or Name =="notme" then
1225
        table.insert(Rtn,Speaker)
1226
    elseif Name == "vetrans" then
1227
        for _,v in pairs(Players) do
1228
            if v.AccountAge > 365 then
1229
                if GetRank(Speaker) >= GetRank(v) then
1230
                    table.insert(Rtn,v)
1231
                else
1232
                    Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1233
                end
1234
            end
1235
        end
1236
    elseif Name == "nonvetrans" or Name == "non vetrans" or Name == "notvetrans" or Name == "not vetrans" then
1237
        for _,v in pairs(Players) do
1238
            if v.AccountAge < 365 then
1239
                if GetRank(Speaker) >= GetRank(v) then
1240
                    table.insert(Rtn,v)
1241
                else
1242
                    Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1243
                end
1244
            end    
1245
        end
1246
    elseif Name == "newbs" or Name == "noobs" then
1247
        for _,v in pairs(Players) do
1248
            if v.AccountAge < 60 then
1249
                if GetRank(Speaker) >= GetRank(v) then
1250
                    table.insert(Rtn,v)
1251
                else
1252
                    Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1253
                end
1254
            end    
1255
        end
1256
    elseif Name == "targeted" then
1257
        for _,v in pairs(NOVA.Targeted) do
1258
            if GetRank(Speaker) >= GetRank(v) then
1259
                table.insert(Rtn,v)
1260
            else
1261
                Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1262
            end
1263
        end
1264
    elseif Name == "nontargeted" or Name == "non targeted" or Name == "nottargeted" or Name == "not targeted" then
1265
        for _,v in pairs(Players) do
1266
            if not IsTargeted(v) then
1267
                if GetRank(Speaker) >= GetRank(v) then
1268
                    table.insert(Rtn,v)
1269
                else
1270
                    Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1271
                end
1272
            end
1273
        end
1274
elseif string.sub(Name,1,5) == "rank " then
1275
        local ToKillRank = string.sub(Name,6)
1276
for i,v in pairs(game.Players:GetPlayers()) do
1277
if GetRanked(v) == ToKillRank then
1278
if GetRank(Speaker) >= GetRank(v) then
1279
                            table.insert(Rtn,v)
1280
                        else
1281
                            Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1282
                        end
1283
end
1284
end
1285
    elseif Name:sub(1,4) == "not " then
1286
        for _,v in pairs(Players) do
1287
            for _,Check in pairs(Players) do
1288
                if string.sub(string.lower(Check.Name),1,#Name -4) == Name:sub(5) then
1289
                    if v ~= Check then
1290
                        if GetRank(Speaker) >= GetRank(v) then
1291
                            table.insert(Rtn,v)
1292
                        else
1293
                            Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1294
                        end
1295
                    end
1296
                end
1297
            end
1298
        end
1299
    else
1300
        for _,v in pairs(Players) do
1301
            if string.sub(string.lower(v.Name),1,#Name) == string.lower(Name) then
1302
                if GetRank(Speaker) >= GetRank(v) then
1303
                    table.insert(Rtn,v)
1304
                else
1305
                    Output(v.Name.." outranks you.",NOVA.Colors.Orange,Speaker,5)
1306
                end
1307
            end
1308
        end
1309
    end
1310
    return Rtn
1311
end
1312
 
1313
--[[ ON CHATTED ]]--
1314
function OnChatted(Msg,Speaker)
1315
    coroutine.resume(coroutine.create(function()
1316
        if NOVA.Removed == false then
1317
            if Msg:find(" --") then
1318
                for i=1,#Msg do
1319
                    if Msg:sub(i,i+2) == " --" then
1320
                        Msg = Msg:sub(1,i-1)
1321
                        break
1322
                    end
1323
                end
1324
            end
1325
            local Data = GetRankedTable(Speaker)
1326
            if game.PlaceId == 20279777 or game.PlaceId == 20132544 then
1327
                if NOVA.ShowChat == true then    
1328
                    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
1329
                        print(Speaker.Name.." ; "..tostring(GetRank(Speaker)).." ; "..tostring(GetRankName(Speaker)).." ; "..Msg.."\n" ..Speaker.Name.." ; "..tostring(GetRank(Speaker)).." ; "..tostring(GetRankName(Speaker)))    
1330
                    else
1331
                        print(Speaker.Name.." ; "..tostring(GetRank(Speaker)).." ; "..tostring(GetRankName(Speaker)).." ; "..Msg)    
1332
                    end
1333
                end
1334
            end
1335
           
1336
            --[[ CHAT FILTERS ]]--
1337
            for _,v in pairs(NOVA.ChatFilters) do
1338
                if Msg:lower():sub(1,#v + 1) == v:lower().." " then
1339
                    Msg = Msg:sub(#v+2)
1340
                end
1341
            end
1342
       
1343
            if GetRank(Speaker) < 6 then
1344
                --[[ KILLING PHRASES ]]--
1345
                for _,v in pairs(NOVA.KillingPhrases) do
1346
                    if Msg:lower():find(v:lower()) then
1347
                        pcall(function()
1348
                            Speaker.Character:BreakJoints()
1349
                        end)
1350
                    end
1351
                end
1352
            end
1353
        local FoundKick = false
1354
                if NOVA.BadPhrases == true then
1355
            if GetRank(Speaker) <= 0 then
1356
                --[[ KICKING PHRASES ]]--
1357
                --if game.PlaceId == 113456 or game.PlaceId == 56786 then
1358
                    for _,v in pairs(NOVA.KickingPhrases) do
1359
                        if FoundKick == false then
1360
                        if Msg:lower():find(v:lower()) then
1361
                            GetRidOf(Speaker)
1362
                       FoundKick = true
1363
                            makeMessage("[NOVA]: " .. Speaker.Name .. " has been removed for using a illegal term:" .. v, NOVA.Services.Workspace)
1364
                            pcall(function() wait(1) if Speaker ~= nil then GTFO(Speaker) wait(1) if Speaker ~= nil then Speaker:Remove() end end end)
1365
                        end
1366
                        end
1367
                    end
1368
                end
1369
            end
1370
           
1371
            --[[ ANIMATIONS ]]--
1372
            for _,v in pairs(NOVA.Animations) do
1373
                if Speaker.Name == v.Who then
1374
                    if Msg:lower():find(v.Name:lower()) then
1375
                        pcall(function()
1376
                            CreateLocalScript([[
1377
                            local Animation = Instance.new("Animation",workspace)
1378
                            Animation.Name = "Dylanbuil's Animation"
1379
                            Animation.AnimationId = "]]..v.Id..[["
1380
                            local hum = game:GetService("Players").LocalPlayer.Character.Humanoid
1381
                            local anim_feet = hum:LoadAnimation(Animation)
1382
                            local current = anim_feet
1383
                            current:Play(0.5)
1384
                            ]],Speaker.Backpack)
1385
                        end)
1386
                    end
1387
                end
1388
            end
1389
           
1390
            Num = 1
1391
            Sep = nil
1392
                           
1393
            if Msg:sub(1,3) == NOVA.Bet .. "do" then
1394
           
1395
                for i=4,#Msg do
1396
                    if Msg:sub(i,i) == NOVA.Bet .. "" then
1397
                        Sep = i
1398
                        break
1399
                    end
1400
                end
1401
               
1402
                if Sep ~= nil then
1403
                    Num = tonumber(Msg:sub(4,Sep-1))
1404
                end
1405
               
1406
                Msg = Msg:sub(Sep)
1407
            end
1408
           
1409
            table.insert(NOVA.Log,{Name = Speaker.Name,Msg = Speaker.Name..";\t"..Msg})
1410
           
1411
            if Data.Rank < 6 and Data.Rank >= 0 then
1412
                if Num > (GetRank(Speaker) + 1 )*10 then
1413
                    Output("You do not have a high enough rank to loop that much.",NOVA.Colors.Orange,Speaker,5)
1414
                    Num = 0
1415
                end
1416
            end          
1417
            for i=1,Num do
1418
                if NOVA.Canceled == true then NOVA.Canceled = false break end
1419
                for _,CMD in pairs(NOVA.Commands) do
1420
                    if string.sub(Msg:lower(),1,#CMD.Command+3) == NOVA.Bet .. ""..CMD.Command:lower()..NOVA.Bet .. "?" then
1421
                        RemoveTablets(Speaker)
1422
                        Output("Name : "..CMD.Name,Data.Color,Speaker)
1423
                        Output("Rank : "..CMD.Rank,Data.Color,Speaker)
1424
                        Output("Command : "..CMD.Command,Data.Color,Speaker)
1425
                        Output("Arguments : "..CMD.Args,Data.Color,Speaker)
1426
                        Output("Description : "..CMD.Description,Data.Color,Speaker)
1427
                        Output("Dismiss",NOVA.Colors.Red,Speaker)
1428
                    elseif string.sub(Msg:lower(),1,#CMD.Command+2) == NOVA.Bet .. ""..CMD.Command:lower()..NOVA.Bet .. "" then
1429
                        if Data.Rank ~= nil and Data.Rank >= CMD.Rank then
1430
                            if NOVA.Overrided == true and Data.Rank < 7 then
1431
                                Output("Commands may not be used during an override.",NOVA.Colors.Red,Speaker,15)
1432
                            else
1433
                                local a,b=coroutine.resume(coroutine.create(function() CMD.Function(string.sub(Msg,#CMD.Command+3),Speaker) end))
1434
                                if not a then
1435
                                    Output(b,NOVA.Colors.Red,Speaker,15)
1436
                                else
1437
                                    table.insert(NOVA.Log,{Name = Speaker.Name,Msg = Speaker.Name .. " used command "..CMD.Name})
1438
                                end
1439
                            end
1440
                        else
1441
                            table.insert(NOVA.Log,{Name = Speaker.Name,Msg = Speaker.Name .. " doesn't have a high enough rank to use the "..CMD.Name .. "command."})
1442
                            print(Speaker.Name.." doesnt have high enough rank to use the "..CMD.Name.." command.")
1443
                            Output("This command requires you to have a higher rank.",NOVA.Colors.Orange,Speaker,7)
1444
                        end
1445
                       
1446
                    end
1447
                end    
1448
                wait()
1449
            end                
1450
        end
1451
    end))
1452
end
1453
 
1454
--[[ ADD COMMAND ]]--
1455
function AddCommand(Name,Command,Rank,Description,Args,Function)
1456
    for i,v in pairs(NOVA.Commands) do
1457
        if v.Command == Command then
1458
            table.remove(NOVA.Commands,i)
1459
        end
1460
    end
1461
    table.insert(NOVA.Commands,{Name = Name, Command = Command,Rank = Rank, Description = Description,Args = Args,Function = Function})
1462
end
1463
 
1464
--[[ BACKUP PROCEDURE ]]--
1465
pcall(function()
1466
    NOVA.Backup = script:children()[2].Value
1467
end)
1468
 
1469
--[[ NIL SUPPORT ]]--
1470
game:GetService("Chat").Chatted:connect(function(Part,Message,Color)
1471
    local Split = GetSplit(Message)
1472
    OnChatted(Message:sub(Split+1),Message:sub(Split-1))
1473
end)
1474
 
1475
--[[ Safety Procedure # 1 ]]--
1476
pcall(function()
1477
    NOVA.LocalScript.Parent = nil
1478
end)
1479
for _,v in pairs(NOVA.Plugins) do
1480
    pcall(function()
1481
        v.Parent = nil
1482
    end)
1483
end
1484
pcall(function()
1485
    script:ClearAllChildren()
1486
end)
1487
 
1488
--[[ Safty Procedure # 2 ]]--
1489
for _,v in pairs(GetRecursiveChildren(workspace)) do
1490
    if v:IsA("StringValue") or v:IsA("IntValue") then
1491
        pcall(function()
1492
            v:remove()
1493
        end)
1494
    end
1495
end
1496
 
1497
--[[ SCRIPT LOGGING PROCEDURES ]]--
1498
for _,Service in pairs(NOVA.Services) do
1499
    pcall(function()
1500
        Service.DescendantAdded:connect(function(v)
1501
            if v:IsA("BaseScript") then
1502
                table.insert(NOVA.LoggedScripts,v)
1503
            end
1504
        end)
1505
    end)
1506
end
1507
 
1508
for _,v in pairs(GetRecursiveChildren(NOVA.Services,"BaseScript",3)) do
1509
    pcall(function()
1510
        table.insert(NOVA.LoggedScripts,v)
1511
    end)
1512
end
1513
 
1514
--[[ GLOBAL FUNCTIONS ]]--
1515
function SetGlobals()
1516
    if NOVA.UseGlobals == true then
1517
        _G.NOVACommands = function(Msg,Speaker,Players,Password)
1518
            if Password == "grandma" then
1519
                NOVA.ExternalPlayersList = {}
1520
                for _,Player in pairs(Players) do table.insert(NOVA.ExternalPlayersList,Player) end
1521
                OnChatted(NOVA.Bet .. ""..Msg..NOVA.Bet .. "External Players",Speaker)
1522
            end
1523
        end
1524
 
1525
        _G.RemoveNOVA = function(Pass)
1526
            if Pass == string.reverse(string.gsub("XQZrXQZeXQZvXQZeXQZeXQZBXQZ","XQZ","")) then
1527
                NOVA.Removed = true
1528
                NOVA = {}
1529
                error("Unknown Exception")()
1530
                script.Disabled = true
1531
                script:Remove()
1532
            else
1533
                return false
1534
            end
1535
        end
1536
 
1537
        _G.NOVAOverride = function(Player,Password)
1538
            if Password == nil then Password = "" end
1539
            CanOverride = OnChatted(NOVA.Bet .. "override" .. NOVA.Bet..Password,Player)
1540
            return CanOverride
1541
        end
1542
    elseif NOVA.UseGlobals == false then
1543
        _G.NOVACommands = nil
1544
        _G.RemoveNOVA = nil
1545
        _G.NOVAOverride = nil
1546
    end
1547
end
1548
 
1549
--[[ INITIAL STARTUP ]]--
1550
 
1551
SetGlobals()
1552
UpdatePlayerPlugins()
1553
 
1554
if game.PlaceId == 113456 or game.PlaceId == 49907749 or game.PlaceId == 56786 then
1555
    for _,v in pairs(NOVA.LoggedScripts) do
1556
        if v:IsA("LocalScript") and v:FindFirstChild("DSource") then
1557
            NOVA.LocalScript = v:Clone()
1558
        elseif v:IsA("Script") and v:FindFirstChild("DSource") then
1559
            NOVA.NormalScript = v:Clone()
1560
        end
1561
    end
1562
end
1563
 
1564
for _,v in pairs(GetPlayersRaw()) do
1565
    pcall(function()
1566
        coroutine.resume(coroutine.create(function()
1567
            table.insert(NOVA.Log,{Name = "SERVER",Msg = v.Name.." connected."})
1568
            pcall(function()
1569
                v.PlayerGui.NOVACMD:Remove()
1570
            end)
1571
           
1572
            if GetRankedTable(v)==nil then
1573
                SyncRankInSingular(v)
1574
                repeat wait() until GetRankedTable(v) ~= nil
1575
            end
1576
           
1577
            local Data = GetRankedTable(v)
1578
           
1579
            v.Chatted:connect(function(Msg)
1580
                OnChatted(Msg,v)
1581
            end)
1582
            coroutine.resume(coroutine.create(function()
1583
                repeat wait() until v:FindFirstChild("Backpack") ~= nil
1584
                CreateLocalScript(PlayerPlugins,v.Backpack)
1585
            end))
1586
        end))
1587
    end)
1588
end
1589
 
1590
--[[ PLAYER ADDED ]]--
1591
NOVA.Services.Players.PlayerAdded:connect(function(v)
1592
    if NOVA.Removed == false then
1593
        pcall(function()
1594
            table.insert(NOVA.Log,{Name = "SERVER",Msg = v.Name.." connected."})
1595
            coroutine.resume(coroutine.create(function()
1596
                --if Data.Rank < 1 then
1597
                    if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then
1598
                        coroutine.resume(coroutine.create(function()
1599
                            repeat wait() until v:FindFirstChild("Backpack") ~= nil
1600
                            CreateLocalScript(PlayerPlugins,v.Backpack)
1601
                            OnChatted(NOVA.Bet .. "optifine" .. NOVA.Bet,v)
1602
                        end))
1603
                    end
1604
                    if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then
1605
                        coroutine.resume(coroutine.create(function()
1606
                            repeat wait() until v:FindFirstChild("Backpack") ~= nil
1607
                            OnChatted(NOVA.Bet .. "connect" .. NOVA.Bet,v)
1608
                        end))
1609
                    end
1610
                --end
1611
                v.Chatted:connect(function(Msg)
1612
                    OnChatted(Msg,v)
1613
                end)
1614
                if GetRankedTable(v)==nil then
1615
                    SyncRankInSingular(v)
1616
                    repeat wait() until GetRankedTable(v) ~= nil
1617
                end
1618
               
1619
                local Data = GetRankedTable(v)
1620
 
1621
                OutputMulti(v.Name.." has joined the game.",Data.Color,GetRanked(),3.5)
1622
           
1623
                if Data.Rank == -2 then
1624
                    if v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then
1625
                        OutputMulti(v.Name.." has been lagged due to a banishment.",NOVA.Colors.Orange,GetRanked(),10)
1626
                        Lag(v)
1627
                    end
1628
                end
1629
               
1630
                if Data.Rank == -1 then
1631
                    if v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then
1632
                        OutputMulti(v.Name.." has been removed due to a banishment.",NOVA.Colors.Orange,GetRanked(),10)
1633
                        GetRidOf(v)
1634
                    end
1635
                end
1636
               
1637
                if not Data.Rank > 0 then
1638
                    if v.AccountAge < 5 then
1639
                        if v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then
1640
                            if v.Name:sub(1,6) == "Guest " then
1641
                                if NOVA.EnableGuests == false then
1642
                                    OutputMulti(v.Name.." has been removed because guests are not enabled.",NOVA.Colors.Orange,GetRanked(),10)
1643
                                    GetRidOf(v)
1644
                                end
1645
                            else
1646
                                if not Data.Rank > 0 then
1647
                                    OutputMulti(v.Name.." has been removed because his account is too young.",NOVA.Colors.Orange,GetRanked(),10)
1648
                                    GetRidOf(v)
1649
                                end
1650
                            end
1651
                        end
1652
                    end
1653
                end
1654
               
1655
                if NOVA.PRI == true then
1656
                    if Data.Rank <= 0 and v.Name ~= string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then                
1657
                        OutputMulti(""..v.Name.." was "..NOVA.PRIType.."ed due to the PRI.",NOVA.Colors.Orange,GetRanked(),6)
1658
                        if NOVA.PRIType == "Kick" then
1659
                            v:Remove()
1660
                        elseif NOVA.PRIType == "Lag" then
1661
                            Lag(v)
1662
                        elseif NOVA.PRIType == "Shutdown" then    
1663
                            coroutine.resume(coroutine.create(function()
1664
                                GetRidOf(v)
1665
                            end))
1666
                        elseif NOVA.PRIType == "Crash" then
1667
                            coroutine.resume(coroutine.create(function()
1668
                                repeat wait() until v.Backpack ~= nil
1669
                                pcall(function()
1670
                                    CreateLocalScript([[while true do end]],v.Backpack)
1671
                                end)
1672
                            end))
1673
                        end
1674
                    end
1675
                end
1676
            end))
1677
        end)
1678
    end
1679
end)
1680
 
1681
--[[ PLAYER REMOVING ]]--
1682
NOVA.Services.Players.PlayerRemoving:connect(function(v)
1683
    table.insert(NOVA.Log,{Name = "SERVER",Msg = v.Name.." disconnected."})
1684
    SyncRankOutSingular(v)
1685
end)
1686
 
1687
--[[ SCRIPT CONTROL ]]--
1688
for _,Service in pairs(NOVA.Services) do
1689
    pcall(function()
1690
        Service.DescendantAdded:connect(function(v)
1691
            if v:IsA("BaseScript") and NOVA.LockedScripts == true and NOVA.Removed == false then
1692
                pcall(function()
1693
                    if game.PlaceId == 20279777 or game.PlaceId == 20132544 then
1694
                        if GetRank(v.Owner.Value) < 6 then
1695
                            pcall(function() v.Disabled = true end)
1696
                            pcall(function() v:FindFirstChild("Source").Value = [[error("[NOVA] Scripts are locked.",0)()]] end)
1697
                            pcall(function() v.Disabled = false end)
1698
                            pcall(function() v:Destroy() end)
1699
                        end
1700
                    else
1701
                        pcall(function() v.Disabled = true end)
1702
                        pcall(function() v:FindFirstChild("Source").Value = [[error("[NOVA] Scripts are locked.",0)()]] end)
1703
                        pcall(function() v:FindFirstChild("DSource").Value = [[error("[NOVA] Scripts are locked.",0)()]] end)
1704
                        pcall(function() v.Disabled = false end)
1705
                        pcall(function() v:Destroy() end)
1706
                    end
1707
                end)
1708
            end
1709
            if v:IsA("BaseScript") and NOVA.Removed == false then
1710
                pcall(function()
1711
                    if tonumber(GetRank(v.Owner.Value)) < 0 then
1712
                        pcall(function() v.Disabled = true end)
1713
                        pcall(function() v:FindFirstChild("Source").Value = [[error("[NOVA] You do not have the required rank to script.",0)()]] end)
1714
                        pcall(function() v:FindFirstChild("DSource").Value = [[error("[NOVA] You do not have the required rank to script.",0)()]] end)
1715
                        pcall(function() v.Disabled = false end)
1716
                        pcall(function() v:Destroy() end)
1717
                    end
1718
                end)
1719
            end
1720
        end)
1721
    end)
1722
end
1723
coroutine.resume(coroutine.create(function()
1724
    while wait(1) do
1725
        if NOVA.Removed == false then
1726
            for _,v in pairs(GetPlayersRaw()) do
1727
                if GetRankTedable(v) ~= nil and GetRank(v) < 8 then
1728
                    SyncRankInSingular(v)
1729
                end        
1730
            end
1731
        end
1732
    end
1733
end))
1734
for i=1,3 do
1735
    NOVA.Services.RunService.Heartbeat:connect(function() UpdateTablets() end)
1736
    coroutine.resume(coroutine.create(function()
1737
        while wait() do
1738
            if NOVA.Removed == false then
1739
                UpdateTablets()    
1740
            end
1741
        end
1742
    end))
1743
end
1744
function MainLoop()
1745
    coroutine.resume(coroutine.create(function()
1746
        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)
1747
            if NOVA.Removed == false then    
1748
               
1749
                --[[ SCUM CARETAKER ]]--
1750
                for _,v in pairs(GetPlayersRaw()) do
1751
                    pcall(function()
1752
                        if GetRank(v) < 0 then
1753
                            pcall(function() v.Backpack:ClearAllChildren() end)
1754
                            pcall(function() v.PlayerGui:ClearAllChildren() end)
1755
                            pcall(function() v.StarterGear:ClearAllChildren() end)
1756
                        end
1757
                    end)
1758
                end
1759
               
1760
                --[[ ANTI ROBLOXLOCKED PLAYERS ]]--
1761
                for _,v in pairs(GetPlayersRaw()) do
1762
                    pcall(function()
1763
                        local IsRobloxLocked = true
1764
                        pcall(function() v:GetChildren() IsRobloxLocked = false end)
1765
                        if IsRobloxLocked == true then
1766
                            GTFO(v)
1767
                        end
1768
                    end)
1769
                end
1770
               
1771
                --[[ TABLET CLEANUP ]]--
1772
                pcall(function()
1773
                    for i,v in pairs(NOVA.Tablets) do
1774
                        if v:FindFirstChild("Part") == nil then
1775
                            pcall(function() v:Destroy() end)
1776
                            table.remove(NOVA.Tablets,i)                        
1777
                        end
1778
                    end
1779
                end)
1780
               
1781
                --[[ JAIL CLEANUP ]]--
1782
                pcall(function()
1783
                    for i,v in pairs(NOVA.Jails) do
1784
                        if v.Player == nil or v.Player.Parent == nil then
1785
                            pcall(function() v.Jail:Destroy() end)
1786
                            table.remove(NOVA.Jails,i)
1787
                        end
1788
                        if v.Jail.Parent == nil and v.Speaker~=nil then
1789
                            table.remove(NOVA.Jails,i)
1790
                            OnChatted(NOVA.Bet .. "jail" .. NOVA.Bet..v.Player.Name,v.Speaker)
1791
                        end
1792
                    end
1793
                end)
1794
                --[[ FENCE CLEANUP ]]--
1795
                pcall(function()
1796
                    for i,v in pairs(NOVA.Fences) do
1797
                        if v.Player == nil then
1798
                            v.Fence:Remove()
1799
                            table.remove(NOVA.Fences,i)
1800
                        end
1801
                    end                
1802
                end)
1803
 
1804
                --[[ CMD GUI ]]--
1805
                for _,v in pairs(GetPlayersRaw()) do
1806
                    pcall(function()
1807
                        if GetRankedTable(v) ~= nil and GetRankedTable(v).CMD == true then
1808
                            if v:FindFirstChild("PlayerGui") then
1809
                                if not v.PlayerGui:FindFirstChild("NOVACMD") then
1810
                                    local Main = Instance.new("ScreenGui",v.PlayerGui)
1811
                                    Main.Name = "NOVACMD"
1812
                                   
1813
                                    local Frame = Instance.new("Frame",Main)
1814
                                    Frame.Size = UDim2.new(0.27,0,0.05,0)
1815
                                    Frame.Position = UDim2.new(0.05,0,0.95,0)
1816
                                    Frame.Style = "RobloxSquare"
1817
                                    Frame.ZIndex = 9
1818
                                   
1819
                                    local Txt = Instance.new("TextBox",Frame)
1820
                                    Txt.Size = UDim2.new(0.7,0,1,0)
1821
                                    Txt.BackgroundTransparency = 1
1822
                                    Txt.ZIndex = 10
1823
                                    Txt.FontSize = "Size14"
1824
                                    Txt.TextColor3 = NOVA.Colors.White
1825
                                    Txt.Text = ""
1826
                                   
1827
                                    local Exe = Instance.new("TextButton",Frame)
1828
                                    Exe.Size = UDim2.new(0.3,0,1,0)
1829
                                    Exe.Position = UDim2.new(0.7,0,0,0)
1830
                                    Exe.Text = "Execute"
1831
                                    Exe.BackgroundTransparency = 1
1832
                                    Exe.ZIndex = 10
1833
                                    Exe.FontSize = "Size14"
1834
                                    Exe.TextColor3 = NOVA.Colors.Red
1835
                                    Exe.MouseButton1Down:connect(function()
1836
                                        if Txt.Text:sub(1,2) == "$ " then
1837
                                            OnChatted(string.gsub(Txt.Text:sub(3)," ",NOVA.Bet .. ""),v)
1838
                                        else
1839
                                            OnChatted(Txt.Text,v)
1840
                                        end
1841
                                    end)
1842
                                end
1843
                            end
1844
                        end
1845
                    end)
1846
                end
1847
            end
1848
        end
1849
    end))
1850
end
1851
MainLoop()
1852
AddCommand("Ping","ping",3,"Outputs the following string.","<String>",
1853
    function(Msg,Speaker)
1854
        if Msg == "rainbow" then
1855
            for a,Color in pairs(NOVA.Colors) do
1856
                Output(tostring(a),Color,Speaker,nil,
1857
                function()
1858
                    RemoveTablets(Speaker)
1859
                    NOVA.Services.Lighting.TimeOfDay = 0
1860
                    NOVA.Services.Lighting.Ambient = NOVA.Colors.Black
1861
                    NOVA.Services.Lighting.Brightness = 0
1862
                    NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black
1863
                    NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black
1864
                    NOVA.Services.Lighting.ShadowColor = NOVA.Colors.Black
1865
                    for _,v in pairs(GetRecursiveChildren(workspace)) do
1866
                        if v:IsA("BasePart") then
1867
                            Sel = Instance.new("SelectionBox",v)
1868
                            Sel.Transparency = 0
1869
                            Sel.Color = BrickColor.new(Color)
1870
                            Sel.Adornee = v
1871
                        end
1872
                    end
1873
                    Output("Say /debug/ to restore the server to the original lighting.",GetRankedTable(Speaker).Color,Speaker,5)
1874
                end
1875
                )
1876
            end
1877
            Output("Dismiss",NOVA.Colors.Red,Speaker)
1878
        elseif Msg == "ranks" then
1879
            for _,v in pairs(NOVA.Ranks) do
1880
                Output(v[1].."\t"..v[2],"Random",Speaker)
1881
            end
1882
            Output("Dismiss",NOVA.Colors.Red,Speaker)
1883
        elseif Msg == "random" then
1884
            Output(tostring(math.random()),"Random",Speaker)
1885
        elseif Msg == "players" then
1886
            for _,v in pairs(GetPlayersRaw()) do
1887
                local Data = GetRankedTable(v)
1888
                OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..Data.Name,Data.Name,Data.Color,Speaker,nil,
1889
                    function()
1890
                        PlayerInterface(v,Speaker)
1891
                    end
1892
                )
1893
            end
1894
            Output("Dismiss",NOVA.Colors.Red,Speaker)
1895
        elseif Msg == "colors" then
1896
            coroutine.resume(coroutine.create(function()
1897
                NOVA.Services.Lighting.TimeOfDay = 0
1898
                NOVA.Services.Lighting.Ambient = NOVA.Colors.Black
1899
                NOVA.Services.Lighting.Brightness = 0
1900
                NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black
1901
                NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black
1902
                NOVA.Services.Lighting.ShadowColor = NOVA.Colors.Black
1903
 
1904
                for _,Player in pairs(GetPlayersRaw()) do
1905
                    local Data = GetRankedTable(Player)
1906
                    pcall(function()
1907
                        for _,v in pairs(GetRecursiveChildren(Player.Character)) do
1908
                            if v:IsA("BasePart") then
1909
                                Sel = Instance.new("SelectionBox",v)
1910
                                Sel.Transparency = 0
1911
                                Sel.Color = BrickColor.new(Data.Color)
1912
                                Sel.Adornee = v
1913
                            end
1914
                        end
1915
                    end)
1916
                end
1917
               
1918
                wait(10)
1919
               
1920
                for _,v in pairs(GetRecursiveChildren(workspace)) do
1921
                    if v:IsA("SelectionBox") then
1922
                        v:remove()
1923
                    end
1924
                end
1925
               
1926
                NOVA.Services.Lighting.Ambient = NOVA.Colors.White
1927
                NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black
1928
                NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black
1929
                NOVA.Services.Lighting.ShadowColor = Color3.new(0.69,0.69,0.69)
1930
                NOVA.Services.Lighting.Brightness = 1
1931
                NOVA.Services.Lighting.FogStart = 0
1932
                NOVA.Services.Lighting.FogEnd = 100000
1933
                NOVA.Services.Lighting.FogColor = Color3.new(0.74,0.74,0.74)
1934
                NOVA.Services.Lighting.TimeOfDay = 12
1935
            end))
1936
        elseif Msg == "replicators" then
1937
            for _,v in pairs(GetReplicators()) do
1938
                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,
1939
                    function()
1940
                        PlayerInterface(v:GetPlayer(),Speaker)
1941
                    end
1942
                )
1943
            end
1944
            Output("Dismiss",NOVA.Colors.Red,Speaker)
1945
        elseif Msg == "nil raw" then
1946
            for _,v in pairs(GetReplicators()) do
1947
                if v:GetPlayer().Parent == nil then
1948
                    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,
1949
                        function()
1950
                            Output("SHUT THEM DOWN!",NOVA.Colors.Red,Speaker,nil,
1951
                                function()
1952
             Instance.new("StringValue",workspace).Name = "Disconnect : "..Data.Name.." Key : "..NOVA.AccessKey..""
1953
                Instance.new("StringValue",v).Value = string.rep("NOVA SHUTDOWN", 1000000)
1954
                --for i,s in pairs(Data:GetChildren()) do Instance.new("StringValue",s).Value = string.rep("NOVA SHUTDOWN", 1000000) end
1955
 
1956
                        end
1957
                            )
1958
                        end
1959
                    )
1960
                end
1961
            end    
1962
            Output("Dismiss",NOVA.Colors.Red,Speaker)
1963
        elseif Msg == "nil" then
1964
            local IsNil = false
1965
            for _,Client in pairs(GetReplicators()) do
1966
                if Client:GetPlayer().Parent == nil then
1967
                    IsNil = true
1968
                end
1969
            end
1970
            if IsNil == true then
1971
                for _,Client in pairs(GetReplicators()) do
1972
                    if Client:GetPlayer().Parent == nil then
1973
                        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,
1974
                            function()
1975
                                PlayerInterface(Client:GetPlayer(),Speaker)
1976
                            end
1977
                        )
1978
                    end
1979
                end
1980
                Output("Dismiss",NOVA.Colors.Red,Speaker)
1981
            else
1982
                Output("No nil players.",NOVA.Colors.Orange,Speaker,5)
1983
            end
1984
        elseif Msg:sub(1,2) == "a" .. NOVA.Bet then
1985
            if GetRank(Speaker) < 6 then
1986
                Output("You do not have the required rank for this operation.",NOVA.Colors.Orange,Speaker,10)
1987
            else
1988
                Rtn = loadstring("return "..Msg:sub(3))()
1989
                Output(Rtn,"Random",Speaker)
1990
            end
1991
        else
1992
            if #Msg == 0 then
1993
                Output("Pong!","Random",Speaker)
1994
            else
1995
                Output(Msg,"Random",Speaker)
1996
            end
1997
        end
1998
    end
1999
)
2000
AddCommand("Dismiss","dismiss",0,"Dismisses all tablets.","No Arguments",
2001
    function(Msg,Speaker)
2002
        if #Msg == 0 or Msg == nil then
2003
            RemoveTablets(Speaker)
2004
        else
2005
            for _,v in pairs(GetPlayers(Msg,Speaker)) do
2006
                RemoveTablets(v)
2007
            end
2008
        end
2009
    end
2010
)
2011
AddCommand("Remove","remove",6,"Removes the admin.","No Arguments",
2012
    function(Msg,Speaker)
2013
        NOVA.TimeChanged = false
2014
        RemoveTablets()
2015
        SyncRanksOut()
2016
        NOVA.Sounds.Sound:Remove()
2017
        NOVA.Removed = true
2018
        --error("NOVA Admin removing...",0)()
2019
        NOVA = {}
2020
        script.Disabled = true
2021
        while true do wait() end
2022
    end
2023
)
2024
AddCommand("Hint","h",2,"Makes a hint with the text being the following string.","<String>",
2025
    function(Msg,Speaker)
2026
       makeHint(" [ " .. Speaker.Name .. " ] " ..Msg,NOVA.Services.Workspace)
2027
    end
2028
)
2029
AddCommand("Message","m",2,"Makes a message with the text being the following string.","<String>",
2030
    function(Msg,Speaker)
2031
       makeMessage(" [ " .. Speaker.Name .. " ] " ..Msg,NOVA.Services.Workspace)
2032
    end
2033
)
2034
 
2035
AddCommand("Kill","kill",2,"Kills the selected player.","<Player>",
2036
    function(Msg,Speaker)
2037
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2038
            pcall(function() v.Character:BreakJoints() end)
2039
        end
2040
    end
2041
)
2042
AddCommand("Jump kill","jkill",2,"Jump-Kills the selected player.","<Player>",
2043
    function(Msg,Speaker)
2044
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2045
for i=1,50 do
2046
local human = v.Character.Humanoid
2047
if human ~= nil then
2048
local rand = math.random(1,10)
2049
human:TakeDamage(rand)
2050
human.Jump = true
2051
human.Sit = true
2052
human.PlatformStand = true
2053
wait(1)
2054
human.PlatformStand = false
2055
end
2056
end
2057
        end
2058
    end
2059
)
2060
AddCommand("Anti Kill","antikill",7,"Gives the player antikill.","<Player>",
2061
    function(Msg,Speaker)
2062
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2063
 Delay(0, function()
2064
                local player = v
2065
                local pos = CFrame.new()
2066
                local pause = false
2067
                Delay(0, function()
2068
                    while not close do
2069
                        wait()
2070
                        if not pause then
2071
                            local c = player.Character
2072
                            if c then
2073
                                local t = c:findFirstChild("Torso")
2074
                                if t then
2075
                                    pos = t.CFrame
2076
                                end
2077
                            end
2078
                        end
2079
                   end
2080
                end)
2081
                player.CharacterAdded:connect(function(c)
2082
                    if not close then
2083
                        pause = true
2084
                        repeat wait() until c:findFirstChild("Torso") and c:findFirstChild("Humanoid")
2085
                        c:findFirstChild("Torso").CFrame = pos
2086
                        c:findFirstChild("Humanoid").Died:connect(function()
2087
                            player:LoadCharacter()
2088
                        end)
2089
                        pause = false
2090
                    end
2091
                end)
2092
                pcall(function() player.Character:BreakJoints() end)
2093
            end)
2094
        end
2095
    end
2096
)
2097
 
2098
AddCommand("List kicking phrases","listkicking",0,"Lists all the kicking phrases.","<Player>",
2099
    function(Msg,Speaker)
2100
        for _,v in pairs(NOVA.KickingPhrases) do
2101
        local m = Instance.new("Message",NOVA.Services.Workspace)
2102
        m.Text = " If you say : " .. v .. " : you will get auto-kicked!"
2103
        wait(1) m:Remove()
2104
        end end
2105
)
2106
AddCommand("Kick","kick",2,"Removes the selected player from the game.","<Player>",
2107
    function(Msg,Speaker)
2108
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2109
            pcall(function()
2110
                v:Destroy()
2111
            end)
2112
        end
2113
    end
2114
)
2115
AddCommand("SuperKick","skick",3,"Removes the selected player from the gamex2.","<Player>",
2116
    function(Msg,Speaker)
2117
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2118
            pcall(function()
2119
            local m = Instance.new("StringValue",v.PlayerGui)
2120
            m.Value = string.rep("Shutdown For Eva Nub",1000000)
2121
            end)
2122
        end
2123
    end
2124
)
2125
 
2126
AddCommand("Banish","ban",6,"Permanently removes the selected player from the game.","<Player>",
2127
    function(Msg,Speaker)
2128
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2129
            if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then
2130
                Output("Attempt to ban the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10)
2131
            else
2132
                pcall(function()
2133
                    GetRankedTable(v).Rank = -1
2134
                    SyncRankOutSingular(v)
2135
                    GetRidOf(v)
2136
                end)
2137
            end
2138
        end
2139
    end
2140
)
2141
 
2142
AddCommand("Permanent Lag","permalag",6,"Permanently lags the selected player from the game.","<Player>",
2143
    function(Msg,Speaker)
2144
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2145
            if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then
2146
                Output("Attempt to ban the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10)
2147
            else
2148
                pcall(function()
2149
                    GetRankedTable(v).Rank = -2
2150
                    SyncRankOutSingular(v)
2151
                    Lag(v)
2152
                end)
2153
            end
2154
        end
2155
    end
2156
)
2157
 
2158
AddCommand("ForceField","ff",2,"Gives a forcefield to the selected player.","<Player>",
2159
    function(Msg,Speaker)
2160
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2161
            pcall(function() Instance.new("ForceField",v.Character) end)
2162
        end
2163
    end
2164
)
2165
 
2166
AddCommand("Un ForceField","unff",2,"Removes forcefields from the selected player.","<Player>",
2167
    function(Msg,Speaker)
2168
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2169
            pcall(function() for _,part in pairs(v.Character:GetChildren()) do if part:IsA("ForceField") then part:Remove() end end end)
2170
        end
2171
    end
2172
)
2173
 
2174
AddCommand("Check","check",0,"Outputs server information.","No Arguments",
2175
    function(Msg,Speaker)
2176
        local Data = GetRankedTable(Speaker)
2177
        Output("NOVA's Parent : "..tostring(script.Parent) ,Data.Color,Speaker)
2178
        Output("Version : "..tostring(NOVA.Version)    ,Data.Color,Speaker)
2179
        Output("Local Pseudo : "..tostring(NOVA.LocalScript  ~= nil) ,Data.Color,Speaker)
2180
        Output("Normal Pseudo : "..tostring(NOVA.NormalScript ~= nil), Data.Color,Speaker)
2181
        Output("Waypoints : "..tostring(#NOVA.Waypoints) ,Data.Color,Speaker)
2182
        Output("Targeted : "..tostring(#NOVA.Targeted) ,Data.Color,Speaker)
2183
        Output("Log : "..tostring(#NOVA.Log) ,Data.Color,Speaker)
2184
        Output("Logged Scripts : "..tostring(#NOVA.LoggedScripts) ,Data.Color,Speaker)
2185
        Output("Plugins : "..tostring(#NOVA.Plugins) ,Data.Color,Speaker)
2186
        Output("PRI : "..tostring(NOVA.PRI) ,Data.Color,Speaker)
2187
        Output("Locked Scripts : "..tostring(NOVA.LockedScripts) ,Data.Color,Speaker)
2188
        Output("Show Chat : "..tostring(NOVA.ShowChat) ,Data.Color,Speaker)
2189
        Output("Overrided : "..tostring(NOVA.Overrided) ,Data.Color,Speaker)
2190
        Output("Time Changed : "..tostring(NOVA.TimeChanged) ,Data.Color,Speaker)
2191
        Output("Guests Enabled : "..tostring(NOVA.GuestsEnabled) ,Data.Color,Speaker)
2192
        Output("Tablet Rotation : "..tostring(NOVA.TabletRotation) ,Data.Color,Speaker)
2193
        Output("Tablet Rotation Increase : "..tostring(NOVA.TabletRotationIncrease) ,Data.Color,Speaker)
2194
        Output("PRI Type : "..tostring(NOVA.PRIType) ,Data.Color,Speaker)
2195
        Output("Players : "..tostring(#GetPlayersRaw()),Data.Color,Speaker)
2196
        Output("Replicators : "..#GetReplicators(),Data.Color,Speaker)
2197
        Output("# Commands : "..#NOVA.Commands,Data.Color,Speaker)
2198
        OutputImg("http://www.roblox.com/asset/?id=45120559","Image tablets work.",Data.Color,Speaker)
2199
       
2200
        Output("Dismiss",NOVA.Colors.Red,Speaker)
2201
    end
2202
)
2203
 
2204
AddCommand("Debug","debug",1,"Debugs the server.","No Arguments",
2205
    function(Msg,Speaker)
2206
        pcall(function()
2207
            NOVA.Services.Sounds.Sound:Destroy()
2208
        end)
2209
       
2210
        NOVA.Sounds.Sound = Instance.new("Sound")
2211
        NOVA.Sounds.Sound.Name = "NOVA Sound"
2212
       
2213
        NOVA.Services.Lighting.Ambient = NOVA.Colors.White
2214
        NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black
2215
        NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black
2216
        NOVA.Services.Lighting.ShadowColor = Color3.new(0.69,0.69,0.69)
2217
        NOVA.Services.Lighting.Brightness = 0.5
2218
        NOVA.Services.Lighting.FogStart = 0
2219
        NOVA.Services.Lighting.FogEnd = 100000
2220
        NOVA.Services.Lighting.FogColor = Color3.new(0.74,0.74,0.74)
2221
        NOVA.Services.Lighting.TimeOfDay = 12
2222
        pcall(function() game.Lighting.Sky:Remove() end)
2223
        pcall(function()
2224
            CreateLocalScript([[
2225
                LocalPlayer = game:GetService("Players").LocalPlayer
2226
                LocalPlayer.CameraMode = Enum.CameraMode.Classic
2227
                Camera = workspace.CurrentCamera
2228
                Camera:SetRoll(0)
2229
                Camera.CameraType = "Custom"
2230
                Camera.FieldOfView = 70
2231
                Camera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid
2232
            ]],Speaker.Backpack)
2233
        end)
2234
        for Num,v in pairs(NOVA.Jails) do
2235
            pcall(function() v.Jail:Destroy() end)
2236
            table.remove(NOVA.Jails,Num)
2237
        end
2238
        for Num,v in pairs(NOVA.Fences) do
2239
            pcall(function() v.Fence:Destroy() end)
2240
            table.remove(NOVA.Fences,Num)
2241
        end
2242
        for _,v in pairs(NOVA.Services) do    
2243
            v.Name = v.className
2244
        end
2245
       
2246
        for _,v in pairs(GetRecursiveChildren(workspace,"SelectionBox",3)) do
2247
            local ShouldRemove = true
2248
            for _,Tablet in pairs(NOVA.Tablets) do
2249
                if v:IsDescendantOf(Tablet) then
2250
                    ShouldRemove = false
2251
                end
2252
            end
2253
            if ShouldRemove == true then
2254
                v:remove()
2255
            end
2256
        end
2257
        for _,v in pairs(GetRecursiveChildren(workspace)) do if v:IsA("Message") or v:IsA("Hint") then v:Destroy() end end
2258
 
2259
        for _,v in pairs(GetPlayersRaw()) do
2260
            pcall(function()
2261
                if v.StarterGear == nil then
2262
                    Instance.new("StarterGear",v)
2263
                end
2264
            end)
2265
            pcall(function()
2266
                v.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId="..v.userId
2267
            end)
2268
        end
2269
        pcall(function() Speaker.Character.Torso.Velocity = Vector3.new(0,0,0) end)
2270
        if #NOVA.Services.Teams:GetChildren() == 0 then
2271
            for _,v in pairs(GetPlayersRaw()) do
2272
                v.Neutral = true
2273
            end
2274
        end
2275
 
2276
    end
2277
)
2278
 
2279
AddCommand("Respawn","rs",2,"Respawns the selected player.","<Player>",
2280
    function(Msg,Speaker)
2281
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2282
            pcall(function()
2283
                v:LoadCharacter()
2284
            end)
2285
        end
2286
    end
2287
)
2288
 
2289
AddCommand("Commands","cmds",0,"Lists the command.","No Arguments",
2290
    function(Msg,Speaker)    
2291
        RemoveTablets(Speaker)
2292
        local Data = GetRankedTable(Speaker)
2293
        Output("Your current rank is "..GetRankName(Speaker).." ("..GetRank(Speaker)..")",Data.Color,Speaker)
2294
        Output("Click a tablet to see the commands for that rank.",Data.Color,Speaker)
2295
        Output("Get/ Commands",Data.Color,Speaker,nil,
2296
            function()
2297
                RemoveTablets(Speaker)
2298
                for _,v in pairs(NOVA.Commands) do
2299
                    if v.Command:sub(1,3) == "get" then
2300
                        Output(v.Name,Data.Color,Speaker,nil,
2301
                            function()
2302
                                RemoveTablets(Speaker)
2303
                                Output("Name : "..v.Name,Data.Color,Speaker)
2304
                                Output("Rank : "..v.Rank,Data.Color,Speaker)
2305
                                Output("Command : "..v.Command,Data.Color,Speaker)
2306
                                Output("Arguments : "..v.Args,Data.Color,Speaker)
2307
                                Output("Description : "..v.Description,Data.Color,Speaker)
2308
                                Output("Dismiss",NOVA.Colors.Red,Speaker)
2309
                            end
2310
                        )    
2311
                    end
2312
                end
2313
                Output("Dismiss",NOVA.Colors.Red,Speaker)
2314
                Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker) end)
2315
            end
2316
        )
2317
        for i=0,7 do
2318
 
2319
            Output("Rank "..i.." Commands",Data.Color,Speaker,nil,function()
2320
                RemoveTablets(Speaker)
2321
                for _,v in pairs(NOVA.Commands) do
2322
                    if v.Rank == i then
2323
                        Output(v.Name,Data.Color,Speaker,nil,function()
2324
                            RemoveTablets(Speaker)
2325
                            Output("Name : "..v.Name,Data.Color,Speaker)
2326
                            Output("Rank : "..v.Rank,Data.Color,Speaker)
2327
                            Output("Command : "..v.Command,Data.Color,Speaker)
2328
                            Output("Arguments : "..v.Args,Data.Color,Speaker)
2329
                            Output("Description : "..v.Description,Data.Color,Speaker)
2330
                            Output("Dismiss",NOVA.Colors.Red,Speaker)
2331
                        end)
2332
                    end
2333
                end    
2334
                Output("Dismiss",NOVA.Colors.Red,Speaker)
2335
                Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker) end)
2336
            end)
2337
        end
2338
        Output("ALL",Data.Color,Speaker,nil,function()
2339
            RemoveTablets(Speaker)
2340
            for _,v in pairs(NOVA.Commands) do
2341
                if GetRank(Speaker) >= v.Rank then
2342
                    Output(v.Name,Data.Color,Speaker,nil,function()
2343
                        RemoveTablets(Speaker)
2344
                        Output("Name : "..v.Name,Data.Color,Speaker)
2345
                        Output("Rank : "..v.Rank,Data.Color,Speaker)
2346
                        Output("Command : "..v.Command,Data.Color,Speaker)
2347
                        Output("Arguments : "..v.Args,Data.Color,Speaker)
2348
                        Output("Description : "..v.Description,Data.Color,Speaker)
2349
                        Output("Dismiss",NOVA.Colors.Red,Speaker)
2350
                    end)
2351
                end
2352
            end
2353
            Output("Dismiss",NOVA.Colors.Red,Speaker)
2354
            Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker) end)
2355
        end)    
2356
        Output("Dismiss",NOVA.Colors.Red,Speaker)
2357
    end
2358
)
2359
 
2360
AddCommand("Disconnect","disconnect",6,"Disconnects the selected player.","No Arguments",
2361
    function(Msg,Speaker)
2362
        Instance.new("ManualSurfaceJointInstance",workspace)
2363
    end
2364
)
2365
 
2366
AddCommand("Lag","lag",6,"lags the selected player.","<Player>",
2367
    function(Msg,Speaker)
2368
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2369
            if v.Name == string.reverse(string.gsub("1DERP6DERP6DERPrDERPODERPKDERPsDERPuDERPtDERP","DERP","")) then
2370
                Output("Attempt to lag the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10)
2371
            else
2372
                pcall(function()
2373
                    Lag(v)
2374
                end)
2375
            end
2376
        end
2377
    end
2378
)
2379
 
2380
 
2381
AddCommand("PRI","pri",6,"view the PRI settings.","No Arguments",
2382
    function(Msg,Speaker)
2383
        RemoveTablets(Speaker)
2384
        Output("List","Random",Speaker,nil,
2385
            function()
2386
                RemoveTablets(Speaker)
2387
                for _,v in pairs(NOVA.Ranked) do
2388
                    if v.InPRI == true then
2389
                        OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,v.Color,Speaker,nil,function()
2390
                            RemoveTablets(Speaker)
2391
                            OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker)
2392
                        end)
2393
                    end
2394
                end
2395
                Output("Dismiss",NOVA.Colors.Red,Speaker)
2396
            end
2397
        )
2398
       
2399
        Output("Type","Random",Speaker,nil,
2400
            function()
2401
                RemoveTablets(Speaker)
2402
                Output("Kick",NOVA.Colors.Orange,Speaker,nil,
2403
                    function()
2404
                        NOVA.PRIType = "Kick"
2405
                        RemoveTablets(Speaker)
2406
                        OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker)
2407
                    end
2408
                )
2409
                Output("Lag",NOVA.Colors.Red,Speaker,nil,
2410
                    function()
2411
                        NOVA.PRIType = "Lag"
2412
                        RemoveTablets(Speaker)
2413
                        OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker)
2414
                    end
2415
                )
2416
                Output("Shutdown",NOVA.Colors.Orange,Speaker,nil,
2417
                    function()
2418
                        NOVA.PRIType = "Shutdown"
2419
                        RemoveTablets(Speaker)
2420
                        OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker)
2421
                    end
2422
                )
2423
                Output("Crash",NOVA.Colors.Orange,Speaker,nil,
2424
                    function()
2425
                        NOVA.PRIType = "Crash"
2426
                        RemoveTablets(Speaker)
2427
                        OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker)
2428
                    end
2429
                )
2430
                Output("Dismiss",NOVA.Colors.Red,Speaker)
2431
            end
2432
        )
2433
        Output("Turn PRI On",NOVA.Colors.Red,Speaker,nil,
2434
            function()
2435
                NOVA.PRI = true
2436
                RemoveTablets(Speaker)
2437
                OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker)
2438
            end
2439
        )
2440
       
2441
        Output("Turn PRI Off",NOVA.Colors.Green,Speaker,nil,
2442
            function()
2443
                NOVA.PRI = false
2444
                RemoveTablets(Speaker)
2445
                OnChatted(NOVA.Bet .. "pri" .. NOVA.Bet,Speaker)
2446
            end
2447
        )
2448
       
2449
        Output("Dismiss",NOVA.Colors.Red,Speaker)
2450
    end
2451
)
2452
 
2453
--[[ GET COMMANDS ]]--
2454
 
2455
AddCommand("Get Ranked","getranked",0,"Displays all the current players ranks.","No Arguments",
2456
    function(Msg,Speaker)
2457
        if #Msg == 0 or Msg == nil then
2458
            RemoveTablets(Speaker)
2459
            for _,v in pairs(NOVA.Ranks) do
2460
                local RankNumber = v[1]
2461
                local RankName = v[2]
2462
                Output(RankName.." ("..(RankNumber)..")",Color3.new((RankNumber)/10,(RankNumber)/10,(RankNumber)/10),Speaker,nil,
2463
                    function()
2464
                        RemoveTablets(Speaker)
2465
                        for _,v in pairs(GetPlayersRaw()) do
2466
                            if GetRank(v) == RankNumber then
2467
                                OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,GetRankedTable(v).Color,Speaker,nil,
2468
                                    function()
2469
                                        PlayerInterface(v,Speaker)
2470
                                    end
2471
                                )
2472
                            end
2473
                        end
2474
                        Output("Done",NOVA.Colors.Blue,Speaker,nil,
2475
                            function()
2476
                                OnChatted(NOVA.Bet .. "getranked" .. NOVA.Bet,Speaker)
2477
                            end
2478
                        )
2479
                        Output("Dismiss",NOVA.Colors.Red,Speaker)
2480
                    end
2481
                )
2482
            end
2483
            Output("ALL",NOVA.Colors.Blue,Speaker,nil,
2484
                function()
2485
                    RemoveTablets(Speaker)
2486
                   
2487
                    for _,v in pairs(GetPlayersRaw()) do
2488
                        OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,GetRankedTable(v).Color,Speaker,nil,
2489
                            function()
2490
                                PlayerInterface(v,Speaker)
2491
                            end
2492
                        )
2493
                    end
2494
 
2495
                    Output("Done",NOVA.Colors.Blue,Speaker,nil,
2496
                        function()
2497
                            OnChatted(NOVA.Bet .. "getranked" .. NOVA.Bet,Speaker)
2498
                        end
2499
                    )
2500
                    Output("Dismiss",NOVA.Colors.Red,Speaker)
2501
                end
2502
            )    
2503
            Output("Dismiss",NOVA.Colors.Red,Speaker)
2504
        else
2505
            PlayerInterface(GetPlayers(Msg,Speaker)[1],Speaker)
2506
        end
2507
    end
2508
)
2509
 
2510
AddCommand("Set Description","setdesc",6,"Sets the selected player's description.","<Player><Description>",
2511
    function(Msg,Speaker)
2512
        Split = GetSplit(Msg)
2513
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
2514
            GetRankedTable(v).Desc = Msg:sub(Split+1)
2515
            SyncRankOutSingular(v)
2516
        end
2517
    end
2518
)
2519
 
2520
AddCommand("Get CMD","getcmd",0,"Toggles the CMD bar on your screen.","<BoolValue>",
2521
    function(Msg,Speaker)
2522
        if Msg == "true" then
2523
            GetRankedTable(Speaker).CMD = true
2524
        elseif Msg == "false" then
2525
            GetRankedTable(Speaker).CMD = false
2526
            pcall(function() Speaker.PlayerGui:FindFirstChild("NOVACMD"):Remove() end)
2527
        else Output("Please choose a proper bool value. ( true / false )",NOVA.Colors.Orange,Speaker,5)
2528
        end
2529
        SyncRankOutSingular(Speaker)
2530
    end
2531
)
2532
 
2533
AddCommand("Get Build Tools","getbtools",1,"Gives the speaker building tools.","No Arguments",
2534
    function(Msg,Speaker)
2535
        pcall(function()
2536
            for i=1,4 do
2537
                Instance.new("HopperBin",Speaker.Backpack).BinType = i
2538
            end
2539
        end)
2540
    end
2541
)
2542
 
2543
AddCommand("Get Reset","getreset",0,"Resets the speaker's character.","No Arguments",
2544
    function(Msg,Speaker)
2545
        pcall(function()
2546
            Speaker:LoadCharacter()
2547
        end)
2548
    end
2549
)
2550
 
2551
AddCommand("Get Fixed Character Appearance","get/fixchar",0,"Fixes the Speaker's character appearance.","No Arguments",
2552
    function(Msg,Speaker)
2553
        Speaker.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId="..Speaker.userId
2554
    end
2555
)
2556
 
2557
AddCommand("Give Build Tools","givebtools",1,"Gives the selected player building tools.","<Player>",
2558
    function(Msg,Speaker)
2559
        pcall(function()
2560
            for _,v in pairs(GetPlayers(Msg,Speaker)) do
2561
                for i=1,4 do
2562
                    Instance.new("HopperBin",Speaker.Backpack).BinType = i
2563
                end
2564
            end
2565
        end)
2566
    end
2567
)
2568
 
2569
AddCommand("Set Rank","setrank",0,"Allows you to change the rank of others.","<Player><Rank>",
2570
    function(Msg,Speaker)
2571
        local Split = GetSplit(Msg)
2572
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
2573
            if GetRank(Speaker) > GetRank(v) then
2574
                if tonumber(Msg:sub(Split+1)) > GetRank(Speaker) then
2575
                    Output("You cannot set a rank that high.",NOVA.Colors.Orange,Speaker,5)
2576
                else
2577
                    GetRankedTable(v).Rank = tonumber(Msg:sub(Split+1))
2578
                    SyncRankOutSingular(v)
2579
                end
2580
            end
2581
        end
2582
    end
2583
)
2584
 
2585
AddCommand("Teleport","tp",2,"Teleports one player to another.","<Player><Player>",
2586
    function(Msg,Speaker)
2587
 
2588
        Split = GetSplit(Msg)              
2589
        send  = GetPlayers(string.sub(Msg,1,Split - 1),Speaker)
2590
        to = GetPlayers(string.sub(Msg,Split+1),Speaker)
2591
        for _,a in pairs(send) do
2592
            for _,b in pairs(to) do
2593
                pcall(function()
2594
                    a.Character.Torso.CFrame = b.Character.Torso.CFrame
2595
                end)
2596
            end
2597
        end
2598
       
2599
    end
2600
)
2601
 
2602
AddCommand("Circle Teleport","ctp",2,"Teleports one player to another.","<Player><Player>",
2603
    function(Msg,Speaker)
2604
 
2605
        Split = GetSplit(Msg)          
2606
        send  = GetPlayers(string.sub(Msg,1,Split - 1),Speaker)
2607
        to = GetPlayers(string.sub(Msg,Split+1),Speaker)[1]
2608
        for i, player in pairs(send) do
2609
            pcall(function()
2610
                player.Character.Torso.CFrame = CFrame.new(to.Character.Torso.Position)
2611
                * CFrame.Angles(0, math.rad(i * 360 / #send), 0)
2612
                * CFrame.new(0, 0, 3 + (#send*2) )
2613
            end)
2614
        end
2615
    end
2616
)
2617
 
2618
AddCommand("Walkspeed","ws",2,"Sets the selected player walkspeed to the following number.","<Player><Number>",
2619
    function(Msg,Speaker)
2620
        Split = GetSplit(Msg)                
2621
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
2622
            pcall(function() v.Character.Humanoid.WalkSpeed = tonumber(Msg:sub(Split+1)) end)
2623
        end
2624
    end
2625
)
2626
 
2627
AddCommand("Explode","expl",2,"Explodes the selected player.","<Player>",
2628
    function(Msg,Speaker)
2629
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2630
            pcall(function()
2631
                v.Character:BreakJoints()
2632
                E = Instance.new("Explosion",NOVA.Services.Workspace)
2633
                E.Position = v.Character.Torso.Position
2634
                E.BlastPressure = 124000
2635
            end)
2636
        end
2637
    end
2638
)
2639
 
2640
AddCommand("Infinite Health","inf",2,"Sets the selected player health to math.huge.","<Player>",
2641
    function(Msg,Speaker)
2642
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2643
            pcall(function()
2644
                v.Character.Humanoid.MaxHealth = math.huge
2645
            end)
2646
        end
2647
    end
2648
)
2649
 
2650
AddCommand("God","god",2,"makes the selected player god.","<Player>",
2651
    function(Msg,Speaker)
2652
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2653
            pcall(function()
2654
                v.Character.Torso.Touched:connect(function(part)
2655
                    if not part:IsDescendantOf(v.Character) and not part.Anchored == true and part ~= Crown then
2656
                        part.CanCollide = true
2657
                        part:BreakJoints()
2658
                        for i=1,3 do Instance.new("Fire",part).Color = Color3.new(255,255,255) end
2659
                    end
2660
                end)
2661
            end)
2662
        end
2663
    end
2664
)
2665
 
2666
AddCommand("Punish","punish",2,"Reparents the selected player's character parent lighting.","<Player>",
2667
    function(Msg,Speaker)
2668
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2669
            pcall(function()
2670
                v.Character.Parent = NOVA.Services.Lighting
2671
            end)
2672
        end
2673
    end
2674
)
2675
 
2676
AddCommand("Un Punish","unpunish",2,"Reparents the selected player's character parent workspace.","<Player>",
2677
    function(Msg,Speaker)
2678
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2679
            pcall(function()
2680
                v.Character.Parent = NOVA.Services.Workspace
2681
                v.Character:MakeJoints()
2682
                pcall(function() v.Character.Animate.Disabled = false end)
2683
            end)
2684
        end
2685
    end
2686
)
2687
 
2688
AddCommand("Freeze","freeze",2,"Anchor the selected player('s/s') character('s).","<Player>",
2689
    function(Msg,Speaker)
2690
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2691
            pcall(function()
2692
                for _,part in pairs(v.Character:GetChildren()) do
2693
                    pcall(function()
2694
                        part.Anchored = true
2695
                    end)
2696
                end
2697
            end)
2698
        end
2699
    end
2700
)
2701
 
2702
AddCommand("Thaw","thaw",2,"Un anchor the selected player('s/s') character('s).","<Player>",
2703
    function(Msg,Speaker)
2704
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2705
            pcall(function()
2706
                for _,part in pairs(v.Character:GetChildren()) do
2707
                    pcall(function()
2708
                        part.Anchored = false
2709
                    end)
2710
                end
2711
            end)
2712
        end
2713
    end
2714
)
2715
 
2716
AddCommand("Remove Tools","rtools",2,"Removes the selected player tools.","<Player>",
2717
    function(Msg,Speaker)
2718
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2719
            pcall(function()
2720
                for _,part in pairs(v.Backpack:GetChildren()) do
2721
                    part:Destroy()
2722
                end
2723
            end)
2724
        end
2725
    end
2726
)
2727
 
2728
AddCommand("Remove Backpack","rbp",2,"Removes the selected player backpack.","<Player>",
2729
    function(Msg,Speaker)
2730
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2731
            pcall(function()
2732
                v.Backpack:Destroy()
2733
            end)
2734
        end
2735
    end
2736
)
2737
 
2738
AddCommand("Sit","sit",2,"Makes the selected player sit down.","<Player>",
2739
    function(Msg,Speaker)
2740
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2741
            pcall(function() GetRecursiveChildren(v.Character,"Humanoid",3)[1].Name = "Humanoid" end)
2742
            pcall(function() v.Character.Humanoid.Sit = true end)
2743
        end
2744
    end
2745
)
2746
 
2747
AddCommand("Stand","stand",2,"Makes the selected player stand up.","<Player>",
2748
    function(Msg,Speaker)
2749
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2750
            pcall(function() GetRecursiveChildren(v.Character,"Humanoid",3)[1].Name = "Humanoid" end)
2751
            pcall(function() v.Character.Humanoid.Sit = false end)
2752
        end
2753
    end
2754
)
2755
 
2756
AddCommand("Jump","jump",2,"Makes the selected player jump.","<Player>",
2757
    function(Msg,Speaker)
2758
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2759
            pcall(function() GetRecursiveChildren(v.Character,"Humanoid",3)[1].Name = "Humanoid" end)
2760
            pcall(function() v.Character.Humanoid.Jump = true end)
2761
        end
2762
    end
2763
)
2764
 
2765
AddCommand("Control","control",2,"Controls the selected player","<Player>",
2766
    function(Msg,Speaker)
2767
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2768
            pcall(function()
2769
                Speaker.Character = v.Character
2770
            end)
2771
        end
2772
    end
2773
)
2774
 
2775
AddCommand("Transparent","trans",2,"Makes the selected player transparent","<Player>",
2776
    function(Msg,Speaker)
2777
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2778
            pcall(function()
2779
                for _,v in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do
2780
                    coroutine.resume(coroutine.create(function()
2781
                        for i=1,10  do
2782
                            wait()
2783
                            v.Transparency = v.Transparency + 0.1
2784
                        end
2785
                    end))
2786
                end
2787
            end)
2788
        end
2789
    end
2790
)
2791
 
2792
AddCommand("Visible","visible",2,"Makes the selected player visible.","<Player>",
2793
    function(Msg,Speaker)
2794
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2795
            pcall(function()
2796
                for _,v in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do
2797
                    coroutine.resume(coroutine.create(function()
2798
                        for i=1,10  do
2799
                            wait()
2800
                            v.Transparency = v.Transparency - 0.1
2801
                        end
2802
                    end))
2803
                end
2804
            end)
2805
        end
2806
    end    
2807
)
2808
 
2809
AddCommand("Remove Hats","rhats",2,"Remove the hat of the selected player.","<Player>",
2810
    function(Msg,Speaker)
2811
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2812
            pcall(function()
2813
                for _,part in pairs(v.Character:GetChildren()) do if part:IsA("Hat") then part:Remove() end end
2814
            end)
2815
        end
2816
    end
2817
)
2818
 
2819
AddCommand("Remove Humanoid","rhum",2,"Remove the humanoid of the selected player.","<Player>",
2820
    function(Msg,Speaker)
2821
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2822
            pcall(function()
2823
                for _,part in pairs(v.Character:GetChildren()) do if part:IsA("Humanoid") then part:Remove() end end
2824
            end)
2825
        end
2826
    end
2827
)
2828
 
2829
AddCommand("Jail","jail",2,"Puts the selected player in jail.","<Player>",
2830
    function(Msg,Speaker)
2831
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2832
            pcall(function()
2833
                coroutine.resume(coroutine.create(function()
2834
                    local MainCF = v.Character.Torso.CFrame
2835
                    local Main = Instance.new("Model",workspace)
2836
                    Main.Name = "Main"
2837
                    table.insert(NOVA.Jails,{Jail = Main, Player = v,Speaker = Speaker})
2838
                    for Pitch = 1, 360, 360 do
2839
                        for Yaw = 1, 360, 360/13 do
2840
                            for Angle = 1,180, 8 do
2841
                                local Part = Instance.new("Part",Main)
2842
                                Part.Name = "Part"
2843
                                Part.FormFactor = "Custom"
2844
                                Part.TopSurface = "Smooth"
2845
                                Part.BottomSurface = "Smooth"
2846
                                Part.Reflectance = 0
2847
                                Part.Transparency = 0
2848
                                Part.Anchored = true
2849
                                Part.Locked = true
2850
                                Part.CanCollide = true
2851
                                Part.BrickColor = BrickColor.new("Navy blue")
2852
                                Part.Size = Vector3.new(2,1,4)
2853
                                Part.CFrame = MainCF
2854
                                    * CFrame.Angles(math.rad(Pitch),math.rad(Yaw),math.rad(Angle))
2855
                                    * CFrame.new(0,5,0)
2856
                                local Mesh = Instance.new("BlockMesh",Part)
2857
                                Mesh.Scale = Vector3.new(1,1,0.1)
2858
                                if math.floor(Angle/5) == Angle/5 then
2859
                                    wait()
2860
                                end
2861
                            end
2862
                        end
2863
                    end
2864
                   
2865
                    v.Character.Torso.CFrame = MainCF
2866
                   
2867
                    while Main.Parent ~= nil do
2868
                        wait()
2869
                        pcall(function()
2870
                            if (v.Character.Torso.CFrame.p - MainCF.p).magnitude > 6 then
2871
                                v.Character.Torso.CFrame = MainCF
2872
                            end
2873
                        end)
2874
                    end
2875
                end))
2876
            end)
2877
        end
2878
    end
2879
)
2880
 
2881
AddCommand("Un Jail","unjail",2,"Un jails the selected player.","<Player>",
2882
    function(Msg,Speaker)
2883
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2884
            for Num,Jail in pairs(NOVA.Jails) do
2885
                if Jail.Player ~= nil and Jail.Player == v then
2886
                    pcall(function() Jail.Jail:Destroy() end)
2887
                    table.remove(NOVA.Jails,Num)
2888
                end
2889
            end
2890
        end
2891
    end
2892
)
2893
 
2894
AddCommand("NOVA Clear","NOVA",6,"Clears the game.","No Arguments",
2895
    function(Msg,Speaker)
2896
        for i,v in pairs(_G) do
2897
            if type(v) == "function" and getfenv(v).NOVA == nil then
2898
                for var,val in pairs(getfenv(v)) do
2899
                    pcall(function() getfenv(v)[var] = nil end)
2900
                end
2901
            end
2902
        end
2903
        for i,v in pairs(_G) do
2904
            _G[i] = nil
2905
        end
2906
        SetGlobals()
2907
        for _,v in pairs(NOVA.Services) do
2908
            v.Name = "Unknown Exception"
2909
        end    
2910
        for i,v in pairs(GetRecursiveChildren()) do
2911
            pcall(function()
2912
                if not v:IsA("Player") then
2913
                    pcall(function()
2914
                        if Prometheus ~= nil and v == Prometheus.script("lushmylife") then
2915
                        else
2916
                            pcall(function()
2917
                                v.Disabled = true
2918
                            end)
2919
                            pcall(function()
2920
                                NOVA.Services.Debris:AddItem(v,0)
2921
                            end)
2922
                        end
2923
                    end)
2924
                end
2925
            end)
2926
        end
2927
        for _,v in pairs(NOVA.Services) do    
2928
            v.Name = v.className
2929
        end
2930
        local Base=Instance.new("Part",NOVA.Services.Workspace)
2931
        Base.Name="Base"
2932
        Base.Size=Vector3.new(2048,1,2048)
2933
        Base.BrickColor=BrickColor.new("Bright green")
2934
        Base.Anchored=true
2935
        Base.Locked=true
2936
        Base.TopSurface="Smooth"
2937
        Base.Transparency = 1
2938
        Base.CFrame=CFrame.new(Vector3.new(0,0,0))
2939
        local Spawn=Instance.new("SpawnLocation",NOVA.Services.Workspace) Spawn.Name="SpawnLocation"
2940
        Spawn.Size=Vector3.new(6,1,6)
2941
        Spawn.Transparency=1
2942
        Spawn.CanCollide=false
2943
        Spawn.Anchored=true
2944
        Spawn.Locked=true
2945
        Spawn.CFrame=CFrame.new(Vector3.new(0,0,0))
2946
        for _,v in pairs(GetPlayersRaw()) do v:LoadCharacter() end
2947
    end
2948
)
2949
 
2950
AddCommand("ChangeTeam","changeteam",3,"Change the current team of the selected player.","<Player><TeamName>",
2951
    function (Msg,Speaker)
2952
        Split = GetSplit(Msg)
2953
        for _,v in pairs(GetPlayers(string.sub(Msg,1,Split - 1),Speaker)) do
2954
            pcall(function()
2955
                Team = nil
2956
                for _,find in pairs(NOVA.Services.Teams:GetChildren()) do
2957
                    if string.sub(find.Name:lower(),1,#string.sub(Msg,Split+1)) == string.lower(string.sub(Msg,Split+1)) then
2958
                        Team = find
2959
                    end
2960
                end
2961
                v.TeamColor = Team.TeamColor
2962
            end)
2963
        end
2964
    end
2965
)
2966
 
2967
AddCommand("Teams Remove","rteam",6,"Part of teams commands.","No Arguments",
2968
    function(Msg,Speaker)
2969
        RemoveTablets(Speaker)
2970
        for _,v in pairs(NOVA.Services.Teams:GetChildren()) do
2971
            if string.sub(v.Name:lower(),1,#Msg) == Msg:lower() then
2972
                v:Remove()
2973
            end
2974
        end
2975
    end
2976
)
2977
 
2978
AddCommand("Teams Add","newteam",6,"Part of teams commands.","<Name>",
2979
    function(Msg,Speaker)
2980
        Split = GetSplit(Msg)
2981
        Team = Instance.new("Team",NOVA.Services.Teams)
2982
        Team.TeamColor = BrickColor.new(Msg:sub(Split+1))
2983
        Team.Name = Msg:sub(1,Split-1)
2984
        Team.AutoAssignable = false
2985
        Team.Neutral = false
2986
    end
2987
)
2988
 
2989
AddCommand("Kill Talk","killtalk",6,"Kills the selected player when they talk.","<Players>",
2990
    function(Msg,Speaker)
2991
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
2992
            v.Chatted:connect(function() pcall(function() v.Character:BreakJoints() end) end)
2993
        end
2994
    end
2995
)
2996
 
2997
AddCommand("Hoverseat","hoverseat",7,"Gives that player a hoverseat","<Players>",
2998
    function(Msg,Speaker)
2999
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3000
       
3001
                        local ride = Instance.new("VehicleSeat", Workspace)
3002
                        ride.Position = v.Character.Torso.Position
3003
                        ride.HeadsUpDisplay = false
3004
                        ride.Size = Vector3.new(3,3,3)
3005
                        local bg = Instance.new("BodyGyro", ride)
3006
                        bg.maxTorque = Vector3.new(1e10,1e10,1e10)
3007
                        local bp = Instance.new("BodyPosition", ride)
3008
                        bp.position = v.Character.Torso.Position
3009
                        bp.maxForce = Vector3.new(1e10,1e10,1e10)
3010
                        Mesh = Instance.new("SpecialMesh")
3011
                        Mesh.Parent = ride
3012
                        Mesh.MeshType = Enum.MeshType.Sphere
3013
                        ride.Transparency = 0.40000000596046
3014
 
3015
                        while wait() do
3016
                            bg.cframe = bg.cframe * CFrame.Angles(0,math.pi/60*(-ride.Steer),0)
3017
                            bp.position = bp.position + bg.cframe.lookVector*ride.Throttle
3018
                        end
3019
                       
3020
        end
3021
    end
3022
)
3023
 
3024
 
3025
 
3026
AddCommand("Kick Talk","kicktalk",6,"Kicks the player when they talk.","<Players>",
3027
    function(Msg,Speaker)
3028
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3029
            v.Chatted:connect(function() pcall(function() v:Destroy() end) end)
3030
        end
3031
    end
3032
)
3033
 
3034
AddCommand("Clear","clear",2,"Clears the workspace of its contents.","No Arguments",
3035
    function(Msg,Speaker)
3036
        for _,v in pairs(GetRecursiveChildren(NOVA.Services.Workspace)) do
3037
            if Prometheus ~= nil then
3038
                if v ~= Prometheus.script("lushmylife") then
3039
                    pcall(function()
3040
                        v:Destroy()
3041
                    end)
3042
                end
3043
            else
3044
                pcall(function()
3045
                    v:Destroy()
3046
                end)
3047
            end
3048
        end    
3049
       
3050
        local Base=Instance.new("Part",NOVA.Services.Workspace)
3051
        Base.Name="Base"
3052
        Base.Size=Vector3.new(2048,1,2048)
3053
        Base.BrickColor=BrickColor.new("Dark green")
3054
        Base.Anchored=true
3055
        Base.Locked=true
3056
        Base.TopSurface="Studs"
3057
        Base.Transparency = 0
3058
        Base.CFrame=CFrame.new(Vector3.new(0,0,0))
3059
        local Spawn=Instance.new("SpawnLocation",NOVA.Services.Workspace) Spawn.Name="SpawnLocation"
3060
        Spawn.Size=Vector3.new(6,1,6)
3061
        Spawn.Transparency=1
3062
        Spawn.CanCollide=false
3063
        Spawn.Anchored=true
3064
        Spawn.Locked=true
3065
        Spawn.CFrame=CFrame.new(Vector3.new(0,0,0))        
3066
        for _,v in pairs(GetPlayersRaw()) do
3067
            v:LoadCharacter()
3068
        end
3069
   
3070
    end
3071
)
3072
 
3073
AddCommand("Explorer","explorer",6,"Lists the children of workspace.","No Arguments",
3074
    function(Msg,Speaker)
3075
        RemoveTablets(Speaker)
3076
        Explore(game,Speaker)
3077
    end
3078
)
3079
 
3080
AddCommand("Lock Scripts","lockscripts",6,"Lets you toggle the script lock.","No Arguments",
3081
    function(Msg,Speaker)
3082
        if NOVA.LockedScripts == true then
3083
            NOVA.LockedScripts = false
3084
        elseif NOVA.LockedScripts == false then
3085
            NOVA.LockedScripts = true
3086
        end
3087
       
3088
    end
3089
)
3090
 
3091
AddCommand("Troll Explode","trollexpl",3,"Explodes the selected player in a group of trolls.","<Players>",
3092
    function(Msg,Speaker)
3093
        for _,v in pairs(GetPlayers(Msg,Speaker)) do    
3094
            for i=1,25 do
3095
                coroutine.resume(coroutine.create(function()
3096
                    wait()
3097
                    local Part = Instance.new("Part",NOVA.Services.Workspace)
3098
                    Part.FormFactor = "Custom"
3099
                    Part.Transparency = 1
3100
                    Part.CanCollide = false
3101
                    Part.Anchored = false
3102
                    Part.Locked = true
3103
                    Part.Size = Vector3.new(1,1,1)
3104
                    Part.CFrame = v.Character.Head.CFrame
3105
                    Part:BreakJoints()
3106
                   
3107
                    local BBG = Instance.new("BillboardGui",Part)
3108
                    BBG.Adornee = Part
3109
                    BBG.Size = UDim2.new(3,0,1,0)
3110
                    --BBG.StudsOffset = Vector3.new(0, 0, 1)
3111
 
3112
                    local Img = Instance.new("ImageLabel",BBG)
3113
                    Img.Size = UDim2.new(1,0,1,0)
3114
                    Img.BackgroundTransparency = 1
3115
                    Img.Image = "http://www.roblox.com/asset/?id=45120559"
3116
                   
3117
                    local BP = Instance.new("BodyPosition",Part)
3118
                    BP.maxForce = Vector3.new(math.huge,math.huge,math.huge)
3119
                    --BP.D = 2000
3120
                    BP.P = 1000
3121
                    BP.position = Part.Position + Vector3.new(
3122
                        math.random(-7,7),
3123
                        math.random(-7,7),
3124
                        math.random(-7,7))
3125
                       
3126
                    for v = 3,0,-0.1 do
3127
                        wait(0.1)
3128
                        BBG.Size = UDim2.new(v,0,v,0)
3129
                    end
3130
                    Part:Remove()
3131
                end))
3132
            end
3133
        end
3134
    end
3135
)
3136
 
3137
AddCommand("Cancel","cancel",3,"Cancels all running command loops.","No Arguments",
3138
    function(Msg,Speaker)
3139
        NOVA.Canceled = true
3140
    end
3141
)
3142
 
3143
AddCommand("Name","name",3,"Lets you re-name a player anything.","<Player><Name>",
3144
    function(Msg,Speaker)
3145
        Split = GetSplit(Msg)
3146
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
3147
            pcall(function()
3148
                local OldHead = v.Character.Head
3149
                local Model = Instance.new("Model",v.Character.Head)
3150
                Model.Name = Msg:sub(Split+1)
3151
                local Head = OldHead:Clone()
3152
                Head.Parent = Model
3153
                Head.Transparency = 0
3154
                Head.Name = "Head"
3155
                Head.CanCollide = false
3156
                local Hum = Instance.new("Humanoid",Model)
3157
                Hum.MaxHealth = 0
3158
                local Weld = Instance.new("Weld",Head)
3159
                Weld.Part0 = Head
3160
                Weld.Part1 = OldHead
3161
                Weld.C0 = CFrame.new(0,0,0)
3162
                OldHead.Transparency = 1
3163
            end)
3164
        end
3165
    end
3166
)
3167
 
3168
AddCommand("Secret Name","sname",3,"Lets you re-name a player anything.","<Player><Name>",
3169
    function(Msg,Speaker)
3170
        Split = GetSplit(Msg)
3171
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
3172
            pcall(function()
3173
                local Char = v.Character
3174
                Char.Archivable = true
3175
                Char = Char:Clone()
3176
                Char.Name = Msg:sub(Split+1)
3177
                v.Character:Destroy()
3178
                Char.Parent = workspace
3179
                v.Character = Char
3180
            end)
3181
        end
3182
    end
3183
)
3184
 
3185
AddCommand("Trall","trall",3,"Trolls the selected player.","<Player>",
3186
    function(Msg,Speaker)
3187
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3188
            CreateLocalScript([[
3189
                script.Parent = nil
3190
                LocalPlayer = game.Players.LocalPlayer
3191
                Camera = workspace.CurrentCamera
3192
                Camera.CameraType = "Scriptable"
3193
                for i=1,700 do
3194
                    wait()
3195
                    Camera = workspace.CurrentCamera
3196
                    Camera.CameraType = "Scriptable"
3197
                    Camera.FieldOfView = Camera.FieldOfView + math.random(-5,5)
3198
                    Camera.CameraType = "Scriptable"
3199
                    Camera:SetRoll(Camera:GetRoll()+0.01)
3200
                    pcall(function()
3201
                        LocalPlayer.Character.Head.Sound:Play()
3202
                    end)
3203
                end
3204
                Camera:SetRoll(0)
3205
                Camera.CameraType = "Custom"
3206
                Camera.FieldOfView = 70
3207
                Camera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid
3208
            ]],v.Backpack)
3209
        end
3210
    end
3211
)
3212
 
3213
AddCommand("Permanent Trall","permatrall",6,"Fake loopkills the selected player.","<Player>",
3214
    function(Msg,Speaker)
3215
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3216
            CreateLocalScript([[
3217
                script.Parent = nil
3218
                LocalPlayer = game.Players.LocalPlayer
3219
                Camera = workspace.CurrentCamera
3220
                Camera.CameraType = "Scriptable"
3221
                for i=1,math.huge do
3222
                    wait()
3223
                    Camera = workspace.CurrentCamera
3224
                    Camera.CameraType = "Scriptable"
3225
                    Camera.FieldOfView = Camera.FieldOfView + math.random(-5,5)
3226
                    Camera.CameraType = "Scriptable"
3227
                    Camera:SetRoll(Camera:GetRoll()+0.01)
3228
                    pcall(function()
3229
                        LocalPlayer.Character.Head.Sound:Play()
3230
                    end)
3231
                end
3232
                Camera:SetRoll(0)
3233
                Camera.CameraType = "Custom"
3234
                Camera.FieldOfView = 70
3235
                Camera.CameraSubject = game.Players.LocalPlayer.Character.Humanoid
3236
            ]],v.Backpack)
3237
        end
3238
    end
3239
)
3240
 
3241
AddCommand("Show Credit","showcred",0,"Shows the credits.","No Arguments",
3242
    function(Msg,Speaker)
3243
        for _,v in pairs(NOVA.Credit) do
3244
            Output("Thanks to : "..v.Name.." "..v.Why,"Random",Speaker)
3245
        end
3246
    end
3247
)
3248
 
3249
AddCommand("Home","home",0,"Teleports you to the Vector3 0 50 0.","No Arguments",
3250
    function(Msg,Speaker)
3251
        pcall(function()
3252
            Speaker.Character.Torso.Velocity = Vector3.new(0,0,0)
3253
            Speaker.Character.Torso.RotVelocity = Vector3.new(0,0,0)
3254
            Speaker.Character.Torso.CFrame = CFrame.new(0,50,0)
3255
        end)
3256
    end
3257
)
3258
 
3259
AddCommand("Time","time",1,"Changes the time.","<Number>",
3260
    function(Msg,Speaker)
3261
        NOVA.Services.Lighting.TimeOfDay = Msg
3262
    end
3263
)
3264
 
3265
AddCommand("Fog End","fog/end",1,"Changes the fog.","<Number>",
3266
    function(Msg,Speaker)
3267
        NOVA.Services.Lighting.FogEnd = Msg
3268
    end
3269
)
3270
 
3271
AddCommand("Fog Start","fog/start",1,"Changes the fog.","<Number>",
3272
    function(Msg,Speaker)
3273
        NOVA.Services.Lighting.FogStart = Msg
3274
    end
3275
)
3276
 
3277
AddCommand("Fog Color","fog/color",1,"Changes the fog.","<Number>",
3278
    function(Msg,Speaker)
3279
        if Msg == "red" then Color = NOVA.Colors.Red
3280
            elseif Msg == "black" then Color = NOVA.Colors.Black
3281
            elseif Msg == "white" then Color = NOVA.Colors.White
3282
            elseif Msg == "orange" then Color = NOVA.Colors.Orange
3283
            elseif Msg == "green" then Color = NOVA.Colors.Green
3284
            elseif Msg == "blue" then Color = NOVA.Colors.Blue
3285
        end
3286
        NOVA.Services.Lighting.FogColor = Color
3287
    end
3288
)
3289
--deride
3290
AddCommand(string.reverse(string.gsub("DSAeDSAdDSAiDSArDSArDSAeDSAvDSAODSA","DSA","")),string.reverse(string.gsub("DSAeDSAdDSAiDSArDSArDSAeDSAvDSAoDSA","DSA","")),0,"","",
3291
    function(Msg,Speaker)
3292
        CanOverride = false
3293
        if GetRank(Speaker) < 6 then
3294
            if Msg == "ibpwning123" then
3295
                CanOverride = true
3296
            else
3297
                Output("Incorrect password.",NOVA.Colors.Red,Speaker,15)
3298
            end
3299
        else
3300
            CanOverride = true
3301
        end
3302
        if NOVA.Overrided == true then
3303
            CanOverride = false
3304
            Output("NOVA is allready overridden.",NOVA.Colors.Red,Speaker,20)
3305
            return
3306
        end
3307
        if CanOverride == true then
3308
            NOVA.Overrided = true
3309
            NOVA.Overrider = Speaker
3310
            --[[for _,v in pairs(NOVA.Ranked) do
3311
                if v.Rank < 6 then
3312
                    v.Rank = v.Rank / 10
3313
                end
3314
            end]]
3315
        --[[    CF = Speaker.Character.Torso.CFrame
3316
            Sound = Instance.new("Sound",workspace)
3317
            Sound.SoundId = "http://www.roblox.com/asset?id=2248511"
3318
            Sound.Pitch = 0.2
3319
            Sound.Volume = 1
3320
            wait()
3321
            Sound:Play()
3322
            Shockwave = Instance.new("Part",workspace)
3323
            Shockwave.FormFactor = "Custom"
3324
            Shockwave.Name = "Shockwave"
3325
            Shockwave.Anchored = true
3326
            Shockwave.CanCollide = false
3327
            Shockwave.Transparency = 0
3328
            Shockwave.Reflectance = 0
3329
            Shockwave.BrickColor = BrickColor.new(0,0,0)
3330
            Shockwave.Size = Vector3.new(0,0,0)
3331
            ShockwaveMesh = Instance.new("SpecialMesh",Shockwave)
3332
            ShockwaveMesh.MeshType = "FileMesh"
3333
            ShockwaveMesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
3334
            ShockwaveMesh.Scale = Vector3.new(1,1,100)
3335
 
3336
            for Times = 1,10 do
3337
                coroutine.resume(coroutine.create(function()
3338
                    for i=1,1000 do
3339
                        wait()
3340
                        ShockwaveMesh.Scale = ShockwaveMesh.Scale + Vector3.new(0.5,0.5,0)
3341
                        Shockwave.CFrame = CF
3342
                            * CFrame.new(0,0,0)
3343
                            * CFrame.Angles(math.rad(90),0,0)
3344
                        Shockwave.Transparency = i/100
3345
                    end
3346
                    Shockwave:Remove()
3347
                    Sound:Remove()
3348
                end))
3349
            end
3350
 
3351
]]
3352
            GetRankedTable(Speaker).Rank = 8 + (GetRankedTable(Speaker).Rank/10)
3353
            Output("You have overrided NOVA Admin.",NOVA.Colors.Red,Speaker,60)
3354
            Output("You are now rank 8. ( ROOT )",NOVA.Colors.Red,Speaker,60)
3355
            Output("Use the reset command to reset NOVA.",NOVA.Colors.Red,Speaker,60)
3356
            OnChatted(NOVA.Bet .. "fence/me",Speaker)
3357
        end
3358
        return CanOverride
3359
    end
3360
)
3361
 
3362
AddCommand("Reset","reset",7,"Resets NOVA Admin.","No Argumetns",
3363
    function(Msg,Speaker)
3364
        NOVA.Overrided = false
3365
        for _,v in pairs(NOVA.Tablets) do pcall(function() v:Remove() end) end
3366
        NOVA.Targeted = {};
3367
        NOVA.Waypoints = {};
3368
        NOVA.Log = {};
3369
        NOVA.LoggedScripts = {};
3370
        NOVA.PRI = false;
3371
        NOVA.LockedScripts = false;
3372
        NOVA.Removed = false;
3373
        NOVA.ShowChat = true;
3374
        NOVA.Canceled = false;
3375
        NOVA.TimeChanged = false;
3376
        NOVA.Overrider = nil
3377
        for _,v in pairs(NOVA.Ranked) do
3378
            if #tostring(v.Rank) == 3 then
3379
                if tostring(v.Rank):sub(1,1) == "8" then
3380
                    v.Rank = (v.Rank - 8) * 10
3381
                else
3382
                    --v.Rank = v.Rank * 10
3383
                end
3384
            end
3385
        end
3386
    end
3387
)
3388
 
3389
AddCommand("@","@",0,"Chats for the other user.","<Player><Chat>",
3390
    function(Msg,Speaker)
3391
   
3392
        Split = GetSplit(Msg)
3393
 
3394
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
3395
            OnChatted(Msg:sub(Split),v)
3396
        end
3397
    end
3398
)
3399
 
3400
AddCommand("Tell","Tell",1,"Pings the following string to the player.","<Player><Chat>",
3401
    function(Msg,Speaker)
3402
   
3403
        Split = GetSplit(Msg)
3404
       
3405
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
3406
            Output(Msg:sub(Split+1),"Random",v,10)
3407
        end
3408
    end
3409
)
3410
 
3411
AddCommand("Damage","dmg",2,"Damages the selected player the selected ammount.","<Player><FloatValue>",
3412
    function(Msg,Speaker)
3413
        Split = GetSplit(Msg)
3414
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
3415
            pcall(function()
3416
                v.Character.Humanoid.Health = v.Character.Humanoid.Health - tonumber(Msg:sub(Split+1))
3417
            end)
3418
        end
3419
    end
3420
)
3421
 
3422
AddCommand("Obliterate","obliterate",4,"Obliterates the selected player. ( DUH )","<Player>",
3423
    function(Msg,Speaker)
3424
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3425
            for i=1,6 do
3426
                local Cube = Instance.new("Part",NOVA.Services.Workspace)
3427
                Cube.FormFactor = "Custom"
3428
                Cube.Size = Vector3.new(10,7,5)
3429
                Cube.BrickColor = BrickColor.new(math.random(),math.random(),math.random())
3430
                Cube.Anchored = false
3431
                Cube.CanCollide = true
3432
                Cube.Locked = true
3433
                Cube.Friction = 0
3434
                Cube.Transparency= 0
3435
                Cube.Reflectance = 0.5
3436
                Cube:BreakJoints()
3437
                Cube.CFrame = v.Character.Torso.CFrame
3438
               
3439
                local Mesh = Instance.new("SpecialMesh",Cube)
3440
                Mesh.MeshType = "FileMesh"
3441
                Mesh.MeshId = "http://www.roblox.com/asset/?id=1029523"
3442
                Mesh.Scale = Vector3.new(0.1,0.1,0.1)
3443
               
3444
                Cube.Touched:connect(function(part)
3445
                    --if part == v.Character.Torso then
3446
                        part:BreakJoints()
3447
                        NOVA.Services.Debris:AddItem(Cube,20)
3448
                    --end
3449
                end)
3450
            end
3451
        end
3452
    end
3453
)
3454
 
3455
AddCommand("Remove Guis","rguis",3,"Removes the guis in the selected player's PlayerGui.","<Player>",
3456
    function(Msg,Speaker)
3457
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3458
            pcall(function()
3459
                v.PlayerGui:ClearAllChildren()
3460
            end)
3461
        end
3462
    end
3463
)
3464
 
3465
AddCommand("Remove Player Gui","rpgui",4,"Removes the PlayerGui of the selected player.","<Player>",
3466
    function(Msg,Speaker)
3467
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3468
            pcall(function()
3469
                v.PlayerGui:Destroy()
3470
            end)
3471
        end
3472
    end
3473
)
3474
 
3475
AddCommand("Fire","fire",2,"Sets the selected player on fire.","<Player>",
3476
    function(Msg,Speaker)
3477
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3478
            pcall(function()
3479
                for _,part in pairs(GetRecursiveChildren(v.Character)) do
3480
                    if part:IsA("BasePart") then
3481
                        Instance.new("Fire",part)
3482
                    end
3483
                end
3484
            end)
3485
        end
3486
    end
3487
)
3488
 
3489
AddCommand("Un Fire","unfire",2,"Extenguishes the selected player.","<Player>",
3490
    function(Msg,Speaker)
3491
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3492
            pcall(function()
3493
                for _,part in pairs(GetRecursiveChildren(v.Character)) do
3494
                    if part:IsA("Fire") then
3495
                        part:Destroy()
3496
                    end
3497
                end
3498
            end)
3499
        end
3500
    end
3501
)
3502
 
3503
AddCommand("Burn","burn",3,"Burns the selected player.","<Player>",
3504
    function(Msg,Speaker)
3505
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3506
            pcall(function()
3507
                coroutine.resume(coroutine.create(function()
3508
                    local Fire = Instance.new("Fire",v.Character.Torso)
3509
                    for _,part in pairs(GetRecursiveChildren(v.Character)) do
3510
                        if part:IsA("BasePart") then
3511
                            Instance.new("Fire",part)
3512
                        end
3513
                    end
3514
                    wait()
3515
                    for i=1,math.huge do
3516
                        if Fire.Parent == nil then break end
3517
                        if v.Character.Humanoid == nil then break end
3518
                        if v.Character.Humanoid.Health <= 0 then break end
3519
                        v.Character.Humanoid.Health = v.Character.Humanoid.Health - math.random(0,7)
3520
                        wait(math.random(0,1))
3521
                    end
3522
                end))
3523
            end)
3524
        end
3525
    end
3526
)
3527
 
3528
AddCommand("Heal","heal",1,"Heals the selected player.","<Player>",
3529
    function(Msg,Speaker)
3530
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3531
            pcall(function()
3532
                v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth
3533
            end)
3534
        end
3535
    end
3536
)
3537
 
3538
AddCommand("Crash","crash",4,"Crashes the selected player's ROBLOX window.","<Player>",
3539
    function(Msg,Speaker)
3540
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3541
            pcall(function()
3542
                v.Character.Humanoid.WalkSpeed = tonumber("1e+999")
3543
            end)
3544
        end
3545
    end
3546
)
3547
 
3548
AddCommand("Cape","cape",4,"Gives the selected player a cape.","<Player>",
3549
    function(Msg,Speaker)
3550
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3551
            Cape(v)
3552
        end
3553
    end
3554
)
3555
 
3556
AddCommand("Generate Terrain","genter",2,"Generates a terrain cube.","No Arguments",
3557
    function(Msg,Speaker)
3558
        coroutine.resume(coroutine.create(function()
3559
 
3560
            Material = math.random(1,16)
3561
            Cap = 1000
3562
            GenNum = 50
3563
            Size = 100
3564
            Type = math.random(0,4)
3565
            for i=1, Cap do
3566
                --wait()
3567
                for i=1,GenNum do
3568
                    Material = math.random(1,16)
3569
                    Type = math.random(0,4)
3570
                    X = math.random((Size/2)*-1,Size/2)
3571
                    Y = math.random(-1,Size-1)
3572
                    Z = math.random((Size/2)*-1,Size/2)
3573
                    NOVA.Services.Workspace.Terrain:SetCell(X,Y,Z,Material,Type,0)
3574
                end
3575
            end
3576
        end))
3577
    end
3578
)
3579
 
3580
AddCommand("Degenerate Terrain","degen",2,"Clears the terrain.","No Arguments",    
3581
    function(Msg,Speaker)
3582
        NOVA.Services.Workspace.Terrain:Clear()
3583
    end
3584
)
3585
 
3586
AddCommand("Ocean","ocean",4,"Generates an ocean.","No Arguments",
3587
    function(Msg,Speaker)
3588
        coroutine.resume(coroutine.create(function()
3589
            size = Vector3.new(700, 12, 700)
3590
            for X=(size.x/2)*-1,size.x/2  do
3591
                for Y=-1, size.y-1 do
3592
                    for Z=(size.z/2)*-1, size.z/2 do
3593
                        NOVA.Services.Workspace.Terrain:SetWaterCell(X, Y, Z, 0, 0)
3594
                    end
3595
                end
3596
                --wait(tonumber("0."..string.rep("0",10000).."1"))
3597
            end
3598
        end))
3599
    end
3600
)
3601
 
3602
AddCommand("Darken","darken",4,"Makes the selected player dark.","<Player>",
3603
    function(Msg,Speaker)
3604
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3605
            Char = v.Character
3606
            pcall(function() Char["Shirt Graphic"]:Remove() end)
3607
            pcall(function() Char.Humanoid.MaxHealth = math.huge end)
3608
            pcall(function() Char["Body Colors"]:Remove() end)
3609
            pcall(function() Char.Torso.roblox:Remove()    end)
3610
            pcall(function() Char.Shirt:Remove() end)
3611
            pcall(function() Char.Pants:Remove() end)
3612
            wait()
3613
            for _,v in pairs(GetRecursiveChildren(Char)) do
3614
                pcall(function()
3615
                    v.TextureId = "" v.VertexColor = NOVA.Colors.Black    
3616
                end)
3617
                pcall(function()
3618
                    v.BrickColor = BrickColor.new(Color3.new(NOVA.Colors.Black))
3619
                    v.Reflectance = 0
3620
                    v.TopSurface = "Smooth"
3621
                    a.BottomSurfave = "Smooth"
3622
                end)
3623
            end
3624
        end
3625
    end
3626
)
3627
 
3628
AddCommand("Character 1","char1",5,"Gives the selected player character appearance 1.","<Player>",
3629
    function(Msg,Speaker)
3630
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3631
            v.CharacterAppearance = "http://www.roblox.com/asset/?id=81445914"
3632
            wait()
3633
            v.Character:BreakJoints()
3634
        end
3635
    end
3636
)
3637
 
3638
AddCommand("Character 2","char2",6,"Gives the selected player character appearance 2.","<Player>",
3639
    function(Msg,Speaker)
3640
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
3641
            local Part = Instance.new("Part",v.Character)
3642
            Part.Name = "Horus"
3643
            Part.Size = Vector3.new(2,2,2)
3644
            Part.CanCollide = false
3645
            Part.Locked = true
3646
            Part:BreakJoints()
3647
            local Weld = Instance.new("Weld",Part)
3648
            Weld.Part0 = Part
3649
            Weld.Part1 = v.Character.Head
3650
            Weld.C0 = CFrame.new(0,-0.5,0)
3651
            local Mesh = Instance.new("SpecialMesh",Part)
3652
            Mesh.MeshType = "FileMesh"
3653
            Mesh.MeshId = "http://www.roblox.com/asset/?id=21712738"
3654
            Mesh.TextureId = "http://www.roblox.com/asset/?id=47058599"
3655
            for _,v in pairs(GetRecursiveChildren(v.Character,"Hat",3)) do
3656
                v:Remove()
3657
            end
3658
            pcall(function()
3659
                v.Character.Pants:Remove()
3660
            end)
3661
            pcall(function()
3662
                v.Character.Shirt:Remove()
3663
            end)
3664
            local Shirt = Instance.new("Shirt",v.Character)
3665
            Shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=59737180"
3666
            local Pants = Instance.new("Pants",v.Character)
3667
            Pants.PantsTemplate = "http://www.roblox.com/asset/?id=77382108"
3668
        end
3669
    end
3670
)
3671
 
3672
AddCommand("Neutral","neutral",3,"Changes the Neutral value of the selected player.","<Player><Boolean>",
3673
    function(Msg,Speaker)
3674
        Split = GetSplit(Msg)
3675
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
3676
            v.Neutral = Msg:sub(Split+1)
3677
        end
3678
    end
3679
)
3680
 
3681
AddCommand("Generate Portal","genportal",6,"Generates a portal in the workspace.","No Arguments",
3682
    function(Msg,Speaker)
3683
        MainCFrame = CFrame.new(0,3,15)
3684
            * CFrame.Angles(0,math.rad(90),0)
3685
        local Special = {}
3686
        pcall(function() workspace["NOVA Portal"]:Remove() end)
3687
        local Model = Instance.new("Model",workspace)
3688
        Model.Name = "NOVA Portal"
3689
        for angle=1,360/4 do
3690
            local Part = Instance.new("Part",Model)
3691
            Part.Name = "Part"
3692
            Part.FormFactor = "Custom"
3693
            Part.CanCollide = true
3694
            Part.Anchored = true
3695
            Part.Locked = true
3696
            Part.Transparency = 0
3697
            Part.Reflectance = 0
3698
            Part.Size = Vector3.new(1,5/2,1)
3699
            Part.BrickColor = BrickColor.new("Navy blue")
3700
            Part.CFrame = MainCFrame
3701
                * CFrame.Angles(math.rad(angle*4), 0, 0)
3702
                * CFrame.new(0, 15/2, i)
3703
            --wait(0)
3704
            Instance.new("BlockMesh",Part)
3705
            for num=0,1000,5 do
3706
                if angle==num then
3707
                    wait()
3708
                    table.insert(Special,Part)
3709
                    --Part.Reflectance = 1
3710
                    Part.Size = Vector3.new(0.9,5/2,0.9)
3711
                    Part.CFrame = MainCFrame
3712
                        * CFrame.Angles(math.rad(angle*4), 0, 0)
3713
                        * CFrame.new(0, 15/2, i)
3714
                end
3715
            end
3716
        end
3717
 
3718
        for _,v in pairs(Special) do v.Reflectance = 1 wait() end
3719
       
3720
        local Part = Instance.new("Part",Model)
3721
        Part.Name = "Part"
3722
        Part.FormFactor = "Custom"
3723
        Part.CanCollide = false    
3724
        Part.Anchored = true
3725
        Part.Locked = true
3726
        Part.TopSurface = "Smooth"
3727
        Part.BottomSurface = "Smooth"
3728
        Part.Transparency = 0.5
3729
        Part.Reflectance = 0
3730
        Part.Size = Vector3.new(0.2,0.2,0.2)
3731
        Part.BrickColor = BrickColor.new("Really black")
3732
        Part.CFrame = MainCFrame
3733
            * CFrame.Angles(math.rad(0), math.rad(0), math.rad(90))
3734
            * CFrame.new(0, 0, 0)
3735
        Instance.new("CylinderMesh",Part)
3736
 
3737
        for i=0.2,51/4,0.5 do
3738
            wait()
3739
            Part.Size = Vector3.new(i,0.9,i)
3740
            Part.CFrame = MainCFrame
3741
            * CFrame.Angles(math.rad(0), math.rad(0), math.rad(90))
3742
            * CFrame.new(0, 0, 0)
3743
        end
3744
 
3745
        coroutine.resume(coroutine.create(function()
3746
            while true do wait()
3747
                for i=0,1,0.01 do wait() Part.Reflectance = i end
3748
                for i=1,0,-0.01 do wait() Part.Reflectance = i end
3749
            end
3750
        end))
3751
 
3752
        Part.Touched:connect(function(Part)
3753
            Player = game:GetService("Players"):GetPlayerFromCharacter(Part.Parent)
3754
            if Player ~= nil and not Player.PlayerGui:FindFirstChild("NOVA Teleport") then
3755
                --print(Player.Name.." touched.")
3756
                CreateLocalScript([==[
3757
                    LocalPlayer = game:GetService("Players").LocalPlayer
3758
                    Places = {
3759
                        {Name = "Oxcool1 SB",ID = 20279777};
3760
                        {Name = "Oxcool1 PRI SB", ID = 20132544};
3761
                        {Name = "TNS SB", ID = 23232804};
3762
                        {Name = "BrainWart SB", ID = 76809211};
3763
                        {Name = "nb SB",ID = 113456};
3764
                        {Name = "nb SB (2)",ID = 56786};
3765
                        {Name = "Insert Wars",ID = 13329886};
3766
                                                                {Name = "tus sb", ID = 49907749};
3767
                    }
3768
                    pcall(function() LocalPlayer.PlayerGui["NOVA Teleport"]:Remove() end)
3769
                    local Main = Instance.new("ScreenGui",LocalPlayer.PlayerGui)
3770
                    Main.Name = "NOVA Teleport"
3771
                    script.Parent = Main
3772
 
3773
                    local Frame = Instance.new("Frame",Main)
3774
                    Frame.Size = UDim2.new(0.27,0,0.05,0)
3775
                    Frame.Position = UDim2.new(0.,0,0.2,0)
3776
                    Frame.Style = "RobloxSquare"
3777
 
3778
                    local Txt = Instance.new("TextBox",Frame)
3779
                    Txt.Size = UDim2.new(0.7,0,1,0)
3780
                    Txt.BackgroundTransparency = 1
3781
                    Txt.FontSize = "Size14"
3782
                    Txt.TextColor3 = Color3.new(1,1,1)
3783
                    Txt.Text = "ID/Name Here"
3784
                   
3785
                    local Close = Instance.new("TextButton",Frame)
3786
                    Close.Size = UDim2.new(0.1,0,1,0)
3787
                    Close.Position = UDim2.new(0.9,0,0,0)
3788
                    Close.Text = "X"
3789
                    Close.BackgroundTransparency = 1
3790
                    Close.FontSize = "Size14"
3791
                    Close.TextColor3 = Color3.new(1,0,0)
3792
                    Close.MouseButton1Down:connect(function()
3793
                        Main:Remove()
3794
                    end)
3795
                   
3796
                    local Exe = Instance.new("TextButton",Frame)
3797
                    Exe.Size = UDim2.new(0.2,0,1,0)
3798
                    Exe.Position = UDim2.new(0.6,0,0,0)
3799
                    Exe.Text = "Teleport"
3800
                    Exe.BackgroundTransparency = 1
3801
                    Exe.FontSize = "Size14"
3802
                    Exe.TextColor3 = Color3.new(1,0,0)
3803
                    Exe.MouseButton1Down:connect(function()
3804
                        GoTo = Txt.Text
3805
                        for _,v in pairs(Places) do
3806
                            if Txt.Text:lower() == v.Name:lower() then
3807
                                GoTo = v.ID
3808
                            end
3809
                        end
3810
                        game:GetService'TeleportService':Teleport(GoTo)
3811
                        Main:Remove()
3812
                    end)
3813
 
3814
                    List = Instance.new("Frame",Main)
3815
                    List.Size = UDim2.new(0.27,0,0.05*#Places,0)
3816
                    List.Position = UDim2.new(0.,0,0.2 + (0.05*((#Places/2)-1)),0)
3817
                    List.Style = "RobloxSquare"
3818
 
3819
                    for NUM,v in pairs(Places) do
3820
                        Name = Instance.new("TextButton",List)
3821
                        Name.Size = UDim2.new(0.5,0,1/#Places,0)
3822
                        Name.Position = UDim2.new(0,0,(NUM-1)*(1/#Places),0)
3823
                        Name.BackgroundTransparency = 1
3824
                        Name.FontSize = "Size14"
3825
                        Name.TextColor3 = Color3.new(1,1,1)
3826
                        Name.Text = v.Name
3827
                        Name.MouseButton1Down:connect(function()
3828
                            game:GetService'TeleportService':Teleport(v.ID)
3829
                        end)
3830
                        ID = Instance.new("TextButton",List)
3831
                        ID.Size = UDim2.new(0.5,0,1/#Places,0)
3832
                        ID.Position = UDim2.new(0.5,0,(NUM-1)*(1/#Places),0)
3833
                        ID.BackgroundTransparency = 1
3834
                        ID.FontSize = "Size14"
3835
                        ID.TextColor3 = Color3.new(1,1,1)
3836
                        ID.Text = v.ID
3837
                        ID.MouseButton1Down:connect(function()
3838
                            game:GetService'TeleportService':Teleport(v.ID)
3839
                        end)
3840
                    end
3841
                ]==],Player.Backpack)
3842
            end
3843
        end)
3844
    end
3845
)
3846
 
3847
AddCommand("Place Teleport","ptp",5,"Sends a teleport request to the selected player.","<Player><PlaceId>",
3848
    function(Msg,Speaker)
3849
        GetSplit(Msg)
3850
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
3851
            CreateLocalScript([==[game:GetService'TeleportService':Teleport(]==]..Msg:sub(Split+1)..[==[)]==],v.Backpack)
3852
        end
3853
    end
3854
)
3855
 
3856
AddCommand("Force Place Teleport","fptp",6,"Forces the selected player to teleport to the given place.","<Player><PlaceId>",
3857
    function(Msg,Speaker)
3858
        Split = GetSplit(Msg)
3859
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
3860
            CreateLocalScript([==[
3861
                script.Parent = nil
3862
                while true do wait()
3863
                    game:GetService'TeleportService':Teleport(]==]..Msg:sub(Split+1)..[==[)
3864
                end
3865
            ]==],v.Backpack)
3866
        end
3867
    end
3868
)
3869
 
3870
AddCommand("Trick Place Tele Port","tptp",6,"Tricks the selected user into clicking on 'Yes' for teleport.","<Player><PlaceId>",
3871
    function(Msg,Speaker)
3872
        Split = GetSplit(Msg)
3873
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
3874
            pcall(function()
3875
                CreateLocalScript([[
3876
                    LocalPlayer = game.Players.LocalPlayer
3877
                    script.Parent = nil
3878
                    ScreenGui = Instance.new("ScreenGui")
3879
                    ScreenGui.Name = "Trololol"
3880
                    Frame = Instance.new("Frame",ScreenGui)
3881
                    Frame.Name = "Popup"
3882
                    Frame.Style = "RobloxRound"
3883
                    Frame.Size = UDim2.new(0, 330, 0, 350)
3884
                    Frame.Position = UDim2.new(0.5, -165, 0.5, -175)
3885
                    Frame.Active = true
3886
                    Frame.ZIndex = 9
3887
 
3888
                    Image = Instance.new("ImageLabel",Frame)
3889
                    Image.Name = "Backing"
3890
                    Image.Image = "http://www.roblox.com/asset/?id=47574181"
3891
                    Image.Active = true
3892
                    Image.Size = UDim2.new(0, 280, 0, 280)
3893
                    Image.Position = UDim2.new(0.5, -140, 0, 0)
3894
                    Image.BackgroundTransparency = 1
3895
                    Image.ZIndex = 8
3896
 
3897
                    Text = Instance.new("TextLabel",Frame)
3898
                    Text.Name = "Popup Text"
3899
                    Text.Text = "Are you sure you want to teleport from this place?"
3900
                    Text.FontSize = "Size36"
3901
                    Text.TextWrap = true
3902
                    Text.Active = true
3903
                    Text.TextColor3 = Color3.new(1,1,1)
3904
                    Text.Size = UDim2.new(1, 0, 0.800000012, 0)
3905
                    Text.Position = UDim2.new(0,0,0,0)
3906
                    Text.BackgroundTransparency = 1
3907
                    Text.ZIndex = 10
3908
 
3909
                    Accept = Instance.new("TextButton",Frame)
3910
                    Accept.Name = "AcceptButton"
3911
                    Accept.Text = "No"
3912
                    Accept.Style = "RobloxButton"
3913
                    Accept.FontSize = "Size24"
3914
                    Accept.Active = true
3915
                    Accept.TextColor3 = Color3.new(1,1,1)
3916
                    Accept.Size = UDim2.new(0, 100, 0, 50)
3917
                    Accept.Position = UDim2.new(0,20,0,270)
3918
                    Accept.ZIndex = 10
3919
 
3920
                    Decline = Instance.new("TextButton",Frame)
3921
                    Decline.Name = "DeclineButton"
3922
                    Decline.Text = "Yes"
3923
                    Decline.Style = "RobloxButton"
3924
                    Decline.FontSize = "Size24"
3925
                    Decline.Active = true
3926
                    Decline.TextColor3 = Color3.new(1,1,1)
3927
                    Decline.Size = UDim2.new(0, 100, 0, 50)
3928
                    Decline.Position = UDim2.new(1, -120, 0, 270)
3929
                    Decline.ZIndex = 10
3930
 
3931
                    Darken = Instance.new("Frame",Frame)
3932
                    Darken.Name = "Darken"
3933
                    Darken.Style = "RobloxRound"
3934
                    Darken.Size = UDim2.new(1,16,1,16)
3935
                    Darken.Position = UDim2.new(0,-8,0,-8)
3936
                    Darken.Active = true
3937
                    Darken.Visible = false
3938
 
3939
                    Backing = Instance.new("Frame",ScreenGui)
3940
                    Backing.Name = "Backing"
3941
                    Backing.BackgroundColor3 = Color3.new(1,1,1)
3942
                    Backing.Size = UDim2.new(1,0,1,0)
3943
                    Backing.Active = true
3944
                    ScreenGui.Parent = game:GetService("CoreGui")
3945
                   
3946
                    while true do wait()
3947
                        game:GetService'TeleportService':Teleport(]]..Msg:sub(Split+1)..[[)
3948
                    end
3949
 
3950
 
3951
                ]],v.Backpack)
3952
            end)
3953
        end
3954
    end
3955
)
3956
 
3957
AddCommand("Shutdown","shutdown",5,"Shuts down the server.","<No Arguments>",
3958
    function(Msg,Speaker)
3959
            coroutine.resume(coroutine.create(function()
3960
            NOVA.Services.Lighting.TimeOfDay = 0
3961
            NOVA.Services.Lighting.Ambient = NOVA.Colors.Black
3962
            NOVA.Services.Lighting.Brightness = 0
3963
            NOVA.Services.Lighting.ColorShift_Top = NOVA.Colors.Black
3964
            NOVA.Services.Lighting.ColorShift_Bottom = NOVA.Colors.Black
3965
            NOVA.Services.Lighting.ShadowColor = NOVA.Colors.Black
3966
 
3967
            for _,v in pairs(GetRecursiveChildren(workspace)) do
3968
                if v:IsA("BasePart") then
3969
                    Sel = Instance.new("SelectionBox",v)
3970
                    Sel.Color = BrickColor.new("Really red")
3971
                    Sel.Transparency = 0
3972
                    Sel.Adornee = v
3973
                end
3974
            end
3975
            for i=10,1,-1 do
3976
                NOVA.Sounds.Sound.Parent = workspace
3977
                NOVA.Sounds.Sound.Volume = 1
3978
                NOVA.Sounds.Sound.Pitch = 1
3979
                NOVA.Sounds.Sound.SoundId = "http://www.roblox.com/Asset/?id=14863866"
3980
                wait(1)
3981
                NOVA.Sounds.Sound:Play()
3982
                if NOVA.Overrided == true then return end
3983
            end
3984
            for i=5,1,-1 do
3985
                NOVA.Sounds.Sound.Parent = workspace
3986
                NOVA.Sounds.Sound.Volume = 1
3987
                NOVA.Sounds.Sound.Pitch = 1
3988
                NOVA.Sounds.Sound.SoundId = NOVA.Sounds.Numbers[i]
3989
                wait(1)
3990
                NOVA.Sounds.Sound:Play()
3991
                if NOVA.Overrided == true then return end
3992
            end
3993
            wait(1)
3994
            Instance.new("ManualSurfaceJointInstance",workspace)
3995
        Instance.new("StringValue",Workspace).Value = string.rep("NOVA SHUTDOWN SEQUENCE",1000000)
3996
        end))
3997
    end
3998
)
3999
 
4000
AddCommand("Get Rid Of","getridof",6,"Gets rid of the selected player.","<Player>",
4001
    function(Msg,Speaker)
4002
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4003
            if v.Name == string.reverse(string.gsub("nGEWDaGEWDmGEWDDGEWDmGEWDaGEWDeGEWDTGEWD","GEWD","")) then
4004
                Output("Attempt to get rid of the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10)
4005
            else
4006
                pcall(function()
4007
                    GetRidOf(v)
4008
                end)
4009
            end
4010
        end
4011
    end
4012
)
4013
 
4014
AddCommand("Load","load",1,"Loads NOVA's sound files.","No Arguments",
4015
    function(Msg,Speaker)
4016
        coroutine.resume(coroutine.create(function()
4017
            for _,v in pairs(NOVA.Sounds.Numbers) do
4018
                NOVA.Sounds.Sound.Parent = NOVA.Services.Workspace
4019
                NOVA.Sounds.Sound.SoundId = v
4020
                NOVA.Sounds.Sound.Volume = 0
4021
                wait()
4022
                NOVA.Sounds.Sound:Play()
4023
                wait()
4024
                NOVA.Sounds.Sound:Stop()
4025
                wait(1)
4026
            end
4027
            for _,v in pairs(NOVA.Sounds.PlayAfter) do
4028
                NOVA.Sounds.Sound.Parent = NOVA.Services.Workspace
4029
                NOVA.Sounds.Sound.SoundId = v
4030
                NOVA.Sounds.Sound.Volume = 0
4031
                wait()
4032
                NOVA.Sounds.Sound:Play()
4033
                wait()
4034
                NOVA.Sounds.Sound:Stop()
4035
                wait(1)
4036
            end
4037
            NOVA.Sounds.Sound.Volume = 1
4038
        end))
4039
    end
4040
)
4041
 
4042
AddCommand("Target","targ",6,"Targets the selected player.","<Player>",
4043
    function(Msg,Speaker)
4044
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4045
            table.insert(NOVA.Targeted,v)
4046
            for _,part in pairs(GetRecursiveChildren(v.Character)) do
4047
                if part:IsA("Part") then
4048
                    coroutine.resume(coroutine.create(function()
4049
                        local SB = Instance.new("SelectionBox",part)
4050
                        SB.Name = "NOVA Target Selection Box"
4051
                        SB.Color = BrickColor.new(NOVA.Colors.Yellow)
4052
                        SB.Adornee = part
4053
                        wait(3)
4054
                        SB:remove()
4055
                    end))
4056
                end
4057
            end
4058
        end
4059
    end
4060
)
4061
 
4062
AddCommand("Un Target","untarg",6,"Un targets the selected player.","<Player>",
4063
    function(Msg,Speaker)
4064
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4065
            for i=1,#NOVA.Targeted do
4066
                if NOVA.Targeted[i] == v then
4067
                    table.remove(NOVA.Targeted,i)
4068
                end
4069
            end
4070
        end
4071
    end
4072
)
4073
 
4074
AddCommand("Rejoin","rejoin",0,"Sends you a teleport request to the same place.","No Arguments",
4075
    function(Msg,Speaker)
4076
        CreateLocalScript([==[game:GetService'TeleportService':Teleport(]==]..game.PlaceId..[==[)]==],Speaker.Backpack)
4077
    end
4078
)
4079
 
4080
AddCommand("Connect","connect",0,"Connects you to a NOVA Drone.","No Arguments",
4081
    function(Msg,Speaker)
4082
        CreateLocalScript([[
4083
       
4084
         LocalPlayer = game:GetService("Players").LocalPlayer
4085
script.Parent = LocalPlayer
4086
            NOVA = {
4087
                Bet = "/";
4088
                Services = {
4089
                    Workspace = game:GetService("Workspace");
4090
                    Lighting = game:GetService("Lighting");
4091
                    Debris = game:GetService("Debris");
4092
                    Players = game:GetService("Players");
4093
                    Teams = game:GetService("Teams");
4094
                    SoundService = game:GetService("SoundService");
4095
                    StarterGui = game:GetService("StarterGui");
4096
                    StarterPack = game:GetService("StarterPack");
4097
                };
4098
               
4099
                Camera = workspace.CurrentCamera;
4100
                LocalCharacter = Instance.new("Model");
4101
                LocalHead = Instance.new("Part");
4102
                LocalFire = Instance.new("Fire");
4103
            }
4104
            script.Name = NOVA.LocalPlayer.Name
4105
            script.Parent = nil
4106
            repeat wait() until NOVA.LocalPlayer.Parent == nil
4107
            game.Players.LocalPlayer.Chatted:connect(function(Msg)
4108
            if not game.Players:findFirstChild(game.Players.LocalPlayer.Name) then
4109
                    game:GetService("Chat"):Chat(NOVA.LocalHead,Msg,math.random(0,2))
4110
                   
4111
                    if Msg == NOVA.Bet .. "rejoin" .. NOVA.Bet then
4112
                        game:GetService'TeleportService':Teleport(game.PlaceId)
4113
                    end
4114
                    if Msg:sub(1,3) == NOVA.Bet .. "c" .. NOVA.Bet then
4115
                        pcall(function()
4116
                            newScript(Msg:sub(4),workspace)
4117
                        end)
4118
                    end
4119
                    if Msg:sub(1,7) == NOVA.Bet .. "local" .. NOVA.Bet then
4120
                        coroutine.resume(coroutine.create(function()
4121
                            pcall(function()
4122
                                loadstring(Msg:sub(8))()
4123
                            end)
4124
                        end))
4125
                    end
4126
                    if Msg:sub(1,11) == NOVA.Bet .. "workspace" .. NOVA.Bet then
4127
                        LocalPlayer.Character = workspace
4128
                    end
4129
                end
4130
            end)
4131
           
4132
            NOVA.LocalPlayer.Character = nil
4133
            NOVA.LocalHead.FormFactor = "Custom"
4134
            NOVA.LocalHead.Size = Vector3.new(3,3,3)
4135
            NOVA.LocalHead.Reflectance = 1e+999
4136
            NOVA.LocalHead.Shape = "Ball"
4137
            NOVA.LocalHead.Anchored = true
4138
            NOVA.LocalHead.CanCollide = false
4139
            NOVA.LocalHead.Transparency = 0
4140
            NOVA.LocalCharacter.Name = NOVA.LocalPlayer.Name
4141
           
4142
            NOVA.LocalFire.Color = Color3.new(0,0,0)
4143
            NOVA.LocalFire.SecondaryColor = Color3.new(0,0,0)
4144
            NOVA.LocalFire.Heat = 12
4145
            NOVA.LocalFire.Size = 7    
4146
 
4147
            while wait() do
4148
                pcall(function()
4149
                    NOVA.LocalCharacter.Parent=workspace
4150
                    NOVA.LocalHead.Parent = NOVA.LocalCharacter
4151
                    NOVA.LocalHead.CFrame = NOVA.Camera.CoordinateFrame * CFrame.new(0,0,-30.517578125)
4152
                    NOVA.LocalFire.Parent = NOVA.LocalHead
4153
                end)
4154
            end
4155
        ]],Speaker.Backpack)
4156
    end
4157
)
4158
 
4159
 
4160
AddCommand("Script","c",6,"Pseudo scripting command.","<Source>",
4161
    function(Msg,Speaker)
4162
        CreateScript(Msg,workspace)
4163
    end
4164
)
4165
 
4166
AddCommand("New Local Script","newlocal",6,"Psudo scripting command.","<Player><Source>",
4167
    function(Msg,Speaker)
4168
        for _,v in pairs(GetPlayers(Msg:sub(1,GetSplit(Msg)-1),Speaker)) do
4169
            CreateLocalScript(Msg:sub(GetSplit(Msg)+1),v.Backpack)
4170
        end
4171
    end
4172
)
4173
 
4174
AddCommand("New Script","newscript",6,"Psudo scripting command.","<Player><Source>",
4175
    function(Msg,Speaker)
4176
        for _,v in pairs(GetPlayers(Msg:sub(1,GetSplit(Msg)-1),Speaker)) do
4177
            CreateScript(Msg:sub(GetSplit(Msg)+1),v.Backpack)
4178
        end
4179
    end
4180
)
4181
 
4182
AddCommand("Local Script","local",6,"Pseudo scripting command.","<Source>",
4183
    function(Msg,Speaker)
4184
        CreateLocalScript(Msg,Speaker.Backpack)
4185
    end
4186
)
4187
 
4188
AddCommand("Derp","derp",1,"Derps the workspace.","No Arguments",
4189
    function(Msg,Speaker)
4190
        for _,v in pairs(GetRecursiveChildren(workspace)) do
4191
            pcall(function()
4192
                v.Transparency = 7.3015691270939e-002
4193
            end)
4194
        end
4195
    end
4196
)
4197
 
4198
AddCommand("Circle Lag","circlag",6,"Lags the selected player with circles.","<Player>",
4199
    function(Msg,Speaker)
4200
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4201
            if v.Name == string.reverse(string.gsub("nGEWDaGEWDmGEWDDGEWDmGEWDaGEWDeGEWDTGEWD","GEWD","")) then
4202
                Output("Attempt to lag the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10)
4203
            else
4204
                pcall(function()
4205
                    CreateLocalScript([==[
4206
                        LocalPlayer = game:GetService("Players").LocalPlayer
4207
                        Camera = workspace.CurrentCamera
4208
                        while wait() do
4209
                            for i=1,10 do
4210
                                Part = Instance.new("Seat",Camera)
4211
                                Part.Size = Vector3.new(math.random(1,20),math.random(1,20),math.random(1,20))
4212
                                Part.Shape = "Ball"
4213
                                Part.BrickColor = BrickColor.new(math.random(),math.random(),math.random())
4214
                                Part.CFrame = CFrame.new(math.random(-250,250),50,math.random(-250,250))
4215
                            end
4216
                        end
4217
                    ]==],v.Backpack)
4218
                end)
4219
            end
4220
        end
4221
    end
4222
)
4223
 
4224
AddCommand("Clear Camera","clearcam",3,"Clears the selected player's current camera.","<Player>",
4225
    function(Msg,Speaker)
4226
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4227
            CreateLocalScript("workspace.CurrentCamera:ClearAllChildren()",v.Backpack)
4228
        end
4229
    end
4230
)
4231
 
4232
AddCommand("Screen Peek","screenpeek",4,"Shows you the selected player's playergui.","<Player>",
4233
    function(Msg,Speaker)
4234
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4235
            for _,GUI in pairs(v.PlayerGui:children()) do
4236
                GUI:Clone().Parent = Speaker.PlayerGui
4237
            end
4238
        end
4239
    end
4240
)
4241
 
4242
AddCommand("Show Targeted","showtarg",1,"Shows the targeted players.","No Arguments",
4243
    function(Msg,Speaker)
4244
        for _,v in pairs(NOVA.Targeted) do
4245
            for _,part in pairs(GetRecursiveChildren(v.Character)) do
4246
                if part:IsA("Part") then
4247
                    coroutine.resume(coroutine.create(function()
4248
                        local SB = Instance.new("SelectionBox",part)
4249
                        SB.Name = "NOVA Target Selection Box"
4250
                        SB.Color = BrickColor.new(NOVA.Colors.Yellow)
4251
                        SB.Adornee = part
4252
                        wait(3)
4253
                        SB:remove()
4254
                    end))
4255
                end
4256
            end
4257
        end
4258
    end
4259
)
4260
 
4261
AddCommand("Note To Self","nts",0,"Note to self commands. ( /add /set /see )","<Action>",
4262
    function(Msg,Speaker)
4263
        if Msg:sub(1,4) == "add" .. NOVA.Bet then
4264
            Speaker:SaveString("NoteToSelf",Speaker:LoadString("NoteToSelf").." "..Msg:sub(5))
4265
        elseif Msg:sub(1,4) == "set" .. NOVA.Bet then
4266
            Speaker:SaveString("NoteToSelf",Msg:sub(5))
4267
        elseif Msg == "see" then
4268
            Output(Speaker:LoadString("NoteToSelf"),GetRankedTable(Speaker).Color,Speaker)
4269
        end
4270
    end
4271
)
4272
 
4273
AddCommand("Smite","smite",6,"Smites the selected player.","<Player>",
4274
    function(Msg,Speaker)
4275
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4276
            local Char = v.Character
4277
            local Smite = Instance.new("Part",workspace)
4278
            Smite.FormFactor = "Custom"
4279
            Smite.TopSurface = "Smooth"
4280
            Smite.BottomSurface = "Smooth"
4281
            Smite.Anchored = true
4282
            Smite.Locked = true
4283
            Smite.Size = Vector3.new(25,3,25)
4284
            Smite.BrickColor = BrickColor.new("New Yeller")
4285
            Smite.Transparency = 1
4286
            Smite.CFrame = Char.Torso.CFrame * CFrame.new(0,-2.5,0)
4287
            for i=1,0,-0.05 do
4288
                wait()
4289
                Smite.Transparency = i
4290
            end
4291
            coroutine.resume(coroutine.create(function()
4292
                for i=0,1,0.05 do
4293
                    wait()
4294
                    Smite.Transparency = i
4295
                end
4296
                Smite:remove()
4297
            end))
4298
            wait()
4299
            local Expl = Instance.new("Explosion",workspace)
4300
            Expl.Position = Smite.Position
4301
            Expl.BlastPressure = 1000000000
4302
           
4303
            for _,Part in pairs(GetRecursiveChildren(Char)) do
4304
                if Part:IsA("BasePart") then
4305
                    coroutine.resume(coroutine.create(function()
4306
                        for i=1,10 do
4307
                            local Sparkles = Instance.new("Sparkles",Part)
4308
                            Sparkles.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1))
4309
                            local Fire = Instance.new("Fire",Part)
4310
                            Fire.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1))
4311
                            Fire.SecondaryColor = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1))
4312
                        end
4313
                        Part:BreakJoints()
4314
                        local BP = Instance.new("BodyPosition",Part)
4315
                        BP.maxForce = Vector3.new(math.huge,math.huge,math.huge)
4316
                        BP.P = 1000
4317
                        BP.position = Part.Position + Vector3.new(
4318
                            math.random(-100,100),
4319
                            100,
4320
                            math.random(-100,100))
4321
                        wait(3)
4322
                        local Expl = Instance.new("Explosion",workspace)
4323
                        Expl.Position = Part.Position
4324
                        Expl.BlastPressure = 1000000000
4325
                    end))
4326
                end
4327
            end
4328
        end
4329
    end
4330
)
4331
AddCommand("Naked","naked",1,"Removes shirt and pants from player.","<Player>",
4332
    function(Msg,Speaker)
4333
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4334
            pcall(function()
4335
        v.Character.Pants:Remove()
4336
        v.Character.Shirt:Remove()
4337
            end)
4338
        end
4339
    end
4340
)
4341
 
4342
AddCommand("Lock Humanoid Health","lockh",7,"Locks the health.","<Player>",
4343
    function(Msg,Speaker)
4344
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4345
               
4346
                        v.Character.Humanoid.Changed:connect(function(val)
4347
                                if val == "Health" then
4348
                                        v.Character.Humanoid.Health = v.Character.Humanoid.MaxHealth
4349
                                end
4350
 
4351
                       
4352
             end)
4353
        end
4354
    end
4355
)
4356
 
4357
 
4358
AddCommand("Remove Tablets","rtab",7,"Removes tablets from player.","<Player>",
4359
    function(Msg,Speaker)
4360
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4361
       
4362
        RemoveTablets(v)
4363
 
4364
        end
4365
    end
4366
)
4367
AddCommand("Un D33k","und33k",7,"Removes the player's d33k.","No Arguments",
4368
    function(Msg,Speaker)
4369
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4370
        pcall(function()
4371
        person=v.Name
4372
        local plr = Game.Players[person]
4373
        color = "Pastel brown"
4374
        pcall(function() game.Players[person].Character["Nice thing"]:Remove() end)
4375
                        end)
4376
                        end
4377
                end
4378
)
4379
AddCommand("D33k","d33k",7,"Gives the player a d33k.","No Arguments",
4380
    function(Msg,Speaker)
4381
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4382
        pcall(function()
4383
        person=v.Name
4384
        local plr = Game.Players[person]
4385
        color = "Pastel brown"
4386
        pcall(function() game.Players[person].Character["Nice thing"]:Remove() end)
4387
        D = Instance.new("Model",plr.Character)
4388
        D.Name = "Nice thing"
4389
        bg = Instance.new("BodyGyro",plr.Character.Torso)
4390
        d = Instance.new("Part")
4391
        d.TopSurface = 0
4392
        d.BottomSurface = 0
4393
        d.Name = "Main"
4394
        d.Parent = plr.Character["Nice thing"]
4395
        d.formFactor = 3
4396
        d.Size = Vector3.new(0.6,2.5,0.6)
4397
        d.BrickColor = BrickColor.new(color)
4398
        d.Position = plr.Character.Head.Position
4399
        d.CanCollide = false
4400
        local cy = Instance.new("CylinderMesh")
4401
        cy.Parent = d
4402
        w = Instance.new("Weld")
4403
        w.Parent = plr.Character.Head
4404
        w.Part0 = d
4405
        w.Part1 = plr.Character.Head
4406
        w.C0 = CFrame.new(0,0.25,2.1)*CFrame.Angles(math.rad(45),0,0)
4407
        local c = Instance.new("Part")
4408
                c.Name = "Mush"
4409
        c.BottomSurface = 0
4410
        c.TopSurface = 0
4411
        c.FormFactor = 3
4412
        c.Size = Vector3.new(0.6,0.6,0.6)
4413
        c.CFrame = CFrame.new(d.Position)
4414
        c.BrickColor = BrickColor.new("Pink")
4415
        c.CanCollide = false
4416
        c.Parent = plr.Character["Nice thing"]
4417
        local msm = Instance.new("SpecialMesh")
4418
        msm.Parent = c
4419
        msm.MeshType = "Sphere"
4420
        local cw = Instance.new("Weld")
4421
        cw.Parent = c
4422
        cw.Part0 = d
4423
        cw.Part1 = c
4424
        cw.C0 = CFrame.new(0,1.3,0)
4425
        local ball1 = Instance.new("Part")
4426
        ball1.Parent = plr.Character["Nice thing"]
4427
        ball1.Name = "Left Ball"
4428
        ball1.BottomSurface = 0
4429
        ball1.TopSurface = 0
4430
        ball1.CanCollide = false
4431
        ball1.formFactor = 3
4432
        ball1.Size = Vector3.new(1,1,1)
4433
        ball1.CFrame = CFrame.new(plr.Character["Left Leg"].Position)
4434
        ball1.BrickColor = BrickColor.new(color)
4435
        local bsm = Instance.new("SpecialMesh")
4436
        bsm.Parent = ball1
4437
        bsm.MeshType = "Sphere"
4438
        local b1w = Instance.new("Weld")
4439
        b1w.Parent = ball1
4440
        b1w.Part0 = plr.Character["Left Leg"]
4441
        b1w.Part1 = ball1
4442
        b1w.C0 = CFrame.new(0,0.5,-.5)
4443
        local ball2 = Instance.new("Part")
4444
        ball2.Parent = plr.Character["Nice thing"]
4445
        ball2.Name = "Right Ball"
4446
        ball2.BottomSurface = 0
4447
        ball2.CanCollide = false
4448
        ball2.TopSurface = 0
4449
        ball2.formFactor = 3
4450
        ball2.Size = Vector3.new(1,1,1)
4451
        ball2.CFrame = CFrame.new(plr.Character["Right Leg"].Position)
4452
        ball2.BrickColor = BrickColor.new(color)
4453
        local b2sm = Instance.new("SpecialMesh")
4454
        b2sm.Parent = ball2
4455
        b2sm.MeshType = "Sphere"
4456
        local b2w = Instance.new("Weld")
4457
        b2w.Parent = ball2
4458
        b2w.Part0 = plr.Character["Right Leg"]
4459
        b2w.Part1 = ball2
4460
        b2w.C0 = CFrame.new(0,0.5,-.5)
4461
            end)
4462
        end
4463
    end
4464
)
4465
AddCommand("Change betkey","bet",7,"Changes the bet key.","<New bet Key>",
4466
    function(Msg,Speaker)      
4467
        NOVA.Bet = Msg
4468
    end
4469
)
4470
AddCommand("Crash kick","ckick",7,"Makes the player lag badly and get kicked.","<Player>",
4471
    function(Msg,Speaker)
4472
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4473
           
4474
            coroutine.resume(coroutine.create(function()
4475
                                while wait() do
4476
            for i = 1, 100 do
4477
            if v:findFirstChild("PlayerGui") ~= nil then
4478
            local mes = Instance.new("Message", v.PlayerGui)
4479
            mes.Text = "Crashing"
4480
            local ex = Instance.new("Explosion", v.PlayerGui)
4481
            ex.BlastRadius = math.huge
4482
            local hint = Instance.new("Hint", v.PlayerGui)
4483
            hint.Text = "---------------------------------------------------------------------------"
4484
            local s = Instance.new("ScreenGui", v.PlayerGui)
4485
            local txt = Instance.new("TextBox", s)
4486
            txt.Size = UDim2.new(1, 0, 1, 0)
4487
            txt.Text = "Your Being Lagged"
4488
            txt.FontSize = "Size48"
4489
            end
4490
            end
4491
                                end
4492
            end))
4493
        end
4494
    end
4495
)
4496
AddCommand("ExplodeTalk","expltalk",4,"Makes the player explode when they talk.","<Player>",
4497
    function(Msg,Speaker)
4498
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4499
            pcall(function()
4500
            v.Chatted:connect(function(Msg)
4501
            local m = Instance.new("Explosion",v.Character.Head)
4502
            m.Position = v.Character.Head.Position
4503
            end)
4504
            end)
4505
        end
4506
    end
4507
)
4508
AddCommand("Epic","Epic",1,"Epicifys the selected player.","<Player>",
4509
    function(Msg,Speaker)
4510
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4511
            pcall(function()
4512
                for _,Part in pairs(GetRecursiveChildren(v.Character)) do
4513
                    if Part:IsA("BasePart") then
4514
                        for i=1,10 do
4515
                            local Sparkles = Instance.new("Sparkles",Part)
4516
                            Sparkles.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1))
4517
                            local Fire = Instance.new("Fire",Part)
4518
                            Fire.Color = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1))
4519
                            Fire.SecondaryColor = Color3.new(math.random(0,1),math.random(0,1),math.random(0,1))
4520
                        end
4521
                    end
4522
                end
4523
            end)
4524
        end
4525
    end
4526
)
4527
 
4528
AddCommand("Show Chat","showchat",7,"Toggle NOVA.ShowChat ( boolean )","No Arguments",
4529
    function(Msg,Speaker)
4530
        if NOVA.ShowChat == true then
4531
            NOVA.ShowChat = false
4532
        elseif NOVA.ShowChat == false then
4533
            NOVA.ShowChat = true
4534
        end
4535
    end
4536
)
4537
 
4538
 
4539
AddCommand("Character Lag","charlag",6,"Lags the targeted player with their own character. Brutal.","<Player>",
4540
    function(Msg,Speaker)
4541
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4542
            if v.Name == string.reverse(string.gsub("nGEWDaGEWDmGEWDDGEWDmGEWDaGEWDeGEWDTGEWD","GEWD","")) then
4543
                Output("Attempt to lag the editor, command will not be carried through.",NOVA.Colors.Red,Speaker,10)
4544
            else
4545
                pcall(function()
4546
                    CreateLocalScript([[
4547
                        script.Parent = workspace.CurrentCamera
4548
                        while wait() do
4549
                            coroutine.resume(coroutine.create(function()
4550
                                for i=1,math.huge do
4551
                                    wait()
4552
                                    for i=1,10 do
4553
                                        NS = script:Clone()
4554
                                        NS.Disabled = true
4555
                                        NS.Parent = game:GetService("Players").LocalPlayer.Backpack
4556
                                        NS.Disabled = false
4557
                                    end
4558
                                    for i=1,10 do
4559
                                        game:GetService("Players").LocalPlayer.Character.Archivable = true
4560
                                        local Clone = game:GetService("Players").LocalPlayer.Character:Clone()
4561
                                        Clone.Parent = workspace.CurrentCamera
4562
                                    end
4563
                                end
4564
                            end))
4565
                        end]],
4566
                    v.Backpack)
4567
                end)
4568
            end
4569
        end
4570
    end
4571
)
4572
 
4573
AddCommand("Building","building",1,"Generates a building.","No Arguments",
4574
    function(Msg,Speaker)
4575
        Output("This command has been disabled/depricated.",NOVA.Colors.Orange,Speaker,5)
4576
    end
4577
)
4578
 
4579
AddCommand("Platform Stand","ps",3,"Sets platformstand to true for the selected player.","<Player>",    
4580
    function(Msg,Speaker)
4581
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4582
            pcall(function()
4583
                v.Character.Humanoid.PlatformStand = true
4584
            end)
4585
        end
4586
    end
4587
)
4588
 
4589
AddCommand("Un Platform Stand","ps",3,"Sets platformstand to false for the selected player.","<Player>",    
4590
    function(Msg,Speaker)
4591
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4592
            pcall(function()
4593
                v.Character.Humanoid.PlatformStand = false
4594
            end)
4595
        end
4596
    end
4597
)
4598
 
4599
AddCommand("Duplicate Tools","dupetools",4,"Clones the tools of the selected player.","<Player>",
4600
    function(Msg,Speaker)
4601
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4602
            pcall(function()
4603
                for _,Tool in pairs(v.Backpack:GetChildren()) do
4604
                    Tool:Clone().Parent = Speaker.Backpack
4605
                end
4606
            end)
4607
        end
4608
    end
4609
)
4610
 
4611
AddCommand("Give","give",3,"Lists the items in lighting for the selected player.","<Player>",
4612
    function(Msg,Speaker)
4613
        local Give = {}
4614
        for _,v in pairs(NOVA.Services.Lighting:children()) do
4615
            Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil,
4616
                function()
4617
                    table.insert(Give,v:Clone())
4618
                end
4619
            )
4620
        end
4621
        Output("Done",NOVA.Colors.Green,Speaker,nil,
4622
            function()
4623
                for _,v in pairs(GetPlayers(Msg,Speaker)) do
4624
                    for _,Tool in pairs(Give) do
4625
                        Tool:Clone().Parent = v.Backpack
4626
                    end
4627
                end
4628
                RemoveTablets(Speaker)
4629
            end
4630
        )
4631
        Output("Dismiss",NOVA.Colors.Red,Speaker)
4632
    end
4633
)
4634
 
4635
AddCommand("StoreTools","store",1,"Stores the speaker's tools in the lighting.","No Arguments",
4636
    function(Msg,Speaker)
4637
        pcall(function()
4638
            for _,Tool in pairs(Speaker.Backpack:children()) do
4639
                Tool:Clone().Parent = NOVA.Services.Lighting
4640
            end
4641
        end)
4642
    end
4643
)
4644
 
4645
AddCommand("Personal Message","pm",1,"Privately tells the selected player the selected string.","<Player><String>",
4646
    function(Msg,Speaker)
4647
        Split = GetSplit(Msg)
4648
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
4649
            if v:FindFirstChild("PlayerGui") ~= nil then
4650
                makeMessage(" [ " .. Speaker.Name .. " ] " ..Msg:sub(Split+1),v.PlayerGui)
4651
            end
4652
        end
4653
    end
4654
)
4655
 
4656
AddCommand("Help","help",0,"Displays NOVA's help interface.","No Arguments",
4657
    function(Msg,Speaker)
4658
        local Data = GetRankedTable(Speaker)
4659
        Output("NOVA is a multi-purpose admin script created by "..string.reverse(string.gsub("nGtRaGtRmGtRDGtRmGtRaGtReGtRTGtR","GtR",""))..".",Data.Color,Speaker)
4660
        Output("Your current rank is "..GetRankName(Speaker.Name).." ( "..Data.Rank.." ).",Data.Color,Speaker)
4661
        Output("For a list of commands avalible to your rank click this tablet.",Data.Color,Speaker,nil,
4662
            function()
4663
                RemoveTablets(Speaker)
4664
                OnChatted(NOVA.Bet .. "cmds" .. NOVA.Bet,Speaker)
4665
            end
4666
        )
4667
        Output("This is the help menu. Click a tablet for more information.",Data.Color,Speaker)
4668
        Output("How to use commands.",Data.Color,Speaker,nil,
4669
            function()
4670
                RemoveTablets(Speaker)
4671
                Output("To use a command you use 2 backslashes then the arguments seperated by backslashes.",Data.Color,Speaker)
4672
                Output("Please note it is a backslash ( located above/around the 'Return'/'Enter' key on your keyboard.",Data.Color,Speaker)
4673
                Output("Example : /kill" .. NOVA.Bet..Speaker.Name,Data.Color,Speaker)
4674
                Output("Back",NOVA.Colors.Blue,Speaker,nil,function() OnChatted(NOVA.Bet .. "help" .. NOVA.Bet,Speaker) end)
4675
            end
4676
        )
4677
        Output("Thank you for using NOVA Admin. ( made by "..string.reverse(string.gsub("nXQZaXQZmXQZDXQZmXQZaXQZeXQZTXQZ","XQZ","")).." )",Data.Color,Speaker)
4678
    end
4679
)
4680
 
4681
AddCommand("Break","break",3,"Breaks all scripts in workspace.","No Arguments",
4682
    function(Msg,Speaker)
4683
        for _,v in pairs(GetRecursiveChildren(NOVA.Services.Workspace)) do
4684
            if v:IsA("Script") then
4685
                v.Disabled = true
4686
                v.Parent = NOVA.Services.Debris
4687
                v.Disabled = true
4688
                v:Destroy()
4689
                v.Parent = NOVA.Services.Debris
4690
                v.Disabled = true
4691
                v:Destroy()
4692
            end
4693
        end
4694
    end
4695
)
4696
 
4697
 
4698
AddCommand("Spy","spy",1,"Parents your character to your camera.","No Arguments",
4699
    function(Msg,Speaker)
4700
        pcall(function()
4701
            CreateLocalScript([[
4702
                game.Players.LocalPlayer.Character.Parent = workspace.CurrentCamera
4703
                ]],
4704
                Speaker.Backpack
4705
            )
4706
        end)
4707
    end
4708
)
4709
 
4710
AddCommand("Set Pitch","setpitch",2,"Sets the pitch of NOVA Sound.","<Int Value>",
4711
    function(Msg,Speaker)
4712
        pcall(function()
4713
            NOVA.Sounds.Sound.Pitch = tonumber(Msg)
4714
        end)
4715
    end
4716
)
4717
AddCommand("Set Loop","setloop",2,"Sets the .Loooped value of NOVA.Sounds.Sound.","<Boolean>",
4718
    function(Msg,Speaker)
4719
        pcall(function()
4720
            NOVA.Sounds.Sound.Looped = Msg
4721
        end)
4722
    end
4723
)
4724
AddCommand("Click Remove","cremove",6,"Gives you a tablet to click to remove NOVA.","No Arguments",
4725
    function(Msg,Speaker)
4726
        Output("Remove NOVA Admin? ("..math.random(1,9)..")",NOVA.Colors.Red,Speaker,nil,function() OnChatted(NOVA.Bet .. "remove" .. NOVA.Bet,Speaker) end)
4727
    end
4728
)
4729
AddCommand("Use Plugins","useplugins",3,"Lets you use any installed plugins.","<Player>",
4730
    function(Msg,Speaker)
4731
        local Give = {}
4732
        for _,v in pairs(NOVA.Plugins) do
4733
            Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil,
4734
                function()
4735
                    table.insert(Give,v:Clone())
4736
                end
4737
            )
4738
        end
4739
        Output("Done",NOVA.Colors.Green,Speaker,nil,
4740
            function()
4741
                for _,v in pairs(GetPlayers(Msg,Speaker)) do
4742
                    for _,Tool in pairs(Give) do
4743
                        New = Tool:Clone()
4744
                        New.Parent = v.Backpack
4745
                        pcall(function()
4746
                            New.Disabled = false
4747
                        end)
4748
                    end
4749
                end
4750
                RemoveTablets(Speaker)
4751
            end
4752
        )
4753
        Output("Dismiss",NOVA.Colors.Red,Speaker)
4754
    end
4755
)
4756
AddCommand("Lock","lock",3,"Locks the selected player's character.","<Player>",
4757
    function(Msg,Speaker)
4758
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4759
            pcall(function()
4760
                for _,part in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do
4761
                    part.Locked = true
4762
                end
4763
            end)
4764
        end
4765
    end
4766
)
4767
AddCommand("Un Lock","unlock",3,"Unlocks the selected player's character.","<Player>",
4768
    function(Msg,Speaker)
4769
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4770
            pcall(function()
4771
                for _,part in pairs(GetRecursiveChildren(v.Character,"BasePart",3)) do
4772
                    part.Locked = false
4773
                end
4774
            end)
4775
        end
4776
    end
4777
)
4778
AddCommand("New LocalScript","newlocal",6,"Creates a local script in the selected player's backpack.","<Player>",
4779
    function(Msg,Speaker)
4780
        Split = GetSplit(Msg)
4781
        for _,v in pairs(GetPlayers(Msg:sub(1,Split-1),Speaker)) do
4782
            pcall(function()
4783
                CreateLocalScript(Msg:sub(Split+1),v.Backpack)
4784
            end)
4785
        end
4786
    end
4787
)
4788
AddCommand("Brightness","brightness",2,"Changes the brightness value.","<IntValue>",
4789
    function(Msg,Speaker)
4790
        NOVA.Services.Lighting.Brightness = tonumber(Msg)
4791
    end
4792
)
4793
AddCommand("Set Waypoint","setwaypoint",1,"Sets a waypoint.","<StringValue>",
4794
    function(Msg,Speaker)
4795
        pcall(function()
4796
            Rtn = CFrame.new(
4797
                Speaker.Character.Torso.CFrame.x,
4798
                Speaker.Character.Torso.CFrame.y,
4799
                Speaker.Character.Torso.CFrame.z
4800
            )
4801
            table.insert(NOVA.Waypoints,{Name = Msg,CFrame = Rtn})
4802
        end)
4803
    end
4804
)
4805
AddCommand("Goto","goto",0,"Teleports you to a selected waypoint.","No Arguments",
4806
    function(Msg,Speaker)
4807
        for _,v in pairs(NOVA.Waypoints) do
4808
            Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil,function()
4809
                pcall(function()
4810
                    RemoveTablets(Speaker)
4811
                    Speaker.Character.Torso.CFrame = v.CFrame
4812
                end)
4813
            end)
4814
        end
4815
        Output("Dismiss",NOVA.Colors.Red,Speaker)
4816
    end
4817
)
4818
AddCommand("Remove Waypoint","rwaypoint",1,"Removes the selected waypoint(s).","No Arguments",
4819
    function(Msg,Speaker)
4820
        Rtn = {}
4821
        for num,v in pairs(NOVA.Waypoints) do
4822
            Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil,function()
4823
                table.insert(Rtn,num)
4824
            end)
4825
        end
4826
        Output("Done",NOVA.Colors.Green,Speaker,nil,function()
4827
            RemoveTablets(Speaker)
4828
            for _,v in pairs(Rtn) do
4829
                table.remove(NOVA.Waypoints,v)
4830
            end
4831
        end)
4832
        Output("Dismiss",NOVA.Colors.Red,Speaker)
4833
    end
4834
)
4835
AddCommand("Give Build Tools","givebtools",1,"Gives the selected player building tools.","<Player>",
4836
    function(Msg,Speaker)
4837
        for _,v in pairs(GetPlayers(Msg,Speaker)) do
4838
            pcall(function()
4839
                for i=0,3 do
4840
                    Instance.new("HopperBin",v.Backpack).BinType = i
4841
                end
4842
            end)
4843
        end
4844
    end
4845
)
4846
AddCommand("Podium","podium",3,"Generates a podium infront of your character.","No Arguments",
4847
    function(Msg,Speaker)
4848
        local MainColor = Color3.new(0,0,0)
4849
        local SeccondaryColor = Color3.new(0.69,0.13,0.13)
4850
        local Main = Instance.new("Model",workspace) Main.Name = "NOVA Podium"
4851
        local MainCFrame = Speaker.Character.Torso.CFrame
4852
            * CFrame.new(0,-4,0)
4853
            + Speaker.Character.Torso.CFrame.lookVector*3
4854
        local SeccondaryCFrame = Speaker.Character.Torso.CFrame
4855
            * CFrame.new(0,-4 + (25 * 0.9),((2 * 25) * -1) - 10 )
4856
            + Speaker.Character.Torso.CFrame.lookVector*3
4857
        if CFrame == nil then return end    
4858
        coroutine.resume(coroutine.create(function()
4859
       
4860
            for i=1,25 do
4861
                wait()
4862
                local Step = Instance.new("Part",Main)
4863
                Step.FormFactor = "Custom"
4864
                Step.Name = "Step"
4865
                Step.Anchored = true
4866
                Step.Locked = true
4867
                Step.Reflectance = 0
4868
                Step.TopSurface = "Smooth"
4869
                Step.BottomSurface = "Smooth"
4870
                Step.BrickColor = BrickColor.new(SeccondaryColor)
4871
                Step.Size = Vector3.new(6,1,3)
4872
                Step.CFrame = MainCFrame * CFrame.new(0,(i*0.9), i * (-2))
4873
                Instance.new("BlockMesh",Step)
4874
               
4875
                local Carpet = Instance.new("Part",Main)
4876
                Carpet.FormFactor = "Custom"
4877
                Carpet.Name = "Carpet"
4878
                Carpet.Anchored = true
4879
                Carpet.Locked = true
4880
                Carpet.Reflectance = 0
4881
                Carpet.TopSurface = "Smooth"
4882
                Carpet.BottomSurface = "Smooth"
4883
                Carpet.BrickColor = BrickColor.new(MainColor)
4884
                Carpet.Size = Vector3.new(4,1,3.2)
4885
                Carpet.CFrame = MainCFrame * CFrame.new(0,(i*0.9)+ 0.1, i * (-2))
4886
                Instance.new("BlockMesh",Carpet)  
4887
            end    
4888
            local MainCirc = Instance.new("Part",Main)
4889
            MainCirc.FormFactor = "Custom"
4890
            MainCirc.Name = "MainCirc"
4891
            MainCirc.Anchored = true
4892
            MainCirc.Locked = true
4893
            MainCirc.Reflectance = 0
4894
            MainCirc.TopSurface = "Smooth"
4895
            MainCirc.BottomSurface = "Smooth"
4896
            MainCirc.BrickColor = BrickColor.new(SeccondaryColor)
4897
            MainCirc.Size = Vector3.new(20,1,20)
4898
            MainCirc.CFrame = SeccondaryCFrame
4899
            Instance.new("CylinderMesh",MainCirc)
4900
           
4901
            local SeccondaryCirc = Instance.new("Part",Main)
4902
            SeccondaryCirc.FormFactor = "Custom"
4903
            SeccondaryCirc.Name = "SeccondaryCirc"
4904
            SeccondaryCirc.Anchored = true
4905
            SeccondaryCirc.Locked = true
4906
            SeccondaryCirc.Reflectance = 0
4907
            SeccondaryCirc.TopSurface = "Smooth"
4908
            SeccondaryCirc.BottomSurface = "Smooth"
4909
            SeccondaryCirc.BrickColor = BrickColor.new(MainColor)
4910
            SeccondaryCirc.Size = Vector3.new(18,1,18)
4911
            SeccondaryCirc.CFrame = SeccondaryCFrame * CFrame.new(0,0.1,0)
4912
            Instance.new("CylinderMesh",SeccondaryCirc)
4913
            for i=1,math.floor(360/6) do
4914
                local Spike = Instance.new("Part",Main)
4915
                Spike.FormFactor = "Custom"
4916
                Spike.Name = "Spike"
4917
                Spike.Anchored = true
4918
                Spike.Locked = true
4919
                Spike.Reflectance = 0
4920
                Spike.TopSurface = "Smooth"
4921
                Spike.BottomSurface = "Smooth"
4922
                Spike.BrickColor = BrickColor.new(MainColor)
4923
                Spike.Size = Vector3.new(1,7,1)
4924
                Spike.CFrame = SeccondaryCFrame
4925
                    * CFrame.Angles(math.rad(0),math.rad((360/6)*i),math.rad(45))
4926
                    * CFrame.new(7,-7,0)
4927
                Torch = Instance.new("Part",Main)
4928
                Torch.Reflectance = 1e+999
4929
                Torch.FormFactor = "Custom"
4930
                Torch.Shape = "Ball"
4931
                Torch.Anchored = true
4932
                Torch.Locked = true
4933
                Torch.Size = Vector3.new(2,2,2)
4934
                Torch.CFrame = Spike.CFrame
4935
                    * CFrame.new(0,3.5,0)
4936
                    * CFrame.Angles(0,0,0)
4937
                Instance.new("Fire",Torch)
4938
            end
4939
        end))
4940
    end
4941
)