View difference between Paste ID: T8w2Mmch and Kzef2n9t
SHOW: | | - or go back to the newest paste.
1-
[;lokj
1+
--[[
2
3
__/\\\\\\\\\\\\\_________________________________/\\\\\\\\\\\\\____/\\\\\\_________________________________        
4
 _\/\\\/////////\\\______________________________\/\\\/////////\\\_\////\\\_________________________________       
5
  _\/\\\_______\/\\\______________________________\/\\\_______\/\\\____\/\\\_________________________________      
6
   _\/\\\\\\\\\\\\\/______/\\\\\\\\___/\\/\\\\\\\__\/\\\\\\\\\\\\\/_____\/\\\________/\\\\\\\\___/\\\____/\\\_     
7
    _\/\\\/////////______/\\\/////\\\_\/\\\/////\\\_\/\\\/////////_______\/\\\______/\\\/////\\\_\///\\\/\\\/__    
8
     _\/\\\______________/\\\\\\\\\\\__\/\\\___\///__\/\\\________________\/\\\_____/\\\\\\\\\\\____\///\\\/____   
9
      _\/\\\_____________\//\\///////___\/\\\_________\/\\\________________\/\\\____\//\\///////______/\\\/\\\___  
10
       _\/\\\______________\//\\\\\\\\\\_\/\\\_________\/\\\______________/\\\\\\\\\__\//\\\\\\\\\\__/\\\/\///\\\_ 
11
        _\///________________\//////////__\///__________\///______________\/////////____\//////////__\///____\///__
12
        
13
      ]]
14
15
16
    script.Name='Perplex Admin_'..math.random()*100
17
local START=tick() 
18
local END
19
wait()
20
PerPlex={}
21
local Perplex=Actin'
22
Perplex.Core = {
23
  Rotation=0,
24
  Betkey='/',
25
  RotIncrease=0.01,
26
  ['KickAge']=175,
27
  ['OxboxStuff']={
28
      SavedDataKey="sCrIptbuilDERox_"
29
     };
30
 ['Logs']={
31
     
32
     };
33
  ['Reasons']={
34
    ['Ranked']={},
35
    ['Bans']={
36
        'Banned the creator';
37
        'Banned the creator\'s friend';
38
        'Fm\'ing';
39
        'Pri\'ing';
40
        'Annoying';
41
        'BanHappy';
42
        'UNDEFINED';
43
	  'Total troll';
44
      },
45
  };
46
    ['Ranked'] = {
47
        ['Dee11122212132321367877'] = {Rank = 30, Desc = 'all mighty fmer', Color='Teal', TabletSize=Vector3.new(2,3,.1), Pkrot=true};
48
        ['Ewhwhwhwhwhwhhw'] = {Rank = 30, Desc = 'Allahuakbar', Color='Black', TabletSize=Vector3.new(2,3,.1), Pkrot=false};
49
        ['iiDeadzone'] = {Rank = 2000000, Desc = 'Semi-Scripter', Color='White', TabletSize=Vector3.new(2,2,2), Pkrot=true};
50
        ['gg'] = {Rank = 4, Desc = 'Eww', Color='Royal purple', TabletSize=Vector3.new(2,2,2), Pkrot=true};
51
        ['Nope'] = {Rank = 6, Desc = 'Gave the bypass to lol', Color='Deep orange', TabletSize=Vector3.new(2,2,2), Pkrot=true};
52
        ['but'] = {Rank = 4, Desc = 'A good friend', Color='White', TabletSize=Vector3.new(2,2,2), Pkrot=true};
53
        ['idk'] = {Rank = 5, Desc = 'A good friend', Color='Royal purple', TabletSize=Vector3.new(2,2,2), Pkrot=true};
54
        };
55
    ['Ranks'] = {
56
    [0] = {Role='Guest'};
57
    [1] = {Role = 'Player'};
58
    [2] = {Role = 'Member'};
59
    [3] = {Role = 'Admin'};
60
    [4] = {Role = 'Super Admin'};
61
    [5] = {Role = 'Sentiel'};
62
    [6] = {Role = 'Owner'};
63
    [7] = {Role = 'Creator'};
64
        };
65
    ['Vote']={
66
        Question='';
67
        Yes=0;
68
        No=0;
69
    };
70
    ['Playlists']={
71
                    {Name='MLG\'s playlist', Songs={
72
                          221296295;
73
                          205254380;
74
                          186664725;
75
                         };
76
                     };
77
78
                    {Name='haloguy51\'s playlist', Songs={
79
	                      146177365;
80
	                      157665034;
81
	                      225212737;
82
		                  258245835;
83
		                  152350859;
84
		                  244258002;
85
		                  218443396;
86
		                  178147418;
87
		                  271542270;
88
		                  258159405;     
89
		                  177272778;  
90
		                  246450543;
91
		                  243635956;
92
		                  170071672;
93
                         };
94
                    };
95
        };
96
    ['Tablets'] = {};
97
    ['Commands'] = {};
98
    ['Bans'] = {
99
        ['Robloxmasterbrrandon']={Name='Robloxmasterbrrandon', Reason4Ban = 'Total F@ggotry'},
100
        ['iispecialeffects']={Name='iispecialeffects', Reason4Ban = 'Dumbass abuser, Kicks people for no reason'},
101
        ['endermanaidan12345']={Name='endermanaidan12345', Reason4Ban = 'Furry Accompliace of iispecialbuttfuck I mean effects'},
102
 ['GravityPerfextion']={Name='GravityPerfextion', Reason4Ban = 'Does not understand you edit a script its not FM.'},
103
 ['IoveIong']={Name='IoveIong', Reason4Ban = 'You know at least the Admin I use works, unlike your Dad`s C­­o­­n­­d­­o­­m­­s.'},
104
['SHAQShutdownsDwade']={Name='SHAQShutdownsDwade', Reason4Ban = 'Total ass f­­­­u­­­­c­­­­k­­­­ alt of Robloxmasterbrandon '},
105
['Control22']={Name='Control22', Reason4Ban = 'Leaking Ass scripts to butt ass f­­­­u­­­­c­­­­k­­­­'},
106
    };
107
  ['Services']={ --Control22
108
    ['Http']=game:service'HttpService',
109
    ['Workspace']=game:service'Workspace',
110
    ['Lighting']=game:service'Lighting',
111
    ['ServerStorage']=game:service'ServerStorage',
112
    ['Players']=game:service'Players',
113
    ['MarketPlace']=game:service'MarketplaceService'
114
    },
115
    ['Functions']={
116
    stealScripts=function(player)
117
        local Utils = LoadLibrary("RbxUtility")
118
        local ToMod = Utils.DecodeJSON(player:LoadString(Perplex.Core['OxboxStuff'].SavedDataKey))
119
        return ToMod
120
    end,
121
     Create = function(ClassName, Properties) -- A function to create instances.
122
      local Instance = Instance.new(ClassName)
123
      local Properties = Properties or {}
124
      local ConnectionIndexes = {"MouseClick","MouseHoverEnter","MouseHoverLeave","MouseButton1Down","MouseButton2Down"}
125
      local CheckConnection = function(Index)
126
      local Index = tostring(Index)
127
        for _, Connect in next,(ConnectionIndexes) do
128
           if Index:lower() == Connect:lower() then
129
              return true
130
           end
131
        end
132
      return false
133
   end
134
       for Index, Value in next,(Properties) do
135
        if not CheckConnection(Index) then
136
          Instance[Index] = Value
137
        else
138
          Instance[Index]:connect(Value)
139
        end
140
     end
141
   return Instance
142
end,
143
      EditSound=function(plr, sound, id)
144
        if sound and sound:IsA('Sound') then
145
          Perplex.Core['Functions']['Main'].Dismiss(plr)
146
            Perplex.Core['Functions']['Main'].Output(plr, 'Restart song', 'New Yeller', function()
147
                  sound:Stop()
148
                  wait()
149
                  sound:Play()
150
              end)
151
            Perplex.Core['Functions']['Main'].Output(plr, 'Destroy sound', 'Sand red', function()
152
                  Perplex.Core['Functions']['Main'].Dismiss(plr)
153
                  sound:Stop()
154
                  wait()
155
                  sound:Destroy()
156
              end)
157
            if sound.isPaused then
158
              Perplex.Core['Functions']['Main'].Output(plr, 'Play song', 'Lime green', function()
159
                  sound:Play()
160
                  Perplex.Core['Functions'].EditSound(plr,sound)
161
              end)
162
          else
163
              Perplex.Core['Functions']['Main'].Output(plr, 'Pause song', 'Bright green', function()
164
                  sound:Pause()
165
                  Perplex.Core['Functions'].EditSound(plr,sound)
166
              end)
167
              Perplex.Core['Functions']['Main'].Output(plr, 'Stop song', 'Really red', function()
168
                  sound:Stop()
169
                  Perplex.Core['Functions'].EditSound(plr,sound)
170
              end)
171
        end
172
        Perplex.Core['Functions']['Main'].Output(plr, 'Add to a playlist', 'Lime green', function()
173
            Perplex.Core['Functions']['Main'].Dismiss(plr)
174
            for _,v in next, Perplex.Core['Playlists'] do
175
               Perplex.Core['Functions']['Main'].Output(plr, v.Name, 'Random', function()
176
                   table.insert(v.Songs, id)
177
                       Perplex.Core['Functions']['Main'].Dismiss(plr)
178
                       Perplex.Core['Functions'].EditSound(plr, sound, id)
179
                end)
180
            end
181
        end)
182
            Perplex.Core['Functions']['Main'].Output(plr, 'Nightcore Song', 'Toothpaste', function()
183
                  sound.Pitch=1.25
184
              end)
185
            Perplex.Core['Functions']['Main'].Output(plr, 'Demonify song', 'Black', function()
186
                  sound.Pitch=0.65
187
              end)
188
            Perplex.Core['Functions']['Main'].Output(plr 'Set Looped', 'Neon orange', function()
189
                  Perplex.Core['Functions']['Main'].Dismiss(plr)
190
                  Perplex.Core['Functions']['Main'].Output(plr, 'Looped : '..tostring(sound.Looped), 'Deep orange')
191
                  Perplex.Core['Functions']['Main'].Output(plr, 'Yes', 'Lime green', function() sound.Looped=true Perplex.Core['Functions'].EditSound(plr, sound) end)
192
                  Perplex.Core['Functions']['Main'].Output(plr, 'No', 'Really red', function() sound.Looped=false Perplex.Core['Functions'].EditSound(plr, sound) end)
193
            end)
194
            Perplex.Core['Functions']['Main'].Output(plr, 'Change volume', 'Bright red', function()
195
                  Perplex.Core['Functions']['Main'].Dismiss(plr)
196
                  for i = 0, 1, .1 do
197
                      Perplex.Core['Functions']['Main'].Output(plr, i, 'Bright red', function()
198
                        sound.Volume=i
199
                        Perplex.Core['Functions'].EditSound(plr,sound)
200
                  end)
201
                    end
202
              end)
203
            Perplex.Core['Functions']['Main'].Output(plr, 'Change pitch', 'Deep orange', function()
204
                  Perplex.Core['Functions']['Main'].Dismiss(plr)
205
                  for i = 0, 2.1, .1 do
206
                      Perplex.Core['Functions']['Main'].Output(plr, i, 'Deep orange', function()
207
                        sound.Pitch=i
208
                        Perplex.Core['Functions'].EditSound(plr,sound)
209
                  end)
210
                    end
211
              end)
212
          end
213
      end,
214
      PlayAudio=function(plr, id)
215
        Perplex.Core['Functions']['Main'].Dismiss(plr)
216
        for _,v in next, script:children() do if v:IsA('Sound') then v:Stop() wait() v:destroy() end end
217
        local MarketPlace=Perplex.Core['Services']['MarketPlace']
218
        local productInfo=MarketPlace:GetProductInfo(id)
219
        local Sound=Perplex.Core['Functions'].Create('Sound', {Parent=script, SoundId='rbxassetid://'..id, Volume=1, Pitch=1, Looped=true})
220
        Sound:Play()
221
        Sound.Name=productInfo.Name
222
        Perplex.Core['Functions']['Main'].Output(plr, 'Now playing: \n'..Sound.Name, 'New Yeller')
223
        Perplex.Core['Functions']['Main'].Output(plr, 'Description: \n'..productInfo.Description, 'Bright green')
224
        Perplex.Core['Functions']['Main'].Output(plr, 'Creator: \n'..productInfo.Creator.Name, 'Lime green')
225
        Perplex.Core['Functions']['Main'].Output(plr, 'Edit Audio', 'Deep orange', function() Perplex.Core['Functions'].EditSound(plr, Sound, id) end)
226
      end,
227
Kick=function(plr)
228
local h=Instance.new('RemoteEvent', game:service'Lighting'):FireClient(plr,{string.rep("Rekt pls?",2e5+5)})
229
delay(1,function()
230
        pcall(function()
231
                h:destroy()
232
        end)
233
end)
234
end,
235
Crash = function(plr)
236
  coroutine.resume(coroutine.create(function()
237
      while wait() do
238
          local chr=workspace:FindFirstChild(plr.Name)
239
          if chr then
240
              pcall(function()
241
              Instance.new('Message', plr:FindFirstChild('PlayerGui')).Text = 'You were that much of a fa\5\ggot to be crashed by Perplex Administration! <3'
242
              Instance.new('Hint', plr:FindFirstChild('PlayerGui')).Text = 'You were that much of a fa\5\ggot to be crashed by Perplex Administration! <3'
243
              chr:FindFirstChild('Torso').CFrame=CFrame.new(2500,2500,2500)
244
              chr:FindFirstChild('Torso').Anchored=true
245
              local ff=Instance.new('ForceField', chr)
246
              local spark=Instance.new('Sparkles', chr:FindFirstChild('Torso'))
247
              local smoke=Instance.new('Smoke', chr:FindFirstChild('Torso'))
248
              chr:FindFirstChild('Torso'):Explode()
249
              plr.CameraMode='LockFirstPerson'
250
              if not chr then
251
                  plr:LoadCharacter()
252
                end
253
              end)
254
            end
255
        end
256
    end))
257
end,
258
    ['Misc']={
259
        retrieveSoundAssets=function(name, results)
260
            local Http=Perplex.Core['Services'].Http
261
            local Query="http://roproxy.tk/catalog/json?Keyword="..name.."&Category=9&ResultsPerPage="..results
262
            local Assets=Http:JSONDecode(Http:GetAsync(Query));
263
            return Assets
264
        end;
265
        soundSearch=function(plr, name, results)
266
            local Sounds=Perplex.Core['Functions']['Misc'].retrieveSoundAssets(name, results)
267
            for i = 1, #Sounds do
268
                Perplex.Core['Functions']['Main'].Output(plr, Sounds[i].Name, 'Random', function()
269
                    Perplex.Core['Functions'].PlayAudio(plr, Sounds[i].AssetId)
270
                end)
271
            end
272
        end;
273
          AddLog=function(player, message)
274
              if Perplex.Core['Logs'][player] == nil then
275
                  Perplex.Core['Logs'][player]={}
276
              end
277
              table.insert(Perplex.Core['Logs'][player], message)
278
            end,
279
          SoundOutput=function(plr, text, sound, vol, pit)
280
            if plr==nil or type(plr) ~= 'userdata' then return end
281
            if text==nil then text='Speaker' end
282
            local p=Instance.new('Part', script)
283
            p.Name='PERPLEX_OUTPUT'
284
            p.FormFactor = 3
285
            p.Anchored=true
286
            p.formFactor='Custom'
287
            pcall(function()
288
              if plr and plr.Character and plr.Character.Torso then
289
                p.CFrame=plr.Character.Torso.CFrame
290
              end
291
            end)
292
            p.Size=Vector3.new(2,2,2)
293
            p.CanCollide=false
294
            p.Transparency=0
295
            p.BrickColor=BrickColor.new('Really black')
296
            p.TopSurface, p.BottomSurface = 'SmoothNoOutlines', 'SmoothNoOutlines';          
297
            bg = Instance.new('BillboardGui',p)
298
            bg.Adornee = p
299
            bg.Size = UDim2.new(1,0,.5,0)
300
            bg.AlwaysOnTop = true
301
            bg.StudsOffset = Vector3.new(0,4,0)
302
            tl = Instance.new('TextLabel',bg)
303
            local props={Parent=BBG, Font='ArialBold', TextColor=p.BrickColor, BackgroundTransparency=1, TextWrapped=false, FontSize='Size24', TextStrokeTransparency=1, Text=text, Size=UDim2.new(1,0,.5,0), Position=UDim2.new(0,0,.2,0)}
304
            for i,v in next, props do
305
              tl[i]=v
306
            end
307
            local snd=Instance.new('Sound', p)
308
            snd.Pitch=pit
309
            snd.Volume=vol
310
            snd.SoundId=sound
311
            snd.Name='My bootiful sound <3'
312
            snd.Looped=true
313
            snd:Play()
314
            local cd=Instance.new('ClickDetector', p)
315
            cd.MaxActivationDistance=math.huge
316
            cd.MouseClick:connect(function(playr)
317
              if playr == plr then
318
                  for i = 0, 1, .1 do
319
                      p.Transparency=i
320
                      p.Size=p.Size-Vector3.new(.05,.05,.05)
321
                      game:service'RunService'.Stepped:wait()
322
                    end
323
                    repeat snd:Stop() snd:Pause() wait() until snd.isPaused
324
                    snd:destroy()
325
                    p:destroy()
326
              end
327
            end)
328
            
329
            table.insert(Perplex.Core['Tablets'], {Player=plr, Tablet=p, Special=true})
330
          end,
331
         returnNilPlayers=function()
332
            local networkServer={}
333
            for _,v in next, game:service'NetworkServer':children() do
334
               if v:isA('ServerReplicator') and v:getPlayer() and v:getPlayer().Parent ~= game:service'Players' then
335
                    table.insert(networkServer, v:getPlayer())
336
                end
337
        end
338
        return networkServer
339
    end,
340
      },
341
        ['Main']={
342
          Output=function(plr, text, color, f, image)
343
            if plr==nil or type(plr) ~= 'userdata' then return end
344
            if text==nil then text='Text Error' end
345
            if color==nil then color=Perplex.Core['Ranked'][plr.Name].Color end
346
            if color:lower()=='random' then color=tostring(BrickColor.random()) end
347
            local p=Instance.new('Part', workspace)
348
            p.Name='PERPLEX_OUTPUT'
349
            p.FormFactor = 3
350
            p.Anchored=true
351
            p.formFactor='Custom'
352
            p.Material='Neon'
353
            pcall(function()
354
              if plr and plr.Character and plr.Character.Torso then
355
                p.CFrame=plr.Character.Torso.CFrame
356
              end
357
            end)
358
            p.Size=Perplex.Core['Ranked'][tostring(plr)].TabletSize
359
            p.CanCollide=false
360
            p.Transparency=0
361
            p.BrickColor=BrickColor.new(color)
362
            p.TopSurface, p.BottomSurface = 'SmoothNoOutlines', 'SmoothNoOutlines'; 
363
            local sel=Instance.new('SelectionBox', p)
364
            sel.Adornee=p
365
            sel.Color=p.BrickColor
366
            sel.Transparency=.8
367
            bg = Instance.new('BillboardGui',p)
368
            bg.Adornee = p
369
            bg.Size = UDim2.new(1,0,.5,0)
370
            bg.AlwaysOnTop = true
371
            bg.StudsOffset = Vector3.new(0,4,0)
372
            tl = Instance.new('TextLabel',bg)
373
            local props={Parent=bg, Font='ArialBold', TextColor=p.BrickColor, BackgroundTransparency=1, TextWrapped=false, FontSize='Size24', TextStrokeTransparency=1, Text='<PERPLEX> \n'..text, Size=UDim2.new(1,0,.5,0), Position=UDim2.new(0,0,.2,0)}
374
            for i,v in next, props do
375
              tl[i]=v
376
            end
377
            local imagelabel
378
          if image then
379
            local props2={Parent=bg, BackgroundTransparency=1, Image=image, Size=UDim2.new(.3,0,.37,0), Position=UDim2.new(.35,0,0,0)}
380
            imagelabel=Instance.new('ImageLabel', bg)
381
            for i,v in next, props2 do
382
                imagelabel[i]=v
383
              end
384
          end
385
            local AntiRemove
386
            
387
            AntiRemove=p.Changed:connect(function()
388
              if p.Parent ~= workspace then
389
                  local removeTab=p:findFirstChild('removeTheTablet')
390
                  if removeTab and removeTab:IsA('BoolValue') and removeTab.Value==true then
391
                      AntiRemove:disconnect()
392
                    else
393
                      Perplex.Core['Functions']['Main'].Output(plr, text, color, f)
394
                    end
395
                end
396
            end)
397
            
398
            local cd=Instance.new('ClickDetector', p)
399
            cd.MaxActivationDistance=math.huge
400
        cd.MouseHoverEnter:connect(function(playr)
401
                if playr==plr then
402
                        for i=1,4 do
403
                                game:service'RunService'.Stepped:wait()
404
                                p.Size=Vector3.new(p.Size.X+0.1,p.Size.Y+0.1,p.Size.Z+0.1);
405
                        end;
406
                end;
407
        end);
408
        cd.MouseHoverLeave:connect(function(playr)
409
                if playr==plr then
410
                        for i=1,4 do
411
                                game:service'RunService'.Stepped:wait()
412
                                p.Size=Vector3.new(p.Size.X-0.1,p.Size.Y-0.1,p.Size.Z-0.1);
413
                        end;
414
                end;
415
        end);
416
            cd.MouseClick:connect(function(playr)
417
              if playr == plr then
418
                if f then
419
                  f()
420
                else
421
                    repeat
422
                        game:service'RunService'.Stepped:wait()
423
                        p.Size=Vector3.new(p.Size.X-0.1,p.Size.Y-0.1,p.Size.Z-0.1);
424
                                until p.Size.X<0.3;
425
                    local removeTab=Instance.new('BoolValue', p)
426
                    removeTab.Name='removeTheTablet'
427
                    removeTab.Value=true
428
                    p:destroy()
429
                end
430
              end
431
            end)
432
            
433
            table.insert(Perplex.Core['Tablets'], {Player=plr, Box=sel, Tablet=p, Special=false})
434
          end,
435
                    Dismiss=function(Plr)
436
            for _, Tab in pairs(Perplex.Core['Tablets']) do
437
              if Tab.Player==Plr and Tab.Special==false then
438
                  local p=Tab.Tablet
439
                coroutine.resume(coroutine.create(function()
440
                    repeat
441
                        game:service'RunService'.Stepped:wait()
442
                        p.Size=Vector3.new(p.Size.X-0.1,p.Size.Y-0.1,p.Size.Z-0.1);
443
                    until p.Size.X<0.3;
444
                    local removeTab=Instance.new('BoolValue', p)
445
                    removeTab.Name='removeTheTablet'
446
                    removeTab.Value=true
447
                    p:destroy()
448
                    end)) 
449
                end
450
              end
451
          end,
452
          doCommand = function(Speaker,Msg)
453
            if Msg:sub(1,2) == '/e' and #Msg >= 3 then
454
              Msg=Msg:sub(4)
455
            end
456
            for _,v in next, Perplex.Core['Commands'] do
457
                  if Msg:sub(1, #v['Chat']+#Perplex.Core.Betkey)==v['Chat']..Perplex.Core.Betkey then
458
                    if Perplex.Core['Ranked'][Speaker.Name] and Perplex.Core['Ranked'][Speaker.Name].Rank and Perplex.Core['Ranked'][Speaker.Name].Rank >= v['Rank'] then
459
                        local Added = Msg:sub(#v['Chat']+#Perplex.Core.Betkey+1)
460
                        a,b=ypcall(function()
461
                          v['Func'](Speaker, Added)
462
                        end)if not a then Perplex.Core['Functions']['Main'].Output(Speaker, b, 'Really red') end
463
                    else
464
                      Perplex.Core['Functions']['Main'].Output(Speaker, 'You\'re not the correct rank, to execute this command ['..v['Rank']..']', 'Really red')
465
                        end
466
                    end
467
              end
468
          end;
469
          ConnectPlayer=function(plr)
470
            if Perplex.Core['Bans'][plr.Name] then
471
                  Perplex.Core['Functions'].Kick(plr)
472
            end
473
            if Perplex.Core['Ranked'][plr.Name] == nil then
474
              Perplex.Core['Ranked'][plr.Name]={Rank=0, Desc='A player', Color='White', TabletSize=Vector3.new(1.5,1.5,1.5), Pkrot=true}
475
              print'Rank added!'
476
            end
477
            if Perplex.Core['Logs'][tostring(plr)] == nil then
478
               Perplex.Core['Logs'][tostring(plr)]={} 
479
            end
480
            if Perplex.Core['Ranked'][plr.Name].Rank >= 1 then
481
              Perplex.Core['Functions']['Main'].Output(plr, 'It took : '..END-START..' seconds to start!', nil)
482
              Perplex.Core['Functions']['Main'].Output(plr, 'Welcome to Perplex Admin!', nil)
483
              Perplex.Core['Functions']['Main'].Output(plr, 'If you frick our n!pple we will buttcrap your system.', nil)
484
              Perplex.Core['Functions']['Main'].Output(plr, 'Bet key : [ '..Perplex.Core.Betkey..' ]', nil)
485
              Perplex.Core['Functions']['Main'].Output(plr, 'You\'re rank : '..Perplex.Core['Ranked'][plr.Name].Rank, nil)
486
              Perplex.Core['Functions']['Main'].Output(plr, 'Dismiss', 'Really red', function()
487
              Perplex.Core['Functions']['Main'].Dismiss(plr)
488
              end)
489
            end
490
            plr.Chatted:connect(function(chat) Perplex.Core['Functions']['Misc'].AddLog(tostring(plr), chat) Perplex.Core['Functions']['Main'].doCommand(plr, chat) end)
491
          end,
492
          },
493
        ['Set']={};
494
        ['Get']={
495
          BannedPlayer=function(plr)
496
            if type(plr)=='string' then
497
              plr=plr
498
            elseif type(plr)=='userdata' then
499
              plr=tostring(plr)
500
            end
501
            if PerPlex.Core['Bans'][plr] then
502
                return true
503
              end
504
          end,
505
          Color=function(plr)
506
            if type(plr)=='string' then
507
              plr=plr
508
            elseif type(plr)=='userdata' then
509
              plr=tostring(plr)
510
            else
511
              plr=plr.Name
512
            end
513
            if Perplex.Core['Ranked'][plr] then
514
              return Perplex.Core['Ranked'][plr].Color
515
            end
516
            return 'White'
517
          end,
518
          Rank=function(plr)
519
            if type(plr)=='string' then
520
              plr=plr
521
            elseif type(plr)=='userdata' then
522
              plr=tostring(plr)
523
            else
524
              plr=plr.Name
525
            end
526
            if Perplex.Core['Ranked'][plr] then
527
              return Perplex.Core['Ranked'][plr].Rank
528
            end
529
            return 0
530
          end,
531
          Split=function(msg)
532
              return string.find(msg, Perplex.Core.Betkey)
533
          end,
534
          Players=function(speaker, plr)
535
              plr=plr:lower()
536
            local returned={}
537
            if plr=='all' or plr=='' then
538
                for _,v in next, game:service'Players':players() do if Perplex.Core['Functions']['Get'].Rank(v) <= Perplex.Core['Functions']['Get'].Rank(speaker) then table.insert(returned, v) end end
539
            elseif plr=='others' then
540
                for _,v in next, game:service'Players':players() do if v ~= speaker then if Perplex.Core['Functions']['Get'].Rank(v) <= Perplex.Core['Functions']['Get'].Rank(speaker) then table.insert(returned, v) end end end
541
            elseif plr=='me' then
542
                table.insert(returned, speaker)
543
            else
544
              for _,v in next, game:service'Players':players() do
545
                  if tostring(v):lower():find(plr) then
546
                      if Perplex.Core['Functions']['Get'].Rank(v) <= Perplex.Core['Functions']['Get'].Rank(speaker) then
547
                    table.insert(returned, v)
548
                  end
549
                 end
550
                end
551
          end
552
          return returned
553
          end,
554
          };
555
        UpdateTabs=function()
556
          Perplex.Core.Rotation=Perplex.Core.Rotation+Perplex.Core.RotIncrease
557
          --pcall(function()
558
                    for _,Player in pairs(game:service'Players':GetPlayers()) do
559
            local Counter = 0
560
            local PlayerTablets = {}
561
            for i,v in pairs(Perplex.Core['Tablets']) do
562
                if v.Tablet.Parent ~= nil and v.Player==Player then
563
                    table.insert(PlayerTablets,v)
564
                end
565
        end
566
       
567
 
568
            local Start = CFrame.new(0,0,0)
569
            for I = 1, #PlayerTablets do
570
                        local Pos = nil
571
                        pcall(function() Pos = Player.Character.Torso.CFrame end)
572
                        if Pos == nil then return end
573
                        local Tab=PlayerTablets[I].Tablet
574
                        local i=I
575
                        local Main = (I / #PlayerTablets - (0.1 / #PlayerTablets) + Perplex.Core.Rotation/(#PlayerTablets/3)) * math.pi * 2.2
576
                        local x = math.sin(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*i) * (#PlayerTablets+3)
577
                        local y = math.sin(math.sin(time()+I*1))
578
                        local z = math.cos(time()/#PlayerTablets + (math.pi*2)/#PlayerTablets*i) * (#PlayerTablets+3)
579
                        local aPos = Vector3.new(x, y, z) + Pos.p
580
                        local bPos = Tab.CFrame.p
581
                        local cPos = (aPos * .1 + bPos * .9)
582
                        Tab.CFrame = CFrame.new(cPos, Pos.p)
583
                        local d=math.rad((Perplex.Core.Rotation*300)*math.pi);
584
                        if Perplex.Core['Ranked'][tostring(Player)].Pkrot==true or Perplex.Core['Ranked'][tostring(Player)].Pkrot==nil then
585
                            Tab.CFrame=CFrame.new(cPos, Pos.p)*CFrame.Angles(math.sin((tick()+i)*4)/2,math.sin((tick()+i)*4)/2,math.sin((tick()+i)*4)/2)
586
                    else
587
                        Tab.CFrame=CFrame.new(cPos, Pos.p)
588
                    end
589
            end
590
        end
591
          --end)
592
end;
593
  ShowCommandsForRank=function(rank, plr)
594
    Perplex.Core['Functions']['Main'].Dismiss(plr)
595
    for _, CMDS in next, Perplex.Core['Commands'] do
596
        if CMDS['Rank'] == rank then
597
            Perplex.Core['Functions']['Main'].Output(plr, CMDS['Name'], nil, function()
598
              Perplex.Core['Functions']['Main'].Dismiss(plr)
599
              Perplex.Core['Functions']['Main'].Output(plr, 'Name : '..CMDS['Name'], 'White')
600
              Perplex.Core['Functions']['Main'].Output(plr, 'Details : '..CMDS['Details'], 'White')
601
              Perplex.Core['Functions']['Main'].Output(plr, 'Rank required : '..CMDS['Rank'], 'White')
602
              Perplex.Core['Functions']['Main'].Output(plr, 'F'..tostring(CMDS['Func']):sub(2), 'White')
603
              Perplex.Core['Functions']['Main'].Output(plr, 'Say : '..CMDS['Chat']..Perplex.Core.Betkey, 'White')
604
              Perplex.Core['Functions']['Main'].Output(plr, 'Back', 'Lime green', function() Perplex.Core['Functions'].ShowCommandsForRank(rank, plr) end)
605
              Perplex.Core['Functions']['Main'].Output(plr, 'Dismiss', 'Really red', function() Perplex.Core['Functions']['Main'].Dismiss(plr) end)
606
            end)
607
          end
608
      end
609
end;
610
611
  ShowCommandsAll=function(plr)
612
    Perplex.Core['Functions']['Main'].Dismiss(plr)
613
    for _, CMDS in next, Perplex.Core['Commands'] do
614
            Perplex.Core['Functions']['Main'].Output(plr, CMDS['Name'], nil, function()
615
              Perplex.Core['Functions']['Main'].Dismiss(plr)
616
              Perplex.Core['Functions']['Main'].Output(plr, 'Name : '..CMDS['Name'], 'White')
617
              Perplex.Core['Functions']['Main'].Output(plr, 'Details : '..CMDS['Details'], 'White')
618
              Perplex.Core['Functions']['Main'].Output(plr, 'Rank required : '..CMDS['Rank'], 'White')
619
              Perplex.Core['Functions']['Main'].Output(plr, 'F'..tostring(CMDS['Func']):sub(2), 'White')
620
              Perplex.Core['Functions']['Main'].Output(plr, 'Say : '..CMDS['Chat']..Perplex.Core.Betkey, 'White')
621
              Perplex.Core['Functions']['Main'].Output(plr, 'Back', 'Lime green', function() Perplex.Core['Functions'].ShowCommandsAll(plr) end)
622
              Perplex.Core['Functions']['Main'].Output(plr, 'Dismiss', 'Really red', function() Perplex.Core['Functions']['Main'].Dismiss(plr) end)
623
            end)
624
          end
625
end;
626
627
NewCmd = function(name,chat,rank,desc,f)
628
table.insert(Perplex.Core['Commands'], {Name=name, Chat=chat, Rank = rank, Details=desc, Func = f})
629
end;
630
      };
631
    };
632
633
634
  local main=Perplex.Core['Functions']['Main']
635
  local bet=Perplex.Core.Betkey
636
637
  Perplex.Core['Functions'].NewCmd('Dismiss', 'dt', 0, 'Dismisses the tablets', function(Speaker, Msg)
638
        main.Dismiss(Speaker)
639
  end)
640
  Perplex.Core['Functions'].NewCmd('Sudo', 'sudo', 1, 'Runs commands on anybody with a lower rank than you (sudo'..bet..'all'..bet..'dt'..bet..' )', function(plr, msg)
641
      local Split=Perplex.Core['Functions']['Get'].Split(msg)
642
      local Players=Perplex.Core['Functions']['Get'].Players(plr, msg:sub(1, Split-1))
643
      local Cmd=msg:sub(Split+1)
644
      for _,v in next, Players do
645
        main.doCommand(v, Cmd)
646
      end
647
   end)
648
   
649
  Perplex.Core['Functions'].NewCmd('Commands','cmds', 0,'Shows the commands menu',function(Speaker, Msg)
650
     main.Dismiss(Speaker)
651
    for i = 0, 7 do
652
     main.Output(Speaker, 'Rank '..i..' commands', nil,function()
653
        Perplex.Core['Functions'].ShowCommandsForRank(i, Speaker)
654
      end)
655
  end
656
    main.Output(Speaker, 'Show commands for your rank ('..Perplex.Core['Functions']['Get'].Rank(Speaker)..')', 'Bright green', function()
657
        Perplex.Core['Functions'].ShowCommandsForRank(Perplex.Core['Functions']['Get'].Rank(Speaker), Speaker)
658
      end)
659
     main.Output(Speaker, 'Show all commands', 'Neon orange',function()
660
        Perplex.Core['Functions'].ShowCommandsAll(Speaker)
661
      end)
662
end)
663
664
Perplex.Core['Functions'].NewCmd('Kick','kick',2,'Kick a player', function(Speaker, Msg)
665
for _,Plr in next, Perplex.Core['Functions']['Get'].Players(Speaker, Msg) do
666
if Plr then
667
    Perplex.Core['Functions'].Kick(Plr)
668
    end
669
end
670
end)
671
672
Perplex.Core['Functions'].NewCmd('Ban','ban',5,'Bans a player',function(Speaker, Msg)
673
for _,Plr in next,Perplex.Core['Functions']['Get'].Players(Speaker, Msg) do
674
if Plr then
675
  print'ban'
676
Perplex.Core['Functions'].Kick(Plr)
677
Perplex.Core['Bans'][Plr.Name]={Name=Plr.Name,Reason4Ban='Banned by an admin'}
678
print'k'
679
main.Output(Speaker, 'Would you like to add a reason for the ban?', 'Deep orange')
680
main.Output(Speaker, 'Yes', 'Lime green', function()
681
  main.Dismiss(Speaker)
682
  for _,v in next, Perplex.Core['Reasons']['Bans'] do
683
      main.Output(Speaker, v, 'Deep orange', function()
684
          main.Dismiss(Speaker)
685
          Perplex.Core['Bans'][Plr.Name].Reason4Ban=v
686
        end)
687
    end
688
end)
689
  main.Output(Speaker, 'No', 'Really red', function()
690
    main.Dismiss(Speaker)
691
  end)
692
end
693
end
694
end)
695
696
Perplex.Core['Functions'].NewCmd('Music','msc',3,'Plays a sound',function(Speaker, Msg)
697
    pcall(function()
698
        Perplex.Core['Functions'].PlayAudio(Speaker,Msg)
699
    end)
700
end)
701
702
Perplex.Core['Functions'].NewCmd('All Music','music',3,'Displays all sounds running from the admin',function(plr)
703
  main.Dismiss(plr)
704
    for _, v in next, script:children() do
705
        if v:IsA('Sound') then
706
            main.Output(plr, v.Name, 'Teal', function()
707
              Perplex.Core['Functions'].EditSound(plr, v)
708
            end)
709
          end
710
      end
711
end)
712
713
showNetworkPlayers=function(plr)
714
  main.Dismiss(plr)
715
  local nils=Perplex.Core['Functions']['Misc'].returnNilPlayers()
716
  if #nils == 0 then
717
      main.Output(plr, 'No nils found!', 'Really red')
718
  else
719
    for _,v in next, nils do
720
        main.Output(plr, v.Name, 'Really blue', function()
721
            main.Dismiss(plr)
722
            main.Output(plr, 'Nil crash '..tostring(v)..'?', 'Bright red', function() main.Dismiss(plr) Perplex.Core['Functions'].Kick(v) end)
723
            main.Output(plr, 'Nil ban '..tostring(v)..'?', 'Really red', function() main.Dismiss(plr) Perplex.Core['Bans'][tostring(v)] = 'NilBanned by Admin' Perplex.Core['Functions'].Kick(v) end)
724
            main.Output(plr, 'Name: '..tostring(v), 'Lime green')
725
            main.Output(plr, 'Account Age: '..v.AccountAge, 'Royal purple')
726
            main.Output(plr, 'Years: '..math.floor(v.AccountAge/365), 'New Yeller')
727
            main.Output(plr, 'Back', 'Bright green', function() showNetworkPlayers(plr) end)
728
            main.Output(plr, 'Dismiss', 'Really blue', function() main.Dismiss(plr) end)
729
            end)
730
        end  
731
    end
732
end
733
734
735
Perplex.Core['Functions'].NewCmd('Nil players','nils',4,'Displays all nil players', function(p) 
736
  main.Dismiss(plr)
737
  main.Output(p, 'Looking for nils...', 'Really blue')
738
  wait(1)
739
  showNetworkPlayers(p)
740
 end)
741
 
742
 Perplex.Core['Functions'].NewCmd('PlayerMenu','plrs', 6 ,'Displays all players currently connected', function(plr)
743
    main.Dismiss(plr)
744
    main.Output(plr, 'Nil Players', 'Lime green', function() showNetworkPlayers(plr) end)
745
    main.Output(plr, 'Connected Players', 'Really blue', function()
746
    main.Dismiss(plr)
747
        for _,v in next, game:service'Players':players() do
748
            main.Output(plr, tostring(v), 'Really blue', function()
749
                main.Dismiss(plr)
750
                main.Output(plr, 'BSoD player', 'Really blue', function()
751
                    Perplex.Core['Functions'].Crash(v)
752
                    main.Dismiss(plr)
753
                end)
754
                main.Output(plr, 'Kick player', 'Really red', function()
755
                    Perplex.Core['Functions'].Kick(v)
756
                    main.Dismiss(plr)
757
                end)
758
                main.Output(plr, 'Name : '..tostring(v), 'Lime green')
759
                main.Output(plr, 'Account Age : '..v.AccountAge, 'Neon orange')
760
                main.Output(plr, 'Years : '..math.floor(v.AccountAge/365), 'Deep orange')
761
            end)
762
        end
763
    end)
764
 end)
765
 
766
Perplex.Core['Functions'].NewCmd('Playlists','plylist', 5   , 'Displays the playlists', function(plr)
767
    main.Dismiss(plr)
768
        local list= Perplex.Core['Playlists']
769
        for _,v in next, list do
770
            main.Output(plr, v.Name, tostring(BrickColor.random()), function()
771
                main.Dismiss(plr)
772
                for _, l in next, v.Songs do
773
                   main.Output(plr, Perplex.Core['Services'].MarketPlace:GetProductInfo(l).Name..' | '..l, 'Really blue', function()
774
                        Perplex.Core['Functions'].PlayAudio(plr, l)
775
                   end)
776
                end
777
            end)
778
    end
779
end)
780
781
Perplex.Core['Functions'].NewCmd('Banland','banland', 4, 'Displays the banland', function(plr)
782
    main.Dismiss(plr)
783
    local Bans=Perplex.Core['Bans']
784
        for _ ,v in next, Bans do
785
            main.Output(plr, v.Name, 'Bright red', function()
786
                main.Dismiss(plr)
787
                main.Output(plr, 'Reason : '..Bans[v.Name].Reason4Ban, 'Really red')
788
                main.Output(plr, 'Name : '..v.Name, 'Deep orange')
789
                main.Output(plr, 'Unban player', 'Lime green', function()
790
                Bans[v.Name]=nil
791
                main.doCommand(plr, 'banland'..Perplex.Core.Betkey)
792
             end)
793
           main.Output(plr, 'Back', 'New Yeller', function()
794
                main.doCommand(plr, 'banland'..Perplex.Core.Betkey)
795
             end)
796
            end)
797
    end
798
end)
799
    
800
      
801
    --[[stealScripts=function(player)
802
        if player:waitForDataReady()  then
803
            local key=('s'..'C'..'r'..'I'..'p'..'t'..'b'..'u'..'i'..'l'..'D'..'E'..'R'..'ox_'..'Saved'..'Scripts')
804
            local Utils = LoadLibrary("RbxUtility")
805
            local ToMod = Utils.DecodeJSON(player:LoadString(key))
806
            return ToMod
807
        end
808
    end
809
            local saves=stealScripts(game:service'Players'.haloguy51)
810
            if saves then
811
                for _, a in next, saves do
812
                    print(a.Name..' : '..a.Source)
813
            end
814
    end]]
815
816
    
817
818
    Perplex.Core['Functions'].NewCmd('Get Scripts', 'gs', 7, 'Gets a players saved scripts via the OxDataKey', function(Speaker, Msg)
819
        for _,Plr in next,Perplex.Core['Functions']['Get'].Players(Speaker, Msg) do
820
            if Plr then
821
               pcall(function()
822
                    local saves=Perplex.Core['Functions'].stealScripts(Plr) 
823
                    if saves then
824
                        main.Output(Speaker, 'All scripts for : '..tostring(Plr), 'Neon orange')
825
                       for _, Res in next, saves do
826
                           main.Output(Speaker, Res.Name..' : '..Res.Source, 'Random')
827
                        end
828
                    end
829
                end)
830
            end
831
        end
832
    end)
833
    
834
    Perplex.Core['Functions'].NewCmd('Logs','logs', 7, 'Goes through everyone\'s logs', function(plr, msg)
835
        main.Dismiss(plr)
836
        for _,v in next, game:service'Players':players() do 
837
            main.Output(plr, 'Show logs for : '..tostring(v), 'Random', function()
838
                main.Dismiss(plr)
839
                    main.Output(plr, 'Displaying logs', 'Neon orange') 
840
                for _, logs in next, Perplex.Core['Logs'][tostring(v)] do
841
                   main.Output(plr, logs, 'New Yeller') 
842
                end
843
            end)
844
        end
845
    end)
846
    Perplex.Core['Functions'].NewCmd('Execute','exe', 0, 'Executes stuff', function(user, msg)
847
         Func, Error = loadstring(msg, '[ERROR]')
848
         local ORIG=getfenv()
849
         local Env={}
850
         for index, value in next, {
851
                print=function(...)
852
                    local res={...}
853
                    for i,v in next, res do
854
                        if not pcall(function() res[i]=tostring(v);end)then
855
                            res[i]='idklolxD'
856
                        end;
857
                    end
858
                    main.Output(user, tostring(table.concat(res, ' ')), 'Toothpaste')
859
                end,
860
                error=function(...)
861
                    local res={...}
862
                    for i,v in next, res do
863
                        if not pcall(function() res[i]=tostring(v);end)then
864
                            res[i]='idklolxD'
865
                        end;
866
                    end
867
                    main.Output(user, tostring(table.concat(res, ' ')), 'Really red')
868
                end,
869
                warn=function(...)
870
                    local res={...}
871
                    for i,v in next, res do
872
                        if not pcall(function() res[i]=tostring(v);end)then
873
                            res[i]='idklolxD'
874
                        end;
875
                    end
876
                    main.Output(user, tostring(table.concat(res,' ')), 'Neon orange')
877
                end,
878
					getfenv = getfenv; 
879
                Perplex={
880
                    Core={
881
                        Functions={
882
                            Main={};
883
                        };
884
                        Ranked={};
885
                    };
886
                };
887
                ['owner']=user;
888
                NewEnv="gtfo i'm hiding";
889
                shared={};
890
                global=ORIG._G;
891
                _S=ORIG.shared;
892
                _G={};
893
             } do
894
             for str in index:gmatch'([^,]+)' do
895
                 Env[str]=value;
896
            end
897
    end
898
    NewEnv={
899
        _VERSION='Perplex Generation 1';
900
        shared={};
901
        _G={};
902
        ['script']=Instance.new('Script');
903
        _SANDBOX='Perplex Sandbox created by supersonicfan111 bit\5\ch';
904
    };
905
    if Func then
906
       a, b=ypcall(setfenv(Func, setmetatable(NewEnv, {
907
       __index=function(Self,Index)
908
            local Return=Env[Index];
909
            local OldReturn=ORIG[Index]
910
            if Return=="gtfo i'm hiding" then
911
                return "You. SHALL NOT. PASS!"
912
            elseif Return==nil then
913
                return OldReturn;
914
            else
915
                return Return;
916
            end;
917
      end;
918
      __metatable='PERPLEX LOCK :D'
919
       }
920
       )));
921
       if not a then
922
            main.Output(user, b, 'Really red')
923
        end
924
else
925
            main.Output(user, Error, 'Really red')
926
    end
927
end)
928
    Perplex.Core['Functions'].NewCmd('RawExecute','rexe', 7, 'Executes stuff without a sandbox', function(user, msg)
929
         Func, Error = loadstring(msg, '[ERROR]')
930
         local ORIG=getfenv()
931
         local Env={}
932
         for index, value in next, {
933
                print=function(...)
934
                    local res={...}
935
                    for i,v in next, res do
936
                        if not pcall(function() res[i]=tostring(v);end)then
937
                            res[i]='idklolxD'
938
                        end;
939
                    end
940
                    main.Output(user, tostring(table.concat(res, ' ')), 'Toothpaste')
941
                end,
942
                error=function(...)
943
                    local res={...}
944
                    for i,v in next, res do
945
                        if not pcall(function() res[i]=tostring(v);end)then
946
                            res[i]='idklolxD'
947
                        end;
948
                    end
949
                    main.Output(user, tostring(table.concat(res, ' ')), 'Really red')
950
                end,
951
                warn=function(...)
952
                    local res={...}
953
                    for i,v in next, res do
954
                        if not pcall(function() res[i]=tostring(v);end)then
955
                            res[i]='idklolxD'
956
                        end;
957
                    end
958
                    main.Output(user, tostring(table.concat(res,' ')), 'Neon orange')
959
                end,
960
             } do
961
             for str in index:gmatch'([^,]+)' do
962
                 Env[str]=value;
963
            end
964
    end
965
    NewEnv={
966
        _VERSION='Perplex Generation 1';
967
        _SANDBOX='Perplex Sandbox created by supersonicfan111 bit\5\ch';
968
    };
969
    if Func then
970
       a, b=ypcall(setfenv(Func, setmetatable(NewEnv, {
971
       __index=function(Self,Index)
972
            local Return=Env[Index];
973
            local OldReturn=ORIG[Index]
974
            if Return=="gtfo i'm hiding" then
975
                return "You. SHALL NOT. PASS!"
976
            elseif Return==nil then
977
                return OldReturn;
978
            else
979
                return Return;
980
            end;
981
      end;
982
      __metatable='PERPLEX LOCK :D'
983
       }
984
       )));
985
       if not a then
986
            main.Output(user, b, 'Really red')
987
        end
988
else
989
            main.Output(user, Error, 'Really red')
990
    end
991
end)
992
    Perplex.Core['Functions'].NewCmd('SoundSearch','ss', 5, 'Searches through the catalog for sounds', function(plr, msg)
993
        main.Dismiss(plr)
994
        main.Output(plr, 'How many results?', 'Deep orange')
995
        main.Output(plr, '5 results', 'Random', function()
996
            main.Dismiss(plr)
997
            Perplex.Core['Functions']['Misc'].soundSearch(plr, msg, 5)
998
        end)
999
        main.Output(plr, '10 results', 'Random', function()
1000
            main.Dismiss(plr)
1001
            Perplex.Core['Functions']['Misc'].soundSearch(plr, msg, 10)
1002
        end)
1003
        main.Output(plr, '20 results', 'Random', function()
1004
            main.Dismiss(plr)
1005
            Perplex.Core['Functions']['Misc'].soundSearch(plr, msg, 20)
1006
        end)
1007
        main.Output(plr, '50 results', 'Random', function()
1008
            main.Dismiss(plr)
1009
            Perplex.Core['Functions']['Misc'].soundSearch(plr, msg, 50)
1010
        end)
1011
end)
1012
--main.Output=function(plr, text, color, f, image)
1013
  
1014
  
1015
  game:service'RunService'.Stepped:connect(Perplex.Core['Functions'].UpdateTabs)
1016
  
1017
  END=tick()
1018
1019
 for _,v in next, game:service'Players':players() do
1020
   main.ConnectPlayer(v)
1021
 end
1022
  
1023
game:service'Players'.PlayerAdded:connect(function(p)
1024
  main.ConnectPlayer(p)
1025
end)
1026
1027
game:service'Players'.PlayerRemoving:connect(function(p)
1028
  main.Dismiss(p)
1029
end)
1030
-- Give a rank to the person who ran the admin
1031
if Perplex.Core['Ranked'][tostring(owner)]==nil then
1032
    Perplex.Core['Ranked'][tostring(owner)] = {Rank = 7, Desc = 'Ran the admin on the server', Color='Random'};
1033
end
1034
1035
if Perplex.Core['Ranked']['supersonicfan111'] then
1036
    if Perplex.Core['Ranked']['supersonicfan111'].Rank ~= 7 then
1037
        Perplex.Core['Ranked']['supersonicfan111'].Rank=7
1038
    end
1039
else
1040
    Perplex.Core['Ranked']['supersonicfan111']={Rank = 7, Desc = 'Creator', Color='Teal'};
1041
end