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