View difference between Paste ID: 900Pn0E8 and x7fz4RfG
SHOW: | | - or go back to the newest paste.
1
--[[
2
	PLEASE READ OR SCRIPT WILL NOT WORK CORRECT!
3
	
4
	1.)Fetures Will Not Work Unless HTTP Service Is On!
5
	2.)Control+f and type in Ranking. You Can Edit Them with your prefrences.
6
	3.)If you want to help develop this admin pm any developer.
7
	4.)Report bugs to any developer.
8
	5.)You Can Customize your tablet color and shape.
9
	7.)Enjoy!
10
	
11
	~Pyrex Developer Team.
12
]]
13
14
15
--Removing--
16
wait()
17
script.Parent = nil
18-
script.Name = 'PyrexAdmin'
18+
script.Name = 'iiPerkson'
19
-----------------
20
for _, Model in pairs(workspace:GetChildren()) do
21
        if string.find(Model.Name, 'PyrexModel:') then
22
                Model:Destroy()
23
        end
24
end
25
26
------------------
27
Players = game:GetService('Players')
28
Lighting = game:GetService('Lighting')
29
Workspace = game:GetService('Workspace')
30
------------------
31
Pyrex = {
32
Services = {};
33
Settings = {};
34
Functions = {};
35
Commands = {};
36
Bet1 = '!';
37
Bet2 = ';';
38
Bet3 = '-'
39
}
40
-----------
41
DeveloperKind = "1"
42
-----------
43
--Services--
44
------------------
45
Pyrex.Services.RunService = game:GetService('RunService')
46
Pyrex.Services.MarketplaceService = game:GetService("MarketplaceService")
47
Pyrex.Services.HttpService = game:GetService('HttpService')
48
-----------------
49
--Command model
50
-----------------
51
--Pyrex.CmdModel = Pyrex.Services.MarketplaceService:GetProductInfo(214887536).Description
52
------------------
53
--ADMINS--
54
------------------
55
Pyrex.Ranked = {}
56
Pyrex.Pri_List = {}
57
Pyrex.PrivateServer_Enabled = false
58
Pyrex.Logs_Service = {}
59
Pyrex.Gui_Service = {}
60
------------------
61
--FUNCTIONS--
62
------------------
63
Pyrex.Functions.Output = function(Player,Color,Text,ColorOverride,Func)
64
        pcall(function()
65
        if Player.Character then
66
        local PlayerModel = nil
67
        if Workspace:FindFirstChild('PyrexModel:'..Player.Name) then
68
                PlayerModel = Workspace:FindFirstChild('PyrexModel:'..Player.Name)
69
        else
70
                PlayerModel = Instance.new("Model", workspace)
71
                PlayerModel.Name = 'PyrexModel:'..Player.Name
72
        end
73
        --
74
        local Tablet = Instance.new("Part")
75
        local TabletMesh
76
        if Pyrex.Ranked[Player.Name]['Type'] == 'Tablet' then
77
                TabletMesh = Instance.new('BlockMesh', Tablet)
78
        elseif Pyrex.Ranked[Player.Name]['Type'] == "Sphere" then
79
                TabletMesh = Instance.new('SpecialMesh', Tablet)
80
                TabletMesh.MeshType = 'Sphere'
81
                elseif Pyrex.Ranked[Player.Name]['Type'] == "Block" then
82
                TabletMesh = Instance.new("BlockMesh",Tablet)
83
        end
84
        TabletMesh.Name = 'TabletMesh'
85
        TabletMesh.Scale = Vector3.new(0,0,0)
86
        Tablet.FormFactor = "Custom"
87
        Tablet.Transparency = 0.5
88
        if Pyrex.Ranked[Player.Name]['Type'] == 'Tablet' then
89
                Tablet.Size = Vector3.new(4.5,5,0.2)
90
        elseif Pyrex.Ranked[Player.Name]['Type'] == 'Sphere' then
91
                Tablet.Size = Vector3.new(2,2,2)
92
                elseif Pyrex.Ranked[Player.Name]['Type'] == 'Block' then
93
                Tablet.Size=Vector3.new(2.3,2.3,2.3)
94
	end
95
        Tablet.CanCollide = false
96
        Tablet.TopSurface = 'Smooth'
97
        Tablet.BottomSurface = 'Smooth'
98
        Tablet.Anchored = true
99
        Tablet.Name = "PyrexTablet:"..Player.Name
100
        Tablet.Locked = true
101
        Tablet.CFrame = Player.Character.Head.CFrame
102
        if ColorOverride == true then
103
                Tablet.BrickColor = BrickColor.new(Color)
104
        else
105
                Tablet.BrickColor = BrickColor.new(Pyrex.Ranked[Player.Name]['Color'])
106
        end
107
        local Billboard = Instance.new("BillboardGui", Tablet)
108
        Billboard.Adornee = Tablet
109
        Billboard.Enabled = true
110
        Billboard.Active = true
111
        Billboard.Size = UDim2.new(1, 1, 1,1)
112
        Billboard.ExtentsOffset = Vector3.new(0, 1.5, 0)
113
		local point = Instance.new("PointLight",Tablet)
114
    		point.Brightness = 1/0
115
    		point.Color = Tablet.BrickColor.Color
116
    		point.Range = 10
117
        local TL = Instance.new("TextLabel", Billboard)
118
        TL.Text = Text
119
        TL.BackgroundTransparency = 1
120
        TL.Size = UDim2.new(1, 0, 1, 0)
121
        TL.FontSize = "Size18"
122
        TL.Font = "ArialBold"
123
        TL.TextStrokeTransparency = 0
124
        local Button = Instance.new('ClickDetector', Tablet)
125
        Button.MaxActivationDistance = 100
126
        if ColorOverride == true then
127
                TL.TextColor3 = BrickColor.new(Color).Color
128
        else
129
                if Pyrex.Ranked[Player.Name] then
130
                        TL.TextColor3 = BrickColor.new(Pyrex.Ranked[Player.Name]['Color']).Color
131
                end
132
        end
133
        Tablet.Parent = PlayerModel
134
        coroutine.resume(coroutine.create(function()
135
        wait(0.5)
136
        for i=1, 10 do
137
                TabletMesh.Scale = TabletMesh.Scale + Vector3.new(0.1,0.1,0.1)
138
                wait()
139
        end
140
        end))
141
        --
142
		
143
        Button.MouseClick:connect(function(Clicker)
144
                if Clicker == Player then
145
                        if Func ~= nil then
146
                                Func(Player)
147
                        else
148
                                coroutine.resume(coroutine.create(function()
149
                                        for i=1, 10 do
150
                                                TabletMesh.Scale = TabletMesh.Scale + Vector3.new(-0.1,-0.1,-0.1)
151
                                                wait()
152
                                        end
153
                                Tablet:Destroy()
154
                                end))
155
                        end
156
                end
157
        end)
158
        end
159
        end)
160
end
161
--
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
end
165
--
166
Pyrex.Functions.Chatted = function(Player,Text)
167
        if string.find(Text,Pyrex.Bet1) and string.sub(string.find(Text,Pyrex.Bet1), 1) == '1' then
168
                if string.find(Text,Pyrex.Bet2) then
169
                        local Start = string.sub(string.find(Text,Pyrex.Bet1),1)
170
                        local End = string.sub(string.find(Text,Pyrex.Bet2),1)
171
                        local Ext = string.find(string.sub(Text,1),Pyrex.Bet3)
172
                        local Arg
173
                        local DoFunc
174
                        local Cmd = string.sub(Text,Start+1,End-1)
175
                        local ExtArg
176
                        if Ext then
177
                                Arg = string.sub(Text,End+1,Ext-1)
178
                                ExtArg = string.sub(Text,Ext+1)
179
                        else
180
                                Arg = string.sub(Text,End+1,string.len(Text))
181
                        end
182
                        if Pyrex.Commands[Cmd] then
183
                                DoFunc = Pyrex.Commands[Cmd].Function
184
                                if ExtArg then
185
                                        if Pyrex.Commands[Cmd]['Extensions'][ExtArg] ~= nil then
186
                                                DoFunc = Pyrex.Commands[Cmd]['Extensions'][ExtArg]['Func']
187
                                        else
188
                                                Pyrex.Functions.Output(Player,'Really red','Unknown extension (ERROR 002)', true,nil)
189
                                        end
190
                                end
191
                                if Pyrex.Ranked[Player.Name] and Pyrex.Ranked[Player.Name].Rank >= Pyrex.Commands[Cmd]['Rank'] then
192
                                        DoFunc(Player, Arg)
193
                                else
194
                                        Pyrex.Functions.Output(Player,'Really red','Insignificant permissions (ERROR 003)', true,nil)
195
                                end
196
                        else
197
                                Pyrex.Functions.Output(Player,'Really red','Unknown command (ERROR 001)', true,nil)
198
                        end
199
                end
200
        end
201
end
202
--
203
Pyrex.Functions.Rank = function(Player,Color,Type,Desc,Rank)
204
        Pyrex.Ranked[Player] = {
205
                ['Rank'] = Rank;
206
                ['Color'] = Color;
207
                ['Type'] = Type;
208
                ['Name'] = Player;
209
                ['Desc'] = Desc
210
        }
211
end
212
Pyrex.Functions.ConnectPlayer = function(Player)
213
                if Pyrex.PrivateServer_Enabled and not Pyrex.Pri_List[Player.Name] then
214
                        Pyrex.Functions.Kick(Player)
215
                        return nil
216
                end
217
218
        Player.Chatted:connect(function(Text)
219
                Pyrex.Functions.Chatted(Player, Text)
220
        end)
221
        if Pyrex.Ranked[Player.Name] then
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
                        Pyrex.Functions.Output(Player, 'Really red', 'Say !cmds/ for list of commands')
227
                else
228
                        Pyrex.Functions.Kick(Player)
229
 for _,v in pairs(game.Players:GetPlayers()) do
230
 if v.Character and v.Character:FindFirstChild("Head") then
231
wait(.3)--Player wont se-e that pyrex is banning them
232
Pyrex.Functions.Output(v, 'Really red', Player.Name..' |PYREX| Banned Player Has Tried Join Server', false)
233
Pyrex.Functions.Output(v, 'White','Click To See Why User Was Banned',false,function()
234
Pyrex.Functions.Dismiss(v)
235
Pyrex.Functions.Output(v, 'Bright red', "|PYREX| "..Player.Name.." was banned for: "..Pyrex.Ranked[Player.Name]['Desc'], false)
236
wait(3)
237
Pyrex.Functions.Dismiss(v)
238
end) 
239
                                                      end 
240
                                            end
241
                end
242
        else
243
                Pyrex.Functions.Rank(Player.Name, tostring(BrickColor.random()), 'Block', 'Player',0)
244
                Pyrex.Functions.Output(Player, 'Lime green', 'You are rank 0',true)
245
      Pyrex.Functions.Output(Player, 'Really red', 'Welcome To PyrexAdmin',Player.Name)
246
Pyrex.Functions.Output(Player, 'Really red', 'Say !cmds/ for list of commands')
247
        end
248
end
249
---Kick plr and stuff
250
Pyrex.Functions.Kick = function(Plr)
251
        local h=Instance.new('RemoteEvent',workspace):FireClient(Plr,{string.rep("Ty, m8",2e5+5)}) 
252
        delay(3,function()
253
                pcall(function()
254
                        h:remove() 
255
                end)
256
        end)
257
end
258
259
Pyrex.Functions.ShowSettings = function(Plr,Spkr)
260
261
        if Pyrex.Ranked[Plr.Name]['Rank'] <= Pyrex.Ranked[Spkr.Name]['Rank'] - 1 then
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
                                Pyrex.Functions.Output(Spkr, 'Reddish brown', 'Set rank to '..i,false,function()
267
                                        Pyrex.Functions.Dismiss(Spkr)
268
                                        Pyrex.Functions.Output(Spkr, 'Bright blue', Plr.Name.."'s rank has been set to "..i,true)
269
                                        Pyrex.Ranked[Plr.Name]['Rank'] = i
270
                                end)
271
                        end
272
                end)
273
        else
274
                Pyrex.Functions.Output(Spkr, 'Really red', 'Unable to set rank (ERROR 003)', true)
275
        end
276
end
277
--
278
Pyrex.Functions.GetRanked = function(Self)
279
        Pyrex.Functions.Dismiss(Self)
280
        for i,v in pairs(Pyrex.Ranked) do
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
                                Pyrex.Functions.Output(Self, 'Bright blue', 'Set rank', false, function()
286
                                        Pyrex.Functions.Dismiss(Self)
287
                                        for i=-1, Pyrex.Ranked[Self.Name]['Rank'] do
288
                                                Pyrex.Functions.Output(Self, 'Bright blue', 'Set rank to '..i, false,function()
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
                                                end)
293
                                        end
294
                                end)
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
                                            Pyrex.Functions.Output(Self, 'Add to Pri', false, function()
299
                                                                                                              Pyrex.Pri_List[v['Name']] = true
300
                                                                                                              end)
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
								
305
                        end
306
                end)
307
        end
308
end
309
--
310
Pyrex.Functions.FindPlayer = function(Self, Arg)
311
        local ToReturn = {}
312
        if string.lower(Arg) == 'all' then
313
                for i,v in pairs(Players:GetChildren()) do
314
                        table.insert(ToReturn, v)
315
                end
316
        elseif string.lower(Arg) == 'me' then
317
                ToReturn  = {Self}
318
        elseif string.lower(Arg) == 'others' then
319
                for i,v in pairs(Players:GetChildren()) do
320
                        if v ~= Self then
321
                        table.insert(ToReturn, v)
322
                        end
323
                end
324
        elseif string.lower(Arg) == 'random' then
325
                local Player = Players:GetChildren()[math.random(1,#Players:GetChildren())]
326
                table.insert(ToReturn, Player)
327
        else
328
                local Arg = string.lower(Arg)
329
                for i,v in pairs(Players:GetChildren()) do
330
                        if string.find(string.lower(v.Name), Arg) then
331
                                table.insert(ToReturn, v)
332
                                break
333
                        end
334
                end
335
        end
336
        return ToReturn
337
end
338
--
339
Pyrex.Functions.Dismiss = function(Plr)
340
        pcall(function()
341
                        for _, Tablet in pairs(Workspace:FindFirstChild('PyrexModel:'..Plr.Name):GetChildren()) do
342
                        local TabletMesh = Tablet.TabletMesh
343
                        coroutine.resume(coroutine.create(function()
344
                                        for i=1, 10 do
345
                                                TabletMesh.Scale = TabletMesh.Scale + Vector3.new(-0.1,-0.1,-0.1)
346
                                                wait()
347
                                        end
348
                                Tablet:Destroy()
349
                                end))
350
                        end
351
                        end)
352
end
353
--
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
                if Cmd['Rank'] <= 0 then
360
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
361
                        Pyrex.Functions.Dismiss(Plr)
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
                end)
367
                end
368
        end
369
        end)
370
        --
371
        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 1 commands', false,function()
372
                Pyrex.Functions.Dismiss(Plr)
373
        for _, Cmd in pairs(Pyrex.Commands) do
374
                if Cmd['Rank'] <= 1 then
375
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
376
                        Pyrex.Functions.Dismiss(Plr)
377
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false)
378
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false)                
379
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false)
380
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false)
381
                end)
382
                end
383
        end
384
        end)
385
        --
386
        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 2 commands', false,function()
387
                Pyrex.Functions.Dismiss(Plr)
388
        for _, Cmd in pairs(Pyrex.Commands) do
389
                if Cmd['Rank'] <= 2 then
390
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
391
                        Pyrex.Functions.Dismiss(Plr)
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
                end
398
        end
399
        end)
400
        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 3 commands', false,function()
401
                Pyrex.Functions.Dismiss(Plr)
402
        for _, Cmd in pairs(Pyrex.Commands) do
403
                if Cmd['Rank'] <= 3 then
404
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
405
                        Pyrex.Functions.Dismiss(Plr)
406
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false)
407
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false)                
408
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false)
409
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false)
410
                end)
411
                end
412
        end
413
        end)
414
        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 4 commands', false,function()
415
                Pyrex.Functions.Dismiss(Plr)
416
        for _, Cmd in pairs(Pyrex.Commands) do
417
                if Cmd['Rank'] <= 4 then
418
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
419
                        Pyrex.Functions.Dismiss(Plr)
420
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false)
421
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false)                
422
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank required: '..Cmd['Rank'], false)
423
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Usage: '..Pyrex.Bet1..Cmd['Command']..Pyrex.Bet2, false)
424
                end)
425
                end
426
        end
427
        end)
428
        Pyrex.Functions.Output(Plr, 'Lime green', 'Rank 5 commands', false,function()
429
                Pyrex.Functions.Dismiss(Plr)
430
        for _, Cmd in pairs(Pyrex.Commands) do
431
                if Cmd['Rank'] <= 5 then
432
                Pyrex.Functions.Output(Plr, 'Grey', Cmd['Name'], false, function()
433
                        Pyrex.Functions.Dismiss(Plr)
434
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command name: '..Cmd['Name'], false)
435
                        Pyrex.Functions.Output(Plr, 'Lime green', 'Command description: '..Cmd['Description'],false)                
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
                end)
439
                end
440
        end
441
        end)
442
        Pyrex.Functions.Output(Plr, 'Bright blue', 'You are rank '..Pyrex.Ranked[Plr.Name]['Rank'], true,nil)
443
end
444
--
445
Pyrex.Functions.SearchSongs = function(Name,Plr)
446
        Pyrex.Functions.Dismiss(Plr)
447
        local Get = Pyrex.Services.HttpService:GetAsync('http://www.roproxy.tk/catalog/json?Category=9&Keyword='..Name)
448
        local Songs = Pyrex.Services.HttpService:JSONDecode(Get)
449
        local i = 1
450
        repeat
451
                local SongName  = string.gsub(Songs[i].Name,"&#39;","'")
452
                local ID = Songs[i].AssetId
453
                local SongDesc = Songs[i].Description
454
                local Creator = Songs[i].Creator
455
                Pyrex.Functions.Output(Plr, 'White',SongName,false,function()
456
                        Pyrex.Functions.Dismiss(Plr)
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
			   Pyrex.Functions.Output(Plr, 'Lime green','Sound Settings', true,function()
461
			   Pyrex.Functions.Dismiss(Plr)
462
			
463
				Pyrex.Functions.Output(Plr, 'Lime green','Current Sound Pitch = 2', true,function()
464
				Sound.Pitch = 2
465
				       end)
466
				Pyrex.Functions.Output(Plr, 'Lime green','Current Sound Pitch = 1', true,function()
467
				Sound.Pitch = 1
468
				end)
469
				Pyrex.Functions.Output(Plr, 'Lime green','High Volume', true,function()
470
					Sound.Volume = 10 
471
				end)
472
				Pyrex.Functions.Output(Plr, 'Lime green','Normal Volume', true,function()
473
					Sound.Volume = 1
474
				end)
475
			end)
476
			
477
				Pyrex.Functions.Output(Plr, 'Really red','Stop Sounds', true,function()
478
					Sound:Stop()
479
				       end)
480
				
481
                        Pyrex.Functions.Output(Plr, 'White','Play', true,function()
482
                             Sound = Instance.new('Sound')
483
                                Sound.SoundId = 'http://www.roblox.com/asset/?id='..ID
484
                                Sound:Play()
485
                                Sound.Parent = workspace
486
                                wait()
487
                                Sound:Play()
488
                        end)
489
                end)
490
                wait()
491
                i = i + 1
492
        until i == 20 or i == #Songs
493
end
494
-------Pri list function-------
495
Pyrex.Functions.PrivateServer = function(Plr)
496
497
        for _,v in pairs(game.Players:GetPlayers()) do
498
                if not Pyrex.Pri_List[v.Name] then
499
                          Pyrex.Functions.Kick(v)
500
                  end
501
        end
502
        Pyrex.PrivateServer_Enabled = true
503
end
504
--
505
Pyrex.Functions.ShowPri_List = function(Plr)
506
        Pyrex.Functions.Dismiss(Plr)
507
508
        for i,v in pairs(Pyrex.Pri_List) do
509
                  Pyrex.Functions.Output(Plr, 'Bright blue', i, true, function()
510
            Pyrex.Functions.Dismiss(Plr)
511
            Pyrex.Functions.Output(Plr, 'Really red', 'Remove '..i..' from Pri_List', true, function()
512
                Pyrex.Pri_List[i] = nil
513
                        Pyrex.Functions.ShowPri_List(Plr)
514
            end)
515
            Pyrex.Functions.Output(Plr, 'Bright red', 'Back', true, function()
516
                Pyrex.Functions.ShowPri_List(Plr)
517
            end)
518
              end)
519
          end
520
521
end
522
523
----------------------------------------------
524
Pyrex.Functions.DDC = function(Plr)
525
526
Wait();
527
for i = 3,232233 do
528
if Plr ~= nil then
529
Instance.new("Message",Plr:FindFirstChild('PlayerGui')).Text = 'Pyrex DDC'
530
end
531
end
532
end
533
----------------------------------------------
534
FullClean = function()
535
		local Child = {}
536
		local GetAllChildren = function(c)
537
			for _,v in pairs(c:GetChildren()) do
538
				ypcall(function()
539
					GetAllChildren(v)
540
					table.insert(Child, v)
541
				end)
542
			end
543
		end
544
		for _,v in pairs(Pyrex.Services.Game:GetChildren()) do
545
			ypcall(function()
546
				GetAllChildren(v)
547
			end)
548
		end
549
		for _,v in pairs(Child) 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
				v:remove()
552
			end
553
		end
554
		CleanWorkspace()
555
		Debug()
556
		for _,v in pairs(Pyrex.Services.Players:GetPlayers()) do
557
			v:LoadCharacter()
558
		end
559
	end
560
	Debug = function()
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
						v.Text = ''
566
						v:Destroy()
567
					end)
568
				end
569
				if v:IsA('Terrain') then
570
					v:Clear()
571
				end
572
			end
573
			Pyrex.Services.Lighting.GlobalShadows = true
574
			Pyrex.Services.Lighting.TimeOfDay = '14:00:00'
575
			Pyrex.Services.Lighting.Brightness = 0.3
576
			Pyrex.Services.Lighting.ShadowColor = Color3.new(0.705882, 0.705882, 0.705882)
577
			Pyrex.Services.Lighting.Ambient = Color3.new(1,1,1) 
578
			Pyrex.Services.Lighting.ColorShift_Top = Color3.new(0, 0, 0)
579
			Pyrex.Services.Lighting.ColorShift_Bottom = Color3.new(0, 0, 0)
580
			Pyrex.Services.Lighting.OutdoorAmbient = Color3.new(0.6, 0.6, 0.6)
581
			Pyrex.Services.Lighting.FogStart = 0
582
			Pyrex.Services.Lighting.FogEnd = 100000
583
			Pyrex.Services.Lighting.FogColor = Color3.new(0.752941, 0.752941, 0.752941)
584
			Pyrex.Services.Lighting:ClearAllChildren()
585
			Pyrex.Services.Teams:ClearAllChildren()
586
			for _,v in pairs(Pyrex.Services.Players:GetPlayers()) do
587
				v.Neutral = true 
588
			end
589
		end)
590
	end
591
----------------------------------------------
592
function Shutdown()
593
for i,v in pairs(Players:GetChildren()) do
594
local h=Instance.new('RemoteEvent',workspace):FireClient(v,{string.rep("Shutdown niga",2e5+5)})
595
delay(1,function()
596
pcall(function()
597
h:remove()
598
end)
599
end)
600
end
601
end
602
 
603
---------------------------------------------- 
604
605
Pyrex.Functions.Coat = function(Plr,col)
606
607
  plyr = Plr
608
  char = plyr.Character
609
610
  local Coat = Instance.new("Model", char)
611
  Coat.Name = "Coat"
612
613
  function NewCoatPart(size, p1, C0, C1, bcol)
614
      local New = Instance.new("Part", Coat)
615
      New.BottomSurface = "Smooth"
616
      New.TopSurface = "Smooth"
617
      local NWeld = Instance.new("Weld", New)
618
      New.FormFactor = "Custom"
619
      New.Size = size
620
      New.CanCollide = false
621
      NWeld.Part0 = New
622
      NWeld.Part1 = p1
623
      NWeld.C0 = C0
624
625
      New.BrickColor = BrickColor.new(bcol)
626
627
      return New
628
  end
629
                
630
    local pin_id = "http://www.roblox.com/asset/?id=114717598"
631
  if plyr.Name == "GuestOfChaos" then
632
      Coat_col = "White"
633
  elseif plyr.Name == "BlackCodeLua" then
634
      Coat_col = "Light blue"
635
  elseif plyr.Name == "masterepico" then
636
      Coat_col = "Bright bluish green"
637
  else
638
      Coat_col = BrickColor.Random().Name
639
  end
640
641
  local RightSleeve = NewCoatPart(Vector3.new(1.05, 2, 1.05), char["Right Arm"], CFrame.new(0, -.05, 0), nil, Coat_col)
642
  local LeftSleeve = NewCoatPart(Vector3.new(1.05, 2, 1.05), char["Left Arm"], CFrame.new(0, -.05, 0), nil, Coat_col)
643
  local RightTFlap = NewCoatPart(Vector3.new(.45, 2.05, 1.05), char["Torso"], CFrame.new(-.8, 0, 0), nil, Coat_col)
644
  local Pin = NewCoatPart(Vector3.new(.35, .35, 1.2), char["Torso"], CFrame.new(-.8, -.5, 0), nil, Coat_col)
645
  Pin.Transparency = 1
646
  local dec = Instance.new("Decal", Pin)
647
  dec.Face = "Front"
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
  local Bottom = NewCoatPart(Vector3.new(2.05, 2.05, .25), char["Torso"], CFrame.new(0, 2, -.4), nil, Coat_col)
652
  Bottom.Name = "bot"
653
  local RightLFlap = NewCoatPart(Vector3.new(.45, 2.05, 1.05), char["Right Leg"], CFrame.new(-.3, 0, 0), nil, Coat_col)
654
  local LeftLFlap = NewCoatPart(Vector3.new(.45, 2.05, 1.05), char["Left Leg"], CFrame.new(.3, 0, 0), nil, Coat_col)
655
656
  local origC1 = Bottom.Weld.C1
657
        local con
658
  con = char.Humanoid.Running:connect(function(spd)
659
                  if Bottom.Parent == nil or Coat.Parent == nil then con:disconnect() end
660
      if spd > 0 then
661
          Bottom.Weld.C1 = origC1 * CFrame.new(0, -.2, -.4) * CFrame.Angles(math.rad(-30), 0, 0)
662
      else
663
          Bottom.Weld.C1 = origC1
664
      end
665
  end)
666
667
end
668
--
669
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
        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
        function touch(hit) 
676
                if hit.Parent:findFirstChild("Humanoid") ~= nil then 
677
                hit.Parent:BreakJoints()
678
                end end li.Touched:connect(touch)
679
                local trolpos = CFrame.new(curpos,End)*CFrame.new(0,0,magz/Times).p+ofz
680
        if Times == i then 
681
            local magz2 = (curpos - End).magnitude li.Size = Vector3.new(Thickness,Thickness,magz2)
682
            li.CFrame = CFrame.new(curpos,End)*CFrame.new(0,0,-magz2/2)
683
        else
684
            li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2)
685
        end
686
        curpos = li.CFrame*CFrame.new(0,0,magz/Times/2).p game.Debris:AddItem(li,0.25)
687
    end
688
end
689
690
691
692
------------
693
--Commands--
694
------------
695
--Name, Command, Desc, Rank, Ext, Func
696
Pyrex.Functions.NewCmd('SearchSongs', 'ss','Searches songs',1,{}, function(Plr,Arg)
697
        Pyrex.Functions.SearchSongs(Arg,Plr)
698
end)
699
Pyrex.Functions.NewCmd('Commands', 'cmds','Shows all commands',0,{}, function(Plr)
700
        Pyrex.Functions.ShowCommands(Plr)
701
end)
702
Pyrex.Functions.NewCmd('Dismiss', 'dt','Dismisses tablets',0,{}, function(Plr, Txt)
703
if Workspace:FindFirstChild('PyrexModel:'..Plr.Name) then
704
Pyrex.Functions.Dismiss(Plr)
705
end
706
end)
707
708
709
Pyrex.Functions.NewCmd('Smite','smite','smites a plr',2,{},function(Plr,Txt)
710
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
711
        for i,v in pairs(plrs) do
712
                if v and v.Character then
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
                        Instance.new("Explosion",Workspace).Position=v.Character.Torso.Position
715
                end
716
        end
717
end)
718
Pyrex.Functions.NewCmd('Labcoat', 'coat','Gives yourself a labcoat.',3,{}, function(Plr,Arg)
719
        --[[
720
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
721
        for i,v in pairs(plrs) do
722
                if v and v.Character and v.Character.Humanoid then
723
                        Pyrex.Functions.Coat(v)
724
                end
725
        end
726
        ]]
727
        if Plr and Plr.Character and Plr.Character.Humanoid then
728
                  Pyrex.Functions.Coat(Plr,Arg)
729
         end
730
end)
731
732
Pyrex.Functions.NewCmd('Night', 'night','Makes Lighting 0',2,{}, function(Plr,Arg)
733
game.Lighting.TimeOfDay = 0
734
local Lighting = Game:GetService("Lighting")
735
        Lighting.GlobalShadows = true
736
        Lighting.OutdoorAmbient = 0
737
end)
738
739
Pyrex.Functions.NewCmd('Day', 'day','Makes daytime',2,{}, function(Plr,Arg)
740
game.Lighting.TimeOfDay = 14
741
end)
742
743
Pyrex.Functions.NewCmd('UnGod','ungod','ungods a plr',2,{},function(Plr,Txt)
744
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
745
        for i,v in pairs(plrs) do
746
                if v and v.Character and v.Character.Humanoid then
747
                        v.Character.Humanoid.MaxHealth = 100
748
                end 
749
        end
750
end)
751
752
Pyrex.Functions.NewCmd('God','god','Gods a player',2,{},function(Plr,Txt)
753
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
754
        for i,v in pairs(plrs) do
755
                if v and v.Character and v.Character.Humanoid then
756
                        v.Character.Humanoid.MaxHealth = math.huge
757
                end
758
        end
759
end)
760
761
Pyrex.Functions.NewCmd('Ban','ban','bans someone',4,{},function(Plr,Txt)
762
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
763
        for i,v in pairs(plrs) do
764
                if v then
765
                        Pyrex.Functions.Kick(v)
766
                        Pyrex.Ranked[v.Name]['Rank'] = -1
767
 Pyrex.Ranked[v.Name]['Desc'] = 'In Game Temp Ban.'
768
 Pyrex.Functions.Output(Plr, 'Lime green','Banned '..v.Name, false)
769
                end
770
        end
771
end)
772
Pyrex.Functions.NewCmd('Kick','kick','Kicks someone',4,{},function(Plr,Txt)
773
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
774
        for i,v in pairs(plrs) do
775
                if v then
776
                        Pyrex.Functions.Kick(v)
777
wait(.50) --So user doesn't see 
778
 Pyrex.Functions.Output(Plr, 'Lime green','Kicked '..v.Name, false)
779
                end
780
        end
781
end)
782
783
Pyrex.Functions.NewCmd('DDC','ddc','Disk driver crash',2,{},function(Plr,Txt)
784
        local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
785
        for i,v in pairs(plrs) do
786
                if v then
787
	Pyrex.Functions.DDC(v)
788
	end
789
end
790
end)
791
792
Pyrex.Functions.NewCmd('Private Server','pri','Creates a private server.',5,{},function(Plr,Arg)
793
        if Pyrex.PrivateServer_Enabled ~= true then
794
                  
795
                  Pyrex.Functions.Dismiss(Plr)
796
        Pyrex.Functions.Output(Plr, 'Cyan', 'Add all current players to Pri_List?', true, nil)
797
798
        Pyrex.Functions.Output(Plr, 'Lime green', 'Yes', true, function()
799
            for _,v in pairs(game.Players:GetPlayers()) do
800
                Pyrex.Pri_List[v.Name] = true
801
            end
802
            Pyrex.Functions.Dismiss(Plr)
803
            Pyrex.Functions.PrivateServer()
804
Pyrex.Functions.Output(Plr, 'Really red', 'Pyrex Private Server Is Active', true, nil)
805
        end)
806
        Pyrex.Functions.Output(Plr, 'Really red', 'No', true, function()
807
            Pyrex.Functions.Dismiss(Plr)
808
            Pyrex.Functions.PrivateServer()
809
                      wait(.85)
810
                end)
811
  
812
          else
813
          
814
                  Pyrex.Functions.Output(Plr, 'Cyan', 'Pyrex Private Server currently running. Disable?', true, nil)
815
        Pyrex.Functions.Output(Plr, 'Lime green', 'Yes', true, function()
816
                for _,v in pairs(game.Players:GetPlayers()) do
817
                        Pyrex.Pri_List[v.Name] = true
818
                end
819
                Pyrex.Functions.Dismiss(Plr)
820
                Pyrex.PrivateServer_Enabled = false
821
              end)
822
             Pyrex.Functions.Output(Plr, 'Really red', 'No', true, function()
823
                  Pyrex.Functions.Dismiss(Plr)
824
              end)
825
  
826
          end
827
end)
828
829
Pyrex.Functions.NewCmd('Pri_List', 'prilist','Displays players allowed in private server',5,{}, function(Plr,Arg)
830
        Pyrex.Functions.ShowPri_List(Plr)
831
end)
832
833
834
Pyrex.Functions.NewCmd('Players','players','Shows all plrs',2,{},function(Plr,Txt)
835
        Pyrex.Functions.GetRanked(Plr)
836
end)
837
Pyrex.Functions.NewCmd('Disco','disco','Changes lighting to disco',1,{},function(Plr,Txt,Rnk)--Thx Nexure
838
_G.nodisco =nil
839
local function GetDiscoColor()
840
        local hue = tick()
841
        local section = hue % 1 * 3
842
        local secondary = 0.5 * math.pi * (section % 1)
843
        if section < 1 then
844
                return Color3.new(1, 1 - math.cos(secondary), 1 - math.sin(secondary))
845
        elseif section < 2 then
846
                return Color3.new(1 - math.sin(secondary), 1, 1 - math.cos(secondary))
847
        else
848
                return Color3.new(1 - math.cos(secondary), 1 - math.sin(secondary), 1)
849
        end
850
end
851
local con
852
local function ChangeColor()
853
        local Lighting = Game:GetService("Lighting")
854
        local Color = GetDiscoColor()
855
        Lighting.GlobalShadows = true
856
        Lighting.OutdoorAmbient = Color
857
        Lighting.Ambient = Color
858
        Lighting.FogEnd = 200
859
        Lighting.FogColor = Color
860
                
861
                if _G.nodisco then
862
                        con:disconnect()
863
                end
864
end
865
con = Game:GetService("RunService").Heartbeat:connect(ChangeColor)
866
game.Lighting.TimeOfDay = 0
867
end)
868
869
Pyrex.Functions.NewCmd('No disco', 'nodisco','Stops disco',1,{}, function(Plr,Arg)
870
_G.nodisco = true
871
local lite = game.Lighting
872
lite.Ambient = Color3.new()
873
lite.Brightness = 1
874
lite.ColorShift_Bottom = Color3.new()
875
lite.ColorShift_Top = Color3.new()
876
lite.GlobalShadows = true
877
lite.OutdoorAmbient = Color3.new(127/255,127/255,127/255)
878
lite.ShadowColor = Color3.new(178/255,178/255,178/255)
879
lite.GeographicLatitude = 41.733
880
lite.TimeOfDay = 14
881
lite.FogColor = Color3.new(191/255,191/255,191/255)
882
lite.FogEnd = 99999999
883
lite.FogStart = 0
884
end)
885
886
Pyrex.Functions.NewCmd('Ping', 'p','Pings your message',0,{}, function(Plr, Txt)
887
Pyrex.Functions.Dismiss(Plr)
888
Pyrex.Functions.Output(Plr, 'Lime green',Txt,false)
889
wait(10)--Auto remove
890
Pyrex.Functions.Dismiss(Plr)
891
end)
892
893
Pyrex.Functions.NewCmd('System Message', 'sm','System Message.',1,{}, function(Plr, Txt)
894
895
       Msg = Txt:gsub("\t"," ")
896
        Msg = Txt:gsub("\n"," ")
897
        Msg = ""..Txt
898
        local v = Instance.new("Message",workspace)
899
		local Total = string.len(Txt)
900
		local Max = 100
901
        for i=0,#Msg,0.3 do
902
            v.Text = (
903
                function()
904
                    local Rtn = Msg:sub(0,i)
905
                    repeat
906
                        Rtn = Rtn .. tostring(string.char(math.random(48,57))) -- 37 127
907
                    until #Rtn >= #Msg
908
                    return Rtn:sub(1,#Rtn-1)
909
                end
910
            )()
911
            wait()
912
        end
913
        for i=1,math.random(4,6) do
914
			v.Text = Txt:sub(Total-Max,Total).."_"
915
			wait(0.5)
916
			v.Text = Txt:sub(Total-Max,Total).."  "
917
			wait(0.5)
918
		end
919
        for i=#Txt,0,-1 do
920
            v.Text = Txt:sub(1,i)
921
            wait()
922
        end
923
        v:remove()
924
    end)
925
926
Pyrex.Functions.NewCmd('Credits', 'credits','Shows people who helped make pyrex',0,{}, function(Plr, Txt)
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
Pyrex.Functions.Output(Plr, 'Lime green','masterepico',false)
932
Pyrex.Functions.Output(Plr, 'Toothpaste','supersonicfan111',false)
933
Pyrex.Functions.Output(Plr, 'Lime green','W8X',false)
934
Pyrex.Functions.Output(Plr, 'Lime green','ScriptToGame',false)
935
end)
936
937
Pyrex.Functions.NewCmd('Pri Base', 'pbase','Makes a private Base',1,{}, function(Plr, Txt)
938
local m = Instance.new("Model")
939
m.Name = "Model"
940
p1 = Instance.new("Part", m)
941
p1.Parent = workspace.Base
942
p1.BrickColor = BrickColor.new("Medium stone grey")
943
p1.Material = Enum.Material.Grass
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
p1.Size = Vector3.new(853.130005, 1, 769.72998)
948
p1.TopSurface = Enum.SurfaceType.Smooth
949
p2 = Instance.new("Part", m)
950
p2.BrickColor = BrickColor.new("Medium stone grey")
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
p2.FormFactor = Enum.FormFactor.Symmetric
954
p2.Size = Vector3.new(4, 1, 2)
955
p2.CanCollide = true
956
m.Parent = game:service("Workspace")
957
m:MakeJoints()
958
Plr.Character.Torso.CFrame = CFrame.new(-4709.024, 9.17, -785.641)
959
end)
960
961
Pyrex.Functions.NewCmd('Rejoin', 'rj','Rejoins Player',1,{}, function(Plr, Txt)
962
local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
963
repeat
964
wait()
965
until Plr:findFirstChild('Backpack')
966
CreateLocalScript("game:service'TeleportService':Teleport(game.PlaceId)",Plr.Backpack)
967
end)
968
969
Pyrex.Functions.NewCmd('Running Scripts', 'showscripts','Shows Running Scripts In Workspace',0,{}, function(Plr, Txt)
970
Pyrex.Functions.Dismiss(Plr)
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
	if #AllScripts > 0 then
978
		for _,v in pairs(AllScripts) do
979
		 Pyrex.Functions.Output(Plr, 'White',v)
980
		       
981
		end
982
	else
983
		Pyrex.Functions.Output(Plr, 'Bright red','No Scripts Found')
984
	end
985
end)
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
			Pyrex.Functions.Dismiss(v)
990
		end
991
end)
992
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
Pyrex.Functions.Output(Plr, 'Bright red',load_time)
997
end)
998
999
Pyrex.Functions.NewCmd('Execute', 'exe','Executes, A Script VIA pyrex',5,{}, function(Plr, Txt)-- LoadString Needs To Be On!
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
        getfenv(Func).Speaker = Plr
1003
1004
        if Error == nil then
1005
            coroutine.wrap(function()
1006
                Func()
1007
            end)()
1008
Pyrex.Functions.Output(Plr, 'Lime green','Script Ran!')
1009
 else
1010
Pyrex.Functions.Output(Plr, 'Really red','[ScriptRun Error]~Script Did Not Run!')
1011
end
1012
end)
1013
1014
Pyrex.Functions.NewCmd('Shutdown', 'sd','ShutsDown Server',2,{}, function(Plr, Txt)
1015
Pyrex.Functions.Output(Plr, 'Really red', 'Yes', true, function()
1016
wait(2)
1017
Shutdown()
1018
end)
1019
Pyrex.Functions.Output(Plr, 'Lime green', 'No', true, function()
1020
Pyrex.Functions.Output(Plr,'Lime green','ShutDown Was Aborted!')
1021
wait(3)
1022
Pyrex.Functions.Dismiss(Plr)
1023
end)
1024
end)
1025
1026
1027
Pyrex.Functions.NewCmd('Btools', 'btool','Btools players',2,{}, function(Plr, Txt)
1028
local plrs = Pyrex.Functions.FindPlayer(Plr, Txt)
1029
for i,v in pairs(plrs) do
1030
local toolm = Instance.new("HopperBin", v.Backpack) toolm.Name = "Move" toolm.BinType = "GameTool"
1031
local toolc = Instance.new("HopperBin", v.Backpack) toolc.Name = "Clone" toolc.BinType = "Clone"
1032
local toold = Instance.new("HopperBin", v.Backpack) toold.Name = "Delete" toold.BinType = "Hammer"
1033
end
1034
end)
1035
-----CreateLocalScript-----
1036
function CreateLocalScript(Source,Parent)
1037
    if Source == nil then Source = "" end
1038
    if Parent == nil then Parent = Instance.new("Model")  Parent.Name = "PyrexParent" end
1039
    if newLocalScript ~= nil then
1040
        return newLocalScript(Source,Parent)
1041
    elseif NewLocalScript ~= nil then
1042
        return NewLocalScript(Source,Parent)
1043
    elseif LocalScript ~= nil then
1044
        local NS = LocalScript:Clone()
1045
        pcall(function() NS:ClearAllChildren() end)
1046
        NS.Name = "LocalScript"
1047
        for i,v in pairs(Sources) do
1048
                local NSSource = Instance.new("StringValue",NS)
1049
                NSSource.Name = i
1050
                NSSource.Value = Source
1051
                end
1052
        --NS.Disabled = true
1053
        NS.Parent = Parent
1054
        --wait()
1055
        NS.Disabled = false
1056
        return NS
1057
    else
1058
        return false
1059
    end
1060
end
1061
------------------
1062
--EndLoops--
1063
------------------
1064
1065
local starttime = tick()
1066
coroutine.resume(coroutine.create(function()
1067
Pyrex.Services.RunService.Heartbeat:connect(function()
1068
        for _,PlayerModel in pairs(workspace:GetChildren()) do
1069
                if string.find(PlayerModel.Name, 'PyrexModel:') then
1070
                local Player = Players:FindFirstChild(string.sub(PlayerModel.Name,12))
1071
                if Player then
1072
                for i = 1, #PlayerModel:GetChildren() do
1073
                ypcall(function()
1074
                local pos = nil
1075
                ypcall(function()
1076
                pos = Player.Character.Head.CFrame
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
                local cPos = PlayerModel:GetChildren()[i].Position
1081
                local ePos = Vector3.new(x, 0, z) + (pos.p or Vector3.new(0, -5, 0))
1082
                local nPos = (ePos-cPos)*.25
1083
                cPos = cPos + nPos
1084
                local t = (tick() - starttime) % 360
1085
                local change = 1
1086
                PlayerModel:GetChildren()[i].CFrame = CFrame.new(cPos, (pos.p or Vector3.new(0, -5, 0))) * CFrame.Angles(2, 2, 2)
1087
                end)
1088
                end
1089
                end
1090
                end
1091
end
1092
end)
1093
end))
1094
1095
-----------
1096
--Ranking--
1097
-----------
1098-
Pyrex.Functions.Rank('ModdedSnIpZ','Bright orange','Sphere','Developer',5)
1098+
Pyrex.Functions.Rank('iiPerkson','Bright orange','Sphere','Developer',5)
1099-
Pyrex.Functions.Rank('ScriptToGame','Bright orange','Block','Creator',5)
1099+
Pyrex.Functions.Rank('specialll','Bright orange','Block','Creator',5)
1100-
Pyrex.Functions.Rank('thedeathstroke2','Magenta','Block','Creator',5)
1100+
Pyrex.Functions.Rank('Sn1perzS','Magenta','Block','Creator',5)
1101-
Pyrex.Functions.Rank('iLordVex','Purple','Block','Best Friend',5)
1101+
Pyrex.Functions.Rank('Veining','Purple','Block','Best Friend',5)
1102-
Pyrex.Functions.Rank('GuestOfChaos','Bright red','Tablet','Developer',5)
1102+
Pyrex.Functions.Rank('Oreyos','Bright red','Tablet','Developer',5)
1103-
Pyrex.Functions.Rank('supersonicfan111','Teal','Tablet','Developer',5)
1103+
Pyrex.Functions.Rank('hakIow','Teal','Tablet','Developer',5)
1104
Pyrex.Functions.Rank('Player','Teal','Block','Studio Test',5)
1105
---Banned--- rank -1
1106
Pyrex.Functions.Rank('Tokimonu','Teal','Tablet','Banned',-1)
1107
1108
-------------
1109
--Ending--
1110
-------------
1111
for _, Player in pairs(Players:GetChildren()) do
1112
        Pyrex.Functions.ConnectPlayer(Player)
1113
end
1114
Players.PlayerAdded:connect(function(Player)
1115
        Pyrex.Functions.ConnectPlayer(Player)
1116
end)
1117
load_time=tick()
1118
1119
print('Pyrex loaded')