View difference between Paste ID: rRCaxbNt and uFK8c0GC
SHOW: | | - or go back to the newest paste.
1-
--[[Replace harrypotterfan249 with your name!]]
1+
--[[
2-
script.Name = "§ NOVA Admin §" 
2+
	PLEASE READ OR SCRIPT WILL NOT WORK CORRECT!
3
	
4-
script.Parent = Instance.new("Glue") -- Stuck!
4+
	1.)Fetures Will Not Work Unless HTTP Service Is On!
5-
NOVA ={
5+
	2.)Control+f and type in Ranking. You Can Edit Them with your prefrences.
6-
ShutdownPhrase = "Lol " .. math.random(1,50) .. "XD Shutdown nub low life";
6+
	3.)If you want to help develop this admin pm any developer.
7-
BadPhrases = true;
7+
	4.)Report bugs to any developer.
8-
Ab = false;
8+
	5.)You Can Customize your tablet color and shape.
9-
AntiCamball = true;
9+
	7.)Enjoy!
10-
Bet = "/";
10+
	
11-
Services = {
11+
	~Pyrex Developer Team.
12-
Game = game;
12+
13-
RunService = game:GetService("RunService");
13+
14-
Workspace = game:GetService("Workspace");
14+
15-
Lighting = game:GetService("Lighting");
15+
--Removing--
16-
Debris = game:GetService("Debris");
16+
17-
Players = game:GetService("Players");
17+
18-
Teams = game:GetService("Teams");
18+
script.Name = 'PyrexAdmin'
19-
SoundService = game:GetService("SoundService");
19+
-----------------
20-
ScriptContext = game:GetService("ScriptContext");
20+
for _, Model in pairs(workspace:GetChildren()) do
21-
NetworkServer = game:GetService("NetworkServer");
21+
        if string.find(Model.Name, 'PyrexModel:') then
22-
StarterGui = game:GetService("StarterGui");
22+
                Model:Destroy()
23-
StarterPack = game:GetService("StarterPack");
23+
        end
24-
};
24+
25-
Ranks = {
25+
26-
{-2,"Lagged"}; -- -2
26+
------------------
27-
{-1,"Banned"}; -- -1
27+
Players = game:GetService('Players')
28-
{-0.5,"Scum"};
28+
Lighting = game:GetService('Lighting')
29-
{0,"Guest"}; -- 0
29+
Workspace = game:GetService('Workspace')
30-
{1,"Mod"}; -- 1
30+
------------------
31-
{2,"Admin"}; -- 2
31+
Pyrex = {
32-
{3,"Developer"}; -- 3
32+
Services = {};
33-
{4,"Omega Admin"}; -- 4
33+
Settings = {};
34-
{5,"Overlord"}; -- 5
34+
Functions = {};
35-
{6,"OP ( Operator )"}; -- 6 
35+
36-
{7,"Creator"}; -- 7
36+
Bet1 = '!';
37-
{9999999999999999999999999999999999,"The Epic harrypotterfan249"}; -- 8
37+
Bet2 = ';';
38-
};
38+
Bet3 = '-'
39-
Alphabet = {
39+
40-
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", 
40+
-----------
41-
};
41+
DeveloperKind = "1"
42-
Ranked = { 
42+
-----------
43-
{Name = "harrypotterfan249", Rank = 9999999999999999999999999999999999, CMD = true, Color = Color3.new(1,1,0), Desc = "NOVA"};
43+
--Services--
44-
{Name = "killerorb132", Rank = 7, CMD = true, Color = Color3.new(0,0,1), Desc = "Fire"};
44+
------------------
45-
{Name = "darkeageninja", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Banned me"};
45+
Pyrex.Services.RunService = game:GetService('RunService')
46-
{Name = "wubbzy301", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Banned me"};
46+
Pyrex.Services.MarketplaceService = game:GetService("MarketplaceService")
47-
{Name = "xXxArtistxXx", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "Leaked NOVA Admin"};
47+
Pyrex.Services.HttpService = game:GetService('HttpService')
48-
{Name = "mrein5", Rank = -1, CMD = true, Color = Color3.new(0,0,1), Desc = "A low life Camball abuser"};
48+
-----------------
49-
{Name = "lxljohnlxlalt", Rank = -2, CMD = true, Color = Color3.new(0,0,1), Desc = "TOTAL NUB WITH NO LIFE"};
49+
--Command model
50-
{Name = "GAM3B3AST", Rank = 7, CMD = true, Color = Color3.new(0,1,1), Desc = "Epic guy"};
50+
-----------------
51
--Pyrex.CmdModel = Pyrex.Services.MarketplaceService:GetProductInfo(214887536).Description
52-
}; 
52+
------------------
53-
Credit = {
53+
--ADMINS--
54-
{Name = "NetworkClient",Why = "for the tablet function."};
54+
------------------
55-
{Name = string.reverse(string.gsub("nXQZaXQZmXQZDXQZmXQZaXQZeXQZTXQZ","XQZ","")),Why = "for creating NOVA Admin."};
55+
Pyrex.Ranked = {}
56-
{Name = "upquark",Why = "For being a great person in life."};
56+
Pyrex.Pri_List = {}
57-
{Name = "toshir0z",Why = "For teaching me time control."};
57+
Pyrex.PrivateServer_Enabled = false
58-
{Name = "ask4kingbily",Why = "For showing me how to lock first person."};
58+
Pyrex.Logs_Service = {}
59-
{Name = "tusKOr661",Why = "For editing this script."};
59+
Pyrex.Gui_Service = {}
60-
};
60+
------------------
61-
Animations = {
61+
--FUNCTIONS--
62-
{Name = "Facepalm", Who = "tusKOr661", Id = "372695cdb6a7540768234ad60ed7a298"};
62+
------------------
63-
};
63+
Pyrex.Functions.Output = function(Player,Color,Text,ColorOverride,Func)
64-
Colors = {
64+
        pcall(function()
65-
Red = Color3.new(1,0,0);
65+
        if Player.Character then
66-
PinkRed = Color3.new(1,0,0.15);
66+
        local PlayerModel = nil
67-
Orange = Color3.new(1,0.5,0);
67+
        if Workspace:FindFirstChild('PyrexModel:'..Player.Name) then
68-
Yellow = Color3.new(1,1,0);
68+
                PlayerModel = Workspace:FindFirstChild('PyrexModel:'..Player.Name)
69-
Green = Color3.new(0,1,0);
69+
        else
70-
Blue = Color3.new(0,0,1);
70+
                PlayerModel = Instance.new("Model", workspace)
71-
LightBlue = Color3.new(0,1,1);
71+
                PlayerModel.Name = 'PyrexModel:'..Player.Name
72-
Pink = Color3.new(1,0,1);
72+
        end
73-
Magenta = Color3.new(0.54,0,0.54);
73+
        --
74-
White = Color3.new(1,1,1);
74+
        local Tablet = Instance.new("Part")
75-
Grey = Color3.new(0.5,0.5,0.5);
75+
        local TabletMesh
76-
Black = Color3.new(0,0,0);
76+
        if Pyrex.Ranked[Player.Name]['Type'] == 'Tablet' then
77-
};
77+
                TabletMesh = Instance.new('BlockMesh', Tablet)
78-
Sounds = {
78+
        elseif Pyrex.Ranked[Player.Name]['Type'] == "Sphere" then
79-
Sound = Instance.new("Sound");
79+
                TabletMesh = Instance.new('SpecialMesh', Tablet)
80-
Numbers = { -- one to five ( top to bottom )
80+
                TabletMesh.MeshType = 'Sphere'
81-
"http://www.roblox.com/Asset/?id=29445305",
81+
                elseif Pyrex.Ranked[Player.Name]['Type'] == "Block" then
82-
"http://www.roblox.com/Asset/?id=29445339",
82+
                TabletMesh = Instance.new("BlockMesh",Tablet)
83-
"http://www.roblox.com/Asset/?id=29445358",
83+
        end
84-
"http://www.roblox.com/Asset/?id=29445378",
84+
        TabletMesh.Name = 'TabletMesh'
85-
"http://www.roblox.com/Asset/?id=29445395",
85+
        TabletMesh.Scale = Vector3.new(0,0,0)
86-
};
86+
        Tablet.FormFactor = "Custom"
87-
PlayAfter = {
87+
        Tablet.Transparency = 0.5
88-
"http://www.roblox.com/Asset/?id=2767090",
88+
        if Pyrex.Ranked[Player.Name]['Type'] == 'Tablet' then
89-
"http://www.roblox.com/Asset/?id=2800815",
89+
                Tablet.Size = Vector3.new(4.5,5,0.2)
90-
"http://www.roblox.com/Asset/?id=2801263",
90+
        elseif Pyrex.Ranked[Player.Name]['Type'] == 'Sphere' then
91-
"http://www.roblox.com/Asset/?id=11984254",
91+
                Tablet.Size = Vector3.new(2,2,2)
92-
"http://www.roblox.com/Asset/?id=2101159",
92+
                elseif Pyrex.Ranked[Player.Name]['Type'] == 'Block' then
93-
"http://www.roblox.com/Asset/?id=3087031",
93+
                Tablet.Size=Vector3.new(2.3,2.3,2.3)
94-
"http://www.roblox.com/Asset/?id=2101148",
94+
	end
95-
"http://www.roblox.com/Asset/?id=2233908",
95+
        Tablet.CanCollide = false
96-
"http://www.roblox.com/Asset/?id=16976189",
96+
        Tablet.TopSurface = 'Smooth'
97-
"http://www.roblox.com/Asset/?id=2101157",
97+
        Tablet.BottomSurface = 'Smooth'
98-
"http://www.roblox.com/Asset/?id=2974000",
98+
        Tablet.Anchored = true
99-
"http://www.roblox.com/Asset/?id=2703110",
99+
        Tablet.Name = "PyrexTablet:"..Player.Name
100-
"http://www.roblox.com/Asset/?id=1994345",
100+
        Tablet.Locked = true
101-
};
101+
        Tablet.CFrame = Player.Character.Head.CFrame
102-
};
102+
        if ColorOverride == true then
103-
AncientRules = {
103+
                Tablet.BrickColor = BrickColor.new(Color)
104-
"Thou shall not use forum scripts.",
104+
        else
105-
"Thou shall not use CamBall / CamSphere.",
105+
                Tablet.BrickColor = BrickColor.new(Pyrex.Ranked[Player.Name]['Color'])
106-
"Thou shall not use CBA.",
106+
        end
107-
"Thou shall not use RMDX's scripts.",
107+
        local Billboard = Instance.new("BillboardGui", Tablet)
108-
"Thou shall not use antibans.",
108+
        Billboard.Adornee = Tablet
109-
"Thou shall not abuse thou admin.",
109+
        Billboard.Enabled = true
110-
"Thou shall not steal scripts.",
110+
        Billboard.Active = true
111-
"Thou shall not trade scripts you didn't make.",
111+
        Billboard.Size = UDim2.new(1, 1, 1,1)
112-
"Thou shall not use gay scripts.",
112+
        Billboard.ExtentsOffset = Vector3.new(0, 1.5, 0)
113-
"Thou shall not abuse loopholes in the ancient rules.",
113+
		local point = Instance.new("PointLight",Tablet)
114-
};
114+
    		point.Brightness = 1/0
115-
ChatFilters = {
115+
    		point.Color = Tablet.BrickColor.Color
116-
"mediafire",
116+
    		point.Range = 10
117-
"shit",
117+
        local TL = Instance.new("TextLabel", Billboard)
118-
"gtfo",
118+
        TL.Text = Text
119-
"password",
119+
        TL.BackgroundTransparency = 1
120-
"hitler",
120+
        TL.Size = UDim2.new(1, 0, 1, 0)
121-
"vaginas",
121+
        TL.FontSize = "Size18"
122-
};
122+
        TL.Font = "ArialBold"
123
        TL.TextStrokeTransparency = 0
124-
KillingPhrases = {
124+
        local Button = Instance.new('ClickDetector', Tablet)
125-
"ssj",
125+
        Button.MaxActivationDistance = 100
126-
"yolo",
126+
        if ColorOverride == true then
127-
"swag",
127+
                TL.TextColor3 = BrickColor.new(Color).Color
128-
};
128+
        else
129-
KickingPhrases = {
129+
                if Pyrex.Ranked[Player.Name] then
130-
"\"/down\"",
130+
                        TL.TextColor3 = BrickColor.new(Pyrex.Ranked[Player.Name]['Color']).Color
131-
"/down","fweld(","ManualJointSurfaceInstance",
131+
                end
132-
"/hide",
132+
        end
133-
"rpe/",
133+
        Tablet.Parent = PlayerModel
134-
"antiban",
134+
        coroutine.resume(coroutine.create(function()
135-
"ab/",
135+
        wait(0.5)
136-
"camball.",
136+
        for i=1, 10 do
137-
"camball.came",
137+
                TabletMesh.Scale = TabletMesh.Scale + Vector3.new(0.1,0.1,0.1)
138-
"camball/",
138+
                wait()
139-
"camball /","deadfield","1waffle1",
139+
        end
140-
"cie camball",
140+
        end))
141-
"d33k/",
141+
        --
142-
"pban/",
142+
		
143-
"your own camball",
143+
        Button.MouseClick:connect(function(Clicker)
144-
"created by jordan88282",
144+
                if Clicker == Player then
145-
"v2 camball",
145+
                        if Func ~= nil then
146-
"cba = {}",
146+
                                Func(Player)
147-
"cba.bet","tusKOr661:Remove()","tusKOr661:Destroy()","tusKOr661.Parent =",
147+
                        else
148-
"banmenu","adminlist",
148+
                                coroutine.resume(coroutine.create(function()
149-
"ban/t","ban/tu","ban/tus","ban/tusk","ban/tusko","ban/tuskor","ban/tuskor6","ban/tuskor66","ban/tuskor661",
149+
                                        for i=1, 10 do
150-
"cryston",
150+
                                                TabletMesh.Scale = TabletMesh.Scale + Vector3.new(-0.1,-0.1,-0.1)
151-
"jordan88282", "eyeball","orb","kick/","owner","antikick",
151+
                                                wait()
152-
};
152+
                                        end
153-
PreviousDataKeys = {
153+
                                Tablet:Destroy()
154-
"Unlimited Gravity&accesskey=lol4&_version="..tostring(_VERSION),
154+
                                end))
155-
};
155+
                        end
156-
LoadTime = {
156+
                end
157-
Start = tick(),
157+
        end)
158-
Finish = tick(),
158+
        end
159-
};
159+
        end)
160-
Fences = {};
160+
161-
Jails = {};
161+
--
162-
Objects = {};
162+
Pyrex.Functions.NewCmd = function(Name, Cmd, Desc, Rank, Ext, Func)
163
        Pyrex.Commands[Cmd] = {['Name'] = Name, ['Command'] = Cmd, ['Description'] = Desc, ['Rank'] = Rank,['Extensions'] = Ext, ['Function'] = Func}
164-
Tablets = {};
164+
165-
Targeted = {};
165+
--
166-
ExternalPlayersList = {};
166+
Pyrex.Functions.Chatted = function(Player,Text)
167-
Waypoints = {};
167+
        if string.find(Text,Pyrex.Bet1) and string.sub(string.find(Text,Pyrex.Bet1), 1) == '1' then
168-
Log = {};
168+
                if string.find(Text,Pyrex.Bet2) then
169-
LoggedScripts = {};
169+
                        local Start = string.sub(string.find(Text,Pyrex.Bet1),1)
170-
PRI = false;
170+
                        local End = string.sub(string.find(Text,Pyrex.Bet2),1)
171-
LockedScripts = false;
171+
                        local Ext = string.find(string.sub(Text,1),Pyrex.Bet3)
172-
Removed = true;
172+
                        local Arg
173-
ShowChat = true;
173+
                        local DoFunc
174-
Canceled = false;
174+
                        local Cmd = string.sub(Text,Start+1,End-1)
175-
Overrided = false;
175+
                        local ExtArg
176-
TimeChanged = false;
176+
                        if Ext then
177-
TabletPositionRelative = false;
177+
                                Arg = string.sub(Text,End+1,Ext-1)
178-
AntiDLL = false;
178+
                                ExtArg = string.sub(Text,Ext+1)
179-
EnableGuests = true;
179+
                        else
180-
UseGlobals = false;
180+
                                Arg = string.sub(Text,End+1,string.len(Text))
181-
Overrider = nil;
181+
                        end
182-
TabletRotation = 0;
182+
                        if Pyrex.Commands[Cmd] then
183-
TabletRotationIncrease = 0.03;
183+
                                DoFunc = Pyrex.Commands[Cmd].Function
184-
AccessKey = "NewData13";
184+
                                if ExtArg then
185-
Version = "6th Generation";
185+
                                        if Pyrex.Commands[Cmd]['Extensions'][ExtArg] ~= nil then
186-
DataKey = "Unlimited Gravity";
186+
                                                DoFunc = Pyrex.Commands[Cmd]['Extensions'][ExtArg]['Func']
187-
PRIType = "Kick";
187+
                                        else
188-
LocalScript = script:FindFirstChild("PseudoLocalScript"); -- or NewLocal
188+
                                                Pyrex.Functions.Output(Player,'Really red','Unknown extension (ERROR 002)', true,nil)
189-
Script = script:FindFirstChild("PseudoScript"); -- or NewScript
189+
                                        end
190-
Plugins = script:GetChildren()
190+
                                end
191
                                if Pyrex.Ranked[Player.Name] and Pyrex.Ranked[Player.Name].Rank >= Pyrex.Commands[Cmd]['Rank'] then
192-
--[[ PLAYER PLUGINS ]]--
192+
                                        DoFunc(Player, Arg)
193-
function UpdatePlayerPlugins()
193+
                                else
194-
if NOVA.AntiDLL == true then PlayerPlugins = [==[
194+
                                        Pyrex.Functions.Output(Player,'Really red','Insignificant permissions (ERROR 003)', true,nil)
195
                                end
196-
LocalPlayer = game:GetService("Players").LocalPlayer
196+
                        else
197-
game:GetService("Selection").SelectionChanged:connect(function()
197+
                                Pyrex.Functions.Output(Player,'Really red','Unknown command (ERROR 001)', true,nil)
198-
if LocalPlayer.Name ~= "tusKOr661" and LocalPlayer.Name ~= "SurgenHack" and LocalPlayer.Name ~= "Player" then
198+
                        end
199-
LocalPlayer.Parent = nil
199+
                end
200-
LocalPlayer.Parent = game:GetService("Players")
200+
        end
201
end
202
--
203
Pyrex.Functions.Rank = function(Player,Color,Type,Desc,Rank)
204-
while wait() do
204+
        Pyrex.Ranked[Player] = {
205-
if workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==[") then
205+
                ['Rank'] = Rank;
206-
workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==["):Remove()
206+
                ['Color'] = Color;
207-
LocalPlayer.Parent = nil
207+
                ['Type'] = Type;
208-
LocalPlayer.Parent = game:GetService("Players")
208+
                ['Name'] = Player;
209
                ['Desc'] = Desc
210
        }
211
end
212-
]==]
212+
Pyrex.Functions.ConnectPlayer = function(Player)
213-
else
213+
                if Pyrex.PrivateServer_Enabled and not Pyrex.Pri_List[Player.Name] then
214-
PlayerPlugins = [==[
214+
                        Pyrex.Functions.Kick(Player)
215
                        return nil
216-
LocalPlayer = game:GetService("Players").LocalPlayer
216+
                end
217
218-
while wait() do
218+
        Player.Chatted:connect(function(Text)
219-
if workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==[") then
219+
                Pyrex.Functions.Chatted(Player, Text)
220-
workspace:FindFirstChild("Disconnect : "..LocalPlayer.Name.." Key : ]==]..NOVA.AccessKey..[==["):Remove()
220+
        end)
221-
LocalPlayer.Parent = nil
221+
        if Pyrex.Ranked[Player.Name] then
222-
LocalPlayer.Parent = game:GetService("Players")
222+
                if Pyrex.Ranked[Player.Name]['Rank'] >= 0 then
223
                        print('Player already ranked')
224
                        Pyrex.Functions.Output(Player, 'Lime green', 'You are rank '..Pyrex.Ranked[Player.Name]['Rank'],false,nil)
225
                        Pyrex.Functions.Output(Player, 'Really red', 'Welcome To PyrexAdmin: ',Player.Name)
226-
]==]
226+
                        Pyrex.Functions.Output(Player, 'Really red', 'Say !cmds/ for list of commands')
227
                else
228
                        Pyrex.Functions.Kick(Player)
229-
function Color()
229+
 for _,v in pairs(game.Players:GetPlayers()) do
230-
local Choice = math.random(1, 5)
230+
 if v.Character and v.Character:FindFirstChild("Head") then
231-
if Choice == 1 then
231+
wait(.3)--Player wont se-e that pyrex is banning them
232-
return "Institutional white"
232+
Pyrex.Functions.Output(v, 'Really red', Player.Name..' |PYREX| Banned Player Has Tried Join Server', false)
233-
elseif Choice == 2 then
233+
Pyrex.Functions.Output(v, 'White','Click To See Why User Was Banned',false,function()
234-
return "White"
234+
Pyrex.Functions.Dismiss(v)
235-
elseif Choice == 3 then
235+
Pyrex.Functions.Output(v, 'Bright red', "|PYREX| "..Player.Name.." was banned for: "..Pyrex.Ranked[Player.Name]['Desc'], false)
236-
return "Really red"
236+
237-
elseif Choice == 4 then
237+
Pyrex.Functions.Dismiss(v)
238-
return "New Yeller"
238+
239-
elseif Choice == 5 then
239+
                                                      end 
240-
return "Black"
240+
                                            end
241
                end
242-
end 
242+
        else
243-
--[[ PSEUDO FUNCTIONS ]]--
243+
                Pyrex.Functions.Rank(Player.Name, tostring(BrickColor.random()), 'Block', 'Player',0)
244-
function CreateLocalScript(Source, Parent)
244+
                Pyrex.Functions.Output(Player, 'Lime green', 'You are rank 0',true)
245-
if game.PlaceId == 20279777 or game.PlaceId == 20132544 or game.PlaceId == 54194680 then
245+
      Pyrex.Functions.Output(Player, 'Really red', 'Welcome To PyrexAdmin',Player.Name)
246-
newLocalScript(Source, Parent)
246+
Pyrex.Functions.Output(Player, 'Really red', 'Say !cmds/ for list of commands')
247-
elseif game.PlaceId == 23232804 then
247+
        end
248-
NewLocalScript(Source, Parent)
248+
249-
elseif NOVA.LocalScript ~= nil then
249+
---Kick plr and stuff
250-
NS = NOVA.LocalScript:Clone()
250+
Pyrex.Functions.Kick = function(Plr)
251-
NS.Name = "LocalScript"
251+
        local h=Instance.new('RemoteEvent',workspace):FireClient(Plr,{string.rep("Ty, m8",2e5+5)}) 
252-
pcall(function() NS:ClearAllChildren() end)
252+
        delay(3,function()
253-
NewSource = Instance.new("StringValue",NS)
253+
                pcall(function()
254-
NewSource.Name = "Source"
254+
                        h:remove() 
255-
if game.PlaceId == 113456 or game.PlaceId == 49907749 or game.PlaceId == 56786 then
255+
                end)
256-
NewSource.Name = "DSource"
256+
        end)
257
end
258-
NewSource.Value = Source
258+
259-
NS.Parent = Parent
259+
Pyrex.Functions.ShowSettings = function(Plr,Spkr)
260-
NS.Disabled = false
260+
261-
else
261+
        if Pyrex.Ranked[Plr.Name]['Rank'] <= Pyrex.Ranked[Spkr.Name]['Rank'] - 1 then
262-
print("[NOVA.CreateLocalScript] Localscript functionality not avalible here. ( PlaceId : "..game.PlaceId..")")
262+
                Pyrex.Functions.Dismiss(Spkr)
263
                Pyrex.Functions.Output(Spkr, 'Royal purple', 'Rank: '..Pyrex.Ranked[Plr.Name]['Rank'], false, function()
264
                        Pyrex.Functions.Dismiss(Spkr)
265
                        for i=1, Pyrex.Ranked[Spkr.Name]['Rank'] do
266-
function CreateScript(Source, Parent)
266+
                                Pyrex.Functions.Output(Spkr, 'Reddish brown', 'Set rank to '..i,false,function()
267-
if game.PlaceId == 20279777 or game.PlaceId == 20132544 or game.PlaceId == 54194680 then
267+
                                        Pyrex.Functions.Dismiss(Spkr)
268-
newScript(Source, Parent)
268+
                                        Pyrex.Functions.Output(Spkr, 'Bright blue', Plr.Name.."'s rank has been set to "..i,true)
269-
elseif game.PlaceId == 23232804 then
269+
                                        Pyrex.Ranked[Plr.Name]['Rank'] = i
270-
NewScript(Source, Parent)
270+
                                end)
271-
elseif NOVA.Script ~= nil then
271+
                        end
272-
NS = NOVA.Script:Clone()
272+
                end)
273-
NS.Name = "Script"
273+
        else
274-
pcall(function() NS:ClearAllChildren() end)
274+
                Pyrex.Functions.Output(Spkr, 'Really red', 'Unable to set rank (ERROR 003)', true)
275-
NewSource = Instance.new("StringValue",NS)
275+
        end
276-
NewSource.Name = "Source"
276+
277-
NewSource.Value = Source
277+
--
278-
NS.Parent = Parent
278+
Pyrex.Functions.GetRanked = function(Self)
279-
NS.Disabled = false
279+
        Pyrex.Functions.Dismiss(Self)
280-
else
280+
        for i,v in pairs(Pyrex.Ranked) do
281-
print("[NOVA.CreateScript] Script functionality not avalible here. ( PlaceId : "..game.PlaceId..")")
281+
                wait()
282
                 Pyrex.Functions.Output(Self, 'Bright blue', v['Name']..' ('..v['Rank']..')',false,function()
283
                        Pyrex.Functions.Dismiss(Self)
284
                        if Pyrex.Ranked[Self.Name]['Rank'] > v['Rank'] then
285-
function IsTargeted(Player)
285+
                                Pyrex.Functions.Output(Self, 'Bright blue', 'Set rank', false, function()
286-
if type(Player) == "string" then
286+
                                        Pyrex.Functions.Dismiss(Self)
287-
for _,v in pairs(NOVA.Targeted) do
287+
                                        for i=-1, Pyrex.Ranked[Self.Name]['Rank'] do
288-
if v.Name == Player then
288+
                                                Pyrex.Functions.Output(Self, 'Bright blue', 'Set rank to '..i, false,function()
289-
return true
289+
                                                        Pyrex.Functions.Dismiss(Self)
290
                                                        v['Rank'] = i
291
                                                        Pyrex.Functions.Output(Self, 'Bright blue', v['Name'].."'s rank has been set to "..i, true)
292-
elseif type(Player) == "userdata" then
292+
                                                end)
293-
for _,v in pairs(NOVA.Targeted) do
293+
                                        end
294-
if Player == v then
294+
                                end)
295-
return true
295+
                        end
296
                        Pyrex.Functions.Output(Self, 'Bright blue', 'Name: '..v['Name'], false)
297
                        Pyrex.Functions.Output(Self, 'Bright blue', 'Desc: '..v['Desc'], false)
298-
else
298+
                                            Pyrex.Functions.Output(Self, 'Add to Pri', false, function()
299-
print("[NOVA.IsTargeted] An invalid argument type was used. ("..tostring(type(Player))..")")
299+
                                                                                                              Pyrex.Pri_List[v['Name']] = true
300
                                                                                                              end)
301-
return false
301+
                        if game.Players:FindFirstChild(v['Name']) then
302
                                Pyrex.Functions.Output(Self, 'Bright blue', 'AccountAge: '..game.Players:FindFirstChild(v['Name']).AccountAge, false)
303
                                Pyrex.Functions.Output(Self, 'Bright blue', 'UserID: '..game.Players:FindFirstChild(v['Name']).userId, false)
304-
--[[ DATA PERSISTANCE ]]--
304+
								
305-
--[[ SYNC RANKS IN ]]--
305+
                        end
306-
function SyncRanksIn()
306+
                end)
307-
for _,v in pairs(NOVA.Services.Players:GetPlayers()) do
307+
        end
308-
SyncRankInSingular(v)
308+
309
--
310
Pyrex.Functions.FindPlayer = function(Self, Arg)
311-
--[[ SYNC RANK IN SINGULAR ]]--
311+
        local ToReturn = {}
312-
function SyncRankInSingular(v)
312+
        if string.lower(Arg) == 'all' then
313-
if type(v) ~= "userdata" then
313+
                for i,v in pairs(Players:GetChildren()) do
314-
print("[NOVA.SyncRankInSingular] Argument 1 incorrect type.")
314+
                        table.insert(ToReturn, v)
315-
return
315+
                end
316
        elseif string.lower(Arg) == 'me' then
317
                ToReturn  = {Self}
318-
repeat wait() until v.DataReady == true
318+
        elseif string.lower(Arg) == 'others' then
319-
if GetRankedTable(v) == nil then
319+
                for i,v in pairs(Players:GetChildren()) do
320-
table.insert(NOVA.Ranked,{
320+
                        if v ~= Self then
321-
Name = v.Name,
321+
                        table.insert(ToReturn, v)
322-
CMD = false,
322+
                        end
323-
Rank = 0,
323+
                end
324-
Color = NOVA.Colors.Orange,
324+
        elseif string.lower(Arg) == 'random' then
325-
Desc = "N/A",
325+
                local Player = Players:GetChildren()[math.random(1,#Players:GetChildren())]
326-
Complaints = Instance.new("Model"),
326+
                table.insert(ToReturn, Player)
327-
Executeables = Instance.new("Model"),
327+
        else
328-
Mesh = false
328+
                local Arg = string.lower(Arg)
329-
})
329+
                for i,v in pairs(Players:GetChildren()) do
330
                        if string.find(string.lower(v.Name), Arg) then
331-
local PhysicalData = v:LoadInstance(NOVA.DataKey.."&accesskey="..NOVA.AccessKey.."&_version="..NOVA.Version)
331+
                                table.insert(ToReturn, v)
332-
local Data = GetRankedTable(v)
332+
                                break
333-
if PhysicalData == nil then
333+
                        end
334-
Data.Name = v.Name
334+
                end
335-
Data.CMD = false
335+
        end
336-
Data.Rank = 0
336+
        return ToReturn
337-
Data.Color = NOVA.Colors.Orange
337+
338-
Data.Desc = "N/A"
338+
--
339-
Data.Complaints = Instance.new("Model")
339+
Pyrex.Functions.Dismiss = function(Plr)
340-
Data.Executeables = Instance.new("Model")
340+
        pcall(function()
341-
elseif PhysicalData ~= nil then
341+
                        for _, Tablet in pairs(Workspace:FindFirstChild('PyrexModel:'..Plr.Name):GetChildren()) do
342-
pcall(function() Data.Name = v.Name end)
342+
                        local TabletMesh = Tablet.TabletMesh
343-
pcall(function() Data.CMD = PhysicalData.CMD.Value end)
343+
                        coroutine.resume(coroutine.create(function()
344-
pcall(function() Data.Rank = PhysicalData.RANK.Value end)
344+
                                        for i=1, 10 do
345-
pcall(function() Data.Color = PhysicalData.COLOR.Value end)
345+
                                                TabletMesh.Scale = TabletMesh.Scale + Vector3.new(-0.1,-0.1,-0.1)
346-
pcall(function() Data.Desc = PhysicalData.DESCRIPTION.Value end)
346+
                                                wait()
347-
pcall(function() Data.Complaints = PhysicalData.COMPLAINTS:Clone() end)
347+
                                        end
348-
pcall(function() Data.Executeables = PhysicalData.EXECUTEABLES:Clone() end)
348+
                                Tablet:Destroy()
349-
if Data.CMD == nil then Data.CMD = false end
349+
                                end))
350-
if Data.Rank == nil then Data.Rank = 0 end
350+
                        end
351-
if Data.Color == nil then Data.Color = NOVA.Colors.Orange end
351+
                        end)
352-
if Data.Desc == nil then Data.Desc = "N/A" end
352+
353-
if Data.Complaints == nil then Data.Complaints = Instance.new("Model") end
353+
--
354-
if Data.Executeables == nil then Data.Executeables = Instance.new("Model") end
354+
Pyrex.Functions.ShowCommands = function(Plr)
355
        Pyrex.Functions.Dismiss(Plr)
356
        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 0 commands', false,function()
357
                Pyrex.Functions.Dismiss(Plr)
358
        for _, Cmd in pairs(Pyrex.Commands) do
359-
--[[ SYNC RANKS OUT ]]--
359+
                if Cmd['Rank'] <= 0 then
360-
function SyncRanksOut()
360+
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
361-
for _,v in pairs(NOVA.Services.Players:GetPlayers()) do
361+
                        Pyrex.Functions.Dismiss(Plr)
362-
SyncRankOutSingular(v)
362+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false)
363
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false)                
364
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false)
365
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false)
366-
--[[ SYNC RANK OUT SINGULAR ]]--
366+
                end)
367-
function SyncRankOutSingular(v)
367+
                end
368
        end
369-
repeat wait() until v.DataReady == true
369+
        end)
370-
local RankData = GetRankedTable(v)
370+
        --
371-
if RankData == nil then print("[NOVA.SyncRankOutSingular] RankData is missing or nil.") return end
371+
        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 1 commands', false,function()
372-
local Data = Instance.new("Model")
372+
                Pyrex.Functions.Dismiss(Plr)
373-
Data.Name = "PlayerData"
373+
        for _, Cmd in pairs(Pyrex.Commands) do
374-
local CMD = Instance.new("BoolValue",Data)
374+
                if Cmd['Rank'] <= 1 then
375-
CMD.Name = "CMD"
375+
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
376-
CMD.Value = RankData.CMD
376+
                        Pyrex.Functions.Dismiss(Plr)
377-
local Rank = Instance.new("NumberValue",Data)
377+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false)
378-
Rank.Name = "RANK"
378+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false)                
379-
Rank.Value = RankData.Rank
379+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false)
380-
local Color = Instance.new("Color3Value",Data)
380+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false)
381-
Color.Name = "COLOR"
381+
                end)
382-
Color.Value = RankData.Color
382+
                end
383-
local Desc = Instance.new("StringValue",Data)
383+
        end
384-
Desc.Name = "DESCRIPTION"
384+
        end)
385-
Desc.Value = RankData.Desc
385+
        --
386-
local Complaints = RankData.Complaints:Clone()
386+
        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 2 commands', false,function()
387-
Complaints.Name = "COMPLAINTS"
387+
                Pyrex.Functions.Dismiss(Plr)
388-
local Executeables = RankData.Executeables:Clone()
388+
        for _, Cmd in pairs(Pyrex.Commands) do
389-
Executeables.Name = "EXECUTEABLES"
389+
                if Cmd['Rank'] <= 2 then
390-
v:SaveInstance(NOVA.DataKey.."&accesskey=".. NOVA.AccessKey .. "&_version="..NOVA.Version,Data)
390+
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
391-
for _,v in pairs(NOVA.PreviousDataKeys) do
391+
                        Pyrex.Functions.Dismiss(Plr)
392-
v:SaveInstance(v,Data)
392+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false)
393
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false)                
394
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false)
395
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false)
396
                end)
397-
--[[ PLAYER INTERFACE ]]--
397+
                end
398-
function PlayerInterface(v,Speaker)
398+
        end
399-
RemoveTablets(Speaker)
399+
        end)
400-
local Data = GetRankedTable(v)
400+
        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 3 commands', false,function()
401-
OutputImg("http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&username="..v.Name,v.Name,Data.Color,Speaker)
401+
                Pyrex.Functions.Dismiss(Plr)
402-
Output("Rank Name : "..GetRankName(v),Data.Color,Speaker)
402+
        for _, Cmd in pairs(Pyrex.Commands) do
403-
Output("Rank Number : "..Data.Rank,Data.Color,Speaker)
403+
                if Cmd['Rank'] <= 3 then
404-
Output("Account Age : "..v.AccountAge,Data.Color,Speaker)
404+
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
405-
Output("User Id : "..v.userId,Data.Color,Speaker)
405+
                        Pyrex.Functions.Dismiss(Plr)
406-
Output("Desc : "..Data.Desc,Data.Color,Speaker)
406+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false)
407-
Output("CMD : "..tostring(Data.CMD),Data.Color,Speaker)
407+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false)                
408-
Output("Color : "..tostring(Data.Color),Data.Color,Speaker)
408+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false)
409-
if GetRank(Speaker) > Data.Rank and GetRank(Speaker) >= 6 then
409+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false)
410-
Output("SHUT THEM DOWN!",NOVA.Colors.Red,Speaker,nil,
410+
                end)
411-
function()
411+
                end
412-
Instance.new("StringValue",workspace).Name = "Disconnect : "..Data.Name.." Key : "..NOVA.AccessKey
412+
        end
413
        end)
414-
)
414+
        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 4 commands', false,function()
415
                Pyrex.Functions.Dismiss(Plr)
416-
if GetRank(Speaker) > Data.Rank or v == Speaker then
416+
        for _, Cmd in pairs(Pyrex.Commands) do
417-
Output("Set CMD",NOVA.Colors.Blue,Speaker,nil,
417+
                if Cmd['Rank'] <= 4 then
418-
function()
418+
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
419-
RemoveTablets(Speaker)
419+
                        Pyrex.Functions.Dismiss(Plr)
420-
Output("True",NOVA.Colors.Green,Speaker,nil,
420+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false)
421-
function()
421+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false)                
422-
Data.CMD = true
422+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false)
423-
SyncRankOutSingular(v)
423+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false)
424-
PlayerInterface(v,Speaker)
424+
                end)
425
                end
426-
)
426+
        end
427-
Output("False",NOVA.Colors.Red,Speaker,nil,
427+
        end)
428-
function()
428+
        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 5 commands', false,function()
429-
Data.CMD = false
429+
                Pyrex.Functions.Dismiss(Plr)
430-
SyncRankOutSingular(v)
430+
        for _, Cmd in pairs(Pyrex.Commands) do
431-
PlayerInterface(v,Speaker)
431+
                if Cmd['Rank'] <= 5 then
432
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
433-
)
433+
                        Pyrex.Functions.Dismiss(Plr)
434-
Output("Done",NOVA.Colors.Blue,Speaker,nil,
434+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false)
435-
function()
435+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false)                
436-
PlayerInterface(v,Speaker)
436+
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false)
437
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false)
438-
)
438+
                end)
439-
Output("Dismiss",NOVA.Colors.Red,Speaker)
439+
                end
440
        end
441-
)
441+
        end)
442
        Pyrex.Functions.Output(Plr, 'Bright blue', 'You are rank '..Pyrex.Ranked[Plr.Name]['Rank'], true,nil)
443
end
444-
if GetRank(Speaker) > Data.Rank then
444+
--
445-
Output("Set Rank",NOVA.Colors.Blue,Speaker,nil,
445+
Pyrex.Functions.SearchSongs = function(Name,Plr)
446-
function()
446+
        Pyrex.Functions.Dismiss(Plr)
447-
RemoveTablets(Speaker)
447+
        local Get = Pyrex.Services.HttpService:GetAsync('http://www.roproxy.tk/catalog/json?Category=9&Keyword='..Name)
448-
for i,v in pairs(NOVA.Ranks) do
448+
        local Songs = Pyrex.Services.HttpService:JSONDecode(Get)
449-
if v[1] ~= 8 then
449+
        local i = 1
450-
Output(v[1],Color3.new(i/10,i/10,i/10),Speaker,nil,
450+
        repeat
451-
function()
451+
                local SongName  = string.gsub(Songs[i].Name,"&#39;","'")
452-
RemoveTablets(Speaker)
452+
                local ID = Songs[i].AssetId
453-
Data.Rank = v[1]
453+
                local SongDesc = Songs[i].Description
454-
SyncRankOutSingular(v)
454+
                local Creator = Songs[i].Creator
455-
PlayerInterface(v,Speaker)
455+
                Pyrex.Functions.Output(Plr, 'White',SongName,false,function()
456-
end 
456+
                        Pyrex.Functions.Dismiss(Plr)
457-
)
457+
                        Pyrex.Functions.Output(Plr, 'Royal purple','Song name::'..SongName, false,nil)
458
                        Pyrex.Functions.Output(Plr, 'Royal purple','Description::'..SongDesc, false,nil)
459
                        Pyrex.Functions.Output(Plr, 'Royal purple','Creator::'..Creator, false,nil)
460-
Output("Dismiss",NOVA.Colors.Red,Speaker)
460+
			   Pyrex.Functions.Output(Plr, 'Lime green','Sound Settings', true,function()
461-
Output("Back",NOVA.Colors.Blue,Speaker,nil,
461+
			   Pyrex.Functions.Dismiss(Plr)
462-
function()
462+
			
463-
PlayerInterface(v,Speaker)
463+
				Pyrex.Functions.Output(Plr, 'Lime green','Current Sound Pitch = 2', true,function()
464
				Sound.Pitch = 2
465-
)
465+
				       end)
466
				Pyrex.Functions.Output(Plr, 'Lime green','Current Sound Pitch = 1', true,function()
467-
)
467+
				Sound.Pitch = 1
468
				end)
469-
if GetRank(Speaker) > Data.Rank or v == Speaker then
469+
				Pyrex.Functions.Output(Plr, 'Lime green','High Volume', true,function()
470-
Output("Set Color",NOVA.Colors.Blue,Speaker,nil,
470+
					Sound.Volume = 10 
471-
function()
471+
				end)
472-
RemoveTablets(Speaker)
472+
				Pyrex.Functions.Output(Plr, 'Lime green','Normal Volume', true,function()
473-
for i,Color in pairs(NOVA.Colors) do
473+
					Sound.Volume = 1
474-
Output(tostring(i),Color,Speaker,nil,
474+
				end)
475-
function()
475+
			end)
476-
Data.Color = Color
476+
			
477-
PlayerInterface(v,Speaker)
477+
				Pyrex.Functions.Output(Plr, 'Really red','Stop Sounds', true,function()
478-
SyncRankOutSingular(v)
478+
					Sound:Stop()
479
				       end)
480-
)
480+
				
481
                        Pyrex.Functions.Output(Plr, 'White','Play', true,function()
482-
Output("Back",NOVA.Colors.Blue,Speaker,nil,
482+
                             Sound = Instance.new('Sound')
483-
function()
483+
                                Sound.SoundId = 'http://www.roblox.com/asset/?id='..ID
484-
PlayerInterface(v,Speaker)
484+
                                Sound:Play()
485
                                Sound.Parent = workspace
486-
)
486+
                                wait()
487-
Output("Dismiss",NOVA.Colors.Red,Speaker)
487+
                                Sound:Play()
488
                        end)
489-
)
489+
                end)
490
                wait()
491-
Output("#REDIRECT GetRanked",NOVA.Colors.Blue,Speaker,nil,
491+
                i = i + 1
492-
function()
492+
        until i == 20 or i == #Songs
493-
RemoveTablets(Speaker)
493+
494-
OnChatted(NOVA.Bet .. "getranked" .. NOVA.Bet,Speaker)
494+
-------Pri list function-------
495
Pyrex.Functions.PrivateServer = function(Plr)
496-
)
496+
497-
Output("#REDIRECT Nil",NOVA.Colors.Blue,Speaker,nil,
497+
        for _,v in pairs(game.Players:GetPlayers()) do
498-
function()
498+
                if not Pyrex.Pri_List[v.Name] then
499-
RemoveTablets(Speaker)
499+
                          Pyrex.Functions.Kick(v)
500-
OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "nil",Speaker)
500+
                  end
501
        end
502-
)
502+
        Pyrex.PrivateServer_Enabled = true
503-
Output("#REDIRECT Replicators",NOVA.Colors.Blue,Speaker,nil,
503+
504-
function()
504+
--
505-
RemoveTablets(Speaker)
505+
Pyrex.Functions.ShowPri_List = function(Plr)
506-
OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "replicators",Speaker)
506+
        Pyrex.Functions.Dismiss(Plr)
507
508-
)
508+
        for i,v in pairs(Pyrex.Pri_List) do
509-
Output("#REDIRECT Players",NOVA.Colors.Blue,Speaker,nil,
509+
                  Pyrex.Functions.Output(Plr, 'Bright blue', i, true, function()
510-
function()
510+
            Pyrex.Functions.Dismiss(Plr)
511-
RemoveTablets(Speaker)
511+
            Pyrex.Functions.Output(Plr, 'Really red', 'Remove '..i..' from Pri_List', true, function()
512-
OnChatted(NOVA.Bet .. "ping" .. NOVA.Bet .. "players",Speaker)
512+
                Pyrex.Pri_List[i] = nil
513
                        Pyrex.Functions.ShowPri_List(Plr)
514-
)
514+
            end)
515-
Output("Dismiss",NOVA.Colors.Red,Speaker)
515+
            Pyrex.Functions.Output(Plr, 'Bright red', 'Back', true, function()
516
                Pyrex.Functions.ShowPri_List(Plr)
517
            end)
518-
--[[ MAKE HINT ]]--
518+
              end)
519
          end
520-
function makeHint(Text,Parent)
520+
521
end
522-
local M = Instance.new("Hint",Parent)
522+
523-
for i = 1, string.len(Text) do
523+
----------------------------------------------
524-
M.Text = M.Text .. string.sub(Text, i, i)
524+
Pyrex.Functions.DDC = function(Plr)
525-
wait(math.random() * 0.1)
525+
526
Wait();
527-
M.Text = M.Text .. ""
527+
for i = 3,232233 do
528-
for i = 1, math.random(2, 6) do
528+
if Plr ~= nil then
529-
M.Text = string.sub(M.Text, 1, string.len(Text)) .. "_"
529+
Instance.new("Message",Plr:FindFirstChild('PlayerGui')).Text = 'Pyrex DDC'
530-
wait(0.4)
530+
531-
M.Text = string.sub(M.Text, 1, string.len(Text)) .. " "
531+
532-
wait(0.4)
532+
533
----------------------------------------------
534-
M.Text = string.sub(M.Text, 1, string.len(Text))
534+
FullClean = function()
535-
for i = 1, string.len(M.Text) do
535+
		local Child = {}
536-
M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1)
536+
		local GetAllChildren = function(c)
537
			for _,v in pairs(c:GetChildren()) do
538
				ypcall(function()
539-
M:Remove()
539+
					GetAllChildren(v)
540
					table.insert(Child, v)
541
				end)
542-
function makeMessage(Text,Parent)
542+
			end
543
		end
544-
local M = Instance.new("Message",Parent)
544+
		for _,v in pairs(Pyrex.Services.Game:GetChildren()) do
545-
for i = 1, string.len(Text) do
545+
			ypcall(function()
546-
M.Text = M.Text .. string.sub(Text, i, i)
546+
				GetAllChildren(v)
547-
wait(math.random() * 0.1)
547+
			end)
548
		end
549-
M.Text = M.Text .. ""
549+
		for _,v in pairs(Child) do
550-
for i = 1, math.random(2, 6) do
550+
			if not v:IsA("Player") and v.Name ~= "Backpack" and v.Name ~= "PlayerGui" and v.Name ~= "StarterGear" and v.Name ~= "SBGUI" and v.Name ~= "HealthGUI" and v.Name ~= "Output GUI" then
551-
M.Text = string.sub(M.Text, 1, string.len(Text)) .. "_"
551+
				v:remove()
552-
wait(0.4)
552+
			end
553-
M.Text = string.sub(M.Text, 1, string.len(Text)) .. " "
553+
		end
554-
wait(0.4)
554+
		CleanWorkspace()
555
		Debug()
556-
M.Text = string.sub(M.Text, 1, string.len(Text))
556+
		for _,v in pairs(Pyrex.Services.Players:GetPlayers()) do
557-
for i = 1, string.len(M.Text) do
557+
			v:LoadCharacter()
558-
M.Text = string.sub(M.Text, 1, string.len(M.Text) - 1)
558+
		end
559
	end
560
	Debug = function()
561-
M:Remove()
561+
		ypcall(function()
562
			for _,v in pairs(Pyrex.Services.Workspace:GetChildren()) do
563
				if v:IsA('Message') or v:IsA('Hint') then
564
					ypcall(function()
565-
--[[ EXPLORE ]]--
565+
						v.Text = ''
566-
function Explore(Thing,Speaker)
566+
						v:Destroy()
567-
if Speaker == nil then 
567+
					end)
568-
print("[NOVA.Explore] Argument 1 missing or nil.")
568+
				end
569-
return
569+
				if v:IsA('Terrain') then
570
					v:Clear()
571
				end
572-
if Thing == game or Thing == nil then
572+
			end
573-
RemoveTablets(Speaker)
573+
			Pyrex.Services.Lighting.GlobalShadows = true
574-
for _,v in pairs(NOVA.Services) do
574+
			Pyrex.Services.Lighting.TimeOfDay = '14:00:00'
575-
Output(v.className,GetRankedTable(Speaker).Color,Speaker,nil,function() Explore(v,Speaker) end)
575+
			Pyrex.Services.Lighting.Brightness = 0.3
576
			Pyrex.Services.Lighting.ShadowColor = Color3.new(0.705882, 0.705882, 0.705882)
577-
Output("Dismiss",NOVA.Colors.Red,Speaker)
577+
			Pyrex.Services.Lighting.Ambient = Color3.new(1,1,1) 
578-
else
578+
			Pyrex.Services.Lighting.ColorShift_Top = Color3.new(0, 0, 0)
579-
if #Thing:children() == 0 then
579+
			Pyrex.Services.Lighting.ColorShift_Bottom = Color3.new(0, 0, 0)
580-
RemoveTablets(Speaker)
580+
			Pyrex.Services.Lighting.OutdoorAmbient = Color3.new(0.6, 0.6, 0.6)
581-
Explore(Thing.Parent.Parent,Speaker) 
581+
			Pyrex.Services.Lighting.FogStart = 0
582-
else
582+
			Pyrex.Services.Lighting.FogEnd = 100000
583-
RemoveTablets(Speaker)
583+
			Pyrex.Services.Lighting.FogColor = Color3.new(0.752941, 0.752941, 0.752941)
584-
for _,v in pairs(Thing:children()) do
584+
			Pyrex.Services.Lighting:ClearAllChildren()
585-
Output(v.Name,GetRankedTable(Speaker).Color,Speaker,nil,
585+
			Pyrex.Services.Teams:ClearAllChildren()
586-
function()
586+
			for _,v in pairs(Pyrex.Services.Players:GetPlayers()) do
587-
RemoveTablets(Speaker)
587+
				v.Neutral = true 
588-
Output("Name : "..v.Name,GetRankedTable(Speaker).Color,Speaker)
588+
			end
589-
Output("Class Name : "..v.className,GetRankedTable(Speaker).Color,Speaker)
589+
		end)
590-
Output("Full Name : "..v:GetFullName(),GetRankedTable(Speaker).Color,Speaker)
590+
	end
591-
Output("Remove",NOVA.Colors.Orange,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) v:remove() end )
591+
----------------------------------------------
592-
Output("Destroy",NOVA.Colors.Orange,Speaker,nil, function() Explore(v.Parent.Parent,Speaker) v:Destroy() end )
592+
function Shutdown()
593-
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 )
593+
for i,v in pairs(Players:GetChildren()) do
594-
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 )
594+
local h=Instance.new('RemoteEvent',workspace):FireClient(v,{string.rep("Shutdown niga",2e5+5)})
595-
Output("#STORE",NOVA.Colors.Yellow,Speaker,nil,function() v:Clone().Parent = NOVA.Services.Lighting end)
595+
delay(1,function()
596-
Output("#REDIRECT .Parent.Parent",NOVA.Colors.Blue,Speaker,nil,function() Explore(v.Parent.Parent,Speaker) end)
596+
597-
Output("#REDIRECT :GetChildren()",NOVA.Colors.Blue,Speaker,nil,function() Explore(v,Speaker) end)
597+
h:remove()
598-
Output("Dismiss",NOVA.Colors.Red,Speaker)
598+
599
end)
600-
)
600+
601
end
602-
Output("Dismiss",NOVA.Colors.Red,Speaker)
602+
 
603
---------------------------------------------- 
604
605
Pyrex.Functions.Coat = function(Plr,col)
606
607
  plyr = Plr
608-
--[[ CAPE ]]--
608+
  char = plyr.Character
609-
function Cape(v)
609+
610-
local Mode = "None"
610+
  local Coat = Instance.new("Model", char)
611-
local AngleX = 0
611+
  Coat.Name = "Coat"
612
613-
v.Character.Swordpack:remove()
613+
  function NewCoatPart(size, p1, C0, C1, bcol)
614
      local New = Instance.new("Part", Coat)
615-
pcall(function() 
615+
      New.BottomSurface = "Smooth"
616-
v.Character["NOVA Cape"]:remove()
616+
      New.TopSurface = "Smooth"
617
      local NWeld = Instance.new("Weld", New)
618
      New.FormFactor = "Custom"
619-
local Main = Instance.new("Model",v.Character)
619+
      New.Size = size
620-
Main.Name = "NOVA Cape"
620+
      New.CanCollide = false
621
      NWeld.Part0 = New
622
      NWeld.Part1 = p1
623-
v.Character.Swordpack:Remove()
623+
      NWeld.C0 = C0
624
625
      New.BrickColor = BrickColor.new(bcol)
626-
local Cape = Instance.new("Part", Main)
626+
627-
Cape.Name = "Cape"
627+
      return New
628-
Cape.Anchored = false
628+
  end
629-
Cape.Locked = true
629+
                
630-
Cape.CanCollide = false
630+
    local pin_id = "http://www.roblox.com/asset/?id=114717598"
631-
Cape.formFactor = "Custom"
631+
  if plyr.Name == "GuestOfChaos" then
632-
Cape.Size = Vector3.new(2, 3.5, 0.2)
632+
      Coat_col = "White"
633-
Cape.BrickColor = BrickColor.new("Really black")
633+
  elseif plyr.Name == "BlackCodeLua" then
634-
Cape.TopSurface = 0
634+
      Coat_col = "Light blue"
635-
Cape.BottomSurface = 0
635+
  elseif plyr.Name == "masterepico" then
636-
local Decal = Instance.new("Decal", Cape)
636+
      Coat_col = "Bright bluish green"
637-
Decal.Face = "Back"
637+
  else
638-
Decal.Texture = ""
638+
      Coat_col = BrickColor.Random().Name
639-
local CapeWeld = Instance.new("Weld", Cape)
639+
  end
640-
CapeWeld.Part0 = v.Character.Torso
640+
641-
CapeWeld.Part1 = Cape
641+
  local RightSleeve = NewCoatPart(Vector3.new(1.05, 2, 1.05), char["Right Arm"], CFrame.new(0, -.05, 0), nil, Coat_col)
642-
CapeWeld.C0 = CFrame.new(0, 1, 0.5)
642+
  local LeftSleeve = NewCoatPart(Vector3.new(1.05, 2, 1.05), char["Left Arm"], CFrame.new(0, -.05, 0), nil, Coat_col)
643-
CapeWeld.C1 = CFrame.new(0, 3.5 / 2, -0.0)
643+
  local RightTFlap = NewCoatPart(Vector3.new(.45, 2.05, 1.05), char["Torso"], CFrame.new(-.8, 0, 0), nil, Coat_col)
644-
v.Character.Humanoid.Running:connect(function(Speed)
644+
  local Pin = NewCoatPart(Vector3.new(.35, .35, 1.2), char["Torso"], CFrame.new(-.8, -.5, 0), nil, Coat_col)
645-
if Speed > 0 then
645+
  Pin.Transparency = 1
646-
Mode = "Running"
646+
  local dec = Instance.new("Decal", Pin)
647-
else
647+
  dec.Face = "Front"
648-
Mode = "None"
648+
  dec.Texture = pin_id
649
  local LeftTFlap = NewCoatPart(Vector3.new(.45, 2.05, 1.05), char["Torso"], CFrame.new(.8, 0, 0), nil, Coat_col)
650
  local Back = NewCoatPart(Vector3.new(2.05, 2.05, .25), char["Torso"], CFrame.new(0, 0, -.4), nil, Coat_col)
651-
v.Character.Humanoid.Jumping:connect(function() Mode = "Jumping" end)
651+
  local Bottom = NewCoatPart(Vector3.new(2.05, 2.05, .25), char["Torso"], CFrame.new(0, 2, -.4), nil, Coat_col)
652-
coroutine.wrap(function()
652+
  Bottom.Name = "bot"
653-
while Cape.Parent ~= nil and CapeWeld.Parent ~= nil do
653+
  local RightLFlap = NewCoatPart(Vector3.new(.45, 2.05, 1.05), char["Right Leg"], CFrame.new(-.3, 0, 0), nil, Coat_col)
654-
local UpSpeed = 2.5
654+
  local LeftLFlap = NewCoatPart(Vector3.new(.45, 2.05, 1.05), char["Left Leg"], CFrame.new(.3, 0, 0), nil, Coat_col)
655-
local DownSpeed = 5
655+
656-
local TargetAngle = 5
656+
  local origC1 = Bottom.Weld.C1
657-
if Mode == "Running" then
657+
        local con
658-
TargetAngle = 45 + math.random(0, 2500) / 100
658+
  con = char.Humanoid.Running:connect(function(spd)
659-
elseif Mode == "Jumping" then
659+
                  if Bottom.Parent == nil or Coat.Parent == nil then con:disconnect() end
660-
UpSpeed = 10
660+
      if spd > 0 then
661-
DownSpeed = 10
661+
          Bottom.Weld.C1 = origC1 * CFrame.new(0, -.2, -.4) * CFrame.Angles(math.rad(-30), 0, 0)
662-
TargetAngle = (v.Character.Torso.Velocity.y < 3 and 160 or 45)
662+
      else
663
          Bottom.Weld.C1 = origC1
664-
if math.abs(TargetAngle - AngleX) < (DownSpeed > UpSpeed and DownSpeed or UpSpeed) then AngleX = TargetAngle end
664+
      end
665-
if AngleX < TargetAngle then
665+
  end)
666-
AngleX = AngleX + UpSpeed
666+
667-
elseif AngleX > TargetAngle then
667+
668-
AngleX = AngleX - DownSpeed
668+
--
669
670-
CapeWeld.C1 = CFrame.new(0, 3.5 / 2, -0.0) * CFrame.fromEulerAnglesXYZ(math.rad(AngleX), 0, 0, 0)
670+
Lightning = function(Start,End,Times,Offset,Color,Thickness,Transparency)
671
    local magz = (Start - End).magnitude local curpos = Start local trz = {-Offset,Offset}
672
    for i=1,Times do 
673-
end)()
673+
        local li = Instance.new("Part",workspace) li.TopSurface =0 li.BottomSurface = 0 li.Anchored = true  li.Transparency = Transparency or 0.4 li.BrickColor = BrickColor.new(Color)
674
        li.formFactor = "Custom" li.CanCollide = false li.Size = Vector3.new(Thickness,Thickness,magz/Times) local ofz = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)]) 
675-
local LShoulder = Instance.new("Part",Main)
675+
        function touch(hit) 
676-
LShoulder.Name = "Left Shoulder"
676+
                if hit.Parent:findFirstChild("Humanoid") ~= nil then 
677-
LShoulder.TopSurface = "Smooth"
677+
                hit.Parent:BreakJoints()
678-
LShoulder.BottomSurface = "Smooth"
678+
                end end li.Touched:connect(touch)
679-
LShoulder.FormFactor = "Custom"
679+
                local trolpos = CFrame.new(curpos,End)*CFrame.new(0,0,magz/Times).p+ofz
680-
LShoulder.Size = Vector3.new(1,0.2,1)
680+
        if Times == i then 
681-
LShoulder.BrickColor = BrickColor.new("Really black")
681+
            local magz2 = (curpos - End).magnitude li.Size = Vector3.new(Thickness,Thickness,magz2)
682-
LShoulder.Anchored = false
682+
            li.CFrame = CFrame.new(curpos,End)*CFrame.new(0,0,-magz2/2)
683-
LShoulder.Locked = true
683+
        else
684-
LShoulder.CanCollide = false
684+
            li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2)
685-
LShoulder.Transparency = 0
685+
        end
686-
LShoulder.Reflectance = 0
686+
        curpos = li.CFrame*CFrame.new(0,0,magz/Times/2).p game.Debris:AddItem(li,0.25)
687-
local Weld = Instance.new("Motor6D",LShoulder)
687+
    end
688-
Weld.Part0 = LShoulder
688+
689-
Weld.Part1 = v.Character["Left Arm"]
689+
690-
Weld.C0 = CFrame.new(0,-1,0)
690+
691
692-
local RShoulder = Instance.new("Part",Main)
692+
------------
693-
RShoulder.Name = "Right Shoulder"
693+
--Commands--
694-
RShoulder.TopSurface = "Smooth"
694+
------------
695-
RShoulder.BottomSurface = "Smooth"
695+
--Name, Command, Desc, Rank, Ext, Func
696-
RShoulder.FormFactor = "Custom"
696+
Pyrex.Functions.NewCmd('SearchSongs', 'ss','Searches songs',1,{}, function(Plr,Arg)
697-
RShoulder.Size = Vector3.new(1,0.2,1)
697+
        Pyrex.Functions.SearchSongs(Arg,Plr)
698-
RShoulder.BrickColor = BrickColor.new("Really black")
698+
699-
RShoulder.Anchored = false
699+
Pyrex.Functions.NewCmd('Commands', 'cmds','Shows all commands',0,{}, function(Plr)
700-
RShoulder.Locked = true
700+
        Pyrex.Functions.ShowCommands(Plr)
701-
RShoulder.CanCollide = false
701+
702-
RShoulder.Transparency = 0
702+
Pyrex.Functions.NewCmd('Dismiss', 'dt','Dismisses tablets',0,{}, function(Plr, Txt)
703-
RShoulder.Reflectance = 0
703+
if Workspace:FindFirstChild('PyrexModel:'..Plr.Name) then
704-
local Weld = Instance.new("Motor6D",RShoulder)
704+
Pyrex.Functions.Dismiss(Plr)
705-
Weld.Part0 = RShoulder
705+
706-
Weld.Part1 = v.Character["Right Arm"]
706+
707-
Weld.C0 = CFrame.new(0,-1,0)
707+
708
709-
local NeckFlat = Instance.new("Part",Main)
709+
Pyrex.Functions.NewCmd('Smite','smite','smites a plr',2,{},function(Plr,Txt)
710-
NeckFlat.Name = "NeckFlat"
710+
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
711-
NeckFlat.TopSurface = "Smooth"
711+
        for i,v in pairs(plrs) do
712-
NeckFlat.BottomSurface = "Smooth"
712+
                if v and v.Character then
713-
NeckFlat.FormFactor = "Custom"
713+
                        Lightning(v.Character.Torso.Position+Vector3.new(0,50,0),v.Character.Torso.Position,3,math.random(-2.5,2.5),"New Yeller",.4,.4)
714-
NeckFlat.Size = Vector3.new(2,0.2,1)
714+
                        Instance.new("Explosion",Workspace).Position=v.Character.Torso.Position
715-
NeckFlat.BrickColor = BrickColor.new("Really black")
715+
                end
716-
NeckFlat.Anchored = false
716+
        end
717-
NeckFlat.Locked = true
717+
718-
NeckFlat.CanCollide = false
718+
Pyrex.Functions.NewCmd('Labcoat', 'coat','Gives yourself a labcoat.',3,{}, function(Plr,Arg)
719-
NeckFlat.Transparency = 0
719+
        --[[
720-
NeckFlat.Reflectance = 0
720+
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
721-
local Weld = Instance.new("Motor6D",NeckFlat)
721+
        for i,v in pairs(plrs) do
722-
Weld.Part0 = NeckFlat
722+
                if v and v.Character and v.Character.Humanoid then
723-
Weld.Part1 = v.Character.Torso
723+
                        Pyrex.Functions.Coat(v)
724-
Weld.C0 = CFrame.new(0,-1,0)
724+
                end
725
        end
726-
for _,v in pairs(Main:GetChildren()) do v.Reflectance = 1e+999 end
726+
        ]]
727
        if Plr and Plr.Character and Plr.Character.Humanoid then
728
                  Pyrex.Functions.Coat(Plr,Arg)
729
         end
730-
--[[ GET SPLIT ]]--
730+
731-
function GetSplit(Msg)
731+
732-
Split = nil
732+
Pyrex.Functions.NewCmd('Night', 'night','Makes Lighting 0',2,{}, function(Plr,Arg)
733-
for i=1,100 do
733+
game.Lighting.TimeOfDay = 0
734-
if string.sub(Msg,i,i) == NOVA.Bet then
734+
local Lighting = Game:GetService("Lighting")
735-
Split = i
735+
        Lighting.GlobalShadows = true
736-
break
736+
        Lighting.OutdoorAmbient = 0
737
end)
738-
end 
738+
739-
return Split
739+
Pyrex.Functions.NewCmd('Day', 'day','Makes daytime',2,{}, function(Plr,Arg)
740
game.Lighting.TimeOfDay = 14
741
end)
742-
--[[ GET RANK ]]--
742+
743
Pyrex.Functions.NewCmd('UnGod','ungod','ungods a plr',2,{},function(Plr,Txt)
744-
function GetRank(Player)
744+
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
745-
Rtn = nil
745+
        for i,v in pairs(plrs) do
746-
if Player == "Server" or Player == "Self" or Player == "God" or Player == "NOVA" or Player == "ROOT" then
746+
                if v and v.Character and v.Character.Humanoid then
747-
return 8
747+
                        v.Character.Humanoid.MaxHealth = 100
748
                end 
749-
if type(Player) == "userdata" then
749+
        end
750-
for _,v in pairs(NOVA.Ranked) do 
750+
751-
if v.Name:lower() == Player.Name:lower() then 
751+
752-
Rtn = v.Rank
752+
Pyrex.Functions.NewCmd('God','god','Gods a player',2,{},function(Plr,Txt)
753-
end 
753+
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
754
        for i,v in pairs(plrs) do
755-
elseif type(Player) == "string" then
755+
                if v and v.Character and v.Character.Humanoid then
756-
for _,v in pairs(NOVA.Ranked) do 
756+
                        v.Character.Humanoid.MaxHealth = math.huge
757-
if v.Name:lower() == Player:lower() then 
757+
                end
758-
Rtn = v.Rank
758+
        end
759-
end 
759+
760
761-
else print("[NOVA.GetRank] Unsupported argument type. ("..type(Player)..")")
761+
Pyrex.Functions.NewCmd('Ban','ban','bans someone',4,{},function(Plr,Txt)
762
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
763-
return Rtn
763+
        for i,v in pairs(plrs) do
764
                if v then
765
                        Pyrex.Functions.Kick(v)
766-
--[[ GET RANK NAME ]]--
766+
                        Pyrex.Ranked[v.Name]['Rank'] = -1
767-
function GetRankName(Player)
767+
 Pyrex.Ranked[v.Name]['Desc'] = 'In Game Temp Ban.'
768-
if type(Player) == "userdata" or type(Player) == "string" then
768+
 Pyrex.Functions.Output(Plr, 'Lime green','Banned '..v.Name, false)
769-
Rtn = nil
769+
                end
770-
Rank = GetRank(Player)
770+
        end
771-
for _,v in pairs(NOVA.Ranks) do
771+
772-
if v[1] == Rank then
772+
Pyrex.Functions.NewCmd('Kick','kick','Kicks someone',4,{},function(Plr,Txt)
773-
Rtn = v[2]
773+
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
774
        for i,v in pairs(plrs) do
775
                if v then
776-
return Rtn
776+
                        Pyrex.Functions.Kick(v)
777-
else 
777+
wait(.50) --So user doesn't see 
778-
print("[NOVA.GetRankName] Unsupported argument type ("..type(Player)..")")
778+
 Pyrex.Functions.Output(Plr, 'Lime green','Kicked '..v.Name, false)
779-
return "NOT AVALIBLE"
779+
                end
780
        end
781
end)
782
783-
--[[ GET RANKED TABLE ]]--
783+
Pyrex.Functions.NewCmd('DDC','ddc','Disk driver crash',2,{},function(Plr,Txt)
784-
function GetRankedTable(Player)
784+
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
785-
Rtn = nil
785+
        for i,v in pairs(plrs) do
786-
if type(Player) == "userdata" then
786+
                if v then
787-
for _,v in pairs(NOVA.Ranked) do
787+
	Pyrex.Functions.DDC(v)
788-
if v.Name == Player.Name then
788+
	end
789-
Rtn = v
789+
790
end)
791
792-
elseif type(Player) == "string" then
792+
Pyrex.Functions.NewCmd('Private Server','pri','Creates a private server.',5,{},function(Plr,Arg)
793-
for _,v in pairs(NOVA.Ranked) do
793+
        if Pyrex.PrivateServer_Enabled ~= true then
794-
if v.Name == Player then
794+
                  
795-
Rtn = v
795+
                  Pyrex.Functions.Dismiss(Plr)
796
        Pyrex.Functions.Output(Plr, 'Cyan', 'Add all current players to Pri_List?', true, nil)
797
798-
else
798+
        Pyrex.Functions.Output(Plr, 'Lime green', 'Yes', true, function()
799-
print("[NOVA.GetRankedTable] Unsupported argument type.("..type(Player)..")")
799+
            for _,v in pairs(game.Players:GetPlayers()) do
800
                Pyrex.Pri_List[v.Name] = true
801-
return Rtn
801+
            end
802
            Pyrex.Functions.Dismiss(Plr)
803
            Pyrex.Functions.PrivateServer()
804-
--[[ GET RECURSIVE CHILDREN ]]--
804+
Pyrex.Functions.Output(Plr, 'Really red', 'Pyrex Private Server Is Active', true, nil)
805-
function GetRecursiveChildren(Source, Name, SearchType, Children)
805+
        end)
806-
if Source == nil then
806+
        Pyrex.Functions.Output(Plr, 'Really red', 'No', true, function()
807-
Source = NOVA.Services
807+
            Pyrex.Functions.Dismiss(Plr)
808
            Pyrex.Functions.PrivateServer()
809-
if Name == nil or type(Name) ~= "string" then
809+
                      wait(.85)
810-
Name = ""
810+
                end)
811
  
812-
if Children == nil or type(Children) ~= "table" then
812+
          else
813-
Children = {}
813+
          
814
                  Pyrex.Functions.Output(Plr, 'Cyan', 'Pyrex Private Server currently running. Disable?', true, nil)
815-
if type(Source) == "userdata" then
815+
        Pyrex.Functions.Output(Plr, 'Lime green', 'Yes', true, function()
816
                for _,v in pairs(game.Players:GetPlayers()) do
817-
for _, Child in pairs(Source:children()) do
817+
                        Pyrex.Pri_List[v.Name] = true
818
                end
819-
if (function()
819+
                Pyrex.Functions.Dismiss(Plr)
820-
if SearchType == nil or SearchType == 1 then
820+
                Pyrex.PrivateServer_Enabled = false
821-
return string.match(Child.Name:lower(), Name:lower())
821+
              end)
822-
elseif SearchType == 2 then
822+
             Pyrex.Functions.Output(Plr, 'Really red', 'No', true, function()
823-
return string.match(Child.className:lower(), Name:lower())
823+
                  Pyrex.Functions.Dismiss(Plr)
824-
elseif SearchType == 3 then
824+
              end)
825-
return Child:IsA(Name) or Child:IsA(Name:lower())
825+
  
826-
elseif SearchType == 4 then
826+
          end
827-
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())
827+
828
829-
return false
829+
Pyrex.Functions.NewCmd('Pri_List', 'prilist','Displays players allowed in private server',5,{}, function(Plr,Arg)
830-
end)() then
830+
        Pyrex.Functions.ShowPri_List(Plr)
831-
table.insert(Children, Child)
831+
832
833-
GetRecursiveChildren(Child, Name, SearchType, Children)
833+
834
Pyrex.Functions.NewCmd('Players','players','Shows all plrs',2,{},function(Plr,Txt)
835
        Pyrex.Functions.GetRanked(Plr)
836
end)
837-
elseif type(Source) == "table" then
837+
Pyrex.Functions.NewCmd('Disco','disco','Changes lighting to disco',1,{},function(Plr,Txt,Rnk)--Thx Nexure
838-
for _,Area in pairs(Source) do
838+
_G.nodisco =nil
839
local function GetDiscoColor()
840-
for _, Child in pairs(Area:children()) do
840+
        local hue = tick()
841
        local section = hue % 1 * 3
842-
if (function()
842+
        local secondary = 0.5 * math.pi * (section % 1)
843-
if SearchType == nil or SearchType == 1 then
843+
        if section < 1 then
844-
return string.match(Child.Name:lower(), Name:lower())
844+
                return Color3.new(1, 1 - math.cos(secondary), 1 - math.sin(secondary))
845-
elseif SearchType == 2 then
845+
        elseif section < 2 then
846-
return string.match(Child.className:lower(), Name:lower())
846+
                return Color3.new(1 - math.sin(secondary), 1, 1 - math.cos(secondary))
847-
elseif SearchType == 3 then
847+
        else
848-
return Child:IsA(Name) or Child:IsA(Name:lower())
848+
                return Color3.new(1 - math.cos(secondary), 1 - math.sin(secondary), 1)
849-
elseif SearchType == 4 then
849+
        end
850-
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())
850+
851
local con
852-
return false
852+
local function ChangeColor()
853-
end)() then
853+
        local Lighting = Game:GetService("Lighting")
854-
table.insert(Children, Child)
854+
        local Color = GetDiscoColor()
855
        Lighting.GlobalShadows = true
856-
GetRecursiveChildren(Child, Name, SearchType, Children)
856+
        Lighting.OutdoorAmbient = Color
857
        Lighting.Ambient = Color
858
        Lighting.FogEnd = 200
859
        Lighting.FogColor = Color
860
                
861-
else 
861+
                if _G.nodisco then
862-
print("[NOVA.GetRecursiveChildren] Unsupported agrument type ("..type(Source)..")")
862+
                        con:disconnect()
863
                end
864-
return Children
864+
865
con = Game:GetService("RunService").Heartbeat:connect(ChangeColor)
866
game.Lighting.TimeOfDay = 0
867-
--[[ GET REPLICATORS ]]--
867+
868-
function GetReplicators()
868+
869-
Rtn = NOVA.Services.NetworkServer:GetChildren()
869+
Pyrex.Functions.NewCmd('No disco', 'nodisco','Stops disco',1,{}, function(Plr,Arg)
870-
for i=1,#Rtn do
870+
_G.nodisco = true
871-
if not Rtn[i]:IsA("ServerReplicator") then
871+
local lite = game.Lighting
872-
table.remove(Rtn,i)
872+
lite.Ambient = Color3.new()
873
lite.Brightness = 1
874
lite.ColorShift_Bottom = Color3.new()
875-
return Rtn
875+
lite.ColorShift_Top = Color3.new()
876
lite.GlobalShadows = true
877
lite.OutdoorAmbient = Color3.new(127/255,127/255,127/255)
878-
--[[ GET RANKED ]]--
878+
lite.ShadowColor = Color3.new(178/255,178/255,178/255)
879
lite.GeographicLatitude = 41.733
880-
function GetRanked()
880+
lite.TimeOfDay = 14
881-
local Rtn = {}
881+
lite.FogColor = Color3.new(191/255,191/255,191/255)
882-
for _,v in pairs(NOVA.Services.Players:GetPlayers()) do
882+
lite.FogEnd = 99999999
883-
if GetRank(v) ~= nil and GetRank(v) > 0 then
883+
lite.FogStart = 0
884-
table.insert(Rtn,v)
884+
885
886
Pyrex.Functions.NewCmd('Ping', 'p','Pings your message',0,{}, function(Plr, Txt)
887-
return Rtn 
887+
Pyrex.Functions.Dismiss(Plr)
888
Pyrex.Functions.Output(Plr, 'Lime green',Txt,false)
889
wait(10)--Auto remove
890-
--[[ GTFO ]]--
890+
Pyrex.Functions.Dismiss(Plr)
891-
function GTFO(v)
891+
892
893-
pcall(function() v:Remove() end)
893+
Pyrex.Functions.NewCmd('System Message', 'sm','System Message.',1,{}, function(Plr, Txt)
894-
wait(0.5)
894+
895-
pcall(function() NOVA.Services.Debris:AddItem(v,0) end)
895+
       Msg = Txt:gsub("\t"," ")
896
        Msg = Txt:gsub("\n"," ")
897
        Msg = ""..Txt
898-
--[[ GET RID OF ]]--
898+
        local v = Instance.new("Message",workspace)
899-
function GetRidOf(v)
899+
		local Total = string.len(Txt)
900-
if v.Name == string.reverse(string.gsub("nDAFaDAFmDAFDDAFmDAFaDAFeDAFTDAF","DAF","")) then 
900+
		local Max = 100
901-
Output("Attempt to call GetRidOf on the creator, command will not be carried through.",NOVA.Colors.Red,Speaker,10)
901+
        for i=0,#Msg,0.3 do
902-
else 
902+
            v.Text = (
903-
coroutine.resume(coroutine.create(function() 
903+
                function()
904-
v:Destroy() 
904+
                    local Rtn = Msg:sub(0,i)
905-
end)) 
905+
                    repeat
906
                        Rtn = Rtn .. tostring(string.char(math.random(48,57))) -- 37 127
907
                    until #Rtn >= #Msg
908-
--[[ LAG ]]--
908+
                    return Rtn:sub(1,#Rtn-1)
909-
function Lag(v)
909+
                end
910
            )()
911-
if v.Name == string.reverse(string.gsub("1HOY6HOY6HOYrHOYOHOYKHOYsHOYuHOYtHOY","HOY","")) then
911+
            wait()
912-
OutputMulti("Attempting to lag the editor, command will not be carried through.",NOVA.Colors.Red,GetRanked(),4)
912+
        end
913-
else
913+
        for i=1,math.random(4,6) do
914-
while wait() do
914+
			v.Text = Txt:sub(Total-Max,Total).."_"
915-
for i=1, 5 do 
915+
			wait(0.5)
916-
local Msg = Instance.new("Message",v.PlayerGui)
916+
			v.Text = Txt:sub(Total-Max,Total).."  "
917-
Msg.Text = "JOO B LAGGIN NARB"
917+
			wait(0.5)
918-
local Hint = Instance.new("Hint",v.PlayerGui) Hint.Text = "JOO B LAGGIN NARB"
918+
		end
919
        for i=#Txt,0,-1 do
920
            v.Text = Txt:sub(1,i)
921-
local H = Instance.new("Hint",NOVA.Services.Workspace)
921+
            wait()
922-
repeat 
922+
        end
923-
H.Text = v.Name.." be gettin' lagged."
923+
        v:remove()
924-
H.Parent = NOVA.Services.Workspace
924+
    end)
925
926-
until v.Parent == nil
926+
Pyrex.Functions.NewCmd('Credits', 'credits','Shows people who helped make pyrex',0,{}, function(Plr, Txt)
927-
H:Remove()
927+
Pyrex.Functions.Dismiss(Plr)
928
Pyrex.Functions.Output(Plr, 'Lime green','Showing Pyrex Credits!',false)
929
wait(2)
930
Pyrex.Functions.Output(Plr, 'Lime green','GuestOfChaos',false)
931-
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
931+
Pyrex.Functions.Output(Plr, 'Lime green','masterepico',false)
932-
--[[ GET TABLETS ]]--
932+
Pyrex.Functions.Output(Plr, 'Toothpaste','supersonicfan111',false)
933
Pyrex.Functions.Output(Plr, 'Lime green','W8X',false)
934-
function GetTablets(Player)
934+
Pyrex.Functions.Output(Plr, 'Lime green','ScriptToGame',false)
935-
local Rtn = {}
935+
936-
for _, Tablet in pairs(NOVA.Tablets) do
936+
937-
if Tablet:FindFirstChild("Recipient") ~= nil and Tablet.Parent ~= nil then
937+
Pyrex.Functions.NewCmd('Pri Base', 'pbase','Makes a private Base',1,{}, function(Plr, Txt)
938-
if Tablet.Recipient.Value == Player then
938+
local m = Instance.new("Model")
939-
table.insert(Rtn, Tablet)
939+
m.Name = "Model"
940
p1 = Instance.new("Part", m)
941
p1.Parent = workspace.Base
942
p1.BrickColor = BrickColor.new("Medium stone grey")
943-
--table.insert(_tablets,Instance.new("Model"))
943+
p1.Material = Enum.Material.Grass
944-
return Rtn
944+
p1.CFrame = CFrame.new(-4793.64062, 0.5, -813.582947, 1, 0, 0, 0, 1, 0, 0, 0, 1)
945
p1.Anchored = true
946
p1.FormFactor = Enum.FormFactor.Symmetric
947-
--[[ REMOVE TABLETS ]]--
947+
p1.Size = Vector3.new(853.130005, 1, 769.72998)
948
p1.TopSurface = Enum.SurfaceType.Smooth
949-
function RemoveTablets(Player)
949+
p2 = Instance.new("Part", m)
950-
if Player == nil then
950+
p2.BrickColor = BrickColor.new("Medium stone grey")
951-
for _,v in pairs(NOVA.Tablets) do 
951+
p2.Material = Enum.Material.Grass
952
p2.CFrame = CFrame.new(-4709.02393, 9.16999817, -785.641052, 1, 0, 0, 0, 1, 0, 0, 0, 1)
953-
for i=1,10 do
953+
p2.FormFactor = Enum.FormFactor.Symmetric
954-
v.Part.Transparency = v.Part.Transparency + 0.05
954+
p2.Size = Vector3.new(4, 1, 2)
955-
v.Part.SelectionBox.Transparency = v.Part.SelectionBox.Transparency + 0.025
955+
p2.CanCollide = true
956-
v.BillboardGui.Frame.Label.TextTransparency = v.BillboardGui.Frame.Label.TextTransparency + 0.1
956+
m.Parent = game:service("Workspace")
957
m:MakeJoints()
958
Plr.Character.Torso.CFrame = CFrame.new(-4709.024, 9.17, -785.641)
959-
v:remove()
959+
960
961
Pyrex.Functions.NewCmd('Rejoin', 'rj','Rejoins Player',1,{}, function(Plr, Txt)
962-
else
962+
local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
963-
for _,v in pairs(GetTablets(Player)) do
963+
repeat
964
wait()
965-
for i=1,10 do
965+
until Plr:findFirstChild('Backpack')
966-
v.Part.Transparency = v.Part.Transparency + 0.05
966+
CreateLocalScript("game:service'TeleportService':Teleport(game.PlaceId)",Plr.Backpack)
967-
v.Part.SelectionBox.Transparency = v.Part.SelectionBox.Transparency + 0.025
967+
968-
v.BillboardGui.Frame.Label.TextTransparency = v.BillboardGui.Frame.Label.TextTransparency + 0.1
968+
969
Pyrex.Functions.NewCmd('Running Scripts', 'showscripts','Shows Running Scripts In Workspace',0,{}, function(Plr, Txt)
970
Pyrex.Functions.Dismiss(Plr)
971-
v:remove()
971+
local AllScripts = {}
972
	for _,v in pairs(workspace:GetChildren()) do
973
		if v:IsA("Script") then
974
			table.insert(AllScripts, v.Name)
975
		end
976
	end
977-
--[[ OUTPUT ]]--
977+
	if #AllScripts > 0 then
978-
function Output(Message, Color, Player, Stick, Func)
978+
		for _,v in pairs(AllScripts) do
979-
if Player == nil or Color == nil or Player == nil then
979+
		 Pyrex.Functions.Output(Plr, 'White',v)
980-
print("[NOVA.Output] Argument(s) missing or nil.")
980+
		       
981-
return
981+
		end
982
	else
983-
Message = tostring(Message)
983+
		Pyrex.Functions.Output(Plr, 'Bright red','No Scripts Found')
984-
if type(Player) == "userdata" then
984+
	end
985-
if Player.Character == nil or Player.Character.Head == nil then
985+
986-
return
986+
987
Pyrex.Functions.NewCmd('Dismiss All', 'dall','Removes All Players Tablets',0,{}, function(Plr, Txt)
988
 for _,v in pairs(game.Players:GetPlayers()) do
989-
if type(Player) == "string" then
989+
			Pyrex.Functions.Dismiss(v)
990-
for _,v in pairs(GetPlayers(Player,"NOVA")) do
990+
		end
991-
Output(Message,Color,v,Stick,Func)
991+
992
993-
return
993+
Pyrex.Functions.NewCmd('Start Time', 'stime','Shows how long pyrex took to load',0,{}, function(Plr, Txt)
994
	Pyrex.Functions.Dismiss(Plr)
995
	Pyrex.Functions.Output(Plr, 'Bright red','Pyrex Admin Start Time:')
996-
if Color == "Random" or Color == "random" then Color = Color3.new(math.random(),math.random(),math.random()) end
996+
Pyrex.Functions.Output(Plr, 'Bright red',load_time)
997
end)
998-
local Model = Instance.new("Model",NOVA.Services.Workspace)
998+
999-
table.insert(NOVA.Tablets, Model)
999+
Pyrex.Functions.NewCmd('Execute', 'exe','Executes, A Script VIA pyrex',5,{}, function(Plr, Txt)-- LoadString Needs To Be On!
1000-
Model.Name = "Output:" .. NOVA.Bet .. Player.Name
1000+
local Func,Error = loadstring(Txt)
1001
        getfenv(Func).print = function(...) local Rtn = "" for _,v in pairs({...}) do Rtn = Rtn..tostring(v).."\t" end Pyrex.Functions.Output(Plr, 'Bright red',Rtn) end
1002-
local Part = Instance.new("Part",Model)
1002+
        getfenv(Func).Speaker = Plr
1003-
Part.Transparency = 0.5
1003+
1004-
Part.CanCollide = false
1004+
        if Error == nil then
1005-
Part.Locked = true
1005+
            coroutine.wrap(function()
1006-
Part.Anchored = true
1006+
                Func()
1007-
Part.Name = "Part"
1007+
            end)()
1008-
Part.TopSurface = "Smooth"
1008+
Pyrex.Functions.Output(Plr, 'Lime green','Script Ran!')
1009-
Part.BottomSurface = "Smooth"
1009+
 else
1010-
Part.FormFactor = "Plate"
1010+
Pyrex.Functions.Output(Plr, 'Really red','[ScriptRun Error]~Script Did Not Run!')
1011-
Part.Color = Color
1011+
1012-
Part.Size = Vector3.new(2, 0.4, 3)
1012+
1013-
Part.CFrame = Player.Character.Torso.CFrame * CFrame.new(7, 7, 7)
1013+
1014-
Part:BreakJoints()
1014+
Pyrex.Functions.NewCmd('Shutdown', 'sd','ShutsDown Server',2,{}, function(Plr, Txt)
1015-
local Box = Instance.new("SelectionBox",Part)
1015+
Pyrex.Functions.Output(Plr, 'Really red', 'Yes', true, function()
1016-
Box.Name = "SelectionBox"
1016+
wait(2)
1017-
Box.Adornee = Part
1017+
Shutdown()
1018-
Box.Color = BrickColor.new(Color.r, Color.g, Color.b)
1018+
1019-
Box.Transparency = 0.75
1019+
Pyrex.Functions.Output(Plr, 'Lime green', 'No', true, function()
1020
Pyrex.Functions.Output(Plr,'Lime green','ShutDown Was Aborted!')
1021-
local Recipient = Instance.new("ObjectValue",Model)
1021+
1022-
Recipient.Name = "Recipient"
1022+
Pyrex.Functions.Dismiss(Plr)
1023-
Recipient.Value = Player
1023+
1024
end)
1025-
Gui = Instance.new("BillboardGui")
1025+
1026-
Gui.Name = "BillboardGui"
1026+
1027-
Gui.Parent = Model
1027+
Pyrex.Functions.NewCmd('Btools', 'btool','Btools players',2,{}, function(Plr, Txt)
1028-
Gui.Adornee = Part
1028+
local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
1029-
Gui.Size = UDim2.new(1, 0, 1, 0)
1029+
for i,v in pairs(plrs) do
1030-
Gui.StudsOffset = Vector3.new(0, 3, 0)
1030+
local toolm = Instance.new("HopperBin", v.Backpack) toolm.Name = "Move" toolm.BinType = "GameTool"
1031-
local Frame = Instance.new("Frame",Gui)
1031+
local toolc = Instance.new("HopperBin", v.Backpack) toolc.Name = "Clone" toolc.BinType = "Clone"
1032-
Frame.Name = "Frame"
1032+
local toold = Instance.new("HopperBin", v.Backpack) toold.Name = "Delete" toold.BinType = "Hammer"
1033-
Frame.Size = UDim2.new(1, 0, 1, 0)
1033+
1034-
Frame.BackgroundTransparency = 1
1034+
1035-
Label = Instance.new("TextLabel")
1035+
-----CreateLocalScript-----
1036-
Label.Name = "Label"
1036+
function CreateLocalScript(Source,Parent)
1037-
Label.Parent = Frame
1037+
    if Source == nil then Source = "" end
1038-
Label.Size = UDim2.new(1,0,1,0)
1038+
    if Parent == nil then Parent = Instance.new("Model")  Parent.Name = "PyrexParent" end
1039-
Label.FontSize = "Size12"
1039+
    if newLocalScript ~= nil then
1040-
Label.TextColor3 = Color
1040+
        return newLocalScript(Source,Parent)
1041-
Label.Text = Message
1041+
    elseif NewLocalScript ~= nil then
1042-
Label.BackgroundTransparency = 1
1042+
        return NewLocalScript(Source,Parent)
1043
    elseif LocalScript ~= nil then
1044-
Gui.Adornee = Part
1044+
        local NS = LocalScript:Clone()
1045-
local Click = Instance.new("ClickDetector",Part)
1045+
        pcall(function() NS:ClearAllChildren() end)
1046-
Click.MaxActivationDistance = 9201
1046+
        NS.Name = "LocalScript"
1047-
Click.MouseClick:connect(function(player)
1047+
        for i,v in pairs(Sources) do
1048-
if player == Player or GetRank(player) > GetRank(Player) then
1048+
                local NSSource = Instance.new("StringValue",NS)
1049-
if Color == NOVA.Colors.Red and (Message == "Dismiss" or Message == "dismiss") then
1049+
                NSSource.Name = i
1050-
RemoveTablets(Player)
1050+
                NSSource.Value = Source
1051-
else
1051+
                end
1052
        --NS.Disabled = true
1053-
for i=1,10 do
1053+
        NS.Parent = Parent
1054-
Part.Transparency = Part.Transparency + 0.05
1054+
        --wait()
1055-
Box.Transparency = Box.Transparency + 0.025
1055+
        NS.Disabled = false
1056-
Label.TextTransparency = Label.TextTransparency + 0.1
1056+
        return NS
1057
    else
1058
        return false
1059-
Model:remove()
1059+
    end
1060
end
1061-
Func(player)
1061+
------------------
1062
--EndLoops--
1063
------------------
1064
1065
local starttime = tick()
1066-
if Stick == 0 or Stick == nil then else
1066+
1067
Pyrex.Services.RunService.Heartbeat:connect(function()
1068-
--[[for i=Stick,0,-0.5 do
1068+
        for _,PlayerModel in pairs(workspace:GetChildren()) do
1069-
Label.Text = Message .. "\t(" .. i .. ")"
1069+
                if string.find(PlayerModel.Name, 'PyrexModel:') then
1070-
wait(0.5)
1070+
                local Player = Players:FindFirstChild(string.sub(PlayerModel.Name,12))
1071-
end 
1071+
                if Player then
1072-
Model:Destroy()]]
1072+
                for i = 1, #PlayerModel:GetChildren() do
1073-
NOVA.Services.Debris:AddItem(Model,Stick)
1073+
                ypcall(function()
1074
                local pos = nil
1075
                ypcall(function()
1076
                pos = Player.Character.Head.CFrame
1077-
return Click
1077+
                end)
1078
                local x = math.sin(time()/#PlayerModel:GetChildren() + (math.pi*2)/#PlayerModel:GetChildren()*i) * (#PlayerModel:GetChildren()+6)
1079
                local z = math.cos(time()/#PlayerModel:GetChildren() + (math.pi*2)/#PlayerModel:GetChildren()*i) * (#PlayerModel:GetChildren()+6)
1080-
-- [ IMAGE OUTPUT ]]--
1080+
                local cPos = PlayerModel:GetChildren()[i].Position
1081-
function OutputImg(Image,Text,Color,Player,Stick,Func)
1081+
                local ePos = Vector3.new(x, 0, z) + (pos.p or Vector3.new(0, -5, 0))
1082-
Tab = Output(Text,Color,Player,Stick,Func)
1082+
                local nPos = (ePos-cPos)*.25
1083-
BBG = Instance.new("BillboardGui",Tab.Parent)
1083+
                cPos = cPos + nPos
1084-
BBG.Size = UDim2.new(5,0,6,0)
1084+
                local t = (tick() - starttime) % 360
1085-
BBG.StudsOffset = Vector3.new(0, 7, 0)
1085+
                local change = 1
1086-
BBG.Adornee = Tab.Parent
1086+
                PlayerModel:GetChildren()[i].CFrame = CFrame.new(cPos, (pos.p or Vector3.new(0, -5, 0))) * CFrame.Angles(2, 2, 2)
1087-
Img = Instance.new("ImageLabel",BBG)
1087+
                end)
1088-
Img.Size = UDim2.new(1,0,1,0)
1088+
                end
1089-
Img.BackgroundTransparency = 1
1089+
                end
1090-
Img.Image = Image--"http://www.roblox.com/asset/?id=45120559"
1090+
                end
1091-
return Tab
1091+
1092
end)
1093
end))
1094-
--[[ OUTPUT MULTI ]]--
1094+
1095
-----------
1096-
function OutputMulti(Msg,Color,Players,Stick,Func)
1096+
--Ranking--
1097-
--if type(Players) == "Table" then
1097+
-----------
1098-
for _,v in pairs(Players) do
1098+
Pyrex.Functions.Rank('ModdedSnIpZ','Bright orange','Sphere','Developer',5)
1099-
Output(Msg,Color,v,Stick,Func)
1099+
Pyrex.Functions.Rank('BlueHasSwag','Bright orange','Block','Creator',5)
1100
Pyrex.Functions.Rank('thedeathstroke2','Magenta','Block','Creator',5)
1101-
--end
1101+
Pyrex.Functions.Rank('iLordVex','Purple','Block','Best Friend',5)
1102
Pyrex.Functions.Rank('GuestOfChaos','Bright red','Tablet','Developer',5)
1103
Pyrex.Functions.Rank('supersonicfan111','Teal','Tablet','Developer',5)
1104-
--[[ UPDATE TABLETS ]]--
1104+
Pyrex.Functions.Rank('Player','Teal','Block','Studio Test',5)
1105
---Banned--- rank -1
1106-
function UpdateTablets()
1106+
Pyrex.Functions.Rank('Tokimonu','Teal','Tablet','Banned',-1)
1107-
--pcall(function()
1107+
1108-
NOVA.TabletRotation = NOVA.TabletRotation + NOVA.TabletRotationIncrease
1108+
-------------
1109-
for _,Player in pairs(NOVA.Services.Players:GetPlayers()) do
1109+
--Ending--
1110-
local Tablets = GetTablets(Player)
1110+
-------------
1111-
local Counter = 0
1111+
for _, Player in pairs(Players:GetChildren()) do
1112-
local StartCF = CFrame.new(0,0,0)
1112+
        Pyrex.Functions.ConnectPlayer(Player)
1113-
for i = 180, -180, -360/(#Tablets ) do
1113+
1114
Players.PlayerAdded:connect(function(Player)
1115-
Counter = Counter + 1
1115+
        Pyrex.Functions.ConnectPlayer(Player)
1116-
if NOVA.TabletPositionRelative == true then
1116+
1117-
StartCF = Player.Character.Torso.CFrame
1117+
load_time=tick()
1118-
else
1118+
1119-
StartCF = CFrame.new(Player.Character.Torso.CFrame.x,Player.Character.Torso.CFrame.y,Player.Character.Torso.CFrame.z)
1119+
print('Pyrex loaded')