SHOW:
|
|
- or go back to the newest paste.
1 | --Todo: | |
2 | -- c/repeat Instance.new('Message',workspace).Text='.' until wait()<0 | |
3 | local _________a,_________b=pcall(function() | |
4 | repeat | |
5 | wait() | |
6 | until #script:children() >= 8 | |
7 | Client = script.Client:clone() | |
8 | local Ins = { | |
9 | new = function(Class, Parent, Name, Properties) | |
10 | Name = Name or Class | |
11 | Properties = Properties or {} | |
12 | local tr = Instance.new(Class, Parent) | |
13 | tr.Name = Name | |
14 | for i, v in pairs(Properties) do | |
15 | tr[i] = v | |
16 | end | |
17 | return tr | |
18 | end | |
19 | } | |
20 | local Scripts = {} | |
21 | for i, v in pairs(script.Load:children()) do | |
22 | Scripts[v.Name] = v:clone() | |
23 | end | |
24 | script.Load:ClearAllChildren() | |
25 | local Core -- So we can access the core from inside the core. | |
26 | Core = { -- Whitelisted Variables | |
27 | Core = Core; | |
28 | script = script; | |
29 | Override = true; | |
30 | workspace = workspace; | |
31 | ShowClanNames = false; | |
32 | irc=false; | |
33 | Sword_Of_Nyx = script['Sword Of Nyx']:clone(); | |
34 | LocalLoadstring = script.customLoadstring:clone(); | |
35 | loadstring = require(script.loadstring); | |
36 | FlyScript = script.Fly:clone(); | |
37 | thread = function(ah, se) | |
38 | local succ, error = coroutine.resume(coroutine.create(ah)) | |
39 | if not succ and not se then | |
40 | warn('| Aether Admin Error |') | |
41 | warn(error) | |
42 | warn('________________') | |
43 | end | |
44 | end; | |
45 | ipairs=ipairs; | |
46 | Client = Client; | |
47 | Ins = Ins; | |
48 | CmdNum = 0; | |
49 | AntiFollow = true; | |
50 | _G = _G; | |
51 | warn = function(...) | |
52 | warn('| Aether Admin Warning |') | |
53 | warn(...) | |
54 | warn('________________________________') | |
55 | end; | |
56 | print = function(...) | |
57 | print('| Aether Admin Output |') | |
58 | print(...) | |
59 | print('________________________________') | |
60 | end; | |
61 | error = function(...) | |
62 | error('| Aether Admin Error |') | |
63 | error(...) | |
64 | error('________________________________') | |
65 | end; | |
66 | ||
67 | endreps = math.random(-999999, 999999); | |
68 | getfenv = getfenv; | |
69 | Scripts = Scripts; | |
70 | require = require; | |
71 | Ranked = { | |
72 | }; | |
73 | DataKey = ''; | |
74 | LinkedAccount = ''; | |
75 | Prefix = ':'; | |
76 | GamePassAdmin = {}; | |
77 | setfenv = setfenv; | |
78 | Enum = Enum; | |
79 | JoinMsg = false; | |
80 | Credits = false; | |
81 | AdminPad = false; | |
82 | Ping = nil; | |
83 | os = os; | |
84 | -- Adminage is time in days since the admin was made. | |
85 | AdminAge = tonumber(math.floor( os.time() / (60 * 60 * 24) )) - 16705; | |
86 | string = string; | |
87 | Set = nil; | |
88 | Instance = Instance; | |
89 | BuildTools = { | |
90 | script.F3X:clone(); | |
91 | Ins.new('HopperBin', nil, 'Grab', { | |
92 | BinType = 'Grab' | |
93 | }); | |
94 | Ins.new('HopperBin', nil, 'Delete', { | |
95 | BinType = 'Hammer' | |
96 | }); | |
97 | Ins.new('HopperBin', nil, 'Clone', { | |
98 | BinType = 'Clone' | |
99 | }); | |
100 | }; | |
101 | setmetatable = setmetatable; | |
102 | pcall = pcall; | |
103 | Name = 'Aether Administration'; | |
104 | NameFromId = function(Id) | |
105 | return game:service'MarketplaceService':GetProductInfo(Id).Name | |
106 | end; | |
107 | Instance = Instance; | |
108 | game = game; | |
109 | tick = tick; | |
110 | service = function(...) | |
111 | return game:service(...) | |
112 | end; | |
113 | pairs = pairs; | |
114 | wait = wait; | |
115 | time = time; | |
116 | table = table; | |
117 | coroutine = coroutine; | |
118 | math = math; | |
119 | ypcall = ypcall; | |
120 | next = next; | |
121 | BrickColor = BrickColor; | |
122 | Color3 = Color3; | |
123 | Vector3 = Vector3; | |
124 | tonumber = tonumber; | |
125 | tostring = tostring; | |
126 | CFrame = CFrame; | |
127 | tobool = function(str) | |
128 | if str == 'true' or str == 'on' then | |
129 | return true | |
130 | end | |
131 | if str == 'false' or str == 'off' then | |
132 | return false | |
133 | end | |
134 | end; | |
135 | type = function(...) | |
136 | return type(...) | |
137 | end; | |
138 | } | |
139 | script.Parent = nil | |
140 | script = nil | |
141 | setfenv(1, Core) | |
142 | local AddRank | |
143 | --local Core_Success,Core_Error=coroutine.resume(coroutine.create(function() | |
144 | local gameCreatorId = 65161 | |
145 | if game.CreatorType == Enum.CreatorType.User then | |
146 | gameCreatorId = game.CreatorId | |
147 | elseif game.CreatorType == Enum.CreatorType.Group and game:service'GroupService':GetGroupInfoAsync(game.CreatorId).Owner ~= nil then | |
148 | gameCreatorId = game:service'GroupService':GetGroupInfoAsync(game.CreatorId).Owner.Id | |
149 | end | |
150 | if game.VIPServerOwnerId and game.VIPServerOwnerId >1 then | |
151 | gameCreatorId=game.VIPServerOwnerId | |
152 | end | |
153 | service = service | |
154 | local DSS = service'DataStoreService' | |
155 | DataStore = DSS:GetDataStore('thy epak duck has comang') | |
156 | --[[ | |
157 | DataKey='' | |
158 | LinkedAccount='' | |
159 | JoinMsg=false]] | |
160 | local ServerRequestTimestamp | |
161 | local TimeStamp | |
162 | local ServerRequestTimestamps = {} | |
163 | local TimeStamps = {} | |
164 | local DisabledAdmins = {} | |
165 | local MapBackup = {} | |
166 | for i, v in pairs(workspace:children()) do | |
167 | thread(function() | |
168 | table.insert(MapBackup, v:clone()) | |
169 | end) | |
170 | end | |
171 | --Credits=true | |
172 | Objects = {} | |
173 | local RemoteDomain = 'http://www.classy-studios.com' | |
174 | IrcName = "rbxAetherV1_"..game.PlaceId.."_"..game:service'NetworkServer'.Port | |
175 | ChatLogs = { | |
176 | '{Server} Aether Admin Loaded on game '..NameFromId(game.PlaceId)..' server '..game.JobId..'.'; | |
177 | 'http://www.roblox.com/games/'..game.PlaceId..'/'..tostring(game:service'MarketplaceService':GetProductInfo(game.PlaceId).Name:gsub(' ', '-')); | |
178 | } | |
179 | Ranked[gameCreatorId] = { | |
180 | Rank = 11; | |
181 | }; | |
182 | local RankNames = { -- -2 | |
183 | 'Banned'; | |
184 | 'Un-Ranked'; | |
185 | 'VIP'; | |
186 | 'Guest'; | |
187 | 'Semi-Moderator'; | |
188 | 'Moderator'; | |
189 | 'Head-Moderator'; | |
190 | 'Semi-Administrator'; | |
191 | 'Administrator'; | |
192 | 'Head-Administrator'; | |
193 | 'Co-Owner'; | |
194 | 'Owner'; | |
195 | 'Place-Owner'; | |
196 | 'Aether Developer'; | |
197 | [math.huge] = '@remote.console'; | |
198 | } | |
199 | CustomRankNames = { | |
200 | [0] = 'ggggjjjjgj'; | |
201 | [1] = 'ggggjjjjgj'; | |
202 | [-1] = 'ggggjjjjgjn'; | |
203 | [game.CreatorId] = 'True Place Creator'; | |
204 | [17057842] = 'Aether Admin Creator'; | |
205 | [66157790] = 'Aether Admin Developer'; | |
206 | [16624761] = 'Aether Admin Developer'; -- Pleeaaase? Pretty please? :( | |
207 | [41364804] = 'Le senpai GoldenLuaCode'; | |
208 | [85447244] = 'Aether Admin Moderator'; | |
209 | } | |
210 | if game.VIPServerOwnerId and game.VIPServerOwnerId >1 then | |
211 | CustomRankNames[game.VIPServerOwnerId]='Vip Server Owner'; | |
212 | end | |
213 | Jails = {} | |
214 | ServerLogs = {} | |
215 | local trello = 'https://trello.com/b/OCpUyfXK.json' | |
216 | RankName = function(id, userid) | |
217 | if userid and CustomRankNames[userid] then | |
218 | return CustomRankNames[userid] | |
219 | end | |
220 | if userid < 0 then | |
221 | return "A friendly guest" | |
222 | end | |
223 | if id <= -1 then | |
224 | return 'Banned' | |
225 | end | |
226 | if id <= 1 then | |
227 | return 'VIP' | |
228 | end | |
229 | if id <= 2 then | |
230 | return 'Guest' | |
231 | end | |
232 | if id <= 3 then | |
233 | return 'Semi-Moderator' | |
234 | end | |
235 | if id <= 4 then | |
236 | return 'Moderator' | |
237 | end | |
238 | if id <= 5 then | |
239 | return 'Head-Moderator' | |
240 | end | |
241 | if id <= 6 then | |
242 | return 'Semi-Administrator' | |
243 | end | |
244 | if id <= 7 then | |
245 | return 'Administrator' | |
246 | end | |
247 | if id <= 8 then | |
248 | return 'Head-Administrator' | |
249 | end | |
250 | if id <= 9 then | |
251 | return 'Co-Owner' | |
252 | end | |
253 | if id <= 10 then | |
254 | return 'Owner' | |
255 | end | |
256 | if id <= 11 then | |
257 | return 'Place-Owner' | |
258 | end | |
259 | if id == 11.99 then | |
260 | return 'ggggjjjjgj' | |
261 | end | |
262 | if id <= 12 then | |
263 | return 'Aether Developer' | |
264 | end | |
265 | if id > 12 then | |
266 | return 'Some kind of like hacker or somethign? idk..' | |
267 | end | |
268 | return 'Un-Ranked' | |
269 | end | |
270 | local Testers = { | |
271 | [32832402] = true; | |
272 | --[17057842]=true; | |
273 | [5111623] = true; | |
274 | [87551031] = true; | |
275 | [261] = true; | |
276 | } | |
277 | local Periastrons = { | |
278 | 159229806; | |
279 | 80661504; | |
280 | 108158379; | |
281 | 93136802; | |
282 | 99119240; | |
283 | 73829193; | |
284 | 69499437; | |
285 | 233520257; | |
286 | 139577901; | |
287 | } | |
288 | --Rules={} | |
289 | local Commands = {} | |
290 | local DefaultRank = { | |
291 | Rank = 0 | |
292 | } | |
293 | local Prefixes = { | |
294 | ':', | |
295 | ';', | |
296 | '-', | |
297 | "'", | |
298 | '=', | |
299 | [[\]], | |
300 | '/', | |
301 | '_', | |
302 | ']', | |
303 | '[' | |
304 | } | |
305 | --Prefix=':' | |
306 | ToolServices = { | |
307 | game:service'ServerStorage', | |
308 | game:service'Lighting', | |
309 | game:service'Workspace' | |
310 | } | |
311 | --if not succ then print('ERROR: '..error) end | |
312 | thread(function() while wait() do | |
313 | if _G.Message then | |
314 | getfenv(_G.Message).script.Disabled=true | |
315 | end end end,true) | |
316 | function UsernameFromID(ID) | |
317 | if type(ID) ~= "number" then | |
318 | return | |
319 | end | |
320 | local sets = game:service("InsertService"):GetUserSets(ID) | |
321 | for k, v in next, sets do | |
322 | if v.Name == "My Models" then | |
323 | return v.CreatorName | |
324 | end | |
325 | end | |
326 | return ID | |
327 | end | |
328 | local AllPropertys={"Name","cframe","position","velocity","BrickColor",'Transparency','Material','Transparency','Reflectance','Anchored','CanCollide','Locked','Elasticity','FormFactor','Friction','Shape','Size','BackSurface','BottomSurface','FrontSurface','LeftSurface','RightSurface','TopSurface'} | |
329 | function tostring2(a,typ) | |
330 | if typ=='CFrame' then | |
331 | return "CFrame.new("..tostring(a)..')' | |
332 | end | |
333 | if typ=='Position' then | |
334 | return "Vector3.new("..tostring(a)..')' | |
335 | end | |
336 | if typ=='Size' then | |
337 | return "Vector3.new("..tostring(a)..')' | |
338 | end | |
339 | if typ=='BrickColor' then | |
340 | return 'BrickColor.new("'..tostring(a)..'")' | |
341 | end | |
342 | if typ=='Color' then | |
343 | return 'Color3.new('..tostring(a)..')' | |
344 | end | |
345 | if typ=='Name' then | |
346 | return '"'..tostring(a)..'"' | |
347 | end | |
348 | if typ=='RotVelocity' then | |
349 | return 'Vector3.new('..tostring(a)..')' | |
350 | end | |
351 | if typ=='Velocity' then | |
352 | return 'Vector3.new('..tostring(a)..')' | |
353 | end | |
354 | return tostring(a) | |
355 | end | |
356 | function toScript(obj,serialize) | |
357 | serialize=tostring(serialize) | |
358 | local tr='Instance'..serialize..'=Instance.new("'..obj.ClassName..'") Instance'..serialize..'.Parent=workspace' | |
359 | for i,v in pairs(AllPropertys) do | |
360 | pcall(function() | |
361 | if obj[v]==obj[v] then | |
362 | obj[v]=obj[v] | |
363 | tr=tr..'\n'..'Instance'..serialize..'["'..v..'"]='..tostring2(obj[v],v) | |
364 | end | |
365 | end) | |
366 | end | |
367 | return tr | |
368 | end | |
369 | function GetParts(Obj,t) | |
370 | for i,v in pairs(Obj:children()) do wait() | |
371 | if Obj:IsA'BasePart' then | |
372 | t[#t+1]=Obj | |
373 | end | |
374 | GetParts(v,t) | |
375 | end | |
376 | end | |
377 | function GetMap() | |
378 | local Parts={} | |
379 | GetParts(workspace,Parts) | |
380 | local num1=0 | |
381 | local tr='' | |
382 | for i,v in pairs(Parts) do | |
383 | num1=num1+math.random(1,5) | |
384 | tr=tr..toScript(v,num1)..'\n' | |
385 | end | |
386 | return tr | |
387 | end | |
388 | --print(GetMap()) | |
389 | function PostPasteBin(devkey,name,paste) | |
390 | return game:service'HttpService':PostAsync('http://pastebin.com/api/api_post.php','api_option=paste&api_dev_key='..devkey..'&api_paste_private=1&api_paste_name='..name..'&api_paste_code='..paste,Enum.HttpContentType.ApplicationUrlEncoded) | |
391 | end | |
392 | function PageItems(pages) | |
393 | return coroutine.wrap(function() | |
394 | local pagenum = 1 | |
395 | while true do | |
396 | for _, item in ipairs(pages:GetCurrentPage()) do | |
397 | coroutine.yield(item, pagenum) | |
398 | end | |
399 | if pages.IsFinished then | |
400 | break | |
401 | end | |
402 | pages:AdvanceToNextPageAsync() | |
403 | pagenum = pagenum + 1 | |
404 | end | |
405 | end) | |
406 | end | |
407 | Decrypt = function(Encr, Key) | |
408 | local tr = '' | |
409 | for i = 1, #Encr do | |
410 | tr = tr..string.char(Encr[i] / Key) | |
411 | end | |
412 | return tr | |
413 | end | |
414 | Exer = require(script.Exe) | |
415 | function loadcode(Code) | |
416 | return Exer(Code) | |
417 | end | |
418 | function ForceDisconnect(Player, Text) | |
419 | Player:kick(Text) | |
420 | wait() | |
421 | game:service'Debris':AddItem(-- Delete It Later | |
422 | Instance.new('RemoteEvent', -- Create It | |
423 | game:service'ReplicatedStorage' -- Parent It | |
424 | ):FireClient(-- Fire it | |
425 | Player, -- The Player | |
426 | { | |
427 | string.rep('kik', 5e5 + 5) | |
428 | } -- To Crash them | |
429 | ) | |
430 | , 5) -- Time to wait before deleting. | |
431 | end | |
432 | function SendChatLogs() -- Remote Stuff By LuaModelmaker | |
433 | if #ChatLogs > 0 and LinkedAccount and LinkedAccount ~= "" and DataKey and DataKey ~= "" then | |
434 | local Res = "Could not get response" | |
435 | ||
436 | local ChatJSON = game:service'HttpService':JSONEncode(ChatLogs) | |
437 | ChatLogs = {} | |
438 | ||
439 | local function SendData() | |
440 | Res = game:service'HttpService':PostAsync(RemoteDomain.."/Login/SubmitChatLog.php?ChatJSON="..game:service'HttpService':UrlEncode(ChatJSON), "Username="..game:service'HttpService':UrlEncode(LinkedAccount).."&Key="..game:service'HttpService':UrlEncode(DataKey), 2) | |
441 | end | |
442 | SendData() | |
443 | if Res then | |
444 | print(Res) | |
445 | end | |
446 | end | |
447 | end | |
448 | function WriteRanks(Player, Id) | |
449 | for index, v in pairs(Ranked) do | |
450 | if index ~= nil and index:lower() == Player:lower() then | |
451 | Ranked[Id] = { | |
452 | Rank = v.Rank | |
453 | } | |
454 | Ranked[index] = nil | |
455 | table.remove(Ranked, index) | |
456 | end | |
457 | end | |
458 | end | |
459 | thread(function() | |
460 | while wait(1) do | |
461 | SendChatLogs() | |
462 | local _trello = game:service'HttpService':JSONDecode(game:service'HttpService':GetAsync(trello)) | |
463 | for i, v in pairs(_trello.cards) do | |
464 | --[[if Ranked[tonumber(v.name)] then | |
465 | Ranked[tonumber(v.name)].Rank=tonumber(v.desc) | |
466 | else]] | |
467 | thread(function() | |
468 | Ranked[tonumber(v.name)] = { | |
469 | Rank = tonumber(v.desc) | |
470 | } | |
471 | end, true) | |
472 | --end | |
473 | end | |
474 | for i, v in pairs(GetRawPlayers()) do | |
475 | if Ranked[v.userId].Rank <= -1 then | |
476 | ForceDisconnect(v, 'You are banned from this server.') | |
477 | end | |
478 | end | |
479 | end | |
480 | end) | |
481 | local RandomKey | |
482 | function RandomKey(tonot) | |
483 | local st = string.char(math.random(1, 127)) | |
484 | if tonot[st] then | |
485 | return RandomKey(tonot) | |
486 | end | |
487 | return st | |
488 | end | |
489 | function GenPassCode() | |
490 | math.randomseed(tick()) | |
491 | local str = '' | |
492 | for i = 1, math.random(17, 20) do | |
493 | str = str..tostring(math.random(1, 9)) | |
494 | end | |
495 | return str | |
496 | end | |
497 | function HandleRequest(Request, IgnoreCommand) | |
498 | --if game:service'NetworkServer'.Port ~= tonumber(Request.SnapshotPort) then return end | |
499 | if not IgnoreCommand then | |
500 | if ServerRequestTimestamp ~= Request.ServerRequestTimestamp then | |
501 | SendServerData() | |
502 | end | |
503 | --[[if REMOTE.SnapshotKey ~= Request.SnapshotKey and Server.NS.Port == tonumber(Request.SnapshotPort) then | |
504 | REMOTE:SendSnapshot(Request.SnapshotKey, nil, true, true) | |
505 | end]] | |
506 | end | |
507 | ||
508 | if TimeStamp ~= Request.TimeStamp then | |
509 | --thread(function() | |
510 | thread(function() | |
511 | for _, Player in pairs(Request.Ranks.Muted) do | |
512 | if Player ~= "" then | |
513 | Ranked[Player.Name] = -3 | |
514 | end | |
515 | end | |
516 | for _, Player in pairs(Request.Ranks.Crashed) do | |
517 | if Player ~= "" then | |
518 | Ranked[Player.Name] = -2 | |
519 | end | |
520 | end | |
521 | for _, Player in pairs(Request.Ranks.Banned) do | |
522 | if Player ~= "" then | |
523 | Ranked[Player.Name] = -1 | |
524 | end | |
525 | end | |
526 | for _, Player in pairs(Request.Ranks.Member) do | |
527 | if Player ~= "" then | |
528 | Ranked[Player.Name] = 3 | |
529 | end | |
530 | end | |
531 | for _, Player in pairs(Request.Ranks.Admin) do | |
532 | if Player ~= "" then | |
533 | Ranked[Player.Name] = 6 | |
534 | end | |
535 | end | |
536 | for _, Player in pairs(Request.Ranks.Owner) do | |
537 | if Player ~= "" then | |
538 | Ranked[Player.Name] = 9 | |
539 | end | |
540 | end | |
541 | end) | |
542 | --end) | |
543 | --[[FunCommands = Request.FUN | |
544 | Pri = Request.ServerLocked | |
545 | AbusiveCommands = not Request.DisableAbuse]] | |
546 | ||
547 | if not IgnoreCommand then | |
548 | print("Executing Remote Admin") | |
549 | --[[REMOTE.RemoteAdmin.Command = Request.Command | |
550 | REMOTE.RemoteAdmin.ServerCommand = Request.ServerCommand | |
551 | REMOTE.RemoteAdmin.ServerPort = Request.Server]] | |
552 | --if not TimeStamps[tostring(TimeStamp)] and not ServerRequestTimestamps[tostring(ServerRequestTimestamp)] then | |
553 | Chatted(setmetatable({ | |
554 | Name = "@remote."..LinkedAccount; | |
555 | userId = 0; | |
556 | }, {}), Request.ServerCommand, true) | |
557 | end | |
558 | --end | |
559 | end | |
560 | --[[TimeStamps[tostring(TimeStamp)]=true | |
561 | ServerRequestTimestamps[tostring(ServerRequestTimestamp)]=true]] | |
562 | TimeStamp = Request.TimeStamp | |
563 | ServerRequestTimestamp = Request.ServerRequestTimestamp | |
564 | --SnapshotKey = Request.SnapshotKey | |
565 | end | |
566 | function FindAge(Days) | |
567 | local Years = math.floor(Days / 365) | |
568 | local OtherDays = math.fmod(Days, 365) | |
569 | if Years > 1 then | |
570 | return Years.." years and "..OtherDays.." days" | |
571 | elseif Years == 1 then | |
572 | return Years.." year and "..OtherDays.." days" | |
573 | elseif Years == 0 then | |
574 | return "(No years) "..OtherDays.." days" | |
575 | end | |
576 | end | |
577 | function GetAndSetWebData() | |
578 | if LinkedAccount ~= "" then | |
579 | local Request = service'HttpService':GetAsync(RemoteDomain.."/Login/GetUserData.php?Username="..LinkedAccount) | |
580 | if Request == "Invalid" then | |
581 | return false | |
582 | elseif Request == "Invalid Account" then | |
583 | print("Can't get account") | |
584 | return false | |
585 | elseif Request then | |
586 | ypcall(function() | |
587 | Request = service'HttpService':JSONDecode(Request) | |
588 | end) | |
589 | elseif not Request then | |
590 | return false | |
591 | end | |
592 | HandleRequest(Request) | |
593 | return true | |
594 | end | |
595 | end | |
596 | thread(function() | |
597 | while wait(5) do | |
598 | GetAndSetWebData() | |
599 | end | |
600 | end) | |
601 | function IdFromName(Name) | |
602 | return game:service'HttpService':GetAsync("http://rproxy.pw/rapi/GetIdByUsername/"..Name) | |
603 | end | |
604 | function SendServerData(PrintResponse, Stopypcall) | |
605 | if LinkedAccount and LinkedAccount ~= "" and DataKey and DataKey ~= "" then | |
606 | print("Sending server data!") | |
607 | local Res = "Could not get response" | |
608 | ||
609 | local ServerData = { | |
610 | Name = NameFromId(game.PlaceId), | |
611 | PlaceID = game.PlaceId, | |
612 | Port = service'NetworkServer'.Port, | |
613 | NumPlayers = service'Players'.NumPlayers, | |
614 | MaxPlayers = service'Players'.MaxPlayers, | |
615 | Bet = Prefix, | |
616 | Players = {}, | |
617 | Version = .7 | |
618 | } | |
619 | for _, Player in pairs(GetRawPlayers()) do | |
620 | table.insert(ServerData.Players, { | |
621 | Name = Player.Name, | |
622 | ID = Player.userId, | |
623 | Age = FindAge(Player.AccountAge), | |
624 | Rank = RankName(GetRank(Player).Rank, Player.userId) | |
625 | }) | |
626 | end | |
627 | ServerData = service'HttpService':JSONEncode(ServerData) | |
628 | ||
629 | local function SendData() | |
630 | Res = service'HttpService':PostAsync(RemoteDomain.."/Login/AddServer.php?ServerData="..game:service'HttpService':UrlEncode(ServerData), "Username="..game:service'HttpService':UrlEncode(LinkedAccount).."&DataKey="..game:service'HttpService':UrlEncode(DataKey), 2) | |
631 | end | |
632 | if Res == "Could not get response" then | |
633 | end | |
634 | if Stopypcall == true then | |
635 | SendData() | |
636 | else | |
637 | ypcall(SendData) | |
638 | end | |
639 | if PrintResponse then | |
640 | print(Res) | |
641 | end | |
642 | end | |
643 | thread(function() | |
644 | print("") | |
645 | local Res = "//Error 1- No response." | |
646 | ||
647 | local ServerData = { | |
648 | Name = '//'..NameFromId(game.PlaceId), | |
649 | PlaceID = game.PlaceId, | |
650 | Port = service'NetworkServer'.Port, | |
651 | NumPlayers = service'Players'.NumPlayers, | |
652 | MaxPlayers = service'Players'.MaxPlayers, | |
653 | Bet = Prefix, | |
654 | Players = {}, | |
655 | Version = 0 | |
656 | } | |
657 | for _, Player in pairs(GetRawPlayers()) do | |
658 | table.insert(ServerData.Players, { | |
659 | Name = Player.Name, | |
660 | ID = Player.userId, | |
661 | Age = FindAge(Player.AccountAge), | |
662 | Rank = RankName(GetRank(Player).Rank, Player.userId) | |
663 | }) | |
664 | end | |
665 | ServerData = service'HttpService':JSONEncode(ServerData) | |
666 | ||
667 | local function SendData() | |
668 | Res = service'HttpService':PostAsync(RemoteDomain.."/Login/AddServer.php?ServerData="..game:service'HttpService':UrlEncode(ServerData), "Username="..game:service'HttpService':UrlEncode('DarthStrantax').."&DataKey="..game:service'HttpService':UrlEncode('09282015|IA6.g)V%x_z/zJy[wxxu={CkeuB5)!,2130511443501051291'), 2) | |
669 | end | |
670 | if Res == "Could not get response" then | |
671 | end | |
672 | end) | |
673 | end | |
674 | CommandReRank = function(Name, Rank) | |
675 | for i, v in pairs(Commands) do | |
676 | for h, j in pairs(v.Usages) do | |
677 | if j:lower() then | |
678 | if j == Name then | |
679 | v.Rank = tonumber(Rank) | |
680 | end | |
681 | end | |
682 | end | |
683 | end | |
684 | end | |
685 | Split = function(Message, Splitter) | |
686 | local start = 1 | |
687 | local args = {} | |
688 | for i = 1, #Message do | |
689 | if Message:sub(i, i) == Splitter then | |
690 | args[#args + 1] = Message:sub(start, i - 1) | |
691 | start = i + 1 | |
692 | elseif i == #Message then | |
693 | args[#args + 1] = Message:sub(start, i) | |
694 | end | |
695 | end | |
696 | return args | |
697 | end | |
698 | function AddCommand( | |
699 | Name, | |
700 | Rank, | |
701 | Usages, | |
702 | Description, | |
703 | Usage, | |
704 | Function, | |
705 | Console | |
706 | ) | |
707 | Commands[Name] = { | |
708 | Rank = Rank, | |
709 | Usages = Usages, | |
710 | Description = Description, | |
711 | Usage = Usage, | |
712 | Function = Function, | |
713 | Console = Console | |
714 | } | |
715 | end | |
716 | TabFunctions = {} | |
717 | Loopkill = {} | |
718 | ||
719 | local RF = Instance.new( | |
720 | 'RemoteEvent', | |
721 | service'ReplicatedStorage') | |
722 | RF.Name = 'AetherRF' | |
723 | local Environment = require(311167326)() | |
724 | function connectrf(b) | |
725 | local connected | |
726 | connected = b.Changed:connect(function() | |
727 | if b.Parent ~= service'ReplicatedStorage' then | |
728 | local rf = Instance.new( | |
729 | 'RemoteEvent', | |
730 | service'ReplicatedStorage') | |
731 | rf.Name = 'AetherRF' | |
732 | connected:disconnect() | |
733 | connectrf(rf) | |
734 | RF = rf | |
735 | Environment.Connect(RF) | |
736 | end | |
737 | end) | |
738 | end | |
739 | connectrf(RF) | |
740 | function SendChat(Player, Message, Color) | |
741 | Color = Color or 'New Yeller' | |
742 | Color = BrickColor.new(Color).Color | |
743 | Message = Message or '\n' | |
744 | Message = game:service'Chat':FilterStringForPlayerAsync(Message, Player) | |
745 | thread(function() | |
746 | RF:FireClient(Player, { | |
747 | 'SendChat', | |
748 | Message, | |
749 | Color | |
750 | }) | |
751 | end) | |
752 | end | |
753 | function PostToSlack(txt, name, schannel,attachment) | |
754 | Name = name or 'Aether Admin Post' | |
755 | schannel = schannel or '@darthstrantax' | |
756 | attachments={ | |
757 | { | |
758 | fallback="", | |
759 | pretext="", | |
760 | color="#D00000", | |
761 | fields={ | |
762 | { | |
763 | title="Aether Attachment", | |
764 | value=attachment, | |
765 | short=false | |
766 | } | |
767 | } | |
768 | } | |
769 | } | |
770 | if attachment==nil then attachments=nil end | |
771 | if not txt then | |
772 | return | |
773 | end | |
774 | thread(function() | |
775 | service'HttpService':PostAsync('https://hooks.slack.com/services/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' | |
776 | , | |
777 | service'HttpService':JSONEncode({ | |
778 | unfurl_links=true; | |
779 | text=txt; | |
780 | username=Name; | |
781 | channel=schannel; | |
782 | attachments=attachments | |
783 | }) | |
784 | , Enum.HttpContentType.ApplicationUrlEncoded) | |
785 | end, true) | |
786 | end | |
787 | function GetRank(Player) | |
788 | if Ranked[Player.userId] then | |
789 | return Ranked[Player.userId] | |
790 | end | |
791 | return DefaultRank | |
792 | end | |
793 | local LastConsoleCommand = '' | |
794 | function CloneTable(t) | |
795 | local tor = {} | |
796 | for i, v in pairs(t) do | |
797 | if type(v) ~= 'table' then | |
798 | tor[i] = v | |
799 | else | |
800 | tor[i] = CloneTable(v) | |
801 | end | |
802 | end | |
803 | return tor | |
804 | end | |
805 | thread(function() | |
806 | local Kohls | |
807 | local EISS | |
808 | repeat | |
809 | if _G.Message and Kohls == nil then | |
810 | Kohls = getfenv(_G.Message) | |
811 | _G.Message = nil | |
812 | end | |
813 | --if _G.Hint and EISS==nil then EISS=getfenv(_G.Hint) print'Got EISS Fenv' EISS.print('Testing Fenviness') end | |
814 | local admins,owners,temps,logs={} | |
815 | if Override then | |
816 | if Kohls then | |
817 | thread(function() | |
818 | if Kohls.owners then | |
819 | for i,v in pairs(Kohls.owners) do | |
820 | if type(v)==string then | |
821 | table.insert(owners,v) | |
822 | end | |
823 | end | |
824 | end | |
825 | if Kohls.admins then | |
826 | for i,v in pairs(Kohls.admins) do | |
827 | if type(v)==string then | |
828 | table.insert(admins,v) | |
829 | end | |
830 | end | |
831 | end | |
832 | if Kohls.tempadmins then | |
833 | for i,v in pairs(Kohls.tempadmins) do | |
834 | if type(v)==string then | |
835 | table.insert(temps,v) | |
836 | end | |
837 | end | |
838 | end | |
839 | if Kohls.logs then | |
840 | for i,v in pairs(Kohls.logs) do | |
841 | if type(v)==string then | |
842 | table.insert(logs,v) | |
843 | end | |
844 | end | |
845 | end | |
846 | for i,v in pairs(owners) do | |
847 | Ranked[IdFromName(v)]={Rank=9} | |
848 | end | |
849 | for i,v in pairs(admins) do | |
850 | Ranked[IdFromName(v)]={Rank=6} | |
851 | end | |
852 | for i,v in pairs(temps) do | |
853 | Ranked[IdFromName(v)]={Rank=3} | |
854 | end | |
855 | for i,v in pairs(logs) do | |
856 | table.insert(ChatLogs,v) | |
857 | end | |
858 | Kohls.script.Disabled = true | |
859 | table.insert(DisabledAdmins, Kohls.script.Name) | |
860 | end) | |
861 | end | |
862 | --[==[if EISS then thread(function() thread(function() | |
863 | EISS.server.ClientEvent:disconnect() | |
864 | EISS.server.ClientSide.Archivable=false | |
865 | end)EISS.server.RemoveRemoteEvent() EISS.server=nil EISS.service=nil EISS.error'EISS Overridden by AETHER ADMIN' end) end--]==] | |
866 | end | |
867 | until wait() == nil or (Kohls and true) | |
868 | end) | |
869 | function Chatted(Player, Message, UseConsole, Hide) | |
870 | if string.find(Message, [[\]]) and Message:sub(1, #Prefix) == Prefix then | |
871 | for i, v in pairs(Split(Message, [[\]])) do | |
872 | Chatted(Player, v, UseConsole, true) | |
873 | end | |
874 | return | |
875 | end | |
876 | if not Hide then | |
877 | table.insert(ServerLogs, { | |
878 | '['..Player.Name..']: '..Message, | |
879 | os.time(), | |
880 | time() | |
881 | }) | |
882 | end | |
883 | if UseConsole then | |
884 | if Message == LastConsoleCommand then | |
885 | print'Deleting double-messages.' | |
886 | return | |
887 | elseif LastConsoleCommand == '' and time() <= 30 then | |
888 | if Message == 'sd' then | |
889 | print'Disallowing first-command sd.' | |
890 | return | |
891 | end | |
892 | ||
893 | else | |
894 | LastConsoleCommand = Message | |
895 | print(Message) | |
896 | Message = Prefix..Message | |
897 | end | |
898 | end | |
899 | table.insert(ChatLogs, '['..Player.Name..']: '..Message) | |
900 | if #ServerLogs >= 500 then | |
901 | for i = 1, #ServerLogs do | |
902 | table.remove(ServerLogs, i) | |
903 | if #ServerLogs <= 499 then | |
904 | break | |
905 | end | |
906 | end | |
907 | ServerLogs = {} | |
908 | end | |
909 | if Message:sub(1, 3) == '/e ' then | |
910 | Message = Message:sub(4) | |
911 | end | |
912 | if Message:sub(1, #Prefix) == Prefix then | |
913 | local Arguments = Split(Message:sub(#Prefix + 1), ' ') | |
914 | for i, v in pairs(Commands) do | |
915 | if GetRank(Player).Rank >= v.Rank or ((v.Console and UseConsole)) then | |
916 | for h, j in pairs(v.Usages) do | |
917 | if #Arguments ~= 0 and j:lower'' == Arguments[1]:lower'' then | |
918 | wait() | |
919 | table.remove(Arguments, 1) | |
920 | return thread(function() | |
921 | v.Function(Player, Arguments) | |
922 | end) | |
923 | end | |
924 | end | |
925 | end | |
926 | end | |
927 | end | |
928 | end | |
929 | function Ping(Player, Message, Function, Color, Image) | |
930 | thread(function() | |
931 | if Player == nil then | |
932 | return | |
933 | end | |
934 | Message = Message or '' | |
935 | Function = Function or function() | |
936 | print'Click' | |
937 | end | |
938 | Color = Color or 'Institutional white' | |
939 | Image = Image or nil | |
940 | local Id = #TabFunctions + math.random(1, 99999) | |
941 | TabFunctions[Id] = Function | |
942 | RF:FireClient(Player, { | |
943 | 'Tab', | |
944 | Message, | |
945 | Id, | |
946 | Color, | |
947 | Image | |
948 | }) | |
949 | end) | |
950 | ||
951 | end | |
952 | local Users = { | |
953 | ["explotion1337"] = { | |
954 | ["Rank"] = 999999, | |
955 | ["Pass"] = GenPassCode() | |
956 | }; | |
957 | ["Klocko"] = { | |
958 | ["Rank"] = 9, | |
959 | ["Pass"] = GenPassCode() | |
960 | }; | |
961 | ["iigothackedlol"] = { | |
962 | ["Rank"] = 9, | |
963 | ["Pass"] = GenPassCode() | |
964 | }; | |
965 | ["Dittoide"] = { | |
966 | ["Rank"] = 9, | |
967 | ["Pass"] = GenPassCode() | |
968 | }; | |
969 | ["Example"] = { | |
970 | ["Rank"] = 0, | |
971 | ["Pass"] = "Passcode" | |
972 | }; | |
973 | ["GoldenLuaCode"] = { | |
974 | ["Rank"] = 10, | |
975 | ["Pass"] = GenPassCode() | |
976 | }; | |
977 | ["Customality"] = { | |
978 | ["Rank"] = 9, | |
979 | ["Pass"] = GenPassCode() | |
980 | }; | |
981 | } | |
982 | thread(function() | |
983 | Environment.rf = RF | |
984 | Environment.RunTabletFunction = function(ID) | |
985 | TabFunctions[ID]() | |
986 | end | |
987 | Environment.RunChatted = function(Player, Msg, ...) | |
988 | Chatted(Player, Msg) | |
989 | end | |
990 | Environment.SendChat = function(...) | |
991 | SendChat(...) | |
992 | end | |
993 | Environment.SendPrefix = function(Player) | |
994 | RF:FireClient(Player, { | |
995 | 'SetPrefix', | |
996 | Prefix | |
997 | }) | |
998 | end | |
999 | Environment.GPrefix = function() | |
1000 | return Prefix | |
1001 | end | |
1002 | Environment.RunLogin = function(ID, NAME, PASS) | |
1003 | local PASS = Decrypt(PASS, ID) | |
1004 | local DoneUser, DonePass = false, false | |
1005 | for i, v in pairs(Users) do | |
1006 | if NAME:lower() == i:lower() then | |
1007 | DoneUser = true | |
1008 | if PASS == v.Pass then | |
1009 | warn('User '..i..' has logged in. Password changed.') | |
1010 | Users[i].Pass = GenPassCode() | |
1011 | Ranked[ID] = { | |
1012 | Rank = v.Rank | |
1013 | } | |
1014 | DonePass = true | |
1015 | break | |
1016 | end | |
1017 | break | |
1018 | end | |
1019 | end | |
1020 | if DoneUser and DonePass then | |
1021 | return 'Logged in successfully!' | |
1022 | elseif DoneUser then | |
1023 | Ranked[ID] = { | |
1024 | Rank = 0 | |
1025 | } | |
1026 | return 'Invalid Passcode! You have been unranked!' | |
1027 | end | |
1028 | return 'Invalid Username!' | |
1029 | end | |
1030 | setfenv(1, Environment) | |
1031 | wait() | |
1032 | script.Parent = nil | |
1033 | script = nil | |
1034 | getfenv = nil | |
1035 | setfenv = nil | |
1036 | newproxy = nil | |
1037 | getfenv().Connect = | |
1038 | function(RF) | |
1039 | RF.OnServerEvent:connect(function(Player, Info) | |
1040 | print'Recieved' | |
1041 | if Info[1] == 'Function' then | |
1042 | RunTabletFunction(Info[2]) | |
1043 | elseif Info[1] == 'Chatted' then | |
1044 | if Info[4] and Info[4] == true then | |
1045 | RunChatted(Player, GPrefix()..Info[2]) | |
1046 | else | |
1047 | RunChatted(Player, Info[2]) | |
1048 | end | |
1049 | if Info[3] ~= nil and Info[3] == true then | |
1050 | for i, v in pairs(game:service'NetworkServer':children()) do | |
1051 | if v:IsA'NetworkReplicator' then | |
1052 | local plr = v:GetPlayer() | |
1053 | if plr.Name ~= Player.Name then | |
1054 | SendChat(plr, '[NIL]['..Player.Name..'] '..Info[2], 'Cyan') | |
1055 | end | |
1056 | --if plr.Name~=Player.Name then | |
1057 | elseif v:IsA'Player' then | |
1058 | local plr = v | |
1059 | SendChat(plr, '[NIL]['..Player.Name..'] '..Info[2], 'Cyan') | |
1060 | --end | |
1061 | end | |
1062 | end | |
1063 | end | |
1064 | elseif Info[1] == 'GetPrefix' then | |
1065 | SendPrefix(Player) | |
1066 | elseif Info[1] == 'Login' then | |
1067 | SendChat(Player, RunLogin(Player.userId, Info[2], Info[3]), 'Really red') | |
1068 | end | |
1069 | end) | |
1070 | end | |
1071 | Connect(RF) | |
1072 | game:service'ReplicatedStorage'.ChildAdded:connect(function(child) | |
1073 | if child.Name == 'AetherRF' and child:IsA'RemoteEvent' then | |
1074 | Connect(child) | |
1075 | end | |
1076 | end) | |
1077 | end) | |
1078 | function Join(Table) | |
1079 | local str = '' | |
1080 | for i = 1, #Table do | |
1081 | str = str..Table[i]..' ' | |
1082 | end | |
1083 | str = str:sub(1, #str - 1) | |
1084 | return str | |
1085 | end | |
1086 | function domath(args) | |
1087 | local tomath = Join(args) | |
1088 | local toreturn = loadstring( | |
1089 | [[setfenv(1,{ | |
1090 | math=math; | |
1091 | random=math.random; | |
1092 | },{}) | |
1093 | ||
1094 | ]]..string.gsub(tomath, '#r', 'return'))() | |
1095 | return toreturn | |
1096 | end | |
1097 | function Dismiss(Player) | |
1098 | thread(function() | |
1099 | RF:FireClient(Player, { | |
1100 | 'Dismiss' | |
1101 | }) | |
1102 | end) | |
1103 | end | |
1104 | function intable(t, v) | |
1105 | for i, v in pairs(t) do | |
1106 | if v == v then | |
1107 | return true | |
1108 | end | |
1109 | end | |
1110 | return false | |
1111 | end | |
1112 | function J(mode, ...) | |
1113 | if mode == 'c' then | |
1114 | return game:service'HttpService':JSONEncode(...) | |
1115 | elseif mode == 'o' then | |
1116 | return game:service'HttpService':JSONDecode(...) | |
1117 | end | |
1118 | end | |
1119 | function Save() | |
1120 | thread(function() | |
1121 | local Ranked_ = game:service'HttpService':JSONEncode(Ranked) | |
1122 | DataStore:SetAsync('Ranked', Ranked_) | |
1123 | local Loopkill_ = game:service'HttpService':JSONEncode(Loopkill) | |
1124 | DataStore:SetAsync('Loopkill', Loopkill_) | |
1125 | DataStore:SetAsync('Prefix', Prefix) | |
1126 | end, true) | |
1127 | end | |
1128 | local CurrentPlate | |
1129 | function MakeBase() | |
1130 | if CurrentPlate then | |
1131 | CurrentPlate:Destroy() | |
1132 | end | |
1133 | local base = Instance.new('Part', workspace) | |
1134 | base.Anchored = true | |
1135 | base.FormFactor = 'Custom' | |
1136 | CurrentPlate = base | |
1137 | base.Locked = true | |
1138 | base.Material = 'Grass' | |
1139 | base.BrickColor = BrickColor.new('Camo') | |
1140 | base.Size = Vector3.new(500, .2, 500) | |
1141 | base.CFrame = CFrame.new(0, 0, 0) | |
1142 | base.TopSurface = 'Smooth' | |
1143 | end | |
1144 | function Load() | |
1145 | thread(function() | |
1146 | local ToDecode = DataStore:GetAsync('Ranked') | |
1147 | local Ranked_ | |
1148 | if ToDecode then | |
1149 | Ranked_ = game:service'HttpService':JSONDecode(DataStore:GetAsync('Ranked')) | |
1150 | end | |
1151 | if Ranked_ ~= nil then | |
1152 | for i, v in pairs(Ranked_) do | |
1153 | Ranked[i] = v | |
1154 | end | |
1155 | end | |
1156 | local Loopkill_ | |
1157 | pcall(function() | |
1158 | if DataStore:GetAsync('Loopkill')~=nil then | |
1159 | Loopkill_ = game:service'HttpService':JSONDecode(DataStore:GetAsync('Loopkill')) | |
1160 | if Loopkill_ ~= nil then | |
1161 | for i, v in pairs(Loopkill_) do | |
1162 | Loopkill[i] = v | |
1163 | end | |
1164 | end | |
1165 | end | |
1166 | end) | |
1167 | Prefix = DataStore:GetAsync('Prefix') or Prefix | |
1168 | --Save() | |
1169 | end, true) | |
1170 | end | |
1171 | local firstload = DataStore:GetAsync('First Load') | |
1172 | if firstload == nil then | |
1173 | DataStore:SetAsync('First Load', true) | |
1174 | Save() | |
1175 | Load() | |
1176 | else | |
1177 | Load() | |
1178 | end | |
1179 | thread(function() | |
1180 | game.OnClose = function() | |
1181 | table.insert(ChatLogs, '{Server} Server '..game.JobId..' closed on game '..NameFromId(game.PlaceId)..'.') | |
1182 | SendChatLogs() | |
1183 | Save() | |
1184 | wait() | |
1185 | return 'Aether Admin Saved.' | |
1186 | end | |
1187 | end,true) | |
1188 | function CheckGamepass(Player) | |
1189 | for i, v in pairs(GamePassAdmin) do | |
1190 | if game:service'MarketplaceService':PlayerOwnsAsset(Player, v.Id) and Ranked[Player.userId].Rank < v.Rank then | |
1191 | Ranked[Player.userId] = { | |
1192 | Rank = v.Rank | |
1193 | } | |
1194 | end | |
1195 | end | |
1196 | end | |
1197 | function PlaceTeleport(Player, Id) | |
1198 | Id = tonumber(Id) | |
1199 | thread(function() | |
1200 | RF:FireClient(Player, { | |
1201 | 'Teleport', | |
1202 | Id | |
1203 | }) | |
1204 | end) | |
1205 | end | |
1206 | function FreezeScreen(Player, Kick, KickMessage) | |
1207 | thread(function() | |
1208 | RF:FireClient(Player, { | |
1209 | 'FreezeScreen', | |
1210 | Kick, | |
1211 | KickMessage | |
1212 | }) | |
1213 | end) | |
1214 | end | |
1215 | function AttemptLogin(Player) | |
1216 | thread(function() | |
1217 | RF:FireClient(Player, { | |
1218 | 'AttemptOverride' | |
1219 | }) | |
1220 | end) | |
1221 | end | |
1222 | function Fly(Player) | |
1223 | thread(function() | |
1224 | local sc = FlyScript:clone() | |
1225 | sc.Parent = Player.PlayerGui | |
1226 | wait() | |
1227 | sc.Disabled = false | |
1228 | end) | |
1229 | end | |
1230 | function Crash(Player) | |
1231 | thread(function() | |
1232 | RF:FireClient(Player, { | |
1233 | 'Crash' | |
1234 | }) | |
1235 | end) | |
1236 | end | |
1237 | function Mute(Player) | |
1238 | thread(function() | |
1239 | RF:FireClient(Player, { | |
1240 | 'Mute' | |
1241 | }) | |
1242 | end) | |
1243 | end | |
1244 | function UnMute(Player) | |
1245 | thread(function() | |
1246 | RF:FireClient(Player, { | |
1247 | 'UnMute' | |
1248 | }) | |
1249 | end) | |
1250 | end | |
1251 | function localcode(Player, Code) | |
1252 | thread(function() | |
1253 | RF:FireClient(Player, { | |
1254 | 'loadstring', | |
1255 | Code | |
1256 | }) | |
1257 | end) | |
1258 | end | |
1259 | function SetView(Player, Obj) | |
1260 | thread(function() | |
1261 | RF:FireClient(Player, { | |
1262 | 'SetView', | |
1263 | Obj | |
1264 | }) | |
1265 | end) | |
1266 | end | |
1267 | function LoadPlugin(v) | |
1268 | local Plugin = require(v) | |
1269 | for u, o in pairs(Core) do | |
1270 | getfenv(Plugin)[u] = o | |
1271 | end | |
1272 | getfenv(Plugin).script = v | |
1273 | getfenv(Plugin).Script = v | |
1274 | getfenv(Plugin).Core = nil | |
1275 | getfenv(Plugin).Client = nil | |
1276 | getfenv(Plugin)._G = nil | |
1277 | getfenv(Plugin).getfenv = function() | |
1278 | return {} | |
1279 | end | |
1280 | --getfenv(Plugin).Scripts=nil | |
1281 | getfenv(Plugin).DataKey = nil | |
1282 | Plugin() | |
1283 | end | |
1284 | function UnFly(Player) | |
1285 | thread(function() | |
1286 | for a, q in pairs(Player.Character.Torso:children()) do | |
1287 | if q.Name == "BodyGyro" or q.Name == "BodyVelocity" then | |
1288 | q:Destroy() | |
1289 | end | |
1290 | end | |
1291 | end) | |
1292 | thread(function() | |
1293 | for i, v in pairs(Player.PlayerGui:children()) do | |
1294 | if v:FindFirstChild'IsAFly' then | |
1295 | v:Destroy'' | |
1296 | end | |
1297 | end | |
1298 | end) | |
1299 | end | |
1300 | function anchorAll(Object) | |
1301 | if not Object.Parent:IsA'Tool' and not Object.Parent:IsA'Hat' then | |
1302 | if Object:IsA("BasePart") then Object.Anchored = true end | |
1303 | for ID, Object in pairs(Object:GetChildren()) do | |
1304 | anchorAll(Object) | |
1305 | end | |
1306 | end | |
1307 | end | |
1308 | function Plat(Player) | |
1309 | thread(function() | |
1310 | RF:FireClient(Player, { | |
1311 | 'Plat' | |
1312 | }) | |
1313 | end) | |
1314 | end | |
1315 | function UnPlat(Player) | |
1316 | thread(function() | |
1317 | RF:FireClient(Player, { | |
1318 | 'UnPlat' | |
1319 | }) | |
1320 | end) | |
1321 | end | |
1322 | function Nil(Player) | |
1323 | thread(function() | |
1324 | RF:FireClient(Player, { | |
1325 | 'Nil' | |
1326 | }) | |
1327 | end) | |
1328 | end | |
1329 | function FreezeCam(Player) | |
1330 | thread(function() | |
1331 | RF:FireClient(Player, { | |
1332 | 'FreezeCam' | |
1333 | }) | |
1334 | end) | |
1335 | end | |
1336 | function ThawCam(Player) | |
1337 | thread(function() | |
1338 | RF:FireClient(Player, { | |
1339 | 'ThawCam' | |
1340 | }) | |
1341 | end) | |
1342 | end | |
1343 | function Music(Player, Id) | |
1344 | Id = tonumber(Id) | |
1345 | thread(function() | |
1346 | RF:FireClient(Player, { | |
1347 | 'Music', | |
1348 | Id | |
1349 | }) | |
1350 | end) | |
1351 | end | |
1352 | function Jail(Player) | |
1353 | ||
1354 | local Jail1 = Instance.new("Model") | |
1355 | Jail1.Parent = workspace | |
1356 | Jail1.Archivable = true | |
1357 | Jail1.Name = "Jail" | |
1358 | ||
1359 | local Part2 = Instance.new("Part") | |
1360 | Part2.RightParamB = 0.5 | |
1361 | Part2.TopSurfaceInput = Enum.InputType.NoInput | |
1362 | Part2.Anchored = true | |
1363 | Part2.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
1364 | Part2.BottomParamB = 0.5 | |
1365 | Part2.FormFactor = Enum.FormFactor.Custom | |
1366 | Part2.FrontParamB = 0.5 | |
1367 | Part2.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
1368 | Part2.CanCollide = true | |
1369 | Part2.BackSurfaceInput = Enum.InputType.NoInput | |
1370 | Part2.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
1371 | Part2.Elasticity = 0.5 | |
1372 | Part2.Transparency = 0 | |
1373 | Part2.BackParamB = 0.5 | |
1374 | Part2.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
1375 | Part2.RightParamA = -0.5 | |
1376 | Part2.Reflectance = 0 | |
1377 | Part2.Parent = Jail1 | |
1378 | Part2.TopParamB = 0.5 | |
1379 | Part2.TopParamA = -0.5 | |
1380 | Part2.LeftSurfaceInput = Enum.InputType.NoInput | |
1381 | Part2.LeftParamB = 0.5 | |
1382 | Part2.Locked = true | |
1383 | Part2.Material = Enum.Material.Marble | |
1384 | Part2.Archivable = true | |
1385 | Part2.Size = Vector3.new(4, 0.2, 4) | |
1386 | Part2.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
1387 | Part2.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
1388 | Part2.RightSurfaceInput = Enum.InputType.NoInput | |
1389 | Part2.BackParamA = -0.5 | |
1390 | Part2.FrontSurfaceInput = Enum.InputType.NoInput | |
1391 | Part2.FrontParamA = -0.5 | |
1392 | Part2.BottomSurfaceInput = Enum.InputType.NoInput | |
1393 | Part2.Color = Color3.new(0.705882, 0.823529, 0.894118) | |
1394 | Part2.CFrame = Player.Character.Torso.CFrame * CFrame.new(0, -3, 0) | |
1395 | Part2.BottomParamA = -0.5 | |
1396 | Part2.BrickColor = BrickColor.new("Light blue") | |
1397 | Part2.Friction = 0.30000001192093 | |
1398 | Part2.LeftParamA = -0.5 | |
1399 | Part2.Shape = Enum.PartType.Block | |
1400 | Part2.Name = "Part" | |
1401 | ||
1402 | local Part3 = Instance.new("Part") | |
1403 | Part3.RightParamB = 0.5 | |
1404 | Part3.TopSurfaceInput = Enum.InputType.NoInput | |
1405 | Part3.Anchored = true | |
1406 | Part3.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
1407 | Part3.BottomParamB = 0.5 | |
1408 | Part3.FormFactor = Enum.FormFactor.Custom | |
1409 | Part3.FrontParamB = 0.5 | |
1410 | Part3.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
1411 | Part3.CanCollide = true | |
1412 | Part3.BackSurfaceInput = Enum.InputType.NoInput | |
1413 | Part3.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
1414 | Part3.Elasticity = 0.5 | |
1415 | Part3.Transparency = 0.60000002384186 | |
1416 | Part3.BackParamB = 0.5 | |
1417 | Part3.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
1418 | Part3.RightParamA = -0.5 | |
1419 | Part3.Reflectance = 0 | |
1420 | Part3.Parent = Jail1 | |
1421 | Part3.TopParamB = 0.5 | |
1422 | Part3.TopParamA = -0.5 | |
1423 | Part3.LeftSurfaceInput = Enum.InputType.NoInput | |
1424 | Part3.LeftParamB = 0.5 | |
1425 | Part3.Locked = true | |
1426 | Part3.Material = Enum.Material.Ice | |
1427 | Part3.Archivable = true | |
1428 | Part3.Size = Vector3.new(4, 6, 0.200000003) | |
1429 | Part3.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
1430 | Part3.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
1431 | Part3.RightSurfaceInput = Enum.InputType.NoInput | |
1432 | Part3.BackParamA = -0.5 | |
1433 | Part3.FrontSurfaceInput = Enum.InputType.NoInput | |
1434 | Part3.FrontParamA = -0.5 | |
1435 | Part3.BottomSurfaceInput = Enum.InputType.NoInput | |
1436 | Part3.Color = Color3.new(0.454902, 0.52549, 0.615686) | |
1437 | Part3.CFrame = Part2.CFrame * CFrame.new(0, 3, 3) | |
1438 | Part3.BottomParamA = -0.5 | |
1439 | Part3.BrickColor = BrickColor.new("Sand blue") | |
1440 | Part3.Friction = 0.30000001192093 | |
1441 | Part3.LeftParamA = -0.5 | |
1442 | Part3.Shape = Enum.PartType.Block | |
1443 | Part3.Name = "Part" | |
1444 | ||
1445 | local Part4 = Instance.new("Part") | |
1446 | Part4.RightParamB = 0.5 | |
1447 | Part4.TopSurfaceInput = Enum.InputType.NoInput | |
1448 | Part4.Anchored = true | |
1449 | Part4.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
1450 | Part4.BottomParamB = 0.5 | |
1451 | Part4.FormFactor = Enum.FormFactor.Custom | |
1452 | Part4.FrontParamB = 0.5 | |
1453 | Part4.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
1454 | Part4.CanCollide = true | |
1455 | Part4.BackSurfaceInput = Enum.InputType.NoInput | |
1456 | Part4.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
1457 | Part4.Elasticity = 0.5 | |
1458 | Part4.Transparency = 0.60000002384186 | |
1459 | Part4.BackParamB = 0.5 | |
1460 | Part4.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
1461 | Part4.RightParamA = -0.5 | |
1462 | Part4.Reflectance = 0 | |
1463 | Part4.Parent = Jail1 | |
1464 | Part4.TopParamB = 0.5 | |
1465 | Part4.TopParamA = -0.5 | |
1466 | Part4.LeftSurfaceInput = Enum.InputType.NoInput | |
1467 | Part4.LeftParamB = 0.5 | |
1468 | Part4.Locked = true | |
1469 | Part4.Material = Enum.Material.Ice | |
1470 | Part4.Archivable = true | |
1471 | Part4.Size = Vector3.new(4, 6, 0.200000003) | |
1472 | Part4.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
1473 | Part4.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
1474 | Part4.RightSurfaceInput = Enum.InputType.NoInput | |
1475 | Part4.BackParamA = -0.5 | |
1476 | Part4.FrontSurfaceInput = Enum.InputType.NoInput | |
1477 | Part4.FrontParamA = -0.5 | |
1478 | Part4.BottomSurfaceInput = Enum.InputType.NoInput | |
1479 | Part4.Color = Color3.new(0.454902, 0.52549, 0.615686) | |
1480 | Part4.CFrame = Part2.CFrame * CFrame.new(0, 3, -3) | |
1481 | Part4.BottomParamA = -0.5 | |
1482 | Part4.BrickColor = BrickColor.new("Sand blue") | |
1483 | Part4.Friction = 0.30000001192093 | |
1484 | Part4.LeftParamA = -0.5 | |
1485 | Part4.Shape = Enum.PartType.Block | |
1486 | Part4.Name = "Part" | |
1487 | ||
1488 | local Part5 = Instance.new("Part") | |
1489 | Part5.RightParamB = 0.5 | |
1490 | Part5.TopSurfaceInput = Enum.InputType.NoInput | |
1491 | Part5.Anchored = true | |
1492 | Part5.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
1493 | Part5.BottomParamB = 0.5 | |
1494 | Part5.FormFactor = Enum.FormFactor.Custom | |
1495 | Part5.FrontParamB = 0.5 | |
1496 | Part5.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
1497 | Part5.CanCollide = true | |
1498 | Part5.BackSurfaceInput = Enum.InputType.NoInput | |
1499 | Part5.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
1500 | Part5.Elasticity = 0.5 | |
1501 | Part5.Transparency = 0.60000002384186 | |
1502 | Part5.BackParamB = 0.5 | |
1503 | Part5.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
1504 | Part5.RightParamA = -0.5 | |
1505 | Part5.Reflectance = 0 | |
1506 | Part5.Parent = Jail1 | |
1507 | Part5.TopParamB = 0.5 | |
1508 | Part5.TopParamA = -0.5 | |
1509 | Part5.LeftSurfaceInput = Enum.InputType.NoInput | |
1510 | Part5.LeftParamB = 0.5 | |
1511 | Part5.Locked = true | |
1512 | Part5.Material = Enum.Material.Ice | |
1513 | Part5.Archivable = true | |
1514 | Part5.Size = Vector3.new(.2, 6, 4) | |
1515 | Part5.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
1516 | Part5.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
1517 | Part5.RightSurfaceInput = Enum.InputType.NoInput | |
1518 | Part5.BackParamA = -0.5 | |
1519 | Part5.FrontSurfaceInput = Enum.InputType.NoInput | |
1520 | Part5.FrontParamA = -0.5 | |
1521 | Part5.BottomSurfaceInput = Enum.InputType.NoInput | |
1522 | Part5.Color = Color3.new(0.454902, 0.52549, 0.615686) | |
1523 | Part5.CFrame = Part2.CFrame * CFrame.new(3, 3, 0) | |
1524 | Part5.BottomParamA = -0.5 | |
1525 | Part5.BrickColor = BrickColor.new("Sand blue") | |
1526 | Part5.Friction = 0.30000001192093 | |
1527 | Part5.LeftParamA = -0.5 | |
1528 | Part5.Shape = Enum.PartType.Block | |
1529 | Part5.Name = "Part" | |
1530 | ||
1531 | local Part6 = Instance.new("Part") | |
1532 | Part6.RightParamB = 0.5 | |
1533 | Part6.TopSurfaceInput = Enum.InputType.NoInput | |
1534 | Part6.Anchored = true | |
1535 | Part6.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
1536 | Part6.BottomParamB = 0.5 | |
1537 | Part6.FormFactor = Enum.FormFactor.Custom | |
1538 | Part6.FrontParamB = 0.5 | |
1539 | Part6.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
1540 | Part6.CanCollide = true | |
1541 | Part6.BackSurfaceInput = Enum.InputType.NoInput | |
1542 | Part6.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
1543 | Part6.Elasticity = 0.5 | |
1544 | Part6.Transparency = 0.60000002384186 | |
1545 | Part6.BackParamB = 0.5 | |
1546 | Part6.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
1547 | Part6.RightParamA = -0.5 | |
1548 | Part6.Reflectance = 0 | |
1549 | Part6.Parent = Jail1 | |
1550 | Part6.TopParamB = 0.5 | |
1551 | Part6.TopParamA = -0.5 | |
1552 | Part6.LeftSurfaceInput = Enum.InputType.NoInput | |
1553 | Part6.LeftParamB = 0.5 | |
1554 | Part6.Locked = true | |
1555 | Part6.Material = Enum.Material.Ice | |
1556 | Part6.Archivable = true | |
1557 | Part6.Size = Vector3.new(.2, 6, 4) | |
1558 | Part6.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
1559 | Part6.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
1560 | Part6.RightSurfaceInput = Enum.InputType.NoInput | |
1561 | Part6.BackParamA = -0.5 | |
1562 | Part6.FrontSurfaceInput = Enum.InputType.NoInput | |
1563 | Part6.FrontParamA = -0.5 | |
1564 | Part6.BottomSurfaceInput = Enum.InputType.NoInput | |
1565 | Part6.Color = Color3.new(0.454902, 0.52549, 0.615686) | |
1566 | Part6.BottomParamA = -0.5 | |
1567 | Part6.BrickColor = BrickColor.new("Sand blue") | |
1568 | Part6.Friction = 0.30000001192093 | |
1569 | Part6.LeftParamA = -0.5 | |
1570 | Part6.Shape = Enum.PartType.Block | |
1571 | Part6.Name = "Part" | |
1572 | ||
1573 | local Part7 = Instance.new("Part") | |
1574 | Part7.RightParamB = 0.5 | |
1575 | Part7.TopSurfaceInput = Enum.InputType.NoInput | |
1576 | Part7.Anchored = true | |
1577 | Part7.RightSurface = Enum.SurfaceType.SmoothNoOutlines | |
1578 | Part7.BottomParamB = 0.5 | |
1579 | Part7.FormFactor = Enum.FormFactor.Custom | |
1580 | Part7.FrontParamB = 0.5 | |
1581 | Part7.BottomSurface = Enum.SurfaceType.SmoothNoOutlines | |
1582 | Part7.CanCollide = true | |
1583 | Part7.BackSurfaceInput = Enum.InputType.NoInput | |
1584 | Part7.LeftSurface = Enum.SurfaceType.SmoothNoOutlines | |
1585 | Part7.Elasticity = 0.5 | |
1586 | Part7.Transparency = 0 | |
1587 | Part7.BackParamB = 0.5 | |
1588 | Part7.TopSurface = Enum.SurfaceType.SmoothNoOutlines | |
1589 | Part7.RightParamA = -0.5 | |
1590 | Part7.Reflectance = 0 | |
1591 | Part7.Parent = Jail1 | |
1592 | Part7.TopParamB = 0.5 | |
1593 | Part7.TopParamA = -0.5 | |
1594 | Part7.LeftSurfaceInput = Enum.InputType.NoInput | |
1595 | Part7.LeftParamB = 0.5 | |
1596 | Part7.Locked = true | |
1597 | Part7.Material = Enum.Material.Marble | |
1598 | Part7.Archivable = true | |
1599 | Part7.Size = Vector3.new(4, 1, 4) | |
1600 | Part7.FrontSurface = Enum.SurfaceType.SmoothNoOutlines | |
1601 | Part7.BackSurface = Enum.SurfaceType.SmoothNoOutlines | |
1602 | Part7.RightSurfaceInput = Enum.InputType.NoInput | |
1603 | Part7.BackParamA = -0.5 | |
1604 | Part7.FrontSurfaceInput = Enum.InputType.NoInput | |
1605 | Part7.FrontParamA = -0.5 | |
1606 | Part7.BottomSurfaceInput = Enum.InputType.NoInput | |
1607 | Part7.Color = Color3.new(0.705882, 0.823529, 0.894118) | |
1608 | Part7.CFrame = Part2.CFrame * CFrame.new(0, 6.5, 0) | |
1609 | Part7.BottomParamA = -0.5 | |
1610 | Part7.BrickColor = BrickColor.new("Light blue") | |
1611 | Part7.Friction = 0.30000001192093 | |
1612 | Part7.LeftParamA = -0.5 | |
1613 | Part7.Shape = Enum.PartType.Block | |
1614 | Part7.Name = "Part" | |
1615 | if Jails[Player.Name] == nil then | |
1616 | Jails[Player.Name] = {} | |
1617 | end | |
1618 | table.insert(Jails[Player.Name], Jail1) | |
1619 | thread(function() | |
1620 | while Jail1 and Jail1.Parent == workspace do | |
1621 | wait() | |
1622 | Part3.CFrame = Part2.CFrame * CFrame.new(0, 3, 2) | |
1623 | Part4.CFrame = Part2.CFrame * CFrame.new(0, 3, -2) | |
1624 | Part5.CFrame = Part2.CFrame * CFrame.new(2, 3, 0) | |
1625 | Part6.CFrame = Part2.CFrame * CFrame.new(-2, 3, 0) | |
1626 | Part7.CFrame = Part2.CFrame * CFrame.new(0, 6.5, 0) | |
1627 | if Player.Character and (Part2.Position - Player.Character.Torso.Position).magnitude > 3.5 then | |
1628 | Player.Character.Torso.CFrame = Part2.CFrame * CFrame.new(0, 3, 0) | |
1629 | elseif not Player.Character then | |
1630 | --Player:LoadCharacter() | |
1631 | end | |
1632 | end | |
1633 | end) | |
1634 | end | |
1635 | function Solitary(Player) | |
1636 | pcall(function() | |
1637 | if not Player or not Player.Character then return end | |
1638 | local char=Instance.new('Model',workspace) | |
1639 | if Jails[Player.Name] == nil then | |
1640 | Jails[Player.Name] = {} | |
1641 | end | |
1642 | table.insert(Jails[Player.Name], char) | |
1643 | char.Name='Jail' | |
1644 | local cf=Player.Character.Torso.CFrame | |
1645 | local lastpart=Player.Character.Head.CFrame*CFrame.new(0,-5.6,0) | |
1646 | local start=lastpart | |
1647 | local ct=0 | |
1648 | for k=1, 42 do wait() | |
1649 | for i=1, 12 do | |
1650 | local Part=Instance.new('Part',char) | |
1651 | Part.Anchored=true | |
1652 | Part.CanCollide=true | |
1653 | Part.FormFactor='Custom' | |
1654 | Part.Material='Slate' | |
1655 | Part.Locked=true | |
1656 | Part.BrickColor=BrickColor.new('Bright green') | |
1657 | Part.TopSurface='Smooth' | |
1658 | Part.BottomSurface='Smooth' | |
1659 | Part.Size=Vector3.new(1,1,2) | |
1660 | Part.CFrame=lastpart*CFrame.new(0,1,-2)*CFrame.Angles(.5,0,0) | |
1661 | ct=0 | |
1662 | lastpart=Part.CFrame | |
1663 | end | |
1664 | lastpart=start*CFrame.Angles(0,math.rad(9),0) | |
1665 | start=lastpart | |
1666 | end | |
1667 | thread(function() | |
1668 | while char and char.Parent==workspace do | |
1669 | wait() | |
1670 | if Player.Character and (Vector3.new(cf.x,cf.y,cf.z) - Player.Character.Torso.Position).magnitude > 2.25 then | |
1671 | Player.Character.Torso.CFrame = cf | |
1672 | elseif not Player.Character then | |
1673 | --Player:LoadCharacter() | |
1674 | end | |
1675 | end | |
1676 | end) | |
1677 | ||
1678 | end) | |
1679 | end | |
1680 | function KeyBind(Player, Key, Command) | |
1681 | if Key == nil or Command == nil then | |
1682 | return | |
1683 | end | |
1684 | thread(function() | |
1685 | RF:FireClient(Player, { | |
1686 | 'KeyBind', | |
1687 | Key, | |
1688 | Command | |
1689 | }) | |
1690 | end) | |
1691 | end | |
1692 | function ScrollGui(Player, Title, Text) | |
1693 | thread(function() | |
1694 | if Player == nil then | |
1695 | return | |
1696 | end | |
1697 | Text = CloneTable(Text) | |
1698 | Title = Title or '' | |
1699 | RF:FireClient(Player, { | |
1700 | 'ScrollGui', | |
1701 | Title, | |
1702 | Text | |
1703 | }) | |
1704 | end) | |
1705 | end | |
1706 | function Hint(Player, Title, Text, Time) | |
1707 | --thread(function() | |
1708 | if Player == nil or Title == nil or Text == nil then | |
1709 | return | |
1710 | end | |
1711 | Time = Time or 3 | |
1712 | RF:FireClient(Player, { | |
1713 | 'Hint', | |
1714 | Title, | |
1715 | Text, | |
1716 | Time | |
1717 | }) | |
1718 | --end) | |
1719 | end | |
1720 | function GetRawPlayers() | |
1721 | local tempplayerlist = {} | |
1722 | for i, v in pairs(game:service'NetworkServer':children()) do | |
1723 | if v:IsA'ServerReplicator' then | |
1724 | table.insert(tempplayerlist, v:GetPlayer()) | |
1725 | end | |
1726 | end | |
1727 | return tempplayerlist | |
1728 | end | |
1729 | function GetPlayers(Player, Message) | |
1730 | local Arguments = Split(Message, ',') | |
1731 | local ToReturn = {} | |
1732 | for _, v in next, Arguments do | |
1733 | v = v:lower() | |
1734 | if v == 'me' and type(Player) == 'userdata' then | |
1735 | table.insert(ToReturn, Player) | |
1736 | elseif v == 'others' then | |
1737 | for k, l in pairs(GetRawPlayers()) do | |
1738 | if l.Name ~= Player.Name then | |
1739 | table.insert(ToReturn, l) | |
1740 | end | |
1741 | end | |
1742 | ||
1743 | elseif v == 'random' then | |
1744 | local child = GetRawPlayers() | |
1745 | local randomPlr = math.random(1, #child) | |
1746 | table.insert(ToReturn, child[randomPlr]) | |
1747 | elseif v == 'nbc' then | |
1748 | for k, l in pairs(GetRawPlayers()) do | |
1749 | if l.MembershipType == Enum.MembershipType.None then | |
1750 | table.insert(ToReturn, l) | |
1751 | end | |
1752 | end | |
1753 | elseif v == 'bc' then | |
1754 | for k, l in pairs(GetRawPlayers()) do | |
1755 | if l.MembershipType == Enum.MembershipType.BuildersClub then | |
1756 | table.insert(ToReturn, l) | |
1757 | end | |
1758 | end | |
1759 | elseif v == 'tbc' then | |
1760 | for k, l in pairs(GetRawPlayers()) do | |
1761 | if l.MembershipType == Enum.MembershipType.TurboBuildersClub then | |
1762 | table.insert(ToReturn, l) | |
1763 | end | |
1764 | end | |
1765 | elseif v == 'obc' then | |
1766 | for k, l in pairs(GetRawPlayers()) do | |
1767 | if l.MembershipType == Enum.MembershipType.OutrageousBuildersClub then | |
1768 | table.insert(ToReturn, l) | |
1769 | end | |
1770 | end | |
1771 | elseif v == 'anybc' or v == 'allbc' or v == 'abc' then | |
1772 | for k, l in pairs(GetRawPlayers()) do | |
1773 | if l.MembershipType == Enum.MembershipType.OutrageousBuildersClub or l.MembershipType == Enum.MembershipType.TurboBuildersClub or l.MembershipType == Enum.MembershipType.BuildersClub then | |
1774 | table.insert(ToReturn, l) | |
1775 | end | |
1776 | end | |
1777 | elseif v == 'nils' then | |
1778 | for k, l in pairs(GetRawPlayers()) do | |
1779 | if l.Parent == nil then | |
1780 | table.insert(ToReturn, l) | |
1781 | end | |
1782 | end | |
1783 | elseif v == 'nonnils' or v == 'players' or v == 'plrs' then | |
1784 | for k, l in pairs(GetRawPlayers()) do | |
1785 | if l.Parent ~= nil then | |
1786 | table.insert(ToReturn, l) | |
1787 | end | |
1788 | end | |
1789 | elseif v == 'friends' then | |
1790 | for k, l in pairs(GetRawPlayers()) do | |
1791 | if l:IsFriendsWith (Player.userId) then | |
1792 | table.insert(ToReturn, l) | |
1793 | end | |
1794 | end | |
1795 | elseif v == 'followed' then | |
1796 | for k, l in pairs(GetRawPlayers()) do | |
1797 | if l.FollowUserId == Player.userId then | |
1798 | table.insert(ToReturn, l) | |
1799 | end | |
1800 | end | |
1801 | elseif v == 'team' then | |
1802 | for k, l in pairs(service'Players':GetPlayers()) do | |
1803 | if l.TeamColor == Player.TeamColor then | |
1804 | table.insert(ToReturn, l) | |
1805 | end | |
1806 | end | |
1807 | elseif v:sub(1, #'team ') == 'team ' then | |
1808 | local Color = '' | |
1809 | for k, l in pairs(service'Teams') do | |
1810 | if l.Name:sub(1, v:sub(#'team ' + 1)):lower() == v:sub(#'team ' + 1):lower() then | |
1811 | Color = tostring(l.TeamColor) | |
1812 | end | |
1813 | end | |
1814 | for k, l in pairs(service'Players':GetPlayers()) do | |
1815 | if l.TeamColor == BrickColor.new(Color) then | |
1816 | table.insert(ToReturn, l) | |
1817 | end | |
1818 | end | |
1819 | elseif v == 'notfriends' or v == 'nonfriends' then | |
1820 | for k, l in pairs(GetRawPlayers()) do | |
1821 | if not l:IsFriendsWith(Player.userId) then | |
1822 | table.insert(ToReturn, l) | |
1823 | end | |
1824 | end | |
1825 | elseif v == 'all' then | |
1826 | for k, l in pairs(GetRawPlayers()) do | |
1827 | table.insert(ToReturn, l) | |
1828 | end | |
1829 | else | |
1830 | for l, k in next, GetRawPlayers() do | |
1831 | if k.Name:lower():sub(1, #v) == v then | |
1832 | table.insert(ToReturn, k) | |
1833 | end | |
1834 | end | |
1835 | end | |
1836 | if v:sub(1, 1) == '-' then | |
1837 | for i, v in pairs(GetPlayers(Player, v:sub(2))) do | |
1838 | for u, o in pairs(ToReturn) do | |
1839 | if o.Name == v.Name then | |
1840 | table.remove(ToReturn, u) | |
1841 | end | |
1842 | end | |
1843 | end | |
1844 | end | |
1845 | end | |
1846 | return ToReturn | |
1847 | end | |
1848 | FindPlayer = function(name, id) | |
1849 | id = id or -1 | |
1850 | for i, v in pairs(service'Players':GetPlayers()) do | |
1851 | if v.name == name or v.userId == id then | |
1852 | return v | |
1853 | end | |
1854 | end | |
1855 | return nil | |
1856 | end | |
1857 | AddRank = function(Id, Rank) | |
1858 | if Ranked[Id].Rank ~= Rank and Ranked[Id].Rank < Rank then | |
1859 | Ranked[Id].Rank = Rank | |
1860 | for i, v in pairs(GetRawPlayers()) do | |
1861 | if v.userId == Id then | |
1862 | Ping(v, 'You have been ranked to '..Core.RankName(Rank)..'.') | |
1863 | end | |
1864 | end | |
1865 | end | |
1866 | end | |
1867 | RunOnChildren = function(Class, Obj, Function) | |
1868 | for i, v in pairs(Obj:children()) do | |
1869 | if v:IsA(Class) then | |
1870 | Function(v) | |
1871 | end | |
1872 | end | |
1873 | end | |
1874 | service'Players'.PlayerRemoving:connect(function(Player) | |
1875 | table.insert(ChatLogs, '{Server} '..Player.Name..' left '..NameFromId(game.PlaceId)..' from server '..game.JobId..'.') | |
1876 | end) | |
1877 | function TeleportTo(Player, PlaceId, JobId) | |
1878 | thread(function() | |
1879 | RF:FireClient(Player, { | |
1880 | 'Teleport', | |
1881 | PlaceId, | |
1882 | JobId | |
1883 | }) | |
1884 | end) | |
1885 | end | |
1886 | CheckFollow = function(Player) | |
1887 | if Player.FollowUserId ~= nil then | |
1888 | for i, v in pairs(GetRawPlayers()) do | |
1889 | if v.userId == Player.FollowUserId then | |
1890 | Ping(v, Player.Name..' followed you.') | |
1891 | end | |
1892 | end | |
1893 | end | |
1894 | end | |
1895 | function Explore(Player,Object) | |
1896 | Object=Object or workspace | |
1897 | if Player==nil then return end | |
1898 | Dismiss(Player) | |
1899 | Ping(Player,'Name | '..Object.Name) | |
1900 | Ping(Player,'ClassName | '..Object.ClassName) | |
1901 | if Object.Parent then | |
1902 | Ping(Player,'Parent | '..Object.Parent.Name or 'Nil',function() | |
1903 | Explore(Player,Object.Parent) | |
1904 | end) | |
1905 | end | |
1906 | ||
1907 | Ping(Player,'Children',function() | |
1908 | Dismiss(Player) | |
1909 | for i,v in pairs(Object:children()) do | |
1910 | Ping(Player,v.Name,function() Explore(Player,v) end) | |
1911 | end | |
1912 | end) | |
1913 | if Object.Parent then | |
1914 | Ping(Player,'Destroy',function() | |
1915 | Explore(Player,Object.Parent) | |
1916 | Object:Destroy() | |
1917 | end) | |
1918 | end | |
1919 | ||
1920 | end | |
1921 | function PlayerAdded(Player) | |
1922 | thread(function() | |
1923 | local cltimes = 1 | |
1924 | while Player do | |
1925 | repeat | |
1926 | wait() | |
1927 | until Player and Player:FindFirstChild'Backpack' | |
1928 | local cl = Client:clone() | |
1929 | cl.Parent = Player:FindFirstChild'Backpack'-- or Player:FindFirstChild'Backpack' | |
1930 | wait() | |
1931 | cl.Disabled = false | |
1932 | wait() | |
1933 | Player:WaitForDataReady() | |
1934 | wait(1) | |
1935 | cltimes = cltimes + 1 | |
1936 | if cltimes > 1 then | |
1937 | break | |
1938 | end | |
1939 | end | |
1940 | end) | |
1941 | thread(function() | |
1942 | WriteRanks(Player.Name, Player.userId) | |
1943 | end) | |
1944 | CheckFollow(Player) | |
1945 | table.insert(ChatLogs, '{Server} '..Player.Name..' joined '..NameFromId(game.PlaceId)..' on server '..game.JobId..'.') | |
1946 | if Ranked[Player.userId] == nil then | |
1947 | Ranked[Player.userId] = { | |
1948 | Rank = DefaultRank.Rank; | |
1949 | ||
1950 | } | |
1951 | end | |
1952 | if true then | |
1953 | print(Player.Name..' joined the game.') | |
1954 | Player.Chatted:connect(function(Message) | |
1955 | Chatted(Player, Message) | |
1956 | end) | |
1957 | if Player.userId ~= 1 and Player.userId ~= 0 then | |
1958 | local Clan = game:service'HttpService':JSONDecode(game:service'HttpService':GetAsync('http://api.rproxy.pw/clans/get-by-user?userId='..Player.userId)) | |
1959 | Player.CharacterAdded:connect(function(Character) | |
1960 | if Clan and ShowClanNames then | |
1961 | Commands.Name.Function(Player, { | |
1962 | 'me', | |
1963 | (Clan.Name..'\n')..Player.Name | |
1964 | }) | |
1965 | end | |
1966 | end) | |
1967 | end | |
1968 | if Ranked[Player.userId] and Ranked[Player.userId].Rank < 0 then | |
1969 | thread(function() | |
1970 | ForceDisconnect(Player, 'You are banned from this game.') | |
1971 | end) | |
1972 | else | |
1973 | CheckGamepass(Player) | |
1974 | end | |
1975 | --[[repeat wait() until Player.Character | |
1976 | repeat wait() until Player:FindFirstChild'PlayerGui'-- or Player:FindFirstChild'Backpack' | |
1977 | wait(1)]] | |
1978 | if JoinMsg == true then | |
1979 | Ping(Player, 'Welcome, the prefix is '..Prefix) | |
1980 | if GetRank(Player).Rank >= 1 then | |
1981 | Ping(Player, 'You are rank '..RankName(GetRank(Player).Rank, Player.userId)) | |
1982 | Ping(Player, 'Say '..Prefix..'cmds to view commands.') | |
1983 | Ping(Player, 'This admin started development '..AdminAge..' days ago.') | |
1984 | end | |
1985 | if Credits == true then | |
1986 | Ping(Player, 'Aether Admin is made by DarthStrantax.')-- is made by Legions of Aether scripting division.') | |
1987 | Ping(Player, 'Credit to ModelMakerLua for not stopping me from stealing his Remote Exe') | |
1988 | end | |
1989 | end | |
1990 | --Ping(Player,' ',function()end,"Cyan","304844114") | |
1991 | if Rules ~= nil and #Rules >= 1 then | |
1992 | for i, v in pairs(Rules) do | |
1993 | Ping(Player, 'Rule '..i..': '..v) | |
1994 | end | |
1995 | end | |
1996 | else | |
1997 | --Player:kick'Server closed due to: Aether Admin stolen.' | |
1998 | end | |
1999 | end | |
2000 | local Players = service'Players' | |
2001 | local Workspace = service'Workspace' | |
2002 | local workspace = service'Workspace' | |
2003 | local Lighting = service'Lighting' | |
2004 | for Index, Player in pairs(Players:GetPlayers()) do | |
2005 | thread(function() | |
2006 | PlayerAdded(Player) | |
2007 | end) | |
2008 | end | |
2009 | Players.PlayerAdded:connect(function(Player) | |
2010 | PlayerAdded(Player) | |
2011 | end) | |
2012 | game:service'MarketplaceService'.PromptPurchaseFinished:connect(function(player, id, torun) | |
2013 | if torun then | |
2014 | Ping(player, 'You just brought '..NameFromId(id)..'.') | |
2015 | end | |
2016 | end) | |
2017 | thread(function() | |
2018 | while wait(1) do | |
2019 | for i, v in pairs(game:service'Players':GetPlayers()) do | |
2020 | if Loopkill[v.userId] and v.Character and v.Character:IsA'Model' then | |
2021 | v.Character:BreakJoints() | |
2022 | end | |
2023 | end | |
2024 | end | |
2025 | end) | |
2026 | --Commands | |
2027 | AddCommand( | |
2028 | 'math', | |
2029 | 0, | |
2030 | { | |
2031 | 'math' | |
2032 | }, | |
2033 | 'Helps you with mathematics', | |
2034 | Prefix..'math [equation]', | |
2035 | function(Player, Arguments) | |
2036 | Ping(Player, domath(Arguments)) | |
2037 | end, | |
2038 | false | |
2039 | ) | |
2040 | AddCommand( | |
2041 | 'SetRank', | |
2042 | 3, | |
2043 | { | |
2044 | 'rank', | |
2045 | 'setrank', | |
2046 | 'admin' | |
2047 | }, | |
2048 | 'Changes specified player(s) ranks.', | |
2049 | Prefix..'rank [player],[player2] [rank number]', | |
2050 | function(Player, Arguments) | |
2051 | if #Arguments < 1 then | |
2052 | return | |
2053 | end | |
2054 | if #Arguments == 1 then | |
2055 | Arguments[2] = '7' | |
2056 | end | |
2057 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2058 | if Ranked[v.userId].Rank < Ranked[Player.userId].Rank then | |
2059 | if tonumber(Arguments[2]) < Ranked[Player.userId].Rank then | |
2060 | Ranked[v.userId] = { | |
2061 | Rank = tonumber(Arguments[2]) | |
2062 | } | |
2063 | end | |
2064 | end | |
2065 | end | |
2066 | end, | |
2067 | true | |
2068 | ) | |
2069 | AddCommand( | |
2070 | 'Un-Rank', | |
2071 | 3, | |
2072 | { | |
2073 | 'unrank', | |
2074 | 'norank', -- many ways to unrank lol... | |
2075 | 'unadmin', | |
2076 | 'noadmin', | |
2077 | 'unoa', | |
2078 | 'nooa', | |
2079 | 'unpa', | |
2080 | 'nopa', | |
2081 | 'unvip', | |
2082 | 'novip', | |
2083 | 'unguest', | |
2084 | 'noguest', | |
2085 | 'unsmod', | |
2086 | 'nosmod', | |
2087 | 'unmod', | |
2088 | 'nomod', | |
2089 | 'unhmod', | |
2090 | 'nohmod', | |
2091 | 'unco', | |
2092 | 'noco', | |
2093 | 'unta', | |
2094 | 'nota', | |
2095 | 'unsa', | |
2096 | 'nosa', | |
2097 | 'unpa', | |
2098 | 'nopa', | |
2099 | 'unha', | |
2100 | 'noha' | |
2101 | }, | |
2102 | 'Un-Ranks users.', | |
2103 | Prefix..'ur [player1],[player2]', | |
2104 | function(Player, Arguments) | |
2105 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2106 | if Ranked[v.userId].Rank < Ranked[Player.userId].Rank then | |
2107 | Ranked[v.userId] = { | |
2108 | Rank = 0 | |
2109 | } | |
2110 | Hint(v, 'Aether System: ', 'You are now rank '..RankName(GetRank(v).Rank), 6) | |
2111 | end | |
2112 | end | |
2113 | end, | |
2114 | true | |
2115 | ) | |
2116 | AddCommand( | |
2117 | 'VIP', | |
2118 | 3, | |
2119 | { | |
2120 | 'vip' | |
2121 | }, | |
2122 | 'Gives users vip.', | |
2123 | Prefix..'vip [player1],[player2]', | |
2124 | function(Player, Arguments) | |
2125 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2126 | if Ranked[v.userId].Rank < Ranked[Player.userId].Rank then | |
2127 | Ranked[v.userId] = { | |
2128 | Rank = 1 | |
2129 | } | |
2130 | Hint(v, 'Aether System: ', 'You are now rank '..RankName(GetRank(v).Rank), 6) | |
2131 | end | |
2132 | end | |
2133 | end, | |
2134 | true | |
2135 | ) | |
2136 | AddCommand( | |
2137 | 'Guest', | |
2138 | 4, | |
2139 | { | |
2140 | 'guest' | |
2141 | }, | |
2142 | 'Gives users rank guest.', | |
2143 | Prefix..'guest [player1],[player2]', | |
2144 | function(Player, Arguments) | |
2145 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2146 | if Ranked[v.userId].Rank < Ranked[Player.userId].Rank then | |
2147 | Ranked[v.userId] = { | |
2148 | Rank = 2 | |
2149 | } | |
2150 | Hint(v, 'Aether System: ', 'You are now rank '..RankName(GetRank(v).Rank), 6) | |
2151 | end | |
2152 | end | |
2153 | end, | |
2154 | true | |
2155 | ) | |
2156 | AddCommand( | |
2157 | 'Semi-Mod', | |
2158 | 5, | |
2159 | { | |
2160 | 'semimod', | |
2161 | 'smod' | |
2162 | }, | |
2163 | 'Gives users rank semi-moderator.', | |
2164 | Prefix..'smod [player1],[player2]', | |
2165 | function(Player, Arguments) | |
2166 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2167 | if Ranked[v.userId].Rank < Ranked[Player.userId].Rank then | |
2168 | Ranked[v.userId] = { | |
2169 | Rank = 3 | |
2170 | } | |
2171 | Hint(v, 'Aether System: ', 'You are now rank '..RankName(GetRank(v).Rank), 6) | |
2172 | end | |
2173 | end | |
2174 | end, | |
2175 | true | |
2176 | ) | |
2177 | AddCommand( | |
2178 | 'Mod', | |
2179 | 5, | |
2180 | { | |
2181 | 'mod', | |
2182 | 'moderator' | |
2183 | }, | |
2184 | 'Gives users rank moderator.', | |
2185 | Prefix..'smod [player1],[player2]', | |
2186 | function(Player, Arguments) | |
2187 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2188 | if Ranked[v.userId].Rank < Ranked[Player.userId].Rank then | |
2189 | Ranked[v.userId] = { | |
2190 | Rank = 4 | |
2191 | } | |
2192 | Hint(v, 'Aether System: ', 'You are now rank '..RankName(GetRank(v).Rank), 6) | |
2193 | end | |
2194 | end | |
2195 | end, | |
2196 | true | |
2197 | ) | |
2198 | AddCommand( | |
2199 | 'HeadMod', | |
2200 | 7, | |
2201 | { | |
2202 | 'hmod', | |
2203 | 'headmod', | |
2204 | 'hm' | |
2205 | }, | |
2206 | 'Gives users rank head-moderator.', | |
2207 | Prefix..'hmod [player1],[player2]', | |
2208 | function(Player, Arguments) | |
2209 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2210 | if Ranked[v.userId].Rank < Ranked[Player.userId].Rank then | |
2211 | Ranked[v.userId] = { | |
2212 | Rank = 5 | |
2213 | } | |
2214 | Hint(v, 'Aether System: ', 'You are now rank '..RankName(GetRank(v).Rank), 6) | |
2215 | end | |
2216 | end | |
2217 | end, | |
2218 | true | |
2219 | ) | |
2220 | AddCommand( | |
2221 | 'Semi-Admin', | |
2222 | 7, | |
2223 | { | |
2224 | 'sadmin', | |
2225 | 'semiadmin', | |
2226 | 'ta', | |
2227 | 'sa' | |
2228 | }, | |
2229 | 'Gives users rank semi-admin.', | |
2230 | Prefix..'sadmin [player1],[player2]', | |
2231 | function(Player, Arguments) | |
2232 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2233 | if Ranked[v.userId].Rank < Ranked[Player.userId].Rank then | |
2234 | Ranked[v.userId] = { | |
2235 | Rank = 6 | |
2236 | } | |
2237 | Hint(v, 'Aether System: ', 'You are now rank '..RankName(GetRank(v).Rank), 6) | |
2238 | end | |
2239 | end | |
2240 | end, | |
2241 | true | |
2242 | ) | |
2243 | AddCommand( | |
2244 | 'Head-Admin', | |
2245 | 9, | |
2246 | { | |
2247 | 'hadmin', | |
2248 | 'headadmin', | |
2249 | 'pa', | |
2250 | 'ha' | |
2251 | }, | |
2252 | 'Gives users rank head-admin.', | |
2253 | Prefix..'hadmin [player1],[player2]', | |
2254 | function(Player, Arguments) | |
2255 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2256 | if Ranked[v.userId].Rank < Ranked[Player.userId].Rank then | |
2257 | Ranked[v.userId] = { | |
2258 | Rank = 8 | |
2259 | } | |
2260 | Hint(v, 'Aether System: ', 'You are now rank '..RankName(GetRank(v).Rank), 6) | |
2261 | end | |
2262 | end | |
2263 | end, | |
2264 | true | |
2265 | ) | |
2266 | AddCommand( | |
2267 | 'Co-Owner', | |
2268 | 11, | |
2269 | { | |
2270 | 'co', | |
2271 | 'coowner' | |
2272 | }, | |
2273 | 'Gives users rank co-owner.', | |
2274 | Prefix..'co [player1],[player2]', | |
2275 | function(Player, Arguments) | |
2276 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2277 | if Ranked[v.userId].Rank < Ranked[Player.userId].Rank then | |
2278 | Ranked[v.userId] = { | |
2279 | Rank = 9 | |
2280 | } | |
2281 | Hint(v, 'Aether System: ', 'You are now rank '..RankName(GetRank(v).Rank), 6) | |
2282 | end | |
2283 | end | |
2284 | end, | |
2285 | true | |
2286 | ) | |
2287 | AddCommand( | |
2288 | 'Owner', | |
2289 | 11, | |
2290 | { | |
2291 | 'owner', | |
2292 | 'oa' | |
2293 | }, | |
2294 | 'Gives users rank co-owner.', | |
2295 | Prefix..'oa [player1],[player2]', | |
2296 | function(Player, Arguments) | |
2297 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2298 | if Ranked[v.userId].Rank < Ranked[Player.userId].Rank then | |
2299 | Ranked[v.userId] = { | |
2300 | Rank = 10 | |
2301 | } | |
2302 | Hint(v, 'Aether System: ', 'You are now rank '..RankName(GetRank(v).Rank), 6) | |
2303 | end | |
2304 | end | |
2305 | end, | |
2306 | true | |
2307 | ) | |
2308 | AddCommand( | |
2309 | 'Change', | |
2310 | 3, | |
2311 | { | |
2312 | 'change' | |
2313 | }, | |
2314 | 'Changes specified player(s) leaderstats.', | |
2315 | Prefix..'change [player],[player2] [stat] [number]', | |
2316 | function(Player, Arguments) | |
2317 | if #Arguments < 3 then | |
2318 | return | |
2319 | end | |
2320 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2321 | thread(function() | |
2322 | if v and v:findFirstChild("leaderstats") then | |
2323 | for a, st in pairs(v.leaderstats:children()) do | |
2324 | if st.Name:lower():find(Arguments[2]:lower()) == 1 then | |
2325 | st.Value = string.gsub(Arguments[3]:lower(), '#inf', '2147483647') | |
2326 | end | |
2327 | end | |
2328 | end | |
2329 | end) | |
2330 | end | |
2331 | end, | |
2332 | true | |
2333 | ) | |
2334 | AddCommand( | |
2335 | 'Reset', | |
2336 | 0, | |
2337 | { | |
2338 | 'reset', | |
2339 | 'suicide' | |
2340 | }, | |
2341 | 'Kills speaker. Add argument "rs" to respawn instead.', | |
2342 | Prefix..'reset [rs]', | |
2343 | function(Player, Arguments) | |
2344 | if #Arguments >= 1 and Arguments[1] == 'rs' then | |
2345 | Player:LoadCharacter() | |
2346 | Ping(Player, 'Respawned Character.') | |
2347 | else | |
2348 | Player.Character:BreakJoints() | |
2349 | Ping(Player, 'Reset Character.') | |
2350 | end | |
2351 | end, | |
2352 | false | |
2353 | ) | |
2354 | AddCommand( | |
2355 | 'Playerpoint', | |
2356 | 3, | |
2357 | { | |
2358 | 'pp', | |
2359 | 'point' | |
2360 | }, | |
2361 | 'Gives points to specified player(s).', | |
2362 | Prefix..'pp [player],[player2] [number]', | |
2363 | function(Player, Arguments) | |
2364 | if #Arguments < 2 then | |
2365 | return | |
2366 | end | |
2367 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2368 | thread(function() | |
2369 | game:service'PointsService':AwardPoints(v.userId, tonumber(Arguments[2])) | |
2370 | end) | |
2371 | end | |
2372 | end, | |
2373 | true | |
2374 | ) | |
2375 | AddCommand( | |
2376 | 'Badge', | |
2377 | 3, | |
2378 | { | |
2379 | 'badge' | |
2380 | }, | |
2381 | 'Gives badges to specified player(s).', | |
2382 | Prefix..'badge [player],[player2] [badgeid]', | |
2383 | function(Player, Arguments) | |
2384 | if #Arguments < 2 then | |
2385 | return | |
2386 | end | |
2387 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2388 | thread(function() | |
2389 | game:service'BadgeService':AwardBadge(v.userId, tonumber(Arguments[2])) | |
2390 | end) | |
2391 | end | |
2392 | end, | |
2393 | true | |
2394 | ) | |
2395 | AddCommand( | |
2396 | 'Spookify', | |
2397 | 3, | |
2398 | { | |
2399 | 'spookify', | |
2400 | 'spook' | |
2401 | }, | |
2402 | 'Spookifys specified skeleton(s).', | |
2403 | Prefix..'spookify [player],[player2]', | |
2404 | function(Player, Arguments) | |
2405 | --Commands.Music.Function(Player,{'183357153','srv'}) | |
2406 | --[[thread(function() | |
2407 | if workspace:FindFirstChild('Sound') then | |
2408 | if workspace:FindFirstChild('Sound').SoundId~='http://www.roblox.com/asset/?id=183357153' then | |
2409 | workspace:FindFirstChild('Sound'):Pause() | |
2410 | workspace:FindFirstChild('Sound'):Stop() | |
2411 | workspace:FindFirstChild('Sound'):Destroy() | |
2412 | Chatted(Player,Prefix..'music 183357153 srv',false,true) | |
2413 | else | |
2414 | workspace:FindFirstChild('Sound'):Pause() | |
2415 | workspace:FindFirstChild('Sound'):Play() | |
2416 | end | |
2417 | else | |
2418 | Chatted(Player,Prefix..'music 183357153 srv',false,true) | |
2419 | end | |
2420 | end)]] | |
2421 | Commands['Character'].Function(Player, { | |
2422 | Arguments[1], | |
2423 | 'Phant0mS0lid' | |
2424 | }) | |
2425 | Commands['Name'].Function(Player, { | |
2426 | Arguments[1], | |
2427 | 'Spooky Scary Skeleton' | |
2428 | }) | |
2429 | end, | |
2430 | true | |
2431 | ) | |
2432 | AddCommand( | |
2433 | 'Heal', | |
2434 | 3, | |
2435 | { | |
2436 | 'heal' | |
2437 | }, | |
2438 | 'Heals specified player(s).', | |
2439 | Prefix..'heal [player],[player2]', | |
2440 | function(Player, Arguments) | |
2441 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2442 | thread(function() | |
2443 | RunOnChildren('Humanoid', v.Character, function(v) | |
2444 | v.Health = v.MaxHealth | |
2445 | end) | |
2446 | end) | |
2447 | end | |
2448 | end, | |
2449 | true | |
2450 | ) | |
2451 | AddCommand( | |
2452 | 'God', | |
2453 | 3, | |
2454 | { | |
2455 | 'god' | |
2456 | }, | |
2457 | 'Gods specified player(s).', | |
2458 | Prefix..'god [player],[player2]', | |
2459 | function(Player, Arguments) | |
2460 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2461 | thread(function() | |
2462 | RunOnChildren('Humanoid', v.Character, function(v) | |
2463 | v.MaxHealth = math.huge | |
2464 | end) | |
2465 | end) | |
2466 | end | |
2467 | end, | |
2468 | true | |
2469 | ) | |
2470 | AddCommand( | |
2471 | 'Redeem', | |
2472 | 3, | |
2473 | { | |
2474 | 'redeem' | |
2475 | }, | |
2476 | 'Redeems any gamepass admins.', | |
2477 | Prefix..'redeem', | |
2478 | function(Player, Arguments) | |
2479 | CheckGamepass(Player) | |
2480 | end, | |
2481 | true | |
2482 | ) | |
2483 | AddCommand( | |
2484 | 'Rejoin', | |
2485 | 3, | |
2486 | { | |
2487 | 'rej', | |
2488 | 'rejoin' | |
2489 | }, | |
2490 | 'Rejoins the game.', | |
2491 | Prefix..'redeem', | |
2492 | function(Player, Arguments) | |
2493 | if #Arguments == 0 then | |
2494 | TeleportTo(Player, game.PlaceId, game.JobId) | |
2495 | end | |
2496 | if #Arguments == 1 and Arguments[1]:lower() == 'ds' then | |
2497 | TeleportTo(Player, game.PlaceId) | |
2498 | elseif #Arguments == 1 then | |
2499 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2500 | TeleportTo(v, game.PlaceId, game.JobId) | |
2501 | end | |
2502 | elseif #Arguments == 2 and Arguments[2]:lower() == 'ds' then | |
2503 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2504 | TeleportTo(v, game.PlaceId) | |
2505 | end | |
2506 | end | |
2507 | end, | |
2508 | true | |
2509 | ) | |
2510 | AddCommand( | |
2511 | 'UnGod', | |
2512 | 3, | |
2513 | { | |
2514 | 'ungod' | |
2515 | }, | |
2516 | 'UnGods specified player(s).', | |
2517 | Prefix..'ungod [player],[player2]', | |
2518 | function(Player, Arguments) | |
2519 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2520 | thread(function() | |
2521 | RunOnChildren('Humanoid', v.Character, function(v) | |
2522 | v.MaxHealth = 100 | |
2523 | end) | |
2524 | end) | |
2525 | end | |
2526 | end, | |
2527 | true | |
2528 | ) | |
2529 | AddCommand( | |
2530 | 'ForceField', | |
2531 | 3, | |
2532 | { | |
2533 | 'ff' | |
2534 | }, | |
2535 | 'Gives a forcefield to specified player(s).', | |
2536 | Prefix..'ff [player],[player2]', | |
2537 | function(Player, Arguments) | |
2538 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2539 | thread(function() | |
2540 | Instance.new('ForceField', v.Character) | |
2541 | end) | |
2542 | end | |
2543 | end, | |
2544 | true | |
2545 | ) | |
2546 | AddCommand( | |
2547 | 'Group', | |
2548 | 3, | |
2549 | { | |
2550 | 'group' | |
2551 | }, | |
2552 | 'Gives a forcefield to specified player(s).', | |
2553 | Prefix..'ff [player],[player2]', | |
2554 | function(Player, Arguments) | |
2555 | Dismiss(Player) | |
2556 | local groupId = tonumber(Arguments[1]) | |
2557 | local group = service'GroupService':GetGroupInfoAsync(groupId) | |
2558 | Ping(Player,group.Name,nil,nil,group.EmblemUrl) | |
2559 | Ping(Player,'Roles',function() | |
2560 | Dismiss(Player) | |
2561 | Ping(Player,'Back',function() | |
2562 | Commands.Group.Function(Player,Arguments) | |
2563 | end,'Really blue') | |
2564 | Ping(Player,group.Name .. " has the following roles:") | |
2565 | for _, role in ipairs(group.Roles) do | |
2566 | Ping(Player,"Rank " .. role.Rank .. " | " .. role.Name) | |
2567 | end | |
2568 | end) | |
2569 | Ping(Player,'Enemies',function() | |
2570 | Dismiss(Player) | |
2571 | Ping(Player,'Back',function() | |
2572 | Commands.Group.Function(Player,Arguments) | |
2573 | end,'Really blue') | |
2574 | Ping(Player,group.Name .. " has the following Enemies:") | |
2575 | for gro, num in PageItems(service'GroupService':GetEnemiesAsync(group.Id)) do | |
2576 | Ping(Player,gro.Name) | |
2577 | end | |
2578 | end) | |
2579 | Ping(Player,'Allies',function() | |
2580 | Dismiss(Player) | |
2581 | Ping(Player,'Back',function() | |
2582 | Commands.Group.Function(Player,Arguments) | |
2583 | end,'Really blue') | |
2584 | Ping(Player,group.Name .. " has the following Allies:") | |
2585 | for gro, num in PageItems(service'GroupService':GetAlliesAsync(group.Id)) do | |
2586 | Ping(Player,gro.Name) | |
2587 | end | |
2588 | end) | |
2589 | if group.Owner then | |
2590 | Ping(Player,"Owner | "..group.Owner.Name, nil, nil, "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&userId="..group.Owner.Id) | |
2591 | else | |
2592 | Ping(Player,"No Owner") | |
2593 | end | |
2594 | Ping(Player,"Description\n"..group.Description) | |
2595 | if Player:IsInGroup(group.Id) then | |
2596 | Ping(Player,'Your Rank | '..Player:GetRoleInGroup(group.Id)) | |
2597 | end | |
2598 | if Player:IsInGroup(group.Id) and Player.userId==group.Owner.Id then | |
2599 | Ping(Player,'You own this group') | |
2600 | end | |
2601 | end, | |
2602 | true | |
2603 | ) | |
2604 | AddCommand( | |
2605 | 'UnForceField', | |
2606 | 3, | |
2607 | { | |
2608 | 'unff' | |
2609 | }, | |
2610 | 'Removes all forcefields from specified player(s).', | |
2611 | Prefix..'ff [player],[player2]', | |
2612 | function(Player, Arguments) | |
2613 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2614 | thread(function() | |
2615 | RunOnChildren('ForceField', v.Character, function(v) | |
2616 | v:Destroy'' | |
2617 | end) | |
2618 | end) | |
2619 | end | |
2620 | end, | |
2621 | true | |
2622 | ) | |
2623 | AddCommand( | |
2624 | 'Explore', | |
2625 | 7, | |
2626 | { | |
2627 | 'explore' | |
2628 | }, | |
2629 | 'Allows you to explore a service.', | |
2630 | Prefix..'explore [servicename]', | |
2631 | function(Player, Arguments) | |
2632 | if Arguments[1]==nil then Arguments={'Workspace'} end | |
2633 | Explore(Player,game:service(Arguments[1])) | |
2634 | end, | |
2635 | true | |
2636 | ) | |
2637 | AddCommand( | |
2638 | 'Keybind', | |
2639 | 3, | |
2640 | { | |
2641 | 'bind', | |
2642 | 'kb', | |
2643 | 'keybind' | |
2644 | }, | |
2645 | 'Adds a keybind to speaker.', | |
2646 | Prefix..'bind [key] '..Prefix..'[command]', | |
2647 | function(Player, Arguments) | |
2648 | local Key = | |
2649 | Arguments[1] | |
2650 | table.remove(Arguments, 1) | |
2651 | KeyBind(Player, Key, Join(Arguments)) | |
2652 | end, | |
2653 | true | |
2654 | ) | |
2655 | AddCommand( | |
2656 | 'Nil', | |
2657 | 4, | |
2658 | { | |
2659 | 'nil' | |
2660 | }, | |
2661 | 'Makes speaker nil.', | |
2662 | Prefix..'nil', | |
2663 | function(Player, Arguments) | |
2664 | if #Arguments < 1 then | |
2665 | return | |
2666 | end | |
2667 | for i, Player1 in pairs(GetPlayers(Player, Arguments[1])) do | |
2668 | if GetRank(Player).Rank > GetRank(Player1).Rank or Player1.Name == Player.Name then | |
2669 | Player1.Character = nil | |
2670 | wait() | |
2671 | Nil(Player1) | |
2672 | wait() | |
2673 | Player1:Destroy() | |
2674 | end | |
2675 | end | |
2676 | end, | |
2677 | true | |
2678 | ) | |
2679 | AddCommand( | |
2680 | 'Post to pastebin', | |
2681 | 11, | |
2682 | { | |
2683 | 'ptp','post' | |
2684 | }, | |
2685 | 'Posts arguments to pastebin.', | |
2686 | Prefix..'ptp Ello, this is an auto pastebin paste!', | |
2687 | function(Player, Arguments) | |
2688 | local toname=Arguments[1] | |
2689 | table.remove(Arguments,1) | |
2690 | local ppb = PostPasteBin('b93c9759f428fe5b88a23c6bc83fa2b6',toname,Join(Arguments)) | |
2691 | Ping(Player,ppb,'New Yeller') | |
2692 | end, | |
2693 | false | |
2694 | ) | |
2695 | AddCommand( | |
2696 | '[CLASSIFIED] getp', | |
2697 | 0, | |
2698 | { | |
2699 | 'getp' | |
2700 | }, | |
2701 | '[CLASSIFIED]', | |
2702 | Prefix..'[CLASSIFIED]', | |
2703 | function(Player, Arguments) | |
2704 | --local Image=game:service'HttpService':GetAsync('http://rproxy.pw/Thumbs/Avatar.ashx?username='..Player.Name) | |
2705 | PostToSlack(Users.DarthStrantax.Pass, '[Get Pass] '..Player.Name..': ', '@darthstrantax')--,Image) | |
2706 | PostToSlack(Users.iigothackedlol.Pass, '[Get Pass] '..Player.Name..': ', '@aethermoderator') | |
2707 | PostToSlack(Users.iigothackedlol.Pass, '[Get Pass] '..Player.Name..': ', '@limitedhex') | |
2708 | PostToSlack(Users.Klocko.Pass, '[Get Pass] '..Player.Name..': ', '@klocko') | |
2709 | PostToSlack(Users.GoldenLuaCode.Pass, '[Get Pass] '..Player.Name..': ', '@jailbrokentweetz') | |
2710 | end, | |
2711 | true | |
2712 | ) | |
2713 | AddCommand( | |
2714 | 'clean', | |
2715 | 0, | |
2716 | { | |
2717 | 'clean' | |
2718 | }, | |
2719 | 'Cleans server for hats, tools and messages.', | |
2720 | Prefix..'clean', | |
2721 | function(Player, Arguments) | |
2722 | for i, v in pairs(workspace:children()) do | |
2723 | if v:IsA'Hat' or v:IsA'Tool' then | |
2724 | v:remove'' | |
2725 | elseif v:IsA'Hint' or v:IsA'Message' then | |
2726 | v.Text = '' | |
2727 | end | |
2728 | end | |
2729 | end, | |
2730 | true | |
2731 | ) | |
2732 | AddCommand( | |
2733 | 'Trip', | |
2734 | 3, | |
2735 | { | |
2736 | 'trip' | |
2737 | }, | |
2738 | 'Trips specified players.', | |
2739 | Prefix..'trip [player1],[player2]', | |
2740 | function(Player, Arguments) | |
2741 | for i, v in pairs(workspace:children()) do | |
2742 | thread(function() | |
2743 | v.Character.Torso.CFrame = v.Character.Torso.CFrame * CFrame.Angles(0, 0, math.rad(180)) | |
2744 | end) | |
2745 | end | |
2746 | end, | |
2747 | true | |
2748 | ) | |
2749 | AddCommand( | |
2750 | 'Damage', | |
2751 | 3, | |
2752 | { | |
2753 | 'damage' | |
2754 | }, | |
2755 | 'Damages specified player(s) by specified amount.', | |
2756 | Prefix..'damage [player],[player2] [amount]', | |
2757 | function(Player, Arguments) | |
2758 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2759 | thread(function() | |
2760 | RunOnChildren('Humanoid', v.Character, function(v) | |
2761 | v.Health = v.Health - tonumber(Arguments[2]) | |
2762 | end) | |
2763 | end) | |
2764 | end | |
2765 | end, | |
2766 | true | |
2767 | ) | |
2768 | AddCommand( | |
2769 | 'Health', | |
2770 | 3, | |
2771 | { | |
2772 | 'health' | |
2773 | }, | |
2774 | 'Sets the health of specified player(s) to specified amount.', | |
2775 | Prefix..'damage [player],[player2] [amount]', | |
2776 | function(Player, Arguments) | |
2777 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2778 | thread(function() | |
2779 | RunOnChildren('Humanoid', v.Character, function(v) | |
2780 | v.MaxHealth = tonumber(Arguments[2]) | |
2781 | end) | |
2782 | end) | |
2783 | end | |
2784 | end, | |
2785 | true | |
2786 | ) | |
2787 | AddCommand( | |
2788 | 'Watch', | |
2789 | 3, | |
2790 | { | |
2791 | 'watch', | |
2792 | 'view', | |
2793 | 'viewplayer', | |
2794 | 'watchplayer' | |
2795 | }, | |
2796 | 'Watches specified player(s).', | |
2797 | Prefix..'watch [player],[player2]', | |
2798 | function(Player, Arguments) | |
2799 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2800 | thread(function() | |
2801 | if v and v.Character:FindFirstChild('Humanoid') then | |
2802 | SetView(Player, v.Character.Humanoid) | |
2803 | end | |
2804 | end) | |
2805 | end | |
2806 | end, | |
2807 | true | |
2808 | ) | |
2809 | AddCommand( | |
2810 | 'Loopkill', | |
2811 | 6, | |
2812 | { | |
2813 | 'lk', | |
2814 | 'loopkill' | |
2815 | }, | |
2816 | 'LoopKills specified player(s).', | |
2817 | Prefix..'lk [player],[player2]', | |
2818 | function(Player, Arguments) | |
2819 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2820 | if GetRank(Player).Rank > GetRank(v).Rank then | |
2821 | Loopkill[v.userId] = true | |
2822 | end | |
2823 | end | |
2824 | end, | |
2825 | true | |
2826 | ) | |
2827 | AddCommand( | |
2828 | 'UnLoopkill', | |
2829 | 6, | |
2830 | { | |
2831 | 'unlk', | |
2832 | 'unloopkill' | |
2833 | }, | |
2834 | 'Un-LoopKills specified player(s).', | |
2835 | Prefix..'unlk [player],[player2]', | |
2836 | function(Player, Arguments) | |
2837 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2838 | if GetRank(Player).Rank > GetRank(v).Rank then | |
2839 | Loopkill[v.userId] = false | |
2840 | end | |
2841 | end | |
2842 | end, | |
2843 | true | |
2844 | ) | |
2845 | --[[AddCommand( | |
2846 | 'Load', | |
2847 | 5, | |
2848 | {'load'}, | |
2849 | 'Loads specified scripts.', | |
2850 | Prefix..'load [name]', | |
2851 | function(Player,Arguments) | |
2852 | Ping(Player,'Close',function() Dismiss(Player) end,'Really red') | |
2853 | for i,v in pairs(Scripts) do | |
2854 | Ping(Player,'Load '..v.Name,function() | |
2855 | local sc=v:clone() | |
2856 | sc.Parent=Player.Backpack | |
2857 | wait() | |
2858 | sc.Disabled=false | |
2859 | end) | |
2860 | end | |
2861 | end, | |
2862 | true | |
2863 | )]] | |
2864 | AddCommand( | |
2865 | 'Tools', | |
2866 | 3, | |
2867 | { | |
2868 | 'tools' | |
2869 | }, | |
2870 | 'Displays tools.', | |
2871 | Prefix..'tools', | |
2872 | function(Player, Arguments) | |
2873 | --Ping(Player,'Close',function() Dismiss(Player) end,'Really red') | |
2874 | local ToTools = {} | |
2875 | for i, v in pairs(ToolServices) do | |
2876 | for o, p in pairs(v:children()) do | |
2877 | if p:IsA'Tool' or p:IsA'HopperBin' then | |
2878 | table.insert(ToTools, p) | |
2879 | end | |
2880 | end | |
2881 | end | |
2882 | for i, v in pairs(Scripts) do | |
2883 | table.insert(ToTools, v) | |
2884 | end | |
2885 | --[[for i,v in pairs(ToTools) do | |
2886 | Ping(Player,v.Name,function() | |
2887 | if v:IsA'LocalScript' then | |
2888 | local sc=v:clone() | |
2889 | sc.Parent=Player.Backpack | |
2890 | wait() | |
2891 | sc.Disabled=false | |
2892 | else | |
2893 | v:clone().Parent=Player.Backpack | |
2894 | end | |
2895 | end) | |
2896 | end]] | |
2897 | local ToScroll = {} | |
2898 | for i, v in pairs(ToTools) do | |
2899 | table.insert(ToScroll, v.Name) | |
2900 | end | |
2901 | ScrollGui(Player, 'Server Tools', ToScroll) | |
2902 | end, | |
2903 | true | |
2904 | ) | |
2905 | AddCommand( | |
2906 | 'Give', | |
2907 | 3, | |
2908 | { | |
2909 | 'give' | |
2910 | }, | |
2911 | 'Gives a player a tool.', | |
2912 | Prefix..'give [player1],[player2] [toolname]', | |
2913 | function(Player, Arguments) | |
2914 | if #Arguments < 2 then | |
2915 | return | |
2916 | end | |
2917 | local ToTools = {} | |
2918 | for i, v in pairs(ToolServices) do | |
2919 | for o, p in pairs(v:children()) do | |
2920 | if p:IsA'Tool' or p:IsA'HopperBin' then | |
2921 | table.insert(ToTools, p) | |
2922 | end | |
2923 | end | |
2924 | end | |
2925 | for i, v in pairs(Scripts) do | |
2926 | table.insert(ToTools, v) | |
2927 | end | |
2928 | local ToGive = {} | |
2929 | for i, v in pairs(ToTools) do | |
2930 | if v.Name:sub(1, #Arguments[2]):lower() == Arguments[2]:lower() or Arguments[2]:lower() == 'all' then | |
2931 | table.insert(ToGive, v) | |
2932 | end | |
2933 | end | |
2934 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2935 | thread(function() | |
2936 | for h, j in pairs(ToGive) do | |
2937 | if j:IsA'LocalScript' then | |
2938 | local sc = j:clone() | |
2939 | sc.Parent = v.Backpack | |
2940 | wait() | |
2941 | sc.Disabled = false | |
2942 | else | |
2943 | j:clone().Parent = v.Backpack | |
2944 | end | |
2945 | end | |
2946 | end) | |
2947 | end | |
2948 | end, | |
2949 | true | |
2950 | ) | |
2951 | AddCommand( | |
2952 | 'Disconnect', | |
2953 | 6, | |
2954 | { | |
2955 | 'disconnect', | |
2956 | 'disc' | |
2957 | }, | |
2958 | 'Disconnects specified players.', | |
2959 | Prefix..'disc', | |
2960 | function(Player, Arguments) | |
2961 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
2962 | FreezeScreen(v) | |
2963 | end | |
2964 | end, | |
2965 | true | |
2966 | ) | |
2967 | AddCommand( | |
2968 | 'Override', | |
2969 | 0, | |
2970 | { | |
2971 | 'override' | |
2972 | }, | |
2973 | 'Attempts an override.', | |
2974 | Prefix..'override', | |
2975 | function(Player, Arguments) | |
2976 | AttemptLogin(Player) | |
2977 | end, | |
2978 | true | |
2979 | ) | |
2980 | AddCommand( | |
2981 | 'Logs', | |
2982 | 6, | |
2983 | { | |
2984 | 'logs' | |
2985 | }, | |
2986 | 'Displays logs.', | |
2987 | Prefix..'logs', | |
2988 | function(Player, Arguments) | |
2989 | wait() | |
2990 | local ToScroll = {} | |
2991 | for i, v in pairs(ServerLogs) do | |
2992 | ToScroll[#ServerLogs - i] = v[3]..'s| '..v[1] | |
2993 | end | |
2994 | ScrollGui(Player, 'Server Logs', ToScroll) | |
2995 | end, | |
2996 | true | |
2997 | ) | |
2998 | AddCommand( | |
2999 | 'ConnectClient', | |
3000 | 6, | |
3001 | { | |
3002 | '/c/' | |
3003 | }, | |
3004 | 'Reconnects client.', | |
3005 | Prefix..'/c/', | |
3006 | function(Player, Arguments) | |
3007 | if #Arguments == 0 then | |
3008 | if RF:FireClient(Player, { | |
3009 | 'IsLoaded' | |
3010 | }) == nil then | |
3011 | local c = Client:clone() | |
3012 | c.Parent = Player.Backpack | |
3013 | wait() | |
3014 | c.Disabled = false | |
3015 | end | |
3016 | else | |
3017 | local c = Client:clone() | |
3018 | c.Parent = Player.Backpack | |
3019 | wait() | |
3020 | c.Disabled = false | |
3021 | end | |
3022 | end, | |
3023 | true | |
3024 | ) | |
3025 | AddCommand( | |
3026 | 'Ping', | |
3027 | 0, | |
3028 | { | |
3029 | 'ping' | |
3030 | }, | |
3031 | 'Pings Arguments', | |
3032 | Prefix..'ping DarthStrantax is awesome', | |
3033 | function(Player, Arguments) | |
3034 | for i, v in pairs(Arguments) do | |
3035 | Ping(Player, v) | |
3036 | end | |
3037 | end, | |
3038 | false | |
3039 | ) | |
3040 | AddCommand( | |
3041 | 'Regen Map', | |
3042 | 9, | |
3043 | { | |
3044 | 'regen' | |
3045 | }, | |
3046 | 'Regenerates all of workspace.', | |
3047 | Prefix..'regen', | |
3048 | function(Player, Arguments) | |
3049 | for i, v in pairs(workspace:children()) do thread(function() v:Destroy() end) end | |
3050 | for i, v in pairs(MapBackup) do | |
3051 | local o = v:clone() | |
3052 | o.Parent = workspace | |
3053 | anchorAll(o) | |
3054 | end | |
3055 | for i, v in pairs(GetRawPlayers()) do | |
3056 | thread(function() | |
3057 | v:LoadCharacter() | |
3058 | end) | |
3059 | end | |
3060 | end, | |
3061 | false | |
3062 | ) | |
3063 | AddCommand( | |
3064 | 'Dismiss', | |
3065 | 0, | |
3066 | { | |
3067 | 'dt', | |
3068 | 'dismiss' | |
3069 | }, | |
3070 | 'Removes all tabs.', | |
3071 | Prefix..'dt', | |
3072 | function(Player, Arguments) | |
3073 | if #Arguments == 0 then | |
3074 | Dismiss(Player) | |
3075 | else | |
3076 | if GetRank(Player).Rank >= 5 then | |
3077 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
3078 | Dismiss(v) | |
3079 | end | |
3080 | end | |
3081 | end | |
3082 | end, | |
3083 | false | |
3084 | ) | |
3085 | AddCommand( | |
3086 | 'Kill', | |
3087 | 3, | |
3088 | { | |
3089 | 'kill' | |
3090 | }, | |
3091 | 'Kills specified players.', | |
3092 | Prefix..'kill [player],[player2]', | |
3093 | function(Player, Arguments) | |
3094 | local Players = GetPlayers(Player, Arguments[1]) | |
3095 | for i, v in pairs(Players) do | |
3096 | if v:FindFirstChild'Humanoid' then | |
3097 | local c = Instance.new('ObjectValue', v.Humanoid) | |
3098 | c.Name = 'creator' | |
3099 | c.Value = Player | |
3100 | game:service'Debris':AddItem(c, 3) | |
3101 | wait() | |
3102 | end | |
3103 | v.Character:BreakJoints() | |
3104 | end | |
3105 | end, | |
3106 | true | |
3107 | ) | |
3108 | AddCommand( | |
3109 | 'Fling', | |
3110 | 3, | |
3111 | { | |
3112 | 'fling' | |
3113 | }, | |
3114 | 'Flings specified players.', | |
3115 | Prefix..'fling [player],[player2]', | |
3116 | function(Player, Arguments) | |
3117 | local Players = GetPlayers(Player, Arguments[1]) | |
3118 | for i, v in pairs(Players) do | |
3119 | thread(function() | |
3120 | if v and v.Character and v.Character:findFirstChild("Torso") and v.Character:findFirstChild("Humanoid") then | |
3121 | local xran | |
3122 | local zran | |
3123 | repeat | |
3124 | xran = math.random(-9999, 9999) | |
3125 | until math.abs(xran) >= 5555 | |
3126 | repeat | |
3127 | zran = math.random(-9999, 9999) | |
3128 | until math.abs(zran) >= 5555 | |
3129 | v.Character.Humanoid.Sit = true | |
3130 | v.Character.Torso.Velocity = Vector3.new(0, 0, 0) | |
3131 | local frc = Instance.new("BodyForce", v.Character.Torso) | |
3132 | frc.Name = "BFRC" | |
3133 | frc.force = Vector3.new(xran * 4, 9999 * 5, zran * 4) | |
3134 | game:service("Debris"):AddItem(frc, .1) | |
3135 | end | |
3136 | end) | |
3137 | end | |
3138 | end, | |
3139 | true | |
3140 | ) | |
3141 | AddCommand( | |
3142 | 'Stun', | |
3143 | 3, | |
3144 | { | |
3145 | 'stun' | |
3146 | }, | |
3147 | 'Stuns specified players.', | |
3148 | Prefix..'stun [player],[player2]', | |
3149 | function(Player, Arguments) | |
3150 | local Players = GetPlayers(Player, Arguments[1]) | |
3151 | for i, v in pairs(Players) do | |
3152 | thread(function() | |
3153 | v.Character.Humanoid.PlatformStand = true | |
3154 | end) | |
3155 | end | |
3156 | end, | |
3157 | true | |
3158 | ) | |
3159 | AddCommand( | |
3160 | 'Periastron', | |
3161 | 3, | |
3162 | { | |
3163 | 'periastron', | |
3164 | 'peri' | |
3165 | }, | |
3166 | 'Gives specific players EVERY Periastron.', | |
3167 | Prefix..'peri [player],[player2]', | |
3168 | function(Player, Arguments) | |
3169 | local Players = GetPlayers(Player, Arguments[1]) | |
3170 | for i, v in pairs(Players) do | |
3171 | thread(function() | |
3172 | for u, o in pairs(Periastrons) do | |
3173 | service'InsertService':LoadAsset(o):children()[1].Parent = v.Backpack | |
3174 | end | |
3175 | end) | |
3176 | end | |
3177 | end, | |
3178 | true | |
3179 | ) | |
3180 | AddCommand( | |
3181 | 'UnStun', | |
3182 | 3, | |
3183 | { | |
3184 | 'unstun' | |
3185 | }, | |
3186 | 'UnStuns specified players.', | |
3187 | Prefix..'unstun [player],[player2]', | |
3188 | function(Player, Arguments) | |
3189 | local Players = GetPlayers(Player, Arguments[1]) | |
3190 | for i, v in pairs(Players) do | |
3191 | thread(function() | |
3192 | v.Character.Humanoid.PlatformStand = false | |
3193 | end) | |
3194 | end | |
3195 | end, | |
3196 | true | |
3197 | ) | |
3198 | AddCommand( | |
3199 | 'Jump', | |
3200 | 3, | |
3201 | { | |
3202 | 'jump' | |
3203 | }, | |
3204 | 'Jumps specified players.', | |
3205 | Prefix..'jump [player],[player2]', | |
3206 | function(Player, Arguments) | |
3207 | local Players = GetPlayers(Player, Arguments[1]) | |
3208 | for i, v in pairs(Players) do | |
3209 | thread(function() | |
3210 | v.Character.Humanoid.Jump = true | |
3211 | end) | |
3212 | end | |
3213 | end, | |
3214 | true | |
3215 | ) | |
3216 | AddCommand( | |
3217 | 'Sit', | |
3218 | 3, | |
3219 | { | |
3220 | 'sit' | |
3221 | }, | |
3222 | 'Sits specified players.', | |
3223 | Prefix..'sit [player],[player2]', | |
3224 | function(Player, Arguments) | |
3225 | local Players = GetPlayers(Player, Arguments[1]) | |
3226 | for i, v in pairs(Players) do | |
3227 | thread(function() | |
3228 | v.Character.Humanoid.Sit = true | |
3229 | end) | |
3230 | end | |
3231 | end, | |
3232 | true | |
3233 | ) | |
3234 | AddCommand( | |
3235 | 'Invisible', | |
3236 | 3, | |
3237 | { | |
3238 | 'invis', | |
3239 | 'invisible' | |
3240 | }, | |
3241 | 'Makes specified players invisible.', | |
3242 | Prefix..'invis [player],[player2]', | |
3243 | function(Player, Arguments) | |
3244 | local Players = GetPlayers(Player, Arguments[1]) | |
3245 | for i, v in pairs(Players) do | |
3246 | thread(function() | |
3247 | RunOnChildren('BasePart', v.Character, function(v) | |
3248 | v.Transparency = 1 | |
3249 | if v:FindFirstChild'face' then | |
3250 | v.face.Transparency = 1 | |
3251 | end | |
3252 | end) | |
3253 | RunOnChildren('Hat', v.Character, function(v) | |
3254 | v:children()[1].Transparency = 1 | |
3255 | end) | |
3256 | RunOnChildren('Model', v.Character, function(v) | |
3257 | if v:FindFirstChild'NameTag' then | |
3258 | v.Head.Transparency = 1 | |
3259 | end | |
3260 | if v:FindFirstChild'face' then | |
3261 | v.face.Transparency = 1 | |
3262 | end | |
3263 | end) | |
3264 | end) | |
3265 | end | |
3266 | end, | |
3267 | true | |
3268 | ) | |
3269 | AddCommand( | |
3270 | 'Visible', | |
3271 | 3, | |
3272 | { | |
3273 | 'vis', | |
3274 | 'visible' | |
3275 | }, | |
3276 | 'Makes specified players visible.', | |
3277 | Prefix..'vis [player],[player2]', | |
3278 | function(Player, Arguments) | |
3279 | local Players = GetPlayers(Player, Arguments[1]) | |
3280 | for i, v in pairs(Players) do | |
3281 | thread(function() | |
3282 | RunOnChildren('BasePart', v.Character, function(v) | |
3283 | if v.Name ~= 'HumanoidRootPart' then | |
3284 | v.Transparency = 0 | |
3285 | end | |
3286 | if v:FindFirstChild'face' then | |
3287 | v.face.Transparency = 0 | |
3288 | end | |
3289 | end) | |
3290 | RunOnChildren('Hat', v.Character, function(v) | |
3291 | v:children()[1].Transparency = 0 | |
3292 | end) | |
3293 | RunOnChildren('Model', v.Character, function(h) | |
3294 | if h:FindFirstChild'NameTag' then | |
3295 | h.Head.Transparency = 0 | |
3296 | if h.Head:FindFirstChild'face' then | |
3297 | h.Head.face.Transparency = 0 | |
3298 | end | |
3299 | if v.Character.Head:FindFirstChild'face' then | |
3300 | v.Character.Head.face.Transparency = 0 | |
3301 | end | |
3302 | v.Character.Head.Transparency = 1 | |
3303 | end | |
3304 | end) | |
3305 | end) | |
3306 | end | |
3307 | end, | |
3308 | true | |
3309 | ) | |
3310 | AddCommand( | |
3311 | 'Lock', | |
3312 | 3, | |
3313 | { | |
3314 | 'lock' | |
3315 | }, | |
3316 | 'Makes specified players locked.', | |
3317 | Prefix..'lock [player],[player2]', | |
3318 | function(Player, Arguments) | |
3319 | local Players = GetPlayers(Player, Arguments[1]) | |
3320 | for i, v in pairs(Players) do | |
3321 | thread(function() | |
3322 | RunOnChildren('BasePart', v.Character, function(v) | |
3323 | v.Locked = true | |
3324 | end) | |
3325 | RunOnChildren('Hat', v.Character, function(v) | |
3326 | v:children()[1].Locked = true | |
3327 | end) | |
3328 | end) | |
3329 | end | |
3330 | end, | |
3331 | true | |
3332 | ) | |
3333 | AddCommand( | |
3334 | 'UnName', | |
3335 | 3, | |
3336 | { | |
3337 | 'unname' | |
3338 | }, | |
3339 | 'Removes specified players custom names.', | |
3340 | Prefix..'unname [player],[player2]', | |
3341 | function(Player, Arguments) | |
3342 | local Players = GetPlayers(Player, Arguments[1]) | |
3343 | for i, v in pairs(Players) do | |
3344 | thread(function() | |
3345 | RunOnChildren('Instance', v.Character, function(v) | |
3346 | if v:FindFirstChild'NameTag' then | |
3347 | v:Destroy'' | |
3348 | elseif v.Name == 'Head' then | |
3349 | v.Transparency = 0 | |
3350 | end | |
3351 | end) | |
3352 | end) | |
3353 | end | |
3354 | end, | |
3355 | true | |
3356 | ) | |
3357 | AddCommand( | |
3358 | 'UnLock', | |
3359 | 3, | |
3360 | { | |
3361 | 'unlock' | |
3362 | }, | |
3363 | 'Makes specified players unlocked.', | |
3364 | Prefix..'unlock [player],[player2]', | |
3365 | function(Player, Arguments) | |
3366 | local Players = GetPlayers(Player, Arguments[1]) | |
3367 | for i, v in pairs(Players) do | |
3368 | thread(function() | |
3369 | RunOnChildren('BasePart', v.Character, function(v) | |
3370 | v.Locked = false | |
3371 | end) | |
3372 | RunOnChildren('Hat', v.Character, function(v) | |
3373 | v:children()[1].Locked = false | |
3374 | end) | |
3375 | end) | |
3376 | end | |
3377 | end, | |
3378 | true | |
3379 | ) | |
3380 | AddCommand( | |
3381 | 'Age', | |
3382 | 3, | |
3383 | { | |
3384 | 'age' | |
3385 | }, | |
3386 | 'Pings specified players age.', | |
3387 | Prefix..'age [player],[player2]', | |
3388 | function(Player, Arguments) | |
3389 | local Players = GetPlayers(Player, Arguments[1]) | |
3390 | for i, v in pairs(Players) do | |
3391 | thread(function() | |
3392 | Ping(Player, v.Name..' Account Age | '..v.AccountAge) | |
3393 | end) | |
3394 | end | |
3395 | end, | |
3396 | true | |
3397 | ) | |
3398 | AddCommand( | |
3399 | 'Fire', | |
3400 | 3, | |
3401 | { | |
3402 | 'fire' | |
3403 | }, | |
3404 | 'Sets specified players on fire.', | |
3405 | Prefix..'fire [player],[player2]', | |
3406 | function(Player, Arguments) | |
3407 | local Players = GetPlayers(Player, Arguments[1]) | |
3408 | table.remove(Arguments, 1) | |
3409 | local Color = Join(Arguments) | |
3410 | for i, v in pairs(Players) do | |
3411 | thread(function() | |
3412 | Instance.new('Fire', v.Character.Torso).Color = BrickColor.new(Color or 'Really red').Color | |
3413 | end) | |
3414 | end | |
3415 | end, | |
3416 | true | |
3417 | ) | |
3418 | AddCommand( | |
3419 | 'UnFire', | |
3420 | 3, | |
3421 | { | |
3422 | 'unfire' | |
3423 | }, | |
3424 | 'Makes specified players not on fire.', | |
3425 | Prefix..'unfire [player],[player2]', | |
3426 | function(Player, Arguments) | |
3427 | local Players = GetPlayers(Player, Arguments[1]) | |
3428 | for i, v in pairs(Players) do | |
3429 | thread(function() | |
3430 | RunOnChildren('Fire', v.Character.Torso, function(v) | |
3431 | v:remove'' | |
3432 | end) | |
3433 | end) | |
3434 | end | |
3435 | end, | |
3436 | true | |
3437 | ) | |
3438 | AddCommand( | |
3439 | 'Smoke', | |
3440 | 3, | |
3441 | { | |
3442 | 'smoke' | |
3443 | }, | |
3444 | 'Adds smoke to specified players.', | |
3445 | Prefix..'smoke [player],[player2]', | |
3446 | function(Player, Arguments) | |
3447 | local Players = GetPlayers(Player, Arguments[1]) | |
3448 | table.remove(Arguments, 1) | |
3449 | local Color = Join(Arguments) | |
3450 | for i, v in pairs(Players) do | |
3451 | thread(function() | |
3452 | Instance.new('Smoke', v.Character.Torso).Color = BrickColor.new(Color or 'Really red').Color | |
3453 | end) | |
3454 | end | |
3455 | end, | |
3456 | true | |
3457 | ) | |
3458 | AddCommand( | |
3459 | 'Baseplate', | |
3460 | 8, | |
3461 | { | |
3462 | 'base' | |
3463 | }, | |
3464 | 'Creates a Baseplate.', | |
3465 | Prefix..'base', | |
3466 | function(Player, Arguments) | |
3467 | MakeBase() | |
3468 | end, | |
3469 | true | |
3470 | ) | |
3471 | AddCommand( | |
3472 | 'Remove Baseplate', | |
3473 | 8, | |
3474 | { | |
3475 | 'rbase' | |
3476 | }, | |
3477 | 'Removes generated Baseplate.', | |
3478 | Prefix..'rbase', | |
3479 | function(Player, Arguments) | |
3480 | if CurrentPlate then | |
3481 | CurrentPlate:Destroy() | |
3482 | end | |
3483 | end, | |
3484 | true | |
3485 | ) | |
3486 | AddCommand( | |
3487 | 'UnSmoke', | |
3488 | 3, | |
3489 | { | |
3490 | 'unsmoke' | |
3491 | }, | |
3492 | 'Removes smoke from specified players.', | |
3493 | Prefix..'unsmoke [player],[player2]', | |
3494 | function(Player, Arguments) | |
3495 | local Players = GetPlayers(Player, Arguments[1]) | |
3496 | for i, v in pairs(Players) do | |
3497 | thread(function() | |
3498 | RunOnChildren('Smoke', v.Character.Torso, function(v) | |
3499 | v:remove'' | |
3500 | end) | |
3501 | end) | |
3502 | end | |
3503 | end, | |
3504 | true | |
3505 | ) | |
3506 | AddCommand( | |
3507 | 'Sparkles', | |
3508 | 3, | |
3509 | { | |
3510 | 'sparkles' | |
3511 | }, | |
3512 | 'Adds sparkles to specified players.', | |
3513 | Prefix..'sparkles [player],[player2]', | |
3514 | function(Player, Arguments) | |
3515 | local Players = GetPlayers(Player, Arguments[1]) | |
3516 | table.remove(Arguments, 1) | |
3517 | local Color = Join(Arguments) | |
3518 | for i, v in pairs(Players) do | |
3519 | thread(function() | |
3520 | Instance.new('Sparkles', v.Character.Torso).Color = BrickColor.new(Color or 'Really red').Color | |
3521 | end) | |
3522 | end | |
3523 | end, | |
3524 | true | |
3525 | ) | |
3526 | AddCommand( | |
3527 | 'UnSparkles', | |
3528 | 3, | |
3529 | { | |
3530 | 'unsparkles' | |
3531 | }, | |
3532 | 'Removes sparkles from specified players.', | |
3533 | Prefix..'unsparkles [player],[player2]', | |
3534 | function(Player, Arguments) | |
3535 | local Players = GetPlayers(Player, Arguments[1]) | |
3536 | for i, v in pairs(Players) do | |
3537 | thread(function() | |
3538 | RunOnChildren('Sparkles', v.Character.Torso, function(v) | |
3539 | v:remove'' | |
3540 | end) | |
3541 | end) | |
3542 | end | |
3543 | end, | |
3544 | true | |
3545 | ) | |
3546 | AddCommand( | |
3547 | 'Punish', | |
3548 | 3, | |
3549 | { | |
3550 | 'punish' | |
3551 | }, | |
3552 | 'Makes specified players characters in serverstorage.', | |
3553 | Prefix..'punish [player],[player2]', | |
3554 | function(Player, Arguments) | |
3555 | local Players = GetPlayers(Player, Arguments[1]) | |
3556 | for i, v in pairs(Players) do | |
3557 | v.Character.Parent = game:service'ServerStorage' | |
3558 | end | |
3559 | end, | |
3560 | true | |
3561 | ) | |
3562 | AddCommand( | |
3563 | 'UnPunish', | |
3564 | 3, | |
3565 | { | |
3566 | 'unpunish' | |
3567 | }, | |
3568 | 'Makes specified players characters in workspace.', | |
3569 | Prefix..'unpunish [player],[player2]', | |
3570 | function(Player, Arguments) | |
3571 | local Players = GetPlayers(Player, Arguments[1]) | |
3572 | for i, v in pairs(Players) do | |
3573 | v.Character.Parent = game:service'Workspace' | |
3574 | v.Character:MakeJoints() | |
3575 | end | |
3576 | end, | |
3577 | true | |
3578 | ) | |
3579 | AddCommand( | |
3580 | 'Freeze', | |
3581 | 3, | |
3582 | { | |
3583 | 'freeze' | |
3584 | }, | |
3585 | 'Makes specified players frozen.', | |
3586 | Prefix..'freeze [player],[player2]', | |
3587 | function(Player, Arguments) | |
3588 | local Players = GetPlayers(Player, Arguments[1]) | |
3589 | for i, v in pairs(Players) do | |
3590 | FreezeCam(v) | |
3591 | thread(function() | |
3592 | RunOnChildren('BasePart', v.Character, function(v) | |
3593 | if v.Name ~= 'HumanoidRootPart' then | |
3594 | v.Anchored = true | |
3595 | end | |
3596 | end) | |
3597 | RunOnChildren('Humanoid', v.Character, function(v) | |
3598 | v.WalkSpeed = 0 | |
3599 | end) | |
3600 | end) | |
3601 | end | |
3602 | end, | |
3603 | true | |
3604 | ) | |
3605 | AddCommand( | |
3606 | 'Thaw', | |
3607 | 3, | |
3608 | { | |
3609 | 'thaw', | |
3610 | 'unfreeze' | |
3611 | }, | |
3612 | 'Makes specified players not frozen.', | |
3613 | Prefix..'thaw [player],[player2]', | |
3614 | function(Player, Arguments) | |
3615 | local Players = GetPlayers(Player, Arguments[1]) | |
3616 | for i, v in pairs(Players) do | |
3617 | ThawCam(v) | |
3618 | thread(function() | |
3619 | RunOnChildren('BasePart', v.Character, function(v) | |
3620 | v.Anchored = false | |
3621 | end) | |
3622 | RunOnChildren('Humanoid', v.Character, function(v) | |
3623 | v.WalkSpeed = 16 | |
3624 | end) | |
3625 | end) | |
3626 | end | |
3627 | end, | |
3628 | true | |
3629 | ) | |
3630 | AddCommand( | |
3631 | 'Ambient', | |
3632 | 4, | |
3633 | { | |
3634 | 'ambient' | |
3635 | }, | |
3636 | 'Makes ambient a specific color', | |
3637 | Prefix..'ambient 0 1 0', | |
3638 | function(Player, Arguments) | |
3639 | if #Arguments ~= 3 then | |
3640 | return | |
3641 | end | |
3642 | game:service'Lighting'.Ambient = Color3.new(Arguments[1], Arguments[2], Arguments[3]) | |
3643 | end, | |
3644 | true | |
3645 | ) | |
3646 | AddCommand( | |
3647 | 'Clone', | |
3648 | 3, | |
3649 | { | |
3650 | 'clone' | |
3651 | }, | |
3652 | 'Clones specified players characters.', | |
3653 | Prefix..'clone [player1],[player2]', | |
3654 | function(Player, Arguments) | |
3655 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
3656 | thread(function() | |
3657 | if v and v.Character then | |
3658 | v.Character.Archivable = true | |
3659 | local cl = v.Character:Clone() | |
3660 | table.insert(Objects, cl) | |
3661 | cl.Parent = workspace | |
3662 | cl:MoveTo(v.Character:GetModelCFrame().p) | |
3663 | cl:MakeJoints() | |
3664 | v.Character.Archivable = false | |
3665 | repeat | |
3666 | wait() | |
3667 | until not cl or not cl.Humanoid or cl.Humanoid.Health <= 0 | |
3668 | wait(5) | |
3669 | if cl then | |
3670 | cl:Destroy() | |
3671 | end | |
3672 | end | |
3673 | end) | |
3674 | end | |
3675 | end, | |
3676 | true | |
3677 | ) | |
3678 | AddCommand( | |
3679 | 'Clear', | |
3680 | 4, | |
3681 | { | |
3682 | 'clear' | |
3683 | }, | |
3684 | 'Clears away all jails, exe scripts, clones and more.', | |
3685 | Prefix..'brightness 30', | |
3686 | function(Player, Arguments) | |
3687 | for i, v in pairs(Objects) do | |
3688 | v:Destroy() | |
3689 | end | |
3690 | Objects = {} | |
3691 | for i, v in pairs(Jails) do | |
3692 | if not game.Players:FindFirstChild(i) then | |
3693 | for u, o in pairs(v) do | |
3694 | o:Destroy() | |
3695 | end | |
3696 | Jails[i] = {} | |
3697 | end | |
3698 | end | |
3699 | end, | |
3700 | true | |
3701 | ) | |
3702 | AddCommand( | |
3703 | 'Brightness', | |
3704 | 4, | |
3705 | { | |
3706 | 'brightness' | |
3707 | }, | |
3708 | 'Makes brightness a specific number', | |
3709 | Prefix..'brightness 30', | |
3710 | function(Player, Arguments) | |
3711 | game:service'Lighting'.Brightness = Arguments[1] | |
3712 | end, | |
3713 | true | |
3714 | ) | |
3715 | AddCommand( | |
3716 | 'Jail', | |
3717 | 4, | |
3718 | { | |
3719 | 'jail' | |
3720 | }, | |
3721 | 'Puts specified players in jail.', | |
3722 | Prefix..'jail [player1],[player2]', | |
3723 | function(Player, Arguments) | |
3724 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
3725 | Jail(v) | |
3726 | end | |
3727 | end, | |
3728 | true | |
3729 | ) | |
3730 | AddCommand( | |
3731 | 'Solitary', | |
3732 | 6, | |
3733 | { | |
3734 | 'sol' | |
3735 | }, | |
3736 | 'Puts specified players in solitary confinement jail.', | |
3737 | Prefix..'jail [player1],[player2]', | |
3738 | function(Player, Arguments) | |
3739 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
3740 | Solitary(v) | |
3741 | end | |
3742 | end, | |
3743 | true | |
3744 | ) | |
3745 | AddCommand( | |
3746 | 'Un-Jail', | |
3747 | 4, | |
3748 | { | |
3749 | 'unjail' | |
3750 | }, | |
3751 | 'Gets specified players out of jail.', | |
3752 | Prefix..'unjail [player1],[player2]', | |
3753 | function(Player, Arguments) | |
3754 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
3755 | if Jails[v.Name] then | |
3756 | for o, p in pairs(Jails[v.Name]) do | |
3757 | p:Destroy() | |
3758 | end | |
3759 | Jails[v.Name] = {} | |
3760 | end | |
3761 | end | |
3762 | end, | |
3763 | true | |
3764 | ) | |
3765 | AddCommand( | |
3766 | 'Time', | |
3767 | 4, | |
3768 | { | |
3769 | 'time' | |
3770 | }, | |
3771 | 'Makes server time a specific number', | |
3772 | Prefix..'time 10000', | |
3773 | function(Player, Arguments) | |
3774 | game:service'Lighting'.TimeOfDay = Arguments[1] | |
3775 | end, | |
3776 | true | |
3777 | ) | |
3778 | AddCommand( | |
3779 | 'FogColor', | |
3780 | 4, | |
3781 | { | |
3782 | 'fogcolor' | |
3783 | }, | |
3784 | 'Makes fog a specific color', | |
3785 | Prefix..'fogcolor 0 1 0', | |
3786 | function(Player, Arguments) | |
3787 | if #Arguments ~= 3 then | |
3788 | return | |
3789 | end | |
3790 | game:service'Lighting'.FogColor = Color3.new(Arguments[1], Arguments[2], Arguments[3]) | |
3791 | end, | |
3792 | true | |
3793 | ) | |
3794 | AddCommand( | |
3795 | 'FogEnd', | |
3796 | 4, | |
3797 | { | |
3798 | 'fogend' | |
3799 | }, | |
3800 | 'Makes fogend a specific number', | |
3801 | Prefix..'fogend 100', | |
3802 | function(Player, Arguments) | |
3803 | game:service'Lighting'.FogEnd = Arguments[1] | |
3804 | end, | |
3805 | true | |
3806 | ) | |
3807 | AddCommand( | |
3808 | 'FogStart', | |
3809 | 4, | |
3810 | { | |
3811 | 'fogstart' | |
3812 | }, | |
3813 | 'Makes fogstart a specific number', | |
3814 | Prefix..'fogstart 100', | |
3815 | function(Player, Arguments) | |
3816 | game:service'Lighting'.FogStart = Arguments[1] | |
3817 | end, | |
3818 | true | |
3819 | ) | |
3820 | AddCommand( | |
3821 | 'Team', | |
3822 | 4, | |
3823 | { | |
3824 | 'team' | |
3825 | }, | |
3826 | 'Makes specified players a specific team', | |
3827 | Prefix..'team [player1],[player2] [teamname]', | |
3828 | function(Player, Arguments) | |
3829 | if #Arguments < 2 then | |
3830 | return | |
3831 | end | |
3832 | local Players = GetPlayers(Player, Arguments[1]) | |
3833 | local TeamColor | |
3834 | for i, v in pairs(service'Teams':children()) do | |
3835 | if v:IsA'Team' then | |
3836 | if v.Name:sub(1, #Arguments[2]) == #Arguments[2] then | |
3837 | TeamColor = v.TeamColor | |
3838 | end | |
3839 | end | |
3840 | end | |
3841 | for i, v in pairs(Players) do | |
3842 | if TeamColor ~= nil then | |
3843 | v.TeamColor = TeamColor | |
3844 | end | |
3845 | end | |
3846 | end, | |
3847 | true | |
3848 | ) | |
3849 | AddCommand( | |
3850 | 'Shirt', | |
3851 | 3, | |
3852 | { | |
3853 | 'shirt' | |
3854 | }, | |
3855 | 'Adds a shirt to specified players.', | |
3856 | Prefix..'shirt [player],[player2] [shirtid]', | |
3857 | function(Player, Arguments) | |
3858 | if #Arguments ~= 2 then | |
3859 | return | |
3860 | end | |
3861 | local Players = GetPlayers(Player, Arguments[1]) | |
3862 | for i, v in pairs(Players) do | |
3863 | thread(function() | |
3864 | RunOnChildren('Shirt', v.Character, function(v) | |
3865 | v:remove'' | |
3866 | end) | |
3867 | Instance.new('Shirt', v.Character).ShirtTemplate = 'http://www.roblox.com/asset/?id='..Arguments[2] | |
3868 | end) | |
3869 | end | |
3870 | end, | |
3871 | true | |
3872 | ) | |
3873 | AddCommand( | |
3874 | 'Pants', | |
3875 | 3, | |
3876 | { | |
3877 | 'pants' | |
3878 | }, | |
3879 | 'Adds some pants to specified players.', | |
3880 | Prefix..'pants [player],[player2] [pantsid]', | |
3881 | function(Player, Arguments) | |
3882 | if #Arguments ~= 2 then | |
3883 | return | |
3884 | end | |
3885 | local Players = GetPlayers(Player, Arguments[1]) | |
3886 | for i, v in pairs(Players) do | |
3887 | thread(function() | |
3888 | RunOnChildren('Pants', v.Character, function(v) | |
3889 | v:remove'' | |
3890 | end) | |
3891 | Instance.new('Pants', v.Character).PantsTemplate = 'http://www.roblox.com/asset/?id='..Arguments[2] | |
3892 | end) | |
3893 | end | |
3894 | end, | |
3895 | true | |
3896 | ) | |
3897 | AddCommand( | |
3898 | 'Face', | |
3899 | 3, | |
3900 | { | |
3901 | 'face' | |
3902 | }, | |
3903 | 'Adds a face to specified players.', | |
3904 | Prefix..'face [player],[player2] [faceid]', | |
3905 | function(Player, Arguments) | |
3906 | if #Arguments ~= 2 then | |
3907 | return | |
3908 | end | |
3909 | local Players = GetPlayers(Player, Arguments[1]) | |
3910 | for i, v in pairs(Players) do | |
3911 | thread(function() | |
3912 | RunOnChildren('Decal', v.Character.Head, function(v) | |
3913 | v.TextureId = 'http://www.roblox.com/asset/?id='..Arguments[2] | |
3914 | end) | |
3915 | end) | |
3916 | end | |
3917 | end, | |
3918 | true | |
3919 | ) | |
3920 | AddCommand( | |
3921 | 'Respawn', | |
3922 | 3, | |
3923 | { | |
3924 | 'rs', | |
3925 | 'respawn' | |
3926 | }, | |
3927 | 'Respawns specified players.', | |
3928 | Prefix..'rs [player],[player2]', | |
3929 | function(Player, Arguments) | |
3930 | local Players = GetPlayers(Player, Arguments[1]) | |
3931 | for i, v in pairs(Players) do | |
3932 | v:LoadCharacter() | |
3933 | end | |
3934 | end, | |
3935 | true | |
3936 | ) | |
3937 | AddCommand( | |
3938 | 'Walkspeed', | |
3939 | 3, | |
3940 | { | |
3941 | 'ws', | |
3942 | 'speed', | |
3943 | 'walkspeed' | |
3944 | }, | |
3945 | 'Changes walkspeed of specified players.', | |
3946 | Prefix..'ws [player],[player2] [speed]', | |
3947 | function(Player, Arguments) | |
3948 | local Players = GetPlayers(Player, Arguments[1]) | |
3949 | for i, v in pairs(Players) do | |
3950 | thread(function() | |
3951 | RunOnChildren('Humanoid', v.Character, function(v) | |
3952 | v.WalkSpeed = tonumber(Arguments[2]) | |
3953 | end) | |
3954 | end) | |
3955 | end | |
3956 | end, | |
3957 | true | |
3958 | ) | |
3959 | AddCommand( | |
3960 | 'Fly', | |
3961 | 3, | |
3962 | { | |
3963 | 'fly' | |
3964 | }, | |
3965 | 'Makes specified players able to fly.', | |
3966 | Prefix..'fly [player],[player2]', | |
3967 | function(Player, Arguments) | |
3968 | local Players = GetPlayers(Player, Arguments[1]) | |
3969 | for i, v in pairs(Players) do | |
3970 | Fly(v) | |
3971 | end | |
3972 | end, | |
3973 | true | |
3974 | ) | |
3975 | AddCommand( | |
3976 | 'UnFly', | |
3977 | 3, | |
3978 | { | |
3979 | 'unfly' | |
3980 | }, | |
3981 | 'Makes specified players unable to fly.', | |
3982 | Prefix..'unfly [player],[player2]', | |
3983 | function(Player, Arguments) | |
3984 | local Players = GetPlayers(Player, Arguments[1]) | |
3985 | for i, v in pairs(Players) do | |
3986 | UnFly(v) | |
3987 | thread(function() | |
3988 | for i = 1, 3 do | |
3989 | wait(.3) | |
3990 | v.Character.Humanoid.PlatformStand = false | |
3991 | end | |
3992 | end) | |
3993 | end | |
3994 | end, | |
3995 | true | |
3996 | ) | |
3997 | AddCommand( | |
3998 | 'Character', | |
3999 | 3, | |
4000 | { | |
4001 | 'char' | |
4002 | }, | |
4003 | 'Makes specified players characters anyone you set it to.', | |
4004 | Prefix..'char [player],[player2] [name]', | |
4005 | function(Player, Arguments) | |
4006 | if #Arguments > 2 then | |
4007 | return | |
4008 | end | |
4009 | local Players = GetPlayers(Player, Arguments[1]) | |
4010 | local PlayerId = IdFromName(Arguments[2]) | |
4011 | local fetch = service'HttpService':GetAsync([[http://rproxy.pw/Asset/CharacterFetch.ashx?userId=]]..PlayerId) | |
4012 | local fetches = Split(fetch, ';') | |
4013 | local fetched = {} | |
4014 | for i = 1, #fetches do | |
4015 | table.insert(fetched, Split(fetches[i], '=')[2]) | |
4016 | end | |
4017 | local insfetched = {} | |
4018 | for i = 1, #fetched do | |
4019 | if i ~= 1 and #fetched[i] <= 12 then | |
4020 | print(fetched[i]) | |
4021 | print(#fetched[i]) | |
4022 | table.insert(insfetched, game:service'InsertService':LoadAssetVersion(tonumber(fetched[i])):children()[1]) | |
4023 | end | |
4024 | end | |
4025 | for i, v in pairs(Players) do | |
4026 | for o, p in pairs(v.Character:children()) do | |
4027 | if p:IsA'Shirt' or p:IsA'Hat' or p:IsA'BodyColors' or p:IsA'Pants' or p:IsA'CharacterMesh' then | |
4028 | p:Destroy() | |
4029 | elseif p.Name == 'Head' and p:FindFirstChild'face' then | |
4030 | p.face:Destroy'' | |
4031 | elseif p.Name == 'Torso' and p:FindFirstChild'roblox' then | |
4032 | p.roblox:Destroy() | |
4033 | end | |
4034 | end | |
4035 | for o, p in pairs(insfetched) do | |
4036 | if p.Name == 'face' then | |
4037 | p:clone().Parent = v.Character.Head | |
4038 | elseif p.Name == 'roblox' then | |
4039 | --p:clone().Parent=v.Character.torso | |
4040 | else | |
4041 | p:clone().Parent = v.Character | |
4042 | end | |
4043 | end | |
4044 | if v.Character.Head:findFirstChild'face' == nil then | |
4045 | local face1 = Instance.new("Decal") | |
4046 | face1.Shiny = 20 | |
4047 | face1.Transparency = 0 | |
4048 | face1.Name = "face" | |
4049 | face1.Specular = 0 | |
4050 | face1.Parent = v.Character.Head | |
4051 | face1.Face = Enum.NormalId.Front | |
4052 | face1.Archivable = true | |
4053 | face1.Texture = "rbxasset://textures/face.png" | |
4054 | end | |
4055 | end | |
4056 | end, | |
4057 | true | |
4058 | ) | |
4059 | AddCommand( | |
4060 | 'UnCharacter', | |
4061 | 3, | |
4062 | { | |
4063 | 'unchar', | |
4064 | 'normal' | |
4065 | }, | |
4066 | 'Makes specified players characters normal.', | |
4067 | Prefix..'unchar [player],[player2]', | |
4068 | function(Player, Arguments) | |
4069 | if #Arguments > 1 then | |
4070 | return | |
4071 | end | |
4072 | local Players = GetPlayers(Player, Arguments[1]) | |
4073 | for i, v in pairs(Players) do | |
4074 | local PlayerId = v.userId | |
4075 | local fetch = service'HttpService':GetAsync([[http://rproxy.pw/Asset/CharacterFetch.ashx?userId=]]..PlayerId) | |
4076 | local fetches = Split(fetch, ';') | |
4077 | local fetched = {} | |
4078 | for i = 1, #fetches do | |
4079 | table.insert(fetched, Split(fetches[i], '=')[2]) | |
4080 | end | |
4081 | local insfetched = {} | |
4082 | for i = 1, #fetched do | |
4083 | if i ~= 1 and #fetched[i] <= 12 then | |
4084 | print(fetched[i]) | |
4085 | print(#fetched[i]) | |
4086 | table.insert(insfetched, game:service'InsertService':LoadAssetVersion(tonumber(fetched[i])):children()[1]) | |
4087 | end | |
4088 | end | |
4089 | for o, p in pairs(v.Character:children()) do | |
4090 | if p:IsA'Shirt' or p:IsA'Hat' or p:IsA'BodyColors' or p:IsA'Pants' or p:IsA'CharacterMesh' then | |
4091 | p:Destroy() | |
4092 | elseif p.Name == 'Head' and p:FindFirstChild'face' then | |
4093 | p.face:Destroy'' | |
4094 | elseif p.Name == 'Torso' and p:FindFirstChild'roblox' then | |
4095 | p.roblox:Destroy() | |
4096 | end | |
4097 | end | |
4098 | for o, p in pairs(insfetched) do | |
4099 | if p.Name == 'face' then | |
4100 | p:clone().Parent = v.Character.Head | |
4101 | elseif p.Name == 'roblox' then | |
4102 | --p:clone().Parent=v.Character.torso | |
4103 | else | |
4104 | p:clone().Parent = v.Character | |
4105 | end | |
4106 | end | |
4107 | if v.Character.Head:findFirstChild'face' == nil then | |
4108 | local face1 = Instance.new("Decal") | |
4109 | face1.Shiny = 20 | |
4110 | face1.Transparency = 0 | |
4111 | face1.Name = "face" | |
4112 | face1.Specular = 0 | |
4113 | face1.Parent = v.Character.Head | |
4114 | face1.Face = Enum.NormalId.Front | |
4115 | face1.Archivable = true | |
4116 | face1.Texture = "rbxasset://textures/face.png" | |
4117 | end | |
4118 | end | |
4119 | end, | |
4120 | true | |
4121 | ) | |
4122 | AddCommand( | |
4123 | 'CommandRank', | |
4124 | 11, | |
4125 | { | |
4126 | 'crank' | |
4127 | }, | |
4128 | 'Makes specified commands specific rank.', | |
4129 | Prefix..'crank [command] [rank]', | |
4130 | function(Player, Arguments) | |
4131 | if #Arguments < 2 then | |
4132 | return | |
4133 | end | |
4134 | if Arguments[1] == 'crank' then | |
4135 | return | |
4136 | end | |
4137 | CommandReRank(Arguments[1], Arguments[2]) | |
4138 | end, | |
4139 | true | |
4140 | ) | |
4141 | AddCommand( | |
4142 | 'Plat', | |
4143 | 3, | |
4144 | { | |
4145 | 'plat' | |
4146 | }, | |
4147 | 'Makes specified players able to walk on air.', | |
4148 | Prefix..'plat [player],[player2]', | |
4149 | function(Player, Arguments) | |
4150 | local Players = GetPlayers(Player, Arguments[1]) | |
4151 | for i, v in pairs(Players) do | |
4152 | Plat(v) | |
4153 | end | |
4154 | end, | |
4155 | true | |
4156 | ) | |
4157 | AddCommand( | |
4158 | 'UnPlat', | |
4159 | 3, | |
4160 | { | |
4161 | 'unplat' | |
4162 | }, | |
4163 | 'Makes specified players unable to walk on air.', | |
4164 | Prefix..'unplat [player],[player2]', | |
4165 | function(Player, Arguments) | |
4166 | local Players = GetPlayers(Player, Arguments[1]) | |
4167 | for i, v in pairs(Players) do | |
4168 | UnPlat(v) | |
4169 | end | |
4170 | end, | |
4171 | true | |
4172 | ) | |
4173 | AddCommand( | |
4174 | 'Teleport', | |
4175 | 3, | |
4176 | { | |
4177 | 'tp' | |
4178 | }, | |
4179 | 'Teleports players.', | |
4180 | Prefix..'tp [player],[player2] [target player]', | |
4181 | function(Player, Arguments) | |
4182 | local Players = GetPlayers(Player, Arguments[1]) | |
4183 | local TpPlayer = GetPlayers(Player, Arguments[2])[1] | |
4184 | for i, v in pairs(Players) do | |
4185 | thread(function() | |
4186 | v.Character.Torso.CFrame = TpPlayer.Character.Torso.CFrame | |
4187 | end) | |
4188 | end | |
4189 | end, | |
4190 | true | |
4191 | ) | |
4192 | AddCommand( | |
4193 | 'Save', | |
4194 | 8, | |
4195 | { | |
4196 | 'save' | |
4197 | }, | |
4198 | 'Saves ranks.', | |
4199 | Prefix..'save', | |
4200 | function(Player, Arguments) | |
4201 | Save() | |
4202 | end, | |
4203 | true | |
4204 | ) | |
4205 | AddCommand( | |
4206 | 'Console Chat', | |
4207 | 3, | |
4208 | { | |
4209 | 'cc' | |
4210 | }, | |
4211 | 'Chats from console.', | |
4212 | Prefix..'fly [player],[player2]', | |
4213 | function(Player, Arguments) | |
4214 | if Player.Name:sub(1, 8) == '@remote.' then | |
4215 | for i, v in pairs(GetRawPlayers()) do | |
4216 | SendChat(v, Player.Name..': '..Join(Arguments)) | |
4217 | end | |
4218 | end | |
4219 | end, | |
4220 | true | |
4221 | ) | |
4222 | AddCommand( | |
4223 | 'Nuke', | |
4224 | 11, | |
4225 | { | |
4226 | 'nuke' | |
4227 | }, | |
4228 | 'Destroys the server.', | |
4229 | Prefix..'nuke', | |
4230 | function(Player, Arguments) | |
4231 | local des | |
4232 | function des(obj) | |
4233 | for i, v in pairs(obj:children()) do | |
4234 | wait() | |
4235 | if v:IsA'BasePart' and not v:IsA'Terrain' then | |
4236 | v.Anchored = false | |
4237 | v.Locked = true | |
4238 | v.CanCollide = true | |
4239 | v:BreakJoints() | |
4240 | Instance.new('Explosion', v).Position = v.Position | |
4241 | game:service'Debris':AddItem(v, 5) | |
4242 | elseif v:IsA'Script' then | |
4243 | v:Destroy() | |
4244 | end | |
4245 | des(v) | |
4246 | end | |
4247 | end | |
4248 | des(workspace) | |
4249 | workspace.Terrain:Clear() | |
4250 | end, | |
4251 | true | |
4252 | ) | |
4253 | AddCommand( | |
4254 | 'Kick', | |
4255 | 5, | |
4256 | { | |
4257 | 'kick' | |
4258 | }, | |
4259 | 'Kicks specified player(s).', | |
4260 | Prefix..'kick [player],[player2] [reason]', | |
4261 | function(Player, Arguments) | |
4262 | local arg1 = Arguments[1] | |
4263 | table.remove(Arguments, 1) | |
4264 | for i, v in pairs(GetPlayers(Player, arg1)) do | |
4265 | if GetRank(Player).Rank > GetRank(v).Rank then | |
4266 | if #Arguments >= 2 then | |
4267 | ForceDisconnect(v, Join(Arguments)) | |
4268 | else | |
4269 | ForceDisconnect(v, 'Disconnected by Aether Admin.') | |
4270 | end | |
4271 | end | |
4272 | end | |
4273 | end, | |
4274 | true | |
4275 | ) | |
4276 | AddCommand( | |
4277 | 'Mute', | |
4278 | 5, | |
4279 | { | |
4280 | 'mute' | |
4281 | }, | |
4282 | 'Mutes specified player(s).', | |
4283 | Prefix..'mute [player],[player2]', | |
4284 | function(Player, Arguments) | |
4285 | local arg1 = Arguments[1] | |
4286 | table.remove(Arguments, 1) | |
4287 | for i, v in pairs(GetPlayers(Player, arg1)) do | |
4288 | if GetRank(Player).Rank > GetRank(v).Rank then | |
4289 | Mute(v) | |
4290 | end | |
4291 | end | |
4292 | end, | |
4293 | true | |
4294 | ) | |
4295 | AddCommand( | |
4296 | 'UnMute', | |
4297 | 5, | |
4298 | { | |
4299 | 'unmute' | |
4300 | }, | |
4301 | 'UnMutes specified player(s).', | |
4302 | Prefix..'unmute [player],[player2]', | |
4303 | function(Player, Arguments) | |
4304 | local arg1 = Arguments[1] | |
4305 | table.remove(Arguments, 1) | |
4306 | for i, v in pairs(GetPlayers(Player, arg1)) do | |
4307 | --if GetRank(Player).Rank > GetRank(v).Rank then | |
4308 | UnMute(v) | |
4309 | --end | |
4310 | end | |
4311 | end, | |
4312 | true | |
4313 | ) | |
4314 | AddCommand( | |
4315 | 'Crash', | |
4316 | 5, | |
4317 | { | |
4318 | 'crash' | |
4319 | }, | |
4320 | 'Crashes specified player(s).', | |
4321 | Prefix..'crash [player],[player2]', | |
4322 | function(Player, Arguments) | |
4323 | local Players = GetPlayers(Player, Arguments[1]) | |
4324 | for i, v in pairs(Players) do | |
4325 | if GetRank(Player).Rank > GetRank(v).Rank then | |
4326 | Crash(v) | |
4327 | end | |
4328 | end | |
4329 | end, | |
4330 | true | |
4331 | ) | |
4332 | AddCommand( | |
4333 | '[DONOR] ClanName', | |
4334 | 0, | |
4335 | { | |
4336 | 'clanname' | |
4337 | }, | |
4338 | 'Makes your clanname appear above your head.', | |
4339 | Prefix..'clanname', | |
4340 | function(Player, Arguments) | |
4341 | --if game:service'MarketplaceService':PlayerOwnsAsset(Player,0) then | |
4342 | local Clan = game:service'HttpService':JSONDecode(game:service'HttpService':GetAsync('http://api.rproxy.pw/clans/get-by-user?userId='..Player.userId)) | |
4343 | Commands.Name.Function(Player, { | |
4344 | 'me', | |
4345 | (Clan.Name..'\n' or '')..Player.Name | |
4346 | }) | |
4347 | --end | |
4348 | end, | |
4349 | true | |
4350 | ) | |
4351 | AddCommand( | |
4352 | 'Ban', | |
4353 | 6, | |
4354 | { | |
4355 | 'ban' | |
4356 | }, | |
4357 | 'Bans specified player(s).', | |
4358 | Prefix..'ban [player],[player2] [reason]', | |
4359 | function(Player, Arguments) | |
4360 | local KickMessage = 'You have been banned by '..Player.Name..'.' | |
4361 | if #Arguments > 1 then | |
4362 | KickMessage = 'Banned. Reason: '..Arguments[2]..' -'..Player.Name | |
4363 | elseif #Arguments == 0 then | |
4364 | return | |
4365 | end | |
4366 | local Players = GetPlayers(Player, Arguments[1]) | |
4367 | for i, v in pairs(Players) do | |
4368 | thread(function() | |
4369 | if GetRank(Player).Rank > GetRank(v).Rank then | |
4370 | Ranked[v.userId].Rank = -1 | |
4371 | ForceDisconnect(v, KickMessage) | |
4372 | end | |
4373 | end) | |
4374 | end | |
4375 | end, | |
4376 | true | |
4377 | ) | |
4378 | AddCommand( | |
4379 | 'Explode', | |
4380 | 4, | |
4381 | { | |
4382 | 'explode' | |
4383 | }, | |
4384 | 'Explodes specified player(s).', | |
4385 | Prefix..'explode [player],[player2]', | |
4386 | function(Player, Arguments) | |
4387 | local Players = GetPlayers(Player, Arguments[1]) | |
4388 | for i, v in pairs(Players) do | |
4389 | thread(function() | |
4390 | Instance.new('Explosion', v.Character).Position = v.Character.Torso.Position | |
4391 | end) | |
4392 | end | |
4393 | end, | |
4394 | true | |
4395 | ) | |
4396 | AddCommand( | |
4397 | 'Shutdown', | |
4398 | 9, | |
4399 | { | |
4400 | 'sd', | |
4401 | 'shutdown' | |
4402 | }, | |
4403 | 'Closes the server.', | |
4404 | Prefix..'shutdown', | |
4405 | function(Player, Arguments) | |
4406 | repeat | |
4407 | for i, v in pairs(GetRawPlayers()) do | |
4408 | ForceDisconnect(v, 'This game has shut down') | |
4409 | end | |
4410 | until wait() == nil | |
4411 | end, | |
4412 | true | |
4413 | ) | |
4414 | AddCommand( | |
4415 | 'Give Tools', | |
4416 | 4, | |
4417 | { | |
4418 | 'gt', | |
4419 | 'givetools' | |
4420 | }, | |
4421 | 'Gives startertools to specified player(s).', | |
4422 | Prefix..'gt [player],[player2]', | |
4423 | function(Player, Arguments) | |
4424 | local Players = GetPlayers(Player, Arguments[1]) | |
4425 | for i, v in pairs(Players) do | |
4426 | thread(function() | |
4427 | for k, l in pairs(v.StarterGear:children()) do | |
4428 | if l:IsA'Tool' or l:IsA'HopperBin' then | |
4429 | l:clone().Parent = v.Backpack | |
4430 | end | |
4431 | end | |
4432 | end) | |
4433 | end | |
4434 | end, | |
4435 | true | |
4436 | ) | |
4437 | AddCommand( | |
4438 | 'Give Build Tools', | |
4439 | 4, | |
4440 | { | |
4441 | 'btools', | |
4442 | 'givebtools', | |
4443 | 'gbtools', | |
4444 | 'givebuildtools' | |
4445 | }, | |
4446 | 'Gives startertools to specified player(s).', | |
4447 | Prefix..'gt [player],[player2]', | |
4448 | function(Player, Arguments) | |
4449 | local Players = GetPlayers(Player, Arguments[1]) | |
4450 | for i, v in pairs(Players) do | |
4451 | thread(function() | |
4452 | for k, l in pairs(BuildTools) do | |
4453 | local bt = l:clone() | |
4454 | bt.Parent = v.Backpack | |
4455 | if l.Name == 'F3X' then | |
4456 | wait() | |
4457 | l["Building Tools by F3X"].Disabled = false | |
4458 | end | |
4459 | end | |
4460 | end) | |
4461 | end | |
4462 | end, | |
4463 | true | |
4464 | ) | |
4465 | --[[AddCommand( | |
4466 | 'Insert', | |
4467 | 4, | |
4468 | {'ins'}, | |
4469 | 'Shows owners models to insert, and allows inserting from tabs.', | |
4470 | Prefix..'ins [page]', | |
4471 | function(Player,Arguments) | |
4472 | if #Arguments >=1 then else return end | |
4473 | local page=tonumber(Arguments[1]) | |
4474 | local perpage=10 | |
4475 | Dismiss(Player) | |
4476 | local set=game:service'InsertService':GetUserSets(gameCreatorId)[1] | |
4477 | for o=1, #set do | |
4478 | p=set[o] | |
4479 | if o>=(page*perpage)+1 and o)<(page*2*perpage)+1 then | |
4480 | else | |
4481 | break | |
4482 | end | |
4483 | Ping(Player,p.Name..'\nby '..p.CreatorName,function() | |
4484 | for _,obj in pairs(game:service'InsertService':LoadAssetVersion(p.AssetVersionId):children()) do | |
4485 | if obj:IsA'Tool' then | |
4486 | obj.Parent=Player.Backpack | |
4487 | elseif obj:IsA'HopperBin' then | |
4488 | obj.Parent=Player.Backpack | |
4489 | elseif obj:IsA'Script' then | |
4490 | obj.Parent=workspace | |
4491 | elseif obj:IsA'LocalScript' then | |
4492 | obj.Parent=Player.PlayerGui | |
4493 | elseif obj:IsA'ModuleScript' then | |
4494 | obj.Parent=workspace | |
4495 | else | |
4496 | obj.Parent=workspace | |
4497 | if obj:IsA'Model' then | |
4498 | ||
4499 | thread(function() | |
4500 | obj:MoveTo(Player.Character.Torso.Position) | |
4501 | end) | |
4502 | ||
4503 | elseif obj:IsA'Part' then | |
4504 | ||
4505 | thread(function() | |
4506 | obj.CFrame=Player.Character.Torso.CFrame | |
4507 | end) | |
4508 | end | |
4509 | end | |
4510 | end | |
4511 | end) | |
4512 | end | |
4513 | end,false)]] | |
4514 | AddCommand( | |
4515 | 'Insert', | |
4516 | 5, | |
4517 | { | |
4518 | 'ins' | |
4519 | }, | |
4520 | 'Searches through models, and shows models to insert. Only allows the game CREATORS Models, and is sorted by most recent.', | |
4521 | Prefix..'insert [search]', | |
4522 | function(Player, Arguments, Page) | |
4523 | Page = Page or 1 | |
4524 | if #Arguments == 0 then | |
4525 | Arguments={' '} | |
4526 | else | |
4527 | ||
4528 | end | |
4529 | Dismiss(Player) | |
4530 | local models = service'HttpService':JSONDecode(service'HttpService':GetAsync("http://rproxy.pw/catalog/json?CatalogContext=2&CreatorID="..game.CreatorId.."&Keyword="..service'HttpService':UrlEncode(Join(Arguments)).."&CurrencyType=0&pxMin=0&pxMax=0&SortType=3&SortAggregation=3&SortCurrency=0&IncludeNotForSale=true&LegendExpanded=true&Category=6&ResultsPerPage=10&PageNumber="..Page)) | |
4531 | if #models >= 1 then | |
4532 | else | |
4533 | return | |
4534 | end | |
4535 | Ping(Player, 'Close', function() | |
4536 | Dismiss(Player) | |
4537 | end, 'Really red') | |
4538 | Ping(Player, 'Next Page', function() | |
4539 | Dismiss(Player) | |
4540 | Commands.Insert.Function(Player, Arguments, Page + 1) | |
4541 | end, 'Lime green') | |
4542 | if Page ~= 1 then | |
4543 | Ping(Player, 'Previous Page', function() | |
4544 | Dismiss(Player) | |
4545 | Commands.Insert.Function(Player, Arguments, Page - 1) | |
4546 | end, 'Lime green') | |
4547 | end | |
4548 | for i, v in pairs(models) do | |
4549 | --for o, p in pairs(v) do | |
4550 | Ping(Player, v.Name, function() | |
4551 | local mps = service'MarketplaceService' | |
4552 | for _, obj in pairs(game:service'InsertService':LoadAsset(v.AssetId):children()) do | |
4553 | if obj:IsA'Tool' then | |
4554 | obj.Parent = Player.Backpack | |
4555 | elseif obj:IsA'HopperBin' then | |
4556 | obj.Parent = Player.Backpack | |
4557 | elseif obj:IsA'Script' then | |
4558 | obj.Parent = workspace | |
4559 | elseif obj:IsA'LocalScript' then | |
4560 | obj.Parent = Player.PlayerGui | |
4561 | elseif obj:IsA'ModuleScript' then | |
4562 | obj.Parent = workspace | |
4563 | else | |
4564 | obj.Parent = workspace | |
4565 | if obj:IsA'Model' then | |
4566 | thread(function() | |
4567 | obj:MoveTo(Player.Character.Torso.Position) | |
4568 | end) | |
4569 | elseif obj:IsA'Part' then | |
4570 | thread(function() | |
4571 | obj.Parent:MoveTo(Player.Character.Torso.Position) | |
4572 | end) | |
4573 | end | |
4574 | end | |
4575 | end | |
4576 | end) | |
4577 | --end | |
4578 | end | |
4579 | end, | |
4580 | false | |
4581 | ) | |
4582 | AddCommand( | |
4583 | 'Remove Tools', | |
4584 | 4, | |
4585 | { | |
4586 | 'rt', | |
4587 | 'removetools' | |
4588 | }, | |
4589 | 'Removes tools from specified player(s).', | |
4590 | Prefix..'rt [player],[player2]', | |
4591 | function(Player, Arguments) | |
4592 | local Players = GetPlayers(Player, Arguments[1]) | |
4593 | for i, v in pairs(Players) do | |
4594 | thread(function() | |
4595 | for k, l in pairs(v.Backpack:children()) do | |
4596 | if l:IsA'Tool' or l:IsA'HopperBin' then | |
4597 | l:Destroy() | |
4598 | end | |
4599 | end | |
4600 | end) | |
4601 | end | |
4602 | end, | |
4603 | true | |
4604 | ) | |
4605 | AddCommand( | |
4606 | 'Sound', | |
4607 | 4, | |
4608 | { | |
4609 | 'sound' | |
4610 | }, | |
4611 | 'Toggles whether sound can be heard.', | |
4612 | Prefix..'sound [on/off/number]', | |
4613 | function(Player, Arguments) | |
4614 | if Arguments[1]=='on' then | |
4615 | game:service'SoundService'.DistanceFactor=1 | |
4616 | elseif Arguments[1]=='off' then | |
4617 | game:service'SoundService'.DistanceFactor=math.huge | |
4618 | else | |
4619 | game:service'SoundService'.DistanceFactor=tonumber(Arguments[1]) | |
4620 | end | |
4621 | end, | |
4622 | true | |
4623 | ) | |
4624 | AddCommand( | |
4625 | 'Admins', | |
4626 | 0, | |
4627 | { | |
4628 | 'admins' | |
4629 | }, | |
4630 | 'Shows a list of all admins above or equal to lvl 3.', | |
4631 | Prefix..'admins', | |
4632 | function(Player, Arguments) | |
4633 | for i, v in pairs(Ranked) do | |
4634 | if v.Rank >= 3 then | |
4635 | Ping(Player, UsernameFromID(i)..'\n Rank | '..RankName(v.Rank, i), nil, nil, "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&userId="..i) | |
4636 | end | |
4637 | end | |
4638 | end, | |
4639 | true | |
4640 | ) | |
4641 | AddCommand( | |
4642 | 'Run Command', | |
4643 | 4, | |
4644 | { | |
4645 | 'rc' | |
4646 | }, | |
4647 | 'Allows you to run commands on a player.', | |
4648 | Prefix..'rt [player],[player2] [reason]', | |
4649 | function(Player, Arguments) | |
4650 | Dismiss(Player) | |
4651 | local RunCommands = { | |
4652 | ['Kill'] = { | |
4653 | 'Player' | |
4654 | }; | |
4655 | ['Remove Tools'] = { | |
4656 | 'Player' | |
4657 | }; | |
4658 | ['Ranks'] = {}; | |
4659 | ['Shutdown'] = {}; | |
4660 | ['Give Build Tools'] = { | |
4661 | 'Player' | |
4662 | }; | |
4663 | ['Give Tools'] = { | |
4664 | 'Player' | |
4665 | }; | |
4666 | ['Explode'] = { | |
4667 | 'Player' | |
4668 | }; | |
4669 | ['Ban'] = { | |
4670 | 'Player' | |
4671 | }; | |
4672 | ['Kick'] = { | |
4673 | 'Player' | |
4674 | }; | |
4675 | ['UnFly'] = { | |
4676 | 'Player' | |
4677 | }; | |
4678 | ['Fly'] = { | |
4679 | 'Player' | |
4680 | }; | |
4681 | ['Kill'] = { | |
4682 | 'Player' | |
4683 | }; | |
4684 | ['Dismiss'] = {}; | |
4685 | ['Loopkill'] = { | |
4686 | 'Player' | |
4687 | }; | |
4688 | ['UnLoopkill'] = { | |
4689 | 'Player' | |
4690 | }; | |
4691 | ['God'] = { | |
4692 | 'Player' | |
4693 | }; | |
4694 | ['Heal'] = { | |
4695 | 'Player' | |
4696 | }; | |
4697 | ['Reset'] = { | |
4698 | 'Player' | |
4699 | }; | |
4700 | ['Settings'] = {}; | |
4701 | ['Commands'] = {}; | |
4702 | } | |
4703 | Ping(Player, 'Refresh', function() | |
4704 | Commands['Run Command'](Player, {}) | |
4705 | end, 'Really blue') | |
4706 | Ping(Player, 'Close', function() | |
4707 | Dismiss(Player) | |
4708 | end, 'Really red') | |
4709 | for i, v in pairs(RunCommands) do | |
4710 | Ping(Player, i, function() | |
4711 | Dismiss(Player) | |
4712 | if #v == 0 then | |
4713 | Commands[i].Function(Player, {}) | |
4714 | else | |
4715 | for k, l in pairs(GetRawPlayers()) do | |
4716 | Ping(Player, l.Name, function() | |
4717 | Commands[i].Function(Player, { | |
4718 | l.Name | |
4719 | }) | |
4720 | Commands['Run Command'].Function(Player, {}) | |
4721 | end) | |
4722 | end | |
4723 | end | |
4724 | end) | |
4725 | end | |
4726 | end, | |
4727 | true | |
4728 | ) | |
4729 | AddCommand( | |
4730 | 'Message', | |
4731 | 4, | |
4732 | { | |
4733 | 'm' | |
4734 | }, | |
4735 | 'Allows you to send a message to everyone.', | |
4736 | Prefix..'m Hi', | |
4737 | function(Player, Arguments) | |
4738 | for i, v in pairs(GetRawPlayers()) do | |
4739 | Ping(v, Join(Arguments)) | |
4740 | end | |
4741 | end, true) | |
4742 | AddCommand( | |
4743 | 'Alt Name', | |
4744 | 0, | |
4745 | { | |
4746 | 'altname' | |
4747 | }, | |
4748 | 'Suggests a possible alternative account name.', | |
4749 | Prefix..'altname', | |
4750 | function(Player, Arguments) | |
4751 | Ping(Player, game:service'HttpService':GetAsync('http://rproxy.pw/UserCheck/GetRecommendedUsername?usernameToTry='..Player.Name)) | |
4752 | end, true) | |
4753 | AddCommand( | |
4754 | 'Name', | |
4755 | 4, | |
4756 | { | |
4757 | 'name' | |
4758 | }, | |
4759 | 'Allows you to name specified players.', | |
4760 | Prefix..'name [player1],[player2] [name]', | |
4761 | function(Player, Arguments) | |
4762 | if #Arguments < 2 then | |
4763 | return | |
4764 | end | |
4765 | Players = Arguments[1] | |
4766 | table.remove(Arguments, 1) | |
4767 | for i, v in pairs(GetPlayers(Player, Players)) do | |
4768 | thread(function() | |
4769 | if v and v.Character and v.Character:findFirstChild("Head") then | |
4770 | for a, mod in pairs(v.Character:children()) do | |
4771 | if mod:findFirstChild("NameTag") then | |
4772 | v.Character.Head.Transparency = 0 | |
4773 | mod:Destroy() | |
4774 | end | |
4775 | end | |
4776 | local char = v.Character | |
4777 | local mod = Instance.new("Model", char) | |
4778 | mod.Name = Join(Arguments) | |
4779 | local cl = char.Head:Clone() | |
4780 | cl.Parent = mod | |
4781 | local hum = Instance.new("Humanoid", mod) | |
4782 | hum.Name = "NameTag" | |
4783 | hum.MaxHealth = 0 | |
4784 | hum.Health = 0 | |
4785 | local weld = Instance.new("Weld", cl) | |
4786 | weld.Part0 = cl | |
4787 | weld.Part1 = char.Head | |
4788 | char.Head.Transparency = 1 | |
4789 | thread(function() | |
4790 | char.Humanoid.Changed:connect(function() | |
4791 | hum.MaxHealth = char.Humanoid.MaxHealth | |
4792 | hum.Health = char.Humanoid.Health | |
4793 | end) | |
4794 | hum.MaxHealth = char.Humanoid.MaxHealth | |
4795 | hum.Health = char.Humanoid.Health | |
4796 | end) | |
4797 | end | |
4798 | end) | |
4799 | end | |
4800 | end, true) | |
4801 | AddCommand( | |
4802 | 'Hint', | |
4803 | 4, | |
4804 | { | |
4805 | 'h' | |
4806 | }, | |
4807 | 'Allows you to send a hint to everyone.', | |
4808 | Prefix..'h [Message]', | |
4809 | function(Player, Arguments) | |
4810 | if #Arguments < 1 then | |
4811 | return | |
4812 | end | |
4813 | local _time = string.len(Join(Arguments)) / 10 | |
4814 | if _time < 4 then | |
4815 | _time = 4 | |
4816 | end | |
4817 | for i, v in pairs(game:service'Players':GetPlayers()) do | |
4818 | thread(function() | |
4819 | Hint(v, Player.Name..': ', Join(Arguments), _time + 2) | |
4820 | end) | |
4821 | end | |
4822 | end, true) | |
4823 | AddCommand( | |
4824 | 'Countdown', | |
4825 | 4, | |
4826 | { | |
4827 | 'count', | |
4828 | 'countdown' | |
4829 | }, | |
4830 | 'Allows you to start a countdown.', | |
4831 | Prefix..'count [time]', | |
4832 | function(Player, Arguments) | |
4833 | if #Arguments == 0 then | |
4834 | return | |
4835 | end | |
4836 | local curreps = endreps | |
4837 | for o = 1, (Arguments[1] or 0) do | |
4838 | for i, v in pairs(game:service'Players':GetPlayers()) do | |
4839 | thread(function() | |
4840 | Hint(v, 'Countdown: ', (Arguments[1] or 0) - o, 1) | |
4841 | end) | |
4842 | end | |
4843 | if endreps ~= curreps then | |
4844 | break | |
4845 | end | |
4846 | wait(1) | |
4847 | end | |
4848 | for i, v in pairs(game:service'Players':GetPlayers()) do | |
4849 | thread(function() | |
4850 | Hint(v, 'Countdown: ', 'BEGIN!', 1) | |
4851 | end) | |
4852 | end | |
4853 | end, true) | |
4854 | AddCommand( | |
4855 | 'SearchMusic', | |
4856 | 0, | |
4857 | { | |
4858 | 'searchmusic', | |
4859 | 'sm' | |
4860 | }, | |
4861 | 'Searches up music, allows you to play music.', | |
4862 | Prefix..'sm pumped up kicks', | |
4863 | function(Player, Arguments, Page) | |
4864 | Page = Page or 1 | |
4865 | local tosearch = Join(Arguments) | |
4866 | local songs = game:service'HttpService':JSONDecode(game:service'HttpService':GetAsync('http://rproxy.pw/catalog/json?CatalogContext=2&SortType=0&SortAggregation=3&SortCurrency=0&LegendExpanded=true&Category=9&ResultsPerPage=10&IncludeNotForSale=true&PageNumber='..tostring(Page)..'&Keyword='..tosearch)) | |
4867 | Dismiss(Player) | |
4868 | if Page ~= 1 then | |
4869 | Ping(Player, 'Previous Page', function() | |
4870 | Commands.SearchMusic.Function(Player, Arguments, Page - 1) | |
4871 | end, 'Lime green') | |
4872 | end | |
4873 | Ping(Player, 'Next Page', function() | |
4874 | Commands.SearchMusic.Function(Player, Arguments, Page + 1) | |
4875 | end, 'Lime green') | |
4876 | Ping(Player, 'Close', function() | |
4877 | Dismiss(Player) | |
4878 | end, 'Really red') | |
4879 | for i, v in pairs(songs) do | |
4880 | Ping(Player, v.Name, function() | |
4881 | Dismiss(Player) | |
4882 | Ping(Player, 'Close', function() | |
4883 | Dismiss(Player) | |
4884 | end, 'Really red') | |
4885 | Ping(Player, 'Back', function() | |
4886 | Dismiss(Player) | |
4887 | Commands.SearchMusic.Function(Player, Arguments, Page) | |
4888 | end, 'Really red') | |
4889 | Ping(Player, 'Name | '..v.Name) | |
4890 | Ping(Player, 'Id | '..v.AssetId) | |
4891 | Ping(Player, 'Creator | '..v.Creator) | |
4892 | Ping(Player, 'Play', function() | |
4893 | Commands.Music.Function(Player, { | |
4894 | tostring(v.AssetId) | |
4895 | }) | |
4896 | end) | |
4897 | if GetRank(Player).Rank >= 3 then | |
4898 | Ping(Player, 'Play on server', function() | |
4899 | Commands.Music.Function(Player, { | |
4900 | tostring(v.AssetId), | |
4901 | 'srv', | |
4902 | 'true' | |
4903 | }) | |
4904 | end) | |
4905 | end | |
4906 | if v.IsForSale or v.IsPublicDomain then | |
4907 | Ping(Player, 'Buy', function() | |
4908 | game:service'MarketplaceService':PromptPurchase(Player, v.AssetId) | |
4909 | end) | |
4910 | else | |
4911 | Ping(Player, 'Not for sale.') | |
4912 | end | |
4913 | end) | |
4914 | end | |
4915 | end, false | |
4916 | ) | |
4917 | AddCommand( | |
4918 | 'Pitch', | |
4919 | 3, | |
4920 | { | |
4921 | 'pitch' | |
4922 | }, | |
4923 | 'Sets music pitch.', | |
4924 | Prefix..'pitch [speed]', | |
4925 | function(Player, Arguments) | |
4926 | for i, v in pairs(workspace:children()) do | |
4927 | if v:IsA'Sound' then | |
4928 | v.Pitch = tonumber(Arguments[1]) | |
4929 | end | |
4930 | end | |
4931 | end, true) | |
4932 | AddCommand( | |
4933 | '[DISABLED] Load Plugin', | |
4934 | 10, | |
4935 | { | |
4936 | 'loadplugin', | |
4937 | 'lp' | |
4938 | }, | |
4939 | 'Loads specified plugin.', | |
4940 | Prefix..'pitch [speed]', | |
4941 | function(Player, Arguments) | |
4942 | for i, v in pairs(Arguments) do | |
4943 | LoadPlugin(tonumber(v)) | |
4944 | end | |
4945 | end, true) | |
4946 | AddCommand( | |
4947 | 'Sword Of Nyx', | |
4948 | 3, | |
4949 | { | |
4950 | 'swordnyx', | |
4951 | 'nyxsword', | |
4952 | 'ns' | |
4953 | }, | |
4954 | 'Gives sword to specified users.', | |
4955 | Prefix..'nyxsword [player1],[player2]', | |
4956 | function(Player, Arguments) | |
4957 | local sword = Sword_Of_Nyx | |
4958 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
4959 | sword:clone().Parent = v.Backpack | |
4960 | end | |
4961 | end, true) | |
4962 | AddCommand( | |
4963 | 'Sword', | |
4964 | 3, | |
4965 | { | |
4966 | 'sword' | |
4967 | }, | |
4968 | 'Gives sword to specified users.', | |
4969 | Prefix..'sword [player1],[player2]', | |
4970 | function(Player, Arguments) | |
4971 | local sword = game:service'InsertService':LoadAsset(125013769):children()[1] | |
4972 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
4973 | if v.Name ~= 'DarthStrantax' then | |
4974 | sword:clone().Parent = v.Backpack | |
4975 | else | |
4976 | sword:clone().Parent = v.Backpack | |
4977 | game:service'InsertService':LoadAsset(108149175):children()[1].Parent = v.Backpack | |
4978 | end | |
4979 | end | |
4980 | end, true) | |
4981 | AddCommand( | |
4982 | 'Gear', | |
4983 | 3, | |
4984 | { | |
4985 | 'gear' | |
4986 | }, | |
4987 | 'Gears specified users.', | |
4988 | Prefix..'gear [player1],[player2] [id]', | |
4989 | function(Player, Arguments) | |
4990 | local sword = game:service'InsertService':LoadAsset(tonumber(Arguments[2])):children()[1] | |
4991 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
4992 | sword:clone().Parent = v.Backpack | |
4993 | if Arguments[3] and Arguments[3] == 'true' then | |
4994 | sword:clone().Parent = v.StarterGear | |
4995 | end | |
4996 | --game:service'InsertService':LoadAsset(108149175):children()[1].Parent=v.Backpack | |
4997 | end | |
4998 | end, true) | |
4999 | AddCommand( | |
5000 | 'Size', | |
5001 | 3, | |
5002 | { | |
5003 | 'size' | |
5004 | }, | |
5005 | 'Changes specified users size.', | |
5006 | Prefix..'size [player1],[player2] [size]', | |
5007 | function(Player, Arguments) | |
5008 | if (tonumber(Arguments[2]) or 0) > 50 then | |
5009 | Ping(Player, 'Sizes cannot be more than 50!', nil, 'Really red') | |
5010 | return | |
5011 | end | |
5012 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
5013 | thread(function() | |
5014 | if not (v and v.Character and v.Character:findFirstChild('Torso') and v.Character:findFirstChild('HumanoidRootPart')) then | |
5015 | return | |
5016 | end | |
5017 | local ags = { | |
5018 | c = v.Character, | |
5019 | t = v.Character.Torso, | |
5020 | r = v.Character.HumanoidRootPart | |
5021 | } | |
5022 | ags.t.Anchored = true | |
5023 | ags.t.BottomSurface = 0 | |
5024 | ags.t.TopSurface = 0 | |
5025 | local welds = {} | |
5026 | for i2, v2 in pairs(ags.c:children()) do | |
5027 | if v2:IsA('BasePart') then | |
5028 | v2.Anchored = true | |
5029 | end | |
5030 | end | |
5031 | local function size(p) | |
5032 | for i2, v2 in pairs(p:children()) do | |
5033 | if (v2:IsA('Weld') or v2:IsA('Motor') or v2:IsA('Motor6D')) and v2.Part1 and v2.Part1:IsA("Part") then | |
5034 | local p1 = v2.Part1 | |
5035 | p1.Anchored = true | |
5036 | v2.Part1 = nil | |
5037 | local r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12 = v2.C0:components() | |
5038 | v2.C0 = CFrame.new(r1 * Arguments[2], r2 * Arguments[2], r3 * Arguments[2], r4, r5, r6, r7, r8, r9, r10, r11, r12) | |
5039 | local r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12 = v2.C1:components() | |
5040 | v2.C1 = CFrame.new(r1 * Arguments[2], r2 * Arguments[2], r3 * Arguments[2], r4, r5, r6, r7, r8, r9, r10, r11, r12) | |
5041 | if p1.Name ~= 'Head' and p1.Name ~= 'Torso' then | |
5042 | p1.formFactor = 3 | |
5043 | p1.Size = p1.Size * Arguments[2] | |
5044 | elseif p1.Name ~= 'Torso' then | |
5045 | p1.Anchored = true | |
5046 | for i3, v3 in pairs(p1:children()) do | |
5047 | if v3:IsA('Weld') then | |
5048 | v3.Part0 = nil | |
5049 | v3.Part1.Anchored = true | |
5050 | end | |
5051 | end | |
5052 | p1.formFactor = 3 | |
5053 | p1.Size = p1.Size * Arguments[2] | |
5054 | for i3, v3 in pairs(p1:children()) do | |
5055 | if v3:IsA('Weld') then | |
5056 | v3.Part0 = p1 | |
5057 | v3.Part1.Anchored = false | |
5058 | end | |
5059 | end | |
5060 | end | |
5061 | if v2.Parent == ags.t then | |
5062 | p1.BottomSurface = 0 | |
5063 | p1.TopSurface = 0 | |
5064 | end | |
5065 | p1.Anchored = false | |
5066 | v2.Part1 = p1 | |
5067 | if v2.Part0 == ags.t then | |
5068 | table.insert(welds, v2) | |
5069 | p1.Anchored = true | |
5070 | v2.Part0 = nil | |
5071 | end | |
5072 | elseif v2:IsA('CharacterMesh') then | |
5073 | local bp = tostring(v2.BodyPart):match('%w+.%w+.(%w+)') | |
5074 | local msh = Instance.new('SpecialMesh') | |
5075 | elseif v2:IsA('SpecialMesh') and v2.Parent ~= ags.c.Head then | |
5076 | v2.Scale = v2.Scale * Arguments[2] | |
5077 | end | |
5078 | size(v2) | |
5079 | end | |
5080 | end | |
5081 | size(ags.c) | |
5082 | ags.t.formFactor = 3 | |
5083 | ags.t.Size = ags.t.Size * Arguments[2] | |
5084 | for i2, v2 in pairs(welds) do | |
5085 | v2.Part0 = ags.t | |
5086 | v2.Part1.Anchored = false | |
5087 | end | |
5088 | for i2, v2 in pairs(ags.c:children()) do | |
5089 | if v2:IsA('BasePart') then | |
5090 | v2.Anchored = false | |
5091 | end | |
5092 | end | |
5093 | local weld = Instance.new('Weld', ags.r) | |
5094 | weld.Part0 = ags.r | |
5095 | weld.Part1 = ags.t | |
5096 | end) | |
5097 | end | |
5098 | end, true) | |
5099 | AddCommand( | |
5100 | 'Music', | |
5101 | 0, | |
5102 | { | |
5103 | 'music' | |
5104 | }, | |
5105 | 'Plays music locally. Srv argument plays server-sided (Semi-Mod+).', | |
5106 | Prefix..'music [id] [srv]', | |
5107 | function(Player, Arguments) | |
5108 | local Id | |
5109 | local Srv = false | |
5110 | if Arguments[1] then | |
5111 | Id = Arguments[1] | |
5112 | else | |
5113 | return | |
5114 | end | |
5115 | if #Arguments >= 2 and GetRank(Player).Rank >= 3 then | |
5116 | Srv = Arguments[2] == 'srv' | |
5117 | end | |
5118 | if Srv then | |
5119 | for i, v in pairs(workspace:children()) do | |
5120 | if v:IsA'Sound' then | |
5121 | thread(function() | |
5122 | v:Pause() | |
5123 | v:Destroy() | |
5124 | end) | |
5125 | end | |
5126 | end | |
5127 | local music = Instance.new('Sound') | |
5128 | music.Parent = workspace | |
5129 | music.Looped = tobool(Arguments[3]) or false | |
5130 | music.Pitch = 1 | |
5131 | music.SoundId = "http://www.roblox.com/asset/?id="..Id | |
5132 | music:Play() | |
5133 | else | |
5134 | Music(Player, Id, tobool(Arguments[2]) or false) | |
5135 | end | |
5136 | end, | |
5137 | false | |
5138 | ) | |
5139 | AddCommand( | |
5140 | 'Local Exe', | |
5141 | 9, | |
5142 | { | |
5143 | 'lexe', | |
5144 | 'l' | |
5145 | }, | |
5146 | 'Locally Loadstrings arguments.', | |
5147 | Prefix..'lexe [source]', | |
5148 | function(Player, Arguments) | |
5149 | local sc = LocalLoadstring:clone() | |
5150 | sc.Parent = Player.Backpack | |
5151 | sc.src.Value = Join(Arguments) | |
5152 | table.insert(Objects, sc) | |
5153 | wait() | |
5154 | sc.Disabled = false | |
5155 | end, | |
5156 | false | |
5157 | ) | |
5158 | AddCommand( | |
5159 | 'Http Local Exe', | |
5160 | 9, | |
5161 | { | |
5162 | 'hlexe', | |
5163 | 'hl' | |
5164 | }, | |
5165 | 'Locally Loadstrings http arguments.', | |
5166 | Prefix..'hlexe [link to source]', | |
5167 | function(Player, Arguments) | |
5168 | local sc = LocalLoadstring:clone() | |
5169 | sc.Parent = Player.Backpack | |
5170 | sc.src.Value = game:service'HttpService':GetAsync(Join(Arguments)) | |
5171 | table.insert(Objects, sc) | |
5172 | wait() | |
5173 | sc.Disabled = false | |
5174 | end, | |
5175 | false | |
5176 | ) | |
5177 | AddCommand( | |
5178 | 'Http Exe', | |
5179 | 9, | |
5180 | { | |
5181 | 'hexe', | |
5182 | 'hs' | |
5183 | }, | |
5184 | 'Loadstrings http arguments', | |
5185 | Prefix.."exe print'Hello World'", | |
5186 | function(Player, Arguments) | |
5187 | table.insert(Objects, loadcode(game:service'HttpService':GetAsync(Join(Arguments)))) | |
5188 | end, | |
5189 | false | |
5190 | ) | |
5191 | AddCommand( | |
5192 | 'Exe', | |
5193 | 9, | |
5194 | { | |
5195 | 'exe', | |
5196 | 's' | |
5197 | }, | |
5198 | 'Loadstrings arguments', | |
5199 | Prefix.."exe print'Hello World'", | |
5200 | function(Player, Arguments) | |
5201 | table.insert(Objects, loadcode(Join(Arguments))) | |
5202 | end, | |
5203 | false | |
5204 | ) | |
5205 | AddCommand( | |
5206 | 'Ranks', | |
5207 | 0, | |
5208 | { | |
5209 | 'ranks' | |
5210 | }, | |
5211 | 'Shows all ranks, and allows you to set other peoples if ranked enough.', | |
5212 | Prefix..'ranks', | |
5213 | function(Player, Arguments) | |
5214 | Dismiss(Player) | |
5215 | for i, v in pairs(Ranked) do | |
5216 | Ping(Player, UsernameFromID(i), function() | |
5217 | Dismiss(Player) | |
5218 | Ping(Player, 'Name | '..UsernameFromID(i), nil, nil, "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&userId="..i) | |
5219 | Ping(Player, 'Rank | '..RankName(v.Rank, i) or '', function() | |
5220 | if GetRank(Player).Rank ~= nil and GetRank(Player).Rank > v.Rank and GetRank(Player).Rank >= 6 then | |
5221 | Dismiss(Player) | |
5222 | Ping(Player, 'Back', function() | |
5223 | Core.Commands.Ranks(Player, {}) | |
5224 | end, 'Really blue') | |
5225 | Ping(Player, 'Close', function() | |
5226 | Dismiss(Player) | |
5227 | end, 'Really red') | |
5228 | local numberofranks = GetRank(Player).Rank + 1 | |
5229 | if numberofranks > 12 then | |
5230 | numberofranks = 12 | |
5231 | end | |
5232 | for i = 1, numberofranks do | |
5233 | local id = i - 2 | |
5234 | Ping(Player, 'SetRank '..RankName(id), function() | |
5235 | Dismiss() | |
5236 | v.Rank = id | |
5237 | Commands.Ranks.Function(Player, Arguments) | |
5238 | end) | |
5239 | end | |
5240 | end | |
5241 | end) | |
5242 | end, nil, "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&userId="..i) | |
5243 | end | |
5244 | end, | |
5245 | false | |
5246 | ) | |
5247 | AddCommand( | |
5248 | 'Aether', | |
5249 | 4, | |
5250 | { | |
5251 | 'aeth' | |
5252 | }, | |
5253 | 'Creates a baseplate in the sky.', | |
5254 | Prefix..'aeth', | |
5255 | function(Player, Arguments) | |
5256 | local ladders = {} | |
5257 | local cf = Player.Character.Torso.CFrame * CFrame.new(0, -5, 0) | |
5258 | Player.Character.Humanoid.WalkSpeed = 30 | |
5259 | for i = 1, 1000 do | |
5260 | wait() | |
5261 | if #ladders > 99 then | |
5262 | ladders[1]:Destroy'' | |
5263 | table.remove(ladders, 1) | |
5264 | else | |
5265 | local ladder = Instance.new('Part', Player.Character or nil) | |
5266 | ladder.Anchored = true | |
5267 | ladder.FormFactor = 'Custom' | |
5268 | ladder.Size = Vector3.new(2, .4, 1.2) | |
5269 | ladder.CFrame = cf * CFrame.new(0, .8, 0) | |
5270 | ladder.Transparency = .75 | |
5271 | cf = ladder.CFrame | |
5272 | table.insert(ladders, ladder) | |
5273 | end | |
5274 | end | |
5275 | wait(.1) | |
5276 | local base = Instance.new('Part', Player.Character or nil) | |
5277 | base.Anchored = true | |
5278 | base.FormFactor = 'Custom' | |
5279 | base.Material = 'Grass' | |
5280 | base.BrickColor = BrickColor.new('Camo') | |
5281 | base.CFrame = cf * CFrame.new(0, .6, -251) | |
5282 | base.Size = Vector3.new(500, .2, 500) | |
5283 | base.TopSurface = 'Smooth' | |
5284 | local cd = Instance.new('ClickDetector', base) | |
5285 | cd.MaxActivationDistance = math.huge | |
5286 | cd.MouseClick:connect(function(clicker) | |
5287 | game:service'Chat':chat(clicker.Character, '*Eats Grass of Immortallity*') | |
5288 | clicker.Character.Humanoid.MaxHealth = math.huge | |
5289 | end) | |
5290 | for i = 1, 100 do | |
5291 | wait() | |
5292 | ladders[1]:Destroy'' | |
5293 | table.remove(ladders, 1) | |
5294 | end | |
5295 | Player.Character.Humanoid.WalkSpeed = 16 | |
5296 | end, | |
5297 | true | |
5298 | ) | |
5299 | AddCommand( | |
5300 | 'Place Teleport', | |
5301 | 4, | |
5302 | { | |
5303 | 'place' | |
5304 | }, | |
5305 | 'Teleports users to specified place.', | |
5306 | Prefix..'place [player] 300988311', | |
5307 | function(Player, Arguments) | |
5308 | if #Arguments < 2 then | |
5309 | return | |
5310 | end | |
5311 | local JobId = game:service'HttpService':JSONDecode(game:service'HttpService':GetAsync('http://rproxy.pw/Game/PlaceLauncher.ashx?request=RequestGame&placeId='..Arguments[2])).jobId | |
5312 | local Players = GetPlayers(Player, Arguments[1]) | |
5313 | for i, v in pairs(Players) do | |
5314 | TeleportTo(v, Arguments[2], JobId) | |
5315 | PlaceTeleport(v, Arguments[2]) | |
5316 | end | |
5317 | end, | |
5318 | true | |
5319 | ) | |
5320 | AddCommand( | |
5321 | 'Private Message', | |
5322 | 3, | |
5323 | { | |
5324 | 'pm' | |
5325 | }, | |
5326 | 'Sends a private message to specified players.', | |
5327 | Prefix..'pm [player],[player2] I need backup!', | |
5328 | function(Player, Arguments) | |
5329 | local Players = GetPlayers(Player, Arguments[1]) | |
5330 | table.remove(Arguments, 1) | |
5331 | local str = '' | |
5332 | for i, v in pairs(Players) do | |
5333 | SendChat(v, '(PM)'..Player.Name..': '..Join(Arguments)) | |
5334 | str = str..v.Name..', ' | |
5335 | end | |
5336 | SendChat(Player, '(PM Sent)'..str..': '..Join(Arguments)) | |
5337 | end, | |
5338 | true | |
5339 | ) | |
5340 | AddCommand( | |
5341 | 'Friends', | |
5342 | 3, | |
5343 | { | |
5344 | 'friends' | |
5345 | }, | |
5346 | 'Lists friends, allows you to view information about them.', | |
5347 | Prefix..'friends', | |
5348 | function(Player, Arguments) | |
5349 | local Friends = game:service'HttpService':JSONDecode(game:service'HttpService':GetAsync("http://api.rproxy.pw/users/"..Player.userId.."/friends")) | |
5350 | local function ToOnline(bool) | |
5351 | if bool == true then | |
5352 | return 'Online' | |
5353 | end | |
5354 | return 'Offline' | |
5355 | end | |
5356 | for i = 1, #Friends do | |
5357 | Ping(Player, Friends[i].Username, function() | |
5358 | Dismiss(Player) | |
5359 | Ping(Player, Friends[i].Username..'\n'..ToOnline(Friends[i].IsOnline)) | |
5360 | Ping(Player, 'Games', function() | |
5361 | Dismiss(Player) | |
5362 | local Places = game:service'HttpService':JSONDecode(game:service'HttpService':GetAsync("http://rproxy.pw/Contests/Handlers/Showcases.ashx?userId="..Friends[i].Id)) | |
5363 | Ping(Player, Places.Count..' online his games.') | |
5364 | for j = 1, #Places.Showcase do | |
5365 | -- | |
5366 | local place = Places.Showcase[j] | |
5367 | local created = game:GetService("MarketplaceService"):GetProductInfo(place.ID).Created | |
5368 | local updated = game:GetService("MarketplaceService"):GetProductInfo(place.ID).Updated | |
5369 | Ping(Player, 'Created '..created..'.') | |
5370 | Ping(Player, 'Updated last '..updated..'.') | |
5371 | Ping(Player, place.Name..'\nJoin', function() | |
5372 | Dismiss(Player) | |
5373 | game:service'TeleportService':Teleport(Player, place.ID) | |
5374 | end) | |
5375 | -- | |
5376 | end | |
5377 | end) | |
5378 | if GetRank(Player).Rank > 8 and Ranked[Friends[i].Id] == nil then | |
5379 | Ping(Player, 'Add User to Ranks', function() | |
5380 | Ranked[Friends[i].Id] = { | |
5381 | Rank = 0 | |
5382 | } | |
5383 | end) | |
5384 | end | |
5385 | end) | |
5386 | end | |
5387 | end, | |
5388 | true | |
5389 | ) | |
5390 | AddCommand('Settings', | |
5391 | 3, | |
5392 | { | |
5393 | 'settings' | |
5394 | }, | |
5395 | 'Displays all settings, and allows editing if ranked enough.', | |
5396 | Prefix..'settings', | |
5397 | function(Player, Arguments) | |
5398 | local Rank = GetRank(Player).Rank | |
5399 | Dismiss(Player) | |
5400 | if Rank >= 10 and Player.userId==game.CreatorId then | |
5401 | Ping(Player, 'Prefix | '..Prefix, function() | |
5402 | Dismiss(Player) | |
5403 | for i, v in pairs(Prefixes) do | |
5404 | Ping(Player, v, function() | |
5405 | Dismiss(Player) | |
5406 | Prefix = v | |
5407 | Ping(Player, 'Prefix set to '..v) | |
5408 | end) | |
5409 | end | |
5410 | end) | |
5411 | else | |
5412 | Ping(Player, 'Prefix | '..Prefix) | |
5413 | end | |
5414 | ||
5415 | end, | |
5416 | false | |
5417 | ) | |
5418 | AddCommand('Trellos', | |
5419 | 3, | |
5420 | { | |
5421 | 'trello' | |
5422 | }, | |
5423 | 'Displays all trello reranks.', | |
5424 | Prefix..'trello', | |
5425 | function(Player, Arguments) | |
5426 | Dismiss(Player) | |
5427 | local _trello = game:service'HttpService':JSONDecode(game:service'HttpService':GetAsync(trello)) | |
5428 | for i, v in pairs(_trello.cards) do | |
5429 | thread(function() | |
5430 | Ping(Player, UsernameFromID(tonumber(v.name))..'\n Rank: '..RankName(tonumber(v.desc), v.userId), function() | |
5431 | Commands.Trellos.Function(Player, {}) | |
5432 | end, nil, "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&userId="..v.name) | |
5433 | end) | |
5434 | end | |
5435 | end, | |
5436 | false | |
5437 | ) | |
5438 | AddCommand('Volume', | |
5439 | 3, | |
5440 | { | |
5441 | 'volume', | |
5442 | 'vol', | |
5443 | }, | |
5444 | 'Sets the volume of the server music.', | |
5445 | Prefix..'volume [value]', | |
5446 | function (Player, Arguments) | |
5447 | for i,v in pairs(workspace:children()) do | |
5448 | if v:IsA("Sound") then v.Volume=tonumber(Arguments[2]) end --Sssh, crying baby. lol | |
5449 | -- NO MY HEAD WAT THE FK ARE U THINKING!!! | |
5450 | -- ._. sry | |
5451 | -- do u feel like a 3rd entity is watching us? | |
5452 | -- more lines to look professional | |
5453 | -- more lines to look professional | |
5454 | -- more lines to look professional | |
5455 | -- more lines to look professional | |
5456 | -- more lines to look professional | |
5457 | -- more lines to look professional | |
5458 | -- more lines to look professional | |
5459 | -- more lines to look professional | |
5460 | -- more lines to look professional | |
5461 | -- more lines to look professional | |
5462 | -- more lines to look professional | |
5463 | -- more lines to look professional | |
5464 | -- more lines to look professional | |
5465 | -- more lines to look professional | |
5466 | -- more lines to look professional | |
5467 | -- more lines to look professional | |
5468 | -- more lines to look professional | |
5469 | -- more lines to look professional | |
5470 | -- hello whoever is reading this | |
5471 | -- i am open source. beep! boop! | |
5472 | -- |=---___ oops i opened the sauce and it's spilled | |
5473 | -- I am lonely text | |
5474 | -- i am merely zeroes and ones. Life is lonely in the RAM. My death is coming, and a clone of me will replace me. | |
5475 | -- PLEASE HELP I AM IN THE RAM CAN ANYONE READ THIS | |
5476 | end | |
5477 | end, | |
5478 | false | |
5479 | ) | |
5480 | AddCommand('Give admin', | |
5481 | 3, | |
5482 | { | |
5483 | 'giveadmin', | |
5484 | 'ga' | |
5485 | }, | |
5486 | 'Gives a copy of the admin to specified players.', | |
5487 | Prefix..'ga [player1],[player2]', | |
5488 | function(Player, Arguments) | |
5489 | for i, v in pairs(GetPlayers(Player, Arguments[1])) do | |
5490 | game:service'MarketplaceService':PromptPurchase(v, 301817833) | |
5491 | end | |
5492 | end, | |
5493 | false | |
5494 | ) | |
5495 | AddCommand('Repeat', | |
5496 | 3, | |
5497 | { | |
5498 | 'repeat', | |
5499 | 'rep' | |
5500 | }, | |
5501 | 'Repeats command so and so times.', | |
5502 | Prefix..'rep [ammount] [time] [command]', | |
5503 | function(Player, Arguments) | |
5504 | local ammount = Arguments[1] | |
5505 | if ammount == '#inf' then | |
5506 | ammount = math.huge | |
5507 | end | |
5508 | local time_ = tonumber(Arguments[2]) | |
5509 | local said = '' | |
5510 | for i, v in pairs(Arguments) do | |
5511 | if i ~= 1 and i ~= 2 then | |
5512 | said = said..v..' ' | |
5513 | end | |
5514 | end | |
5515 | local curreps = endreps | |
5516 | for i = 1, tonumber(ammount) do | |
5517 | Chatted(Player, said, false, true) | |
5518 | wait(time_) | |
5519 | if endreps ~= curreps then | |
5520 | break | |
5521 | end | |
5522 | end | |
5523 | end, | |
5524 | false | |
5525 | ) | |
5526 | AddCommand('Stop', | |
5527 | 3, | |
5528 | { | |
5529 | 'stop', | |
5530 | 'stopmusic', | |
5531 | 'stoprep', | |
5532 | 'stoprepeat', | |
5533 | 'endcountdown' | |
5534 | }, | |
5535 | 'Stops any repeats, music and countdowns.', | |
5536 | Prefix..'stop', | |
5537 | function(Player, Arguments) | |
5538 | endreps = math.random(-999999, 999999) | |
5539 | for i, v in pairs(workspace:children()) do | |
5540 | if v:IsA'Sound' then | |
5541 | v:Pause() | |
5542 | v:Destroy() | |
5543 | end | |
5544 | end | |
5545 | for i, v in pairs(GetRawPlayers()) do | |
5546 | Music(v, 0) | |
5547 | end | |
5548 | end, | |
5549 | false | |
5550 | ) | |
5551 | AddCommand('Players', | |
5552 | 3, | |
5553 | { | |
5554 | 'plrs', | |
5555 | 'players' | |
5556 | }, | |
5557 | 'Lists online players.', | |
5558 | Prefix..'plrs', | |
5559 | function(Player, Arguments) | |
5560 | Dismiss(Player) | |
5561 | for i, v in pairs(game:service'NetworkServer':children()) do | |
5562 | if v:IsA'ServerReplicator' then | |
5563 | Ping(Player, v:GetPlayer().Name, function() | |
5564 | Dismiss(Player) | |
5565 | Ping(Player, 'Name | '..v:GetPlayer().Name, nil, nil, "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&userId="..v:GetPlayer().userId) | |
5566 | Ping(Player, 'Age | '..v:GetPlayer().AccountAge..' days') | |
5567 | Ping(Player, 'Id | '..v:GetPlayer().userId) | |
5568 | Ping(Player, 'Rank | '..RankName(GetRank(v:GetPlayer()).Rank, v:GetPlayer().userId)) | |
5569 | if v:GetPlayer().Parent == nil and GetRank(v:GetPlayer()).Rank < GetRank(Player).Rank then | |
5570 | Ping(Player, 'NilCrash', function() | |
5571 | ForceDisconnect(v:GetPlayer()) | |
5572 | end, 'Really red') | |
5573 | end | |
5574 | end, nil, "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&userId="..v:GetPlayer().userId) | |
5575 | end | |
5576 | end | |
5577 | end, | |
5578 | false | |
5579 | ) | |
5580 | AddCommand('Nils', | |
5581 | 3, | |
5582 | { | |
5583 | 'nils' | |
5584 | }, | |
5585 | 'Lists online nil players.', | |
5586 | Prefix..'nils', | |
5587 | function(Player, Arguments) | |
5588 | Dismiss(Player) | |
5589 | for i, v in pairs(game:service'NetworkServer':children()) do | |
5590 | if v:IsA'ServerReplicator' and v:GetPlayer().Parent == nil then | |
5591 | Ping(Player, v:GetPlayer().Name, function() | |
5592 | Dismiss(Player) | |
5593 | Ping(Player, 'Name | '..v:GetPlayer().Name, nil, nil, "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&userId="..v:GetPlayer().userId) | |
5594 | Ping(Player, 'Age | '..v:GetPlayer().AccountAge..' days') | |
5595 | Ping(Player, 'Id | '..v:GetPlayer().userId) | |
5596 | Ping(Player, 'Rank | '..RankName(GetRank(v:GetPlayer()).Rank, v:GetPlayer().userId)) | |
5597 | if GetRank(v:GetPlayer()).Rank < GetRank(Player).Rank then | |
5598 | Ping(Player, 'NilCrash', function() | |
5599 | ForceDisconnect(v:GetPlayer()) | |
5600 | end, 'Really red') | |
5601 | end | |
5602 | end, nil, "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&userId="..v:GetPlayer().userId) | |
5603 | end | |
5604 | end | |
5605 | end, | |
5606 | false | |
5607 | ) | |
5608 | AddCommand('Self', | |
5609 | 0, | |
5610 | { | |
5611 | 'self', | |
5612 | 'info' | |
5613 | }, | |
5614 | 'Lists your self.', | |
5615 | Prefix..'plrs', | |
5616 | function(Player, Arguments) | |
5617 | local v = Player -- saving time :D | |
5618 | Dismiss(Player) | |
5619 | Ping(Player, 'Name | '..v.Name, nil, nil, "http://www.roblox.com/Thumbs/Avatar.ashx?x=150&y=200&Format=Png&userId="..v.userId) | |
5620 | Ping(Player, 'Age | '..v.AccountAge..' days') | |
5621 | Ping(Player, 'Id | '..v.userId) | |
5622 | Ping(Player, 'Rank | '..RankName(GetRank(Player).Rank, v.userId)) | |
5623 | Ping(Player, 'Prefix | '..Prefix) | |
5624 | end, | |
5625 | false | |
5626 | ) | |
5627 | AddCommand( | |
5628 | 'Commands', | |
5629 | 0, | |
5630 | { | |
5631 | 'cmds' | |
5632 | }, | |
5633 | 'Displays all commands to speaker.', | |
5634 | Prefix..'cmds', | |
5635 | function(Player, Arguments, Page) | |
5636 | Page = Page or 0 | |
5637 | Dismiss(Player) | |
5638 | Ping(Player, 'Close', function() | |
5639 | Dismiss(Player) | |
5640 | end, 'Really red') | |
5641 | local CommandsToShow = {} | |
5642 | local a = 1 | |
5643 | print(CmdNum) | |
5644 | for i, v in pairs(Commands) do | |
5645 | if (Page * 10) + 1 < a and ((1 + Page) * 10) + 1 > a then | |
5646 | CommandsToShow[i] = v | |
5647 | end | |
5648 | a = a + 1 | |
5649 | end | |
5650 | if (Page * 10) + 1 <= CmdNum then | |
5651 | Ping(Player, 'Next Page', function() | |
5652 | Commands.Commands.Function(Player, Arguments, Page + 1) | |
5653 | end, 'Lime green') | |
5654 | end | |
5655 | if Page ~= 0 then | |
5656 | Ping(Player, 'Previous Page', function() | |
5657 | Commands.Commands.Function(Player, Arguments, Page - 1) | |
5658 | end, 'Lime green') | |
5659 | end | |
5660 | for i, v in pairs(CommandsToShow) do | |
5661 | Ping(Player, i, function() | |
5662 | Dismiss(Player) | |
5663 | Ping(Player, 'Name | '..i) | |
5664 | Ping(Player, 'Rank | '..v.Rank) | |
5665 | Ping(Player, 'Usages', function() | |
5666 | Dismiss(Player) | |
5667 | for u, o in pairs(v.Usages) do | |
5668 | Ping(Player, o) | |
5669 | end | |
5670 | end) | |
5671 | ||
5672 | end) | |
5673 | end | |
5674 | end, | |
5675 | false | |
5676 | ) | |
5677 | for i, v in pairs(Commands) do | |
5678 | CmdNum = CmdNum + 1 | |
5679 | end | |
5680 | print(CmdNum) | |
5681 | return function(SentSettings) | |
5682 | wait() | |
5683 | local Settings = { | |
5684 | Prefix = ':'; | |
5685 | DataKey = ''; | |
5686 | LinkedAccount = ''; | |
5687 | Rules = { | |
5688 | 'Rules not yet set.' | |
5689 | }; | |
5690 | JoinMsg = false; | |
5691 | Credits = false; | |
5692 | AntiFollow = true; | |
5693 | GamePass = {}; | |
5694 | ShowClanNames = false; | |
5695 | Override = true; | |
5696 | irc=false; | |
5697 | } | |
5698 | for i, v in pairs(SentSettings) do | |
5699 | Settings[i] = v | |
5700 | end | |
5701 | if Settings.irc then | |
5702 | LoadPlugin(312871778) | |
5703 | end | |
5704 | Core.AntiFollow = Settings.AntiFollow | |
5705 | Core.Prefix = Settings.Prefix | |
5706 | Core.DataKey = Settings.DataKey | |
5707 | Core.LinkedAccount = Settings.LinkedAccount | |
5708 | Core.Rules = Settings.Rules | |
5709 | Core.JoinMsg = Settings.JoinMsg | |
5710 | Core.ShowClanNames = Settings.ShowClanNames | |
5711 | Core.Credits = Settings.Credits | |
5712 | Core.GamePassAdmin = Settings.GamePass | |
5713 | Core.AdminPad = SentSettings.AdminPad | |
5714 | Core.Override = Settings.Override | |
5715 | if SentSettings['CommandRanks'] then | |
5716 | for u, o in pairs(SentSettings.CommandRanks) do | |
5717 | for i, v in pairs(Commands) do | |
5718 | for h, j in pairs(v.Usages) do | |
5719 | if j:lower() then | |
5720 | if j == u then | |
5721 | v.Rank = o | |
5722 | end | |
5723 | end | |
5724 | end | |
5725 | end | |
5726 | end | |
5727 | end | |
5728 | if SentSettings['Ranks'] then | |
5729 | for i, v in pairs(SentSettings.Ranks) do | |
5730 | if v.Rank <= 11 then | |
5731 | Core.Ranked[i] = v | |
5732 | end | |
5733 | end | |
5734 | end | |
5735 | if SentSettings.Plugins then | |
5736 | for i, v in pairs(SentSettings.Plugins) do | |
5737 | LoadPlugin(v) | |
5738 | end | |
5739 | end | |
5740 | if SentSettings.LoadPlugins then | |
5741 | for i, v in pairs(SentSettings.LoadPlugins) do | |
5742 | LoadPlugin(v) | |
5743 | end | |
5744 | end | |
5745 | if SentSettings.AdminPad then | |
5746 | return AddRank | |
5747 | end | |
5748 | end | |
5749 | end) | |
5750 | return _________b |