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