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