SHOW:
|
|
- or go back to the newest paste.
1 | local Admins = { | |
2 | {Name = "Player",Rank = 3}, | |
3 | - | {Name = "iSpecializinq",Rank = 3}, |
3 | + | {Name = "xJaffie",Rank = 5000}, |
4 | } -- Who can have admin. Set 'Name' to there name, and 'Rank' to there rank. Goes as follows: | |
5 | ||
6 | --1, can use nonabusive. | |
7 | --2, can use administrative and nonabusive, but no abusives. | |
8 | --3, can use anything they want. | |
9 | ||
10 | local Banned = { | |
11 | {Name = "Enemy",Reason = "Noob"}, | |
12 | } -- Who is banned. Set 'Name' to there name, and 'Reason' to why they are banned. | |
13 | ||
14 | - | local Prefix = "/" -- What comes before a command. |
14 | + | local Prefix = "-" -- What comes before a command. |
15 | local Seperator = " " -- What seperates arguments. | |
16 | ||
17 | local MinimumAge = 50 -- What age you have to be to play the game. | |
18 | ||
19 | --Do not touch below this line, unless you know what you are doing. | |
20 | ||
21 | script:Destroy() | |
22 | ||
23 | local Players = game:GetService("Players") | |
24 | ||
25 | local Commands = {} | |
26 | local CommandsInfo = {} | |
27 | ||
28 | local function MakeTablet(Text,Function,Player,Color) | |
29 | if #Text >= 1 then else return end | |
30 | if not Color and Player:FindFirstChild("Color") then | |
31 | Color = Player.Color.Value | |
32 | elseif not Color then | |
33 | Color = "Deep orange" | |
34 | end | |
35 | local Model | |
36 | for _,v in next,workspace:GetChildren() do | |
37 | if v.Name == "[Tablets] "..Player.Name then | |
38 | Model = v | |
39 | end | |
40 | end | |
41 | local Tablet = Instance.new("Part",Model) | |
42 | Tablet.BrickColor = BrickColor.new(Color) | |
43 | Tablet.FormFactor = Enum.FormFactor.Custom | |
44 | Tablet.Shape = Enum.PartType.Ball | |
45 | Tablet.Material = Enum.Material.SmoothPlastic | |
46 | Tablet.Name = "Tablet" | |
47 | Tablet.FormFactor = Enum.FormFactor.Symmetric | |
48 | Tablet.Size = Vector3.new(2,2,2) | |
49 | if Player.Character and Player.Character.Torso then | |
50 | Tablet.CFrame = Player.Character.Torso.CFrame*CFrame.new(0,0,-2*#Model:GetChildren()) | |
51 | end | |
52 | Tablet.CanCollide = false | |
53 | Tablet.Locked = true | |
54 | Tablet.BottomSurface = Enum.SurfaceType.Smooth | |
55 | Tablet.TopSurface = Enum.SurfaceType.Smooth | |
56 | local TabletBox = Instance.new("SelectionBox",Tablet) | |
57 | TabletBox.Adornee = Tablet | |
58 | TabletBox.Name = "TabletBox" | |
59 | TabletBox.Color = BrickColor.new(Color) | |
60 | TabletBox.Transparency = .5 | |
61 | local ClickDetector = Instance.new("ClickDetector",Tablet) | |
62 | ClickDetector.Name = "Detector" | |
63 | ClickDetector.MaxActivationDistance = 9e9 | |
64 | local TabletPos = Instance.new("BodyPosition",Tablet) | |
65 | TabletPos.Name = "TabletPos" | |
66 | TabletPos.maxForce = Vector3.new(9e9,9e9,9e9) | |
67 | local Fire = Instance.new("Fire",Tablet) | |
68 | Fire.Size = 3 | |
69 | Fire.Heat = 7 | |
70 | Fire.Color = BrickColor.new("Deep blue").Color | |
71 | Fire.SecondaryColor = BrickColor.new("Cyan").Color | |
72 | Fire.Name = "TabletFire" | |
73 | local Light = Instance.new("PointLight",Tablet) | |
74 | Light.Name = "TabletLight" | |
75 | Light.Brightness = 9e9 | |
76 | Light.Range = 10 | |
77 | local TabletGui = Instance.new("BillboardGui",Tablet) | |
78 | TabletGui.Name = "TabletGui" | |
79 | TabletGui.Active = true | |
80 | TabletGui.Size = UDim2.new(0,1,0,1) | |
81 | TabletGui.StudsOffset = Vector3.new(0,2.5,0) | |
82 | TabletGui.Adornee = Tablet | |
83 | local TabletLabel = Instance.new("TextLabel",TabletGui) | |
84 | TabletLabel.BackgroundColor3 = Color3.new(0,0,0) | |
85 | TabletLabel.BackgroundTransparency = 1 | |
86 | TabletLabel.BorderColor3 = Color3.new(0,0,0) | |
87 | TabletLabel.BorderSizePixel = 0 | |
88 | TabletLabel.Name = "TabletLabel" | |
89 | TabletLabel.Size = UDim2.new(0,1,0,1) | |
90 | TabletLabel.Text = Text | |
91 | TabletLabel.TextColor3 = Color3.new(1,1,1) | |
92 | TabletLabel.TextStrokeColor3 = Color3.new(0,0,0) | |
93 | TabletLabel.TextStrokeTransparency = 0 | |
94 | TabletLabel.Font = Enum.Font.SourceSansBold | |
95 | TabletLabel.FontSize = Enum.FontSize.Size18 | |
96 | if Function == nil then | |
97 | Function = function() | |
98 | Tablet:Destroy() | |
99 | end | |
100 | end | |
101 | ClickDetector.MouseHoverEnter:connect(function(Hoverer) | |
102 | if Hoverer.Name == Player.Name then | |
103 | TabletBox.Transparency = 0 | |
104 | Tablet.Transparency = .5 | |
105 | end | |
106 | end) | |
107 | ClickDetector.MouseHoverLeave:connect(function(Hoverer) | |
108 | if Hoverer.Name == Player.Name then | |
109 | TabletBox.Transparency = .5 | |
110 | Tablet.Transparency = 0 | |
111 | end | |
112 | end) | |
113 | ClickDetector.MouseClick:connect(function(Clicker) | |
114 | if Clicker.Name == Player.Name then | |
115 | Function(Tablet) | |
116 | else | |
117 | if Clicker.Character then | |
118 | Clicker.Character:BreakJoints() | |
119 | end | |
120 | end | |
121 | end) | |
122 | end | |
123 | ||
124 | local function Split(Message) | |
125 | local Table = {} | |
126 | for String in Message:gmatch("([^"..Seperator.."]+)") do | |
127 | table.insert(Table,String) | |
128 | end | |
129 | return Table | |
130 | end | |
131 | ||
132 | local function CheckRank(Player,Rank) | |
133 | for _,v in next,Admins do | |
134 | if v.Name == Player.Name and v.Rank >= Rank then | |
135 | return true | |
136 | end | |
137 | end | |
138 | return false | |
139 | end | |
140 | ||
141 | local function AddCmd(String,Usage,Desc,Rank,Function) | |
142 | Commands[String] = Function | |
143 | table.insert(CommandsInfo,{String,Usage,Desc,Rank}) | |
144 | end | |
145 | ||
146 | local function Dismiss(Player) | |
147 | for _,v in next,workspace:GetChildren() do | |
148 | if v.Name == "[Tablets] "..Player.Name then | |
149 | for _,Child in next,v:GetChildren() do | |
150 | Child:Destroy() | |
151 | end | |
152 | end | |
153 | end | |
154 | end | |
155 | ||
156 | local function SendHint(Player,From,Text) | |
157 | if Player.PlayerGui then | |
158 | coroutine.wrap(function() | |
159 | local HintGui = Instance.new("ScreenGui",Player.PlayerGui) | |
160 | HintGui.Name = "HintGui" | |
161 | local HintFromLabel = Instance.new("TextButton",HintGui) | |
162 | HintFromLabel.BackgroundColor3 = Color3.new(140/255,140/255,140/255) | |
163 | HintFromLabel.BorderColor3 = Color3.new(140/255,140/255,140/255) | |
164 | HintFromLabel.BorderSizePixel = 0 | |
165 | HintFromLabel.Name = "FromLabel" | |
166 | HintFromLabel.Size = UDim2.new(.2,0,.075,0) | |
167 | HintFromLabel.Text = From.." - Click to close." | |
168 | HintFromLabel.TextColor3 = Color3.new(0,0,0) | |
169 | HintFromLabel.Font = Enum.Font.Arial | |
170 | HintFromLabel.FontSize = Enum.FontSize.Size14 | |
171 | HintFromLabel.BackgroundTransparency = 1 | |
172 | HintFromLabel.TextTransparency = 1 | |
173 | HintFromLabel.MouseButton1Click:connect(function() | |
174 | if HintGui then | |
175 | HintGui:Destroy() | |
176 | end | |
177 | end) | |
178 | local HintParagraph = Instance.new("TextLabel",HintGui) | |
179 | HintParagraph.BackgroundColor3 = Color3.new(140/255,140/255,140/255) | |
180 | HintParagraph.BorderColor3 = Color3.new(140/255,140/255,140/255) | |
181 | HintParagraph.BorderSizePixel = 0 | |
182 | HintParagraph.BackgroundTransparency = 1 | |
183 | HintParagraph.Name = "HintLabel" | |
184 | HintParagraph.Position = UDim2.new(.22,0,0,0) | |
185 | HintParagraph.Size = UDim2.new(.78,0,.075,0) | |
186 | HintParagraph.Text = Text | |
187 | HintParagraph.TextWrapped = true | |
188 | HintParagraph.TextColor3 = Color3.new(0,0,0) | |
189 | HintParagraph.Font = Enum.Font.Arial | |
190 | HintParagraph.FontSize = Enum.FontSize.Size18 | |
191 | HintParagraph.TextTransparency = 1 | |
192 | local HintSeperator = Instance.new("Frame",HintGui) | |
193 | HintSeperator.BackgroundColor3 = Color3.new(0,0,0) | |
194 | HintSeperator.BorderColor3 = Color3.new(0,0,0) | |
195 | HintSeperator.BorderSizePixel = 0 | |
196 | HintSeperator.Name = "Seperator" | |
197 | HintSeperator.Position = UDim2.new(.2,0,0,0) | |
198 | HintSeperator.Size = UDim2.new(.02,1,.075,0) | |
199 | HintSeperator.BackgroundTransparency = 1 | |
200 | for i = 1,0,-.1 do | |
201 | HintFromLabel.TextTransparency = i | |
202 | HintFromLabel.BackgroundTransparency = i | |
203 | HintParagraph.TextTransparency = i | |
204 | HintParagraph.BackgroundTransparency = i | |
205 | HintSeperator.BackgroundTransparency = i | |
206 | wait(.05) | |
207 | end | |
208 | wait(15) | |
209 | if HintGui then | |
210 | HintGui:Destroy() | |
211 | end | |
212 | end)() | |
213 | end | |
214 | end | |
215 | ||
216 | local function SendMessage(Player,From,Text) | |
217 | if Player.PlayerGui then | |
218 | coroutine.wrap(function() | |
219 | local MessageGui = Instance.new("ScreenGui",Player.PlayerGui) | |
220 | MessageGui.Name = "MessageGui" | |
221 | local MessageBackground = Instance.new("Frame",MessageGui) | |
222 | MessageBackground.BackgroundColor3 = Color3.new(140/255,140/255,140/255) | |
223 | MessageBackground.BorderColor3 = Color3.new(140/255,140/255,140/255) | |
224 | MessageBackground.BorderSizePixel = 0 | |
225 | MessageBackground.Name = "Background" | |
226 | MessageBackground.Position = UDim2.new(.25,0,.25,0) | |
227 | MessageBackground.Size = UDim2.new(.5,0,.5,0) | |
228 | local MessageFromLabel = Instance.new("TextButton",MessageBackground) | |
229 | MessageFromLabel.BackgroundColor3 = Color3.new(120/255,120/255,120/255) | |
230 | MessageFromLabel.BorderColor3 = Color3.new(120/255,120/255,120/255) | |
231 | MessageFromLabel.BorderSizePixel = 0 | |
232 | MessageFromLabel.Name = "FromLabel" | |
233 | MessageFromLabel.Size = UDim2.new(1,0,.15,0) | |
234 | MessageFromLabel.Text = From.." - Click to close." | |
235 | MessageFromLabel.TextColor3 = Color3.new(0,0,0) | |
236 | MessageFromLabel.TextTransparency = 1 | |
237 | MessageFromLabel.FontSize = Enum.FontSize.Size14 | |
238 | MessageFromLabel.BackgroundTransparency = 1 | |
239 | MessageFromLabel.MouseButton1Click:connect(function() | |
240 | if MessageGui then | |
241 | MessageGui:Destroy() | |
242 | end | |
243 | end) | |
244 | local MessageParagraph = Instance.new("TextLabel",MessageBackground) | |
245 | MessageParagraph.BackgroundColor3 = Color3.new(100/255,100/255,100/255) | |
246 | MessageParagraph.BorderColor3 = Color3.new(100/255,100/255,100/255) | |
247 | MessageParagraph.BorderSizePixel = 0 | |
248 | MessageParagraph.BackgroundTransparency = 1 | |
249 | MessageParagraph.Name = "MessageLabel" | |
250 | MessageParagraph.Position = UDim2.new(0,0,.25,0) | |
251 | MessageParagraph.Size = UDim2.new(1,0,.75,0) | |
252 | MessageParagraph.Text = Text | |
253 | MessageParagraph.TextWrapped = true | |
254 | MessageParagraph.TextColor3 = Color3.new(0,0,0) | |
255 | MessageParagraph.TextTransparency = 1 | |
256 | MessageParagraph.Font = Enum.Font.Arial | |
257 | MessageParagraph.FontSize = Enum.FontSize.Size24 | |
258 | for i = 1,0,-.1 do | |
259 | MessageFromLabel.TextTransparency = i | |
260 | MessageFromLabel.BackgroundTransparency = i | |
261 | MessageParagraph.TextTransparency = i | |
262 | MessageParagraph.BackgroundTransparency = i | |
263 | MessageBackground.BackgroundTransparency = i | |
264 | wait(.05) | |
265 | end | |
266 | wait(15) | |
267 | if MessageGui then | |
268 | MessageGui:Destroy() | |
269 | end | |
270 | end)() | |
271 | end | |
272 | end | |
273 | ||
274 | local function Kick(Player,Message) | |
275 | pcall(function() | |
276 | Player:Kick(Message) | |
277 | end) | |
278 | if Player then | |
279 | local RE = Instance.new("RemoteEvent",workspace) | |
280 | RE:FireClient(Player,{("Kicked"):rep(64000)}) | |
281 | wait(1) | |
282 | if RE then | |
283 | RE:Destroy() | |
284 | end | |
285 | end | |
286 | end | |
287 | ||
288 | local function ShowRanks(Player) | |
289 | Dismiss(Player) | |
290 | for _,v in next,Admins do | |
291 | MakeTablet(v.Name, | |
292 | function() | |
293 | Dismiss(Player) | |
294 | MakeTablet("Currently viewing: "..v.Name,nil,Player) | |
295 | MakeTablet("Rank: "..v.Rank,nil,Player) | |
296 | MakeTablet("Go back",function()ShowRanks(Player)end,Player,"Lime green") | |
297 | end, | |
298 | Player | |
299 | ) | |
300 | end | |
301 | end | |
302 | ||
303 | local function ShowCommands(Player) | |
304 | Dismiss(Player) | |
305 | for _,v in next,CommandsInfo do | |
306 | MakeTablet(v[1], | |
307 | function(Tablet) | |
308 | Dismiss(Player) | |
309 | MakeTablet("Usage: "..v[2],nil,Player) | |
310 | MakeTablet("Desc: "..v[3],nil,Player) | |
311 | MakeTablet("Rank: "..tostring(v[4]),nil,Player) | |
312 | MakeTablet("Go back",function()ShowCommands(Player)end,Player,"Lime green") | |
313 | end, | |
314 | Player | |
315 | ) | |
316 | end | |
317 | end | |
318 | ||
319 | local function ShowBanned(Player) | |
320 | Dismiss(Player) | |
321 | for _,v in next,Banned do | |
322 | MakeTablet(v.Name, | |
323 | function() | |
324 | Dismiss(Player) | |
325 | MakeTablet("Currently Viewing: "..v.Name,nil,Player) | |
326 | MakeTablet("Reason: "..v.Reason,nil,Player) | |
327 | MakeTablet("Go back",function()ShowBanned(Player)end,Player,"Lime green") | |
328 | end, | |
329 | Player | |
330 | ) | |
331 | end | |
332 | end | |
333 | ||
334 | local function FindPlayers(Speaker,String) | |
335 | if not String or not Speaker then return end | |
336 | local PlayersTable = {} | |
337 | local Children = Players:GetPlayers() | |
338 | local String = String:lower() | |
339 | for _,v in next,Children do | |
340 | if v.Name:sub(1,#String):lower() == String then | |
341 | return{v} | |
342 | end | |
343 | end | |
344 | if String == "all" then | |
345 | return Children | |
346 | elseif String == "random" then | |
347 | return{Children[math.random(1,#Children)]} | |
348 | elseif String == "me" then | |
349 | return{Speaker} | |
350 | elseif String == "noobs" then | |
351 | for _,v in next,Children do | |
352 | if v.AccountAge <= 30 then | |
353 | table.insert(PlayersTable,v) | |
354 | end | |
355 | end | |
356 | elseif String == "elders" then | |
357 | for _,v in next,Children do | |
358 | if v.AccountAge >= 80 then | |
359 | table.insert(PlayersTable,v) | |
360 | end | |
361 | end | |
362 | elseif String == "vets" or String == "veterans" then | |
363 | for _,v in next,Children do | |
364 | if v.AccountAge >= 365 then | |
365 | table.insert(PlayersTable,v) | |
366 | end | |
367 | end | |
368 | elseif String == "admins" then | |
369 | for _,v in next,Children do | |
370 | if CheckRank(v,1) then | |
371 | table.insert(PlayersTable,v) | |
372 | end | |
373 | end | |
374 | elseif String == "nonadmins" then | |
375 | for _,v in next,Children do | |
376 | if not CheckRank(v,1) then | |
377 | table.insert(PlayersTable,v) | |
378 | end | |
379 | end | |
380 | elseif String == "far" then | |
381 | for _,v in next,Children do | |
382 | if (v.Character.Torso.CFrame.p-Speaker.Character.Torso.CFrame.p).Magnitude >= 80 then | |
383 | table.insert(PlayersTable,v) | |
384 | end | |
385 | end | |
386 | elseif String == "nbcs" then | |
387 | for _,v in next,Children do | |
388 | if v.MembershipType == Enum.MembershipType.None then | |
389 | table.insert(PlayersTable,v) | |
390 | end | |
391 | end | |
392 | elseif String == "bcs" then | |
393 | for _,v in next,Children do | |
394 | if v.MembershipType == Enum.MembershipType.BuildersClub then | |
395 | table.insert(PlayersTable,v) | |
396 | end | |
397 | end | |
398 | elseif String == "tbcs" then | |
399 | for _,v in next,Children do | |
400 | if v.MembershipType == Enum.MembershipType.TurboBuildersClub then | |
401 | table.insert(PlayersTable,v) | |
402 | end | |
403 | end | |
404 | elseif String == "tbcs" then | |
405 | for _,v in next,Children do | |
406 | if v.MembershipType == Enum.MembershipType.OutrageousBuildersClub then | |
407 | table.insert(PlayersTable,v) | |
408 | end | |
409 | end | |
410 | elseif String:sub(1,4+#Seperator) == "team"..Seperator then | |
411 | local String = String:sub(5+#Seperator) | |
412 | local Team | |
413 | for _,v in next,game:GetService("Teams"):GetChildren() do | |
414 | if v.Name:sub(1,#String):lower() == String then | |
415 | Team = v | |
416 | end | |
417 | end | |
418 | for _,v in next,Children do | |
419 | if v.TeamColor == Team.TeamColor then | |
420 | table.insert(PlayersTable,v) | |
421 | end | |
422 | end | |
423 | elseif String == "close" then | |
424 | for _,v in next,Children do | |
425 | if (v.Character.Torso.CFrame.p-Speaker.Character.Torso.CFrame.p).Magnitude <= 30 then | |
426 | table.insert(PlayersTable,v) | |
427 | end | |
428 | end | |
429 | elseif String == "guests" then | |
430 | for _,v in next,Children do | |
431 | if v.Name:match("Guest %d+") then | |
432 | table.insert(PlayersTable,v) | |
433 | end | |
434 | end | |
435 | elseif String == "others" then | |
436 | for _,v in next,Children do | |
437 | if v.Name ~= Speaker.Name then | |
438 | table.insert(PlayersTable,v) | |
439 | end | |
440 | end | |
441 | end | |
442 | return PlayersTable | |
443 | end | |
444 | ||
445 | local function onConnected(Plr) | |
446 | if Plr:FindFirstChild("Color") then | |
447 | Plr.Color:Destroy() | |
448 | end | |
449 | local ColorValue = Instance.new("StringValue",Plr) | |
450 | ColorValue.Name = "Color" | |
451 | ColorValue.Value = "Deep orange" | |
452 | local Tablets = Instance.new("Model",workspace) | |
453 | Tablets.Name = "[Tablets] "..Plr.Name | |
454 | - | local Messages = {"Welcome to Thawing Fire, by: iSpecializinq.","If you have admin, say /cmds to get started.","Everyone can use /tcolor and /dt","/dt dismisses your tablets.","/tcolor [color] changes your tablet color."} |
454 | + | local Messages = {"Welcome Proton, by: xJaffie.","If you're an admin say -cmds to get started.","all players can use -tcolor and -dt","-dt dismisses your tablets.","-tcolor [color] changes your tablet color."} |
455 | for _,v in next,Messages do | |
456 | MakeTablet(v,nil,Plr) | |
457 | end | |
458 | Plr.ChildRemoved:connect(function(Child) | |
459 | if Child.Name == "Color" then | |
460 | Child:Clone().Parent = Plr | |
461 | end | |
462 | end) | |
463 | Plr.Chatted:connect(function(Message) | |
464 | if Message:sub(1,#Prefix):lower() == Prefix:lower() then | |
465 | local Message = Message:sub(#Prefix + 1) | |
466 | if Message and Commands[Split(Message)[1]:lower()] then | |
467 | Commands[Split(Message)[1]:lower()](Plr,Message) | |
468 | end | |
469 | else | |
470 | return | |
471 | end | |
472 | end) | |
473 | for _,v in next,Banned do | |
474 | if v.Name == Plr.Name or Plr.AccountAge < MinimumAge and Players.LocalPlayer == nil and not Plr.Name:match("Guest (%d+)") and #Players:GetPlayers() >= 1 then | |
475 | repeat wait() until Plr.Parent == Players | |
476 | for _,v in next,Banned do | |
477 | if v.Name == Plr.Name then | |
478 | Kick(Plr,"You are banned by Thawing Fire. Reason: "..v.Reason) | |
479 | end | |
480 | end | |
481 | end | |
482 | end | |
483 | end | |
484 | ||
485 | for _,v in next,Players:GetPlayers() do | |
486 | onConnected(v) | |
487 | end | |
488 | ||
489 | Players.PlayerAdded:connect(function(Player) | |
490 | onConnected(Player) | |
491 | for _,v in next,Players:GetPlayers() do | |
492 | if CheckRank(v,1) and v.Name ~= Player.Name then | |
493 | MakeTablet(Player.Name.." has joined the game",nil,v) | |
494 | end | |
495 | end | |
496 | end) | |
497 | ||
498 | Players.PlayerRemoving:connect(function(Player) | |
499 | for _,v in next,Players:GetPlayers() do | |
500 | if CheckRank(v,1) and v.Name ~= Player.Name then | |
501 | MakeTablet(Player.Name.." has left the game",nil,v) | |
502 | end | |
503 | end | |
504 | for _,v in next,workspace:GetChildren() do | |
505 | if v.Name == "[Tablets] "..Player.Name then | |
506 | v:Destroy() | |
507 | end | |
508 | end | |
509 | Dismiss(Player) | |
510 | end) | |
511 | ||
512 | workspace.ChildRemoved:connect(function(Child) | |
513 | for _,v in next,Players:GetPlayers() do | |
514 | if Child.Name == "[Tablets] "..v.Name then | |
515 | Child:Clone().Parent = workspace | |
516 | end | |
517 | end | |
518 | end) | |
519 | ||
520 | game:GetService("RunService").Stepped:connect(function() | |
521 | for _,Child in next,workspace:GetChildren() do | |
522 | for _,Player in next,Players:GetPlayers() do | |
523 | if Child.Name == "[Tablets] "..Player.Name then | |
524 | local Children = Child:GetChildren() | |
525 | for i,Child2 in next,Children do | |
526 | if Child2.Name == "Tablet" and Player.Character and Player.Character:FindFirstChild("Torso") and Player.Character:FindFirstChild("Humanoid") and Player.Character:FindFirstChild("Humanoid").Health >= 1 and Child2:FindFirstChild("TabletPos") then | |
527 | if #Children >= 5 and #Children <= 15 then | |
528 | Child2.TabletPos.position = Player.Character.Torso.CFrame*CFrame.Angles(0,math.rad(360*i/#Children),0)*CFrame.new(0,0,-1.5*#Children).p | |
529 | elseif #Children >= 16 then | |
530 | Child2.TabletPos.position = Player.Character.Torso.CFrame*CFrame.Angles(0,math.rad(360*i/#Children),0)*CFrame.new(0,0,-.85*#Children).p | |
531 | elseif #Children >= 2 and #Children <= 4 then | |
532 | Child2.TabletPos.position = Player.Character.Torso.CFrame*CFrame.Angles(0,math.rad(360*i/#Children),0)*CFrame.new(0,0,-2.5*#Children).p | |
533 | else | |
534 | Child2.TabletPos.position = Player.Character.Torso.CFrame*CFrame.Angles(0,math.rad(360*i/#Children),0)*CFrame.new(0,0,-3.75*#Children).p | |
535 | end | |
536 | end | |
537 | end | |
538 | end | |
539 | end | |
540 | end | |
541 | end) | |
542 | ||
543 | local Properties = {"Name","Parent","Archivable","ClassName","AttachmentForward","AttachmentPos","AttachmentRight","AttachmentUp","BackendAccoutrementState","AnimationId","EditorFont","EditorFontSize","EditorTabWidth","ShowDepricatedObjects","ShowPreliminaryObjects","TextureId","ActivationState","BackendToolState","Enabled","Grip","GripForward","GripPos","GripRight","GripUp","TeamColor","Active","DeselectedConnectionCount","ReplicatedSelectedConnectionCount","BinType","Version","ShowDevelopmentGui","Disabled","LinkedSource","Source","P","angularvelocity","HeadColor","LeftArmColor","LeftLegColor","RightArmColor","RightLegColor","TorsoColor","force","D","cframe","maxTorque","maxForce","position","location","velocity","Value","CameraSubject","CameraType","CoordinateFrame","Focus","BaseTextureId","BodyPart","MeshId","OverlayTextureId","FrontendMouseClick","MaxActivationDistance","PantsTemplate","ShirtTemplate","BaseUrl","RequestQueueSize","Steer","Throttle","LODX","LODY","Offset","Scale","VertexColor","Bevel","Bulge","MeshType","MaxItems","AltCdnFailureCount","AltCdnSuccessCount","AvailablePhysicalMemory","BlockMeshSize","CPU","CdnFailureCount","CdnSuccessCount","CpuCount","CpuSpeed","DataModel","ElapsedTime","EnforceInstanceCountLimit","ErrorReporting","GfxCard","InstanceCount","InstanceCountLimit","IsFmodProfilingEnabled","IsProfilingEnabled","IsScriptStackTracingEnabled","JobCount","LastCdnFailureTimeSpan","LuaRamLimit","NameDatabaseBytes","NameDatabaseSize","OsPlatformId","OsVer","PageFaultsPerSecond","PageFileBytes","PixelShaderModel","PlayerCount","PrivateBytes","PrivateWorkingSetBytes","ProcessCores","ProcessorTime","ProfilingWindow","RAM","ReportExtendedMachineConfiguration","ReportSoundWarnings","Resolution","RobloxVersion","SignalConnects","SignalFires","SystemProductName","TickCountPreciseOverride","TotalPhysicalMemory","TotalProcessorTime","VertexShaderModel","VideoMemory","VirtualBytes","ConversationDistance","InUse","InitialPrompt","Purpose","Tone","ResponseDialog","UserDialog","ConstrainedValue","MaxValue","MinValue","BlastPressure","BlastRadius","Position","Face","Shiny","Specular","Texture","StudsPerTileU","StudsPerTileV","FaceId","InOut","LeftRight","TopBottom","Color","Heat","SecondaryColor","Description","Timeout","BubbleChatLifetime","BubbleChatMaxBubbles","ChatHistory","ChatScrollLength","CollisionSoundEnabled","CollisionSoundVolume","ImageUploadPromptBehavior","MaxCollisionSounds","SoftwareSound","SoundEnabled","VideoCaptureEnabled","VideoQuality","VideoUploadPromptBehavior","AbsolutePosition","AbsoluteSize","Adornee","ExtentsOffset","Size","SizeOffset","StudsOffset","BackgroundColor","BackgroundTransparency","BorderColor","BorderSizePixel","MouseEnterConnectionCount","MouseLeaveConnectionCount","MouseMovedConnectionCount","SizeConstraint","Visible","ZIndex","Style","AutoButtonColor","Selected","Image","Font","FontSize","Text","TextBounds","TextColor","TextTransparency","TextWrap","TextXAlignment","TextYAlignment","ScaleEdgeSize","SlicePrefix","ClearTextOnFocus","MultiLine","ReplicatingAbsolutePosition","ReplicatingAbsoluteSize","Transparency","Axes","MouseDragConnectionCount","Faces","TargetSurface","Humanoid","Part","Point","Health","Jump","LeftLeg","MaxHealth","PlatformStand","RightLeg","Sit","TargetPoint","Torso","WalkDirection","WalkSpeed","WalkToPart","WalkToPoint","BaseAngle","CurrentAngle","DesiredAngle","MaxVelocity","Hole","Time","Loop","Priority","Ambient","Brightness","GeographicLatitude","ShadowColor","TimeOfDay","DefaultWaitTime","GcFrequency","GcLimit","GcPause","GcStepMul","Hit","Icon","Origin","Target","TargetFilter","UnitRay","ViewSizeX","ViewSizeY","X","Y","Ticket","Port","DataMtuAdjust","ExperimentalPhysicsEnabled","IsQueueErrorComputed","IsThrottledByCongestionControl","IsThrottledByOutgoingBandwidthLimit","MaxDataModelSendBuffer","NetworkOwnerRate","PhysicsMtuAdjust","PhysicsReceive","PhysicsSend","PhysicsSendRate","PreferredClientPort","PrintEvents","PrintInstances","PrintPhysicsErrors","PrintProperties","ReceiveRate","ReportStatURL","ServerLocalScripts","WaitingForCharacterLogRate","Anchored","AlphaModifier","BackParamA","BackParamB","BackSurface","BackSurfaceInput","BottomParamA","BottomParamB","BottomSurface","BottomSurfaceInput","BrickColor","CFrame","CanCollide","Elasticity","Friction","FrontParamA","FrontParamB","FrontSurface","FrontSurfaceInput","LeftParamA","LeftParamB","LeftSurface","LeftSurfaceInput","Locked","Material","Reflectance","ResizeIncrement","ResizableFaces","RightParamA","RightParamB","RightSurface","RightSurfaceInput","RotVelocity","TopParamA","TopParamB","TopSurface","TopSurfaceInput","Velocity","formFactor","Shape","Controller","ControllingHumanoid","MoveState","StickyWheels","AllowTeamChangeOnTouch","Neutral","Sides","AreHingesDetected","HeadsUpDisplay","MaxSpeed","Torque","TurnSpeed","PrimaryPart","CurrentCamera","DistributedGameTime","AllowSweep","AreAnchorsShown","AreAwakePartsHighlighted","AreModelCoordsShown","AreOwnersShown","ArePartCoordsShown","AreRegionsShown","AreUnalignedPartsShown","AreWorldCoordsShown","IsReceiveAgeShown","ParallelPhysics","PhysicsEnviromentalThrottle","AccountAge","AccountAgeReplicate","Character","CharacterAppearance","DataComplexity","DataComplexityLimit","DataReady","MembershipType","SimulationRadius","userId","EnableReplication","IdleConnectionCount","KeyDownConnectionCount","KeyUpConnectionCount","MouseDelta","MouseHit","MouseOrigin","MousePosition","MouseTarget","MouseTargetSurface","MouseTargetFilter","MouseUnitRay","MoveConnectionCount","WheelBackwardConnectionCount","WheelForwardConnectionCount","WindowSize","BubbleChat","ClassicChat","LocalPlayer","MaxPlayers","NumPlayers","MaskWeight","Weight","PlayerGui","Browsable","Deprecated","Preliminary","summary","ExplorerImageIndex","ExplorerOrder","AASamples","AllowAmbientOcclusion","AluminumQuality","AlwaysDrawConnectors","Antialiasing","AutoFRMLevel","BatchSize","Bevels","CompoundMaterialQuality","CorrodedMetalQuality","DebugCullBlockCount","DebugDisableDebriService","DebugFRMCullHumanoids","DebugLogFRMLogVariables","DiamondPlateQuality","EagerBulkExecution","FrameRateManager","GrassQuality","IceQuality","IsAggregationShown","IsSynchronizedWithPhysics","PlasticQuality","QualityLevel","Shadow","ShowBoundingBoxes","SlateQuality","TextureCompositingEnabled","TrussDetail","WoodQuality","graphicsMode","CartoonFactor","MaxThrust","MaxTorque","TargetOffset","TargetRadius","ThrustD","ThrustP","TurnD","TurnP","GarbageCollectionFrequency","GarbageCollectionLimit","ScriptsDisabled","CreatorId","CreatorType","JobId","LocalSaveEnabled","PlaceId","Graphic","SkinColor","CelestialBodiesShown","SkyboxBk","SkyboxDn","SkyboxFt","SkyboxLf","SkyboxRt","SkyboxUp","StarCount","Opacity","RiseVelocity","IsPaused","IsPlaying","Looped","Pitch","PlayCount","PlayOnRemove","SoundId","Volume","AmbientReverb","DistanceFactor","DopplerScale","RolloffScale","SparkleColor","AreArbitersThrottled","BudgetEnforced","Concurrency","NumRunningJobs","NumSleepingJobs","NumWaitingJobs","PriorityMethod","SchedulerDutyCycle","SchedulerRate","SleepAdjustMethod","ThreadAffinity","ThreadPoolConfig","ThreadPoolSize","ThrottledJobSleepTime","AutoAssignable","AutoColorCharacters","Score","MouseLock","ControlMode"} | |
544 | ||
545 | local function Explore(Player,Children) | |
546 | Dismiss(Player) | |
547 | for _,v in next,Children do | |
548 | pcall(function() | |
549 | MakeTablet( | |
550 | v.Name, | |
551 | function() | |
552 | pcall(function() | |
553 | Dismiss(Player) | |
554 | MakeTablet("Viewing: "..v.Name,nil,Player) | |
555 | MakeTablet("Go back",function()Explore(Player,v.Parent:GetChildren())end,Player,"Lime green") | |
556 | for _,x in next,Properties do | |
557 | pcall(function() | |
558 | if not v:FindFirstChild(x) then | |
559 | MakeTablet(x..": "..tostring(v[x]),nil,Player) | |
560 | end | |
561 | end) | |
562 | end | |
563 | MakeTablet( | |
564 | "Destroy", | |
565 | function(Tab) | |
566 | local Success = pcall(function() | |
567 | local Children = v.Parent:GetChildren() | |
568 | if v:IsA("Player") then | |
569 | Kick(v,"Sorry, someone used Thawing Fire's explorer to remove you.") | |
570 | else | |
571 | v:Destroy() | |
572 | end | |
573 | Explore(Player,Children) | |
574 | end) | |
575 | if not Success then | |
576 | Tab.TabletGui.TabletLabel.Text = "Cannot destroy this" | |
577 | wait(1) | |
578 | Tab.TabletGui.TabletLabel.Text = "Destroy" | |
579 | end | |
580 | end, | |
581 | Player, | |
582 | "Hot pink" | |
583 | ) | |
584 | MakeTablet("Viewing: "..v.Name,nil,Player) | |
585 | MakeTablet( | |
586 | "Explore more", | |
587 | function(Tab) | |
588 | if #v:GetChildren() >= 1 then | |
589 | Explore(Player,v:GetChildren()) | |
590 | else | |
591 | Tab.TabletGui.TabletLabel.Text = "Has no children" | |
592 | wait(1) | |
593 | Tab.TabletGui.TabletLabel.Text = "Explore more" | |
594 | end | |
595 | end, | |
596 | Player, | |
597 | "Really red" | |
598 | ) | |
599 | end) | |
600 | end, | |
601 | Player | |
602 | ) | |
603 | end) | |
604 | end | |
605 | end | |
606 | ||
607 | AddCmd( | |
608 | "kill", | |
609 | "[Prefix]kill player", | |
610 | "Kills player", | |
611 | 3, | |
612 | function(Speaker,Message) | |
613 | if CheckRank(Speaker,3) then | |
614 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
615 | for _,v in next,FoundPlayers do | |
616 | if v.Character then | |
617 | v.Character:BreakJoints() | |
618 | end | |
619 | end | |
620 | else | |
621 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
622 | end | |
623 | end | |
624 | ) | |
625 | ||
626 | AddCmd( | |
627 | "respawn", | |
628 | "[Prefix]respawn player", | |
629 | "Respawns player", | |
630 | 1, | |
631 | function(Speaker,Message) | |
632 | if CheckRank(Speaker,1) then | |
633 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
634 | for _,v in next,FoundPlayers do | |
635 | v.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId="..v.userId.."&placeId="..tostring(game.PlaceId) | |
636 | v:LoadCharacter() | |
637 | end | |
638 | else | |
639 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
640 | end | |
641 | end | |
642 | ) | |
643 | ||
644 | AddCmd( | |
645 | "ws", | |
646 | "[Prefix]ws player 99", | |
647 | "Makes players walkspeed 99", | |
648 | 1, | |
649 | function(Speaker,Message) | |
650 | if CheckRank(Speaker,1) and #Split(Message) >= 3 then | |
651 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
652 | for _,v in next,FoundPlayers do | |
653 | if v.Character then | |
654 | v.Character.Humanoid.WalkSpeed = Split(Message)[3] | |
655 | end | |
656 | end | |
657 | else | |
658 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
659 | end | |
660 | end | |
661 | ) | |
662 | ||
663 | AddCmd( | |
664 | "msg", | |
665 | "[Prefix]msg text", | |
666 | "Gives everyone a custom message, with text.", | |
667 | 1, | |
668 | function(Speaker,Message) | |
669 | if CheckRank(Speaker,1) then | |
670 | local FoundPlayers = Players:GetPlayers() | |
671 | for _,v in next,FoundPlayers do | |
672 | if v.PlayerGui then | |
673 | SendMessage(v,"From: "..Speaker.Name,table.concat(Split(Message)," ",2)) | |
674 | end | |
675 | end | |
676 | else | |
677 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
678 | end | |
679 | end | |
680 | ) | |
681 | ||
682 | AddCmd( | |
683 | "tp", | |
684 | "[Prefix]tp player1 player2", | |
685 | "Teleports player1 to player2", | |
686 | 1, | |
687 | function(Speaker,Message) | |
688 | if CheckRank(Speaker,1) and #Split(Message) >= 3 then | |
689 | local Players1 = FindPlayers(Speaker,Split(Message)[2]) | |
690 | local Player2 = FindPlayers(Speaker,Split(Message)[3])[1] | |
691 | for i,v in next,Players1 do | |
692 | if v.Character and Player2.Character then | |
693 | v.Character.Torso.CFrame = Player2.Character.Torso.CFrame*CFrame.new(0,5*i,0) | |
694 | end | |
695 | end | |
696 | else | |
697 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
698 | end | |
699 | end | |
700 | ) | |
701 | ||
702 | AddCmd( | |
703 | "dt", | |
704 | "[Prefix]dt", | |
705 | "Dismisses all tablets", | |
706 | 0, | |
707 | function(Speaker) | |
708 | Dismiss(Speaker) | |
709 | end | |
710 | ) | |
711 | ||
712 | AddCmd( | |
713 | "kick", | |
714 | "[Prefix]kick player", | |
715 | "Kicks player", | |
716 | 3, | |
717 | function(Speaker,Message) | |
718 | if CheckRank(Speaker,3) then | |
719 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
720 | for _,v in next,FoundPlayers do | |
721 | for _,x in next,Players:GetPlayers() do | |
722 | if CheckRank(x,1) and x.Name ~= Speaker.Name then | |
723 | MakeTablet(v.Name.." has been kicked by: "..Speaker.Name,nil,x,"Really red") | |
724 | elseif CheckRank(x,1) then | |
725 | MakeTablet("Kicked "..v.Name.."!",nil,x,"Really red") | |
726 | end | |
727 | end | |
728 | Kick(v,"You have been kicked by Thawing Fire") | |
729 | end | |
730 | else | |
731 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
732 | end | |
733 | end | |
734 | ) | |
735 | ||
736 | AddCmd( | |
737 | "ban", | |
738 | "[Prefix]ban player [reason]", | |
739 | "Bans player, with the reason being [reason]", | |
740 | 3, | |
741 | function(Speaker,Message) | |
742 | if CheckRank(Speaker,3) and #Split(Message) >= 3 then | |
743 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
744 | for _,v in next,FoundPlayers do | |
745 | for _,x in next,Players:GetPlayers() do | |
746 | if CheckRank(x,1) and x.Name ~= Speaker.Name then | |
747 | MakeTablet(v.Name.." has been banned by: "..Speaker.Name,nil,x,"Really red") | |
748 | elseif CheckRank(x,1) then | |
749 | MakeTablet("Banned "..v.Name.."!",nil,x,"Really red") | |
750 | end | |
751 | end | |
752 | table.insert(Banned,{Name = v.Name,Reason = Split(Message)[3]}) | |
753 | Kick(v,"You have been banned by Thawing Fire") | |
754 | end | |
755 | else | |
756 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
757 | end | |
758 | end | |
759 | ) | |
760 | ||
761 | AddCmd( | |
762 | "unban", | |
763 | "[Prefix]unban player", | |
764 | "Unbans player", | |
765 | 3, | |
766 | function(Speaker,Message) | |
767 | if CheckRank(Speaker,3) then | |
768 | local String = Split(Message)[2]:lower() | |
769 | if String == "all" then | |
770 | for i,_ in next,Banned do | |
771 | Banned[i] = nil | |
772 | end | |
773 | end | |
774 | for i,v in next,Banned do | |
775 | if v.Name:sub(1,#String):lower() == String then | |
776 | Banned[i] = nil | |
777 | end | |
778 | end | |
779 | else | |
780 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
781 | end | |
782 | end | |
783 | ) | |
784 | ||
785 | AddCmd( | |
786 | "dtall", | |
787 | "[Prefix]dtall", | |
788 | "Dismisses all tablets (for everyone)", | |
789 | 2, | |
790 | function(Speaker) | |
791 | if CheckRank(Speaker,2) then | |
792 | for _,v in next,Players:GetPlayers() do | |
793 | Dismiss(v) | |
794 | end | |
795 | else | |
796 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
797 | end | |
798 | end | |
799 | ) | |
800 | ||
801 | AddCmd( | |
802 | "cmds", | |
803 | "[Prefix]cmds", | |
804 | "Shows a list of commands", | |
805 | 1, | |
806 | function(Speaker) | |
807 | if CheckRank(Speaker,1) then | |
808 | ShowCommands(Speaker) | |
809 | else | |
810 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
811 | end | |
812 | end | |
813 | ) | |
814 | ||
815 | AddCmd( | |
816 | "blist", | |
817 | "[Prefix]blist", | |
818 | "Shows a list of banned players", | |
819 | 2, | |
820 | function(Speaker) | |
821 | if CheckRank(Speaker,2) then | |
822 | ShowBanned(Speaker) | |
823 | else | |
824 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
825 | end | |
826 | end | |
827 | ) | |
828 | ||
829 | AddCmd( | |
830 | "setrank", | |
831 | "[Prefix]setrank player [x]", | |
832 | "Makes players rank [x]. If 0, it will unadmin them", | |
833 | 2, | |
834 | function(Speaker,Message) | |
835 | if CheckRank(Speaker,2) and #Split(Message) >= 3 then | |
836 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
837 | local NewRank = tonumber(Split(Message)[3]) | |
838 | if NewRank then | |
839 | for _,v in next,FoundPlayers do | |
840 | if v.Name ~= Speaker.Name then | |
841 | if NewRank >= 1 then | |
842 | table.insert(Admins,{Name = v.Name,Rank = NewRank}) | |
843 | MakeTablet("You are now rank: "..NewRank..", say /cmds",nil,v,"Hot pink") | |
844 | else | |
845 | for i,_ in next,Admins do | |
846 | if Admins[i].Name == v.Name then | |
847 | table.remove(Admins,i) | |
848 | end | |
849 | end | |
850 | MakeTablet("You have lost your admin",nil,v,"Really red") | |
851 | end | |
852 | else | |
853 | MakeTablet("You cannot rank yourself. Cheater!",nil,Speaker,"Really red") | |
854 | end | |
855 | end | |
856 | end | |
857 | else | |
858 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
859 | end | |
860 | end | |
861 | ) | |
862 | ||
863 | AddCmd( | |
864 | "viewranks", | |
865 | "[Prefix]viewranks", | |
866 | "Shows all peoples ranks, if they have a rank", | |
867 | 2, | |
868 | function(Speaker,Message) | |
869 | if CheckRank(Speaker,2) then | |
870 | ShowRanks(Speaker) | |
871 | else | |
872 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
873 | end | |
874 | end | |
875 | ) | |
876 | ||
877 | AddCmd( | |
878 | "tcolor", | |
879 | "[Prefix]tcolor Really red", | |
880 | "Makes your tablet color Really red (No Color3 values)", | |
881 | 0, | |
882 | function(Speaker,Message) | |
883 | if #Split(Message) >= 2 then | |
884 | if Speaker:FindFirstChild("Color") then | |
885 | Speaker.Color.Value = table.concat(Split(Message)," ",2) | |
886 | for _,Child in next,workspace:GetChildren() do | |
887 | if Child.Name == "[Tablets] "..Speaker.Name then | |
888 | for _,v in next,Child:GetChildren() do | |
889 | if v.Name == "Tablet" and v.TabletGui.TabletLabel.Text ~= "Go back" then | |
890 | v.BrickColor = BrickColor.new(table.concat(Split(Message)," ",2)) | |
891 | v.TabletBox.Color = BrickColor.new(table.concat(Split(Message)," ",2)) | |
892 | end | |
893 | end | |
894 | end | |
895 | end | |
896 | end | |
897 | else | |
898 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
899 | end | |
900 | end | |
901 | ) | |
902 | ||
903 | AddCmd( | |
904 | "nuke", | |
905 | "[Prefix]nuke player", | |
906 | "Nukes a player", | |
907 | 3, | |
908 | function(Speaker,Message) | |
909 | if CheckRank(Speaker,3) then | |
910 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
911 | for _,v in next,FoundPlayers do | |
912 | if v.Character then | |
913 | local NukePart = Instance.new("Part",workspace) | |
914 | NukePart.BrickColor = BrickColor.new("Deep orange") | |
915 | NukePart.Transparency = .5 | |
916 | NukePart.Size = Vector3.new(1,1,1) | |
917 | NukePart.Shape = Enum.PartType.Ball | |
918 | NukePart.CFrame = v.Character.Torso.CFrame | |
919 | NukePart.Anchored = true | |
920 | NukePart.Locked = true | |
921 | NukePart.CanCollide = false | |
922 | NukePart.TopSurface = Enum.SurfaceType.Smooth | |
923 | NukePart.BottomSurface = Enum.SurfaceType.Smooth | |
924 | game:GetService("Debris"):AddItem(NukePart,8) | |
925 | coroutine.wrap(function() | |
926 | local Debounce | |
927 | NukePart.Touched:connect(function(Hit) | |
928 | if Players:GetPlayerFromCharacter(Hit.Parent) and Hit.Parent.Name == v.Character.Name and not Debounce then | |
929 | Debounce = true | |
930 | Hit.Parent:BreakJoints() | |
931 | Hit.Anchored = true | |
932 | wait(8) | |
933 | Debounce = false | |
934 | end | |
935 | end) | |
936 | for i = 1,250 do | |
937 | NukePart.Size = Vector3.new(i,i,i) | |
938 | NukePart.CFrame = v.Character.Torso.CFrame | |
939 | Instance.new("Explosion",workspace).Position = v.Character.Torso.CFrame.p + Vector3.new(math.random(-100,100),math.random(-12,12),math.random(-100,100)) | |
940 | wait() | |
941 | end | |
942 | end)() | |
943 | end | |
944 | end | |
945 | else | |
946 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
947 | end | |
948 | end | |
949 | ) | |
950 | ||
951 | AddCmd( | |
952 | "ff", | |
953 | "[Prefix]ff player", | |
954 | "Gives player a forcefield", | |
955 | 1, | |
956 | function(Speaker,Message) | |
957 | if CheckRank(Speaker,1) then | |
958 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
959 | for _,v in next,FoundPlayers do | |
960 | if v.Character then | |
961 | Instance.new("ForceField",v.Character) | |
962 | end | |
963 | end | |
964 | else | |
965 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
966 | end | |
967 | end | |
968 | ) | |
969 | ||
970 | AddCmd( | |
971 | "smoke", | |
972 | "[Prefix]smoke player", | |
973 | "Gives player smoke", | |
974 | 1, | |
975 | function(Speaker,Message) | |
976 | if CheckRank(Speaker,1) then | |
977 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
978 | for _,v in next,FoundPlayers do | |
979 | if v.Character then | |
980 | Instance.new("Smoke",v.Character.Torso) | |
981 | Instance.new("Smoke",v.Character.Head) | |
982 | end | |
983 | end | |
984 | else | |
985 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
986 | end | |
987 | end | |
988 | ) | |
989 | ||
990 | AddCmd( | |
991 | "fire", | |
992 | "[Prefix]fire player", | |
993 | "Gives player fire", | |
994 | 1, | |
995 | function(Speaker,Message) | |
996 | if CheckRank(Speaker,1) then | |
997 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
998 | for _,v in next,FoundPlayers do | |
999 | if v.Character then | |
1000 | Instance.new("Fire",v.Character.Torso) | |
1001 | Instance.new("Fire",v.Character.Head) | |
1002 | end | |
1003 | end | |
1004 | else | |
1005 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1006 | end | |
1007 | end | |
1008 | ) | |
1009 | ||
1010 | AddCmd( | |
1011 | "sparkles", | |
1012 | "[Prefix]sparkles player", | |
1013 | "Gives player sparkles", | |
1014 | 1, | |
1015 | function(Speaker,Message) | |
1016 | if CheckRank(Speaker,1) then | |
1017 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1018 | for _,v in next,FoundPlayers do | |
1019 | if v.Character then | |
1020 | Instance.new("Sparkles",v.Character.Torso) | |
1021 | Instance.new("Sparkles",v.Character.Head) | |
1022 | end | |
1023 | end | |
1024 | else | |
1025 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1026 | end | |
1027 | end | |
1028 | ) | |
1029 | ||
1030 | AddCmd( | |
1031 | "unff", | |
1032 | "[Prefix]unff player", | |
1033 | "Takes away players forcefield", | |
1034 | 1, | |
1035 | function(Speaker,Message) | |
1036 | if CheckRank(Speaker,1) then | |
1037 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1038 | for _,v in next,FoundPlayers do | |
1039 | if v.Character then | |
1040 | for _,v in next,v.Character:GetChildren() do | |
1041 | if v:IsA("ForceField") then | |
1042 | v:Destroy() | |
1043 | end | |
1044 | end | |
1045 | end | |
1046 | end | |
1047 | else | |
1048 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1049 | end | |
1050 | end | |
1051 | ) | |
1052 | ||
1053 | AddCmd( | |
1054 | "unfire", | |
1055 | "[Prefix]unfire player", | |
1056 | "Takes away players fire", | |
1057 | 1, | |
1058 | function(Speaker,Message) | |
1059 | if CheckRank(Speaker,1) then | |
1060 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1061 | for _,v in next,FoundPlayers do | |
1062 | if v.Character then | |
1063 | local Pathways = {v.Character.Head:GetChildren(),v.Character.Torso:GetChildren()} | |
1064 | for _,v in next,Pathways do | |
1065 | for _,x in next,v do | |
1066 | if x:IsA("Fire") then | |
1067 | x:Destroy() | |
1068 | end | |
1069 | end | |
1070 | end | |
1071 | end | |
1072 | end | |
1073 | else | |
1074 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1075 | end | |
1076 | end | |
1077 | ) | |
1078 | ||
1079 | AddCmd( | |
1080 | "unsmoke", | |
1081 | "[Prefix]unsmoke player", | |
1082 | "Takes away players smoke", | |
1083 | 1, | |
1084 | function(Speaker,Message) | |
1085 | if CheckRank(Speaker,1) then | |
1086 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1087 | for _,v in next,FoundPlayers do | |
1088 | if v.Character then | |
1089 | local Pathways = {v.Character.Head:GetChildren(),v.Character.Torso:GetChildren()} | |
1090 | for _,v in next,Pathways do | |
1091 | for _,x in next,v do | |
1092 | if x:IsA("Smoke") then | |
1093 | x:Destroy() | |
1094 | end | |
1095 | end | |
1096 | end | |
1097 | end | |
1098 | end | |
1099 | else | |
1100 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1101 | end | |
1102 | end | |
1103 | ) | |
1104 | ||
1105 | AddCmd( | |
1106 | "unsparkles", | |
1107 | "[Prefix]unsparkles player", | |
1108 | "Takes away players sparkles", | |
1109 | 1, | |
1110 | function(Speaker,Message) | |
1111 | if CheckRank(Speaker,1) then | |
1112 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1113 | for _,v in next,FoundPlayers do | |
1114 | if v.Character then | |
1115 | local Pathways = {v.Character.Head:GetChildren(),v.Character.Torso:GetChildren()} | |
1116 | for _,v in next,Pathways do | |
1117 | for _,x in next,v do | |
1118 | if x:IsA("Sparkles") then | |
1119 | x:Destroy() | |
1120 | end | |
1121 | end | |
1122 | end | |
1123 | end | |
1124 | end | |
1125 | else | |
1126 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1127 | end | |
1128 | end | |
1129 | ) | |
1130 | ||
1131 | AddCmd( | |
1132 | "punish", | |
1133 | "[Prefix]punish player", | |
1134 | "Punishes player, by removing player's character", | |
1135 | 2, | |
1136 | function(Speaker,Message) | |
1137 | if CheckRank(Speaker,2) then | |
1138 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1139 | for _,v in next,FoundPlayers do | |
1140 | if v.Character then | |
1141 | v.Character.Parent = game:GetService("ServerStorage") | |
1142 | end | |
1143 | end | |
1144 | else | |
1145 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1146 | end | |
1147 | end | |
1148 | ) | |
1149 | ||
1150 | AddCmd( | |
1151 | "explode", | |
1152 | "[Prefix]explode player", | |
1153 | "Explodes player.", | |
1154 | 3, | |
1155 | function(Speaker,Message) | |
1156 | if CheckRank(Speaker,3) then | |
1157 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1158 | for _,v in next,FoundPlayers do | |
1159 | if v.Character then | |
1160 | Instance.new("Explosion",v.Character).Position = v.Character.Torso.CFrame.p | |
1161 | end | |
1162 | end | |
1163 | else | |
1164 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1165 | end | |
1166 | end | |
1167 | ) | |
1168 | ||
1169 | AddCmd( | |
1170 | "unpunish", | |
1171 | "[Prefix]unpunish player", | |
1172 | "Unpunishes player, by giving back player's character", | |
1173 | 2, | |
1174 | function(Speaker,Message) | |
1175 | if CheckRank(Speaker,2) then | |
1176 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1177 | for _,v in next,FoundPlayers do | |
1178 | if v.Character then | |
1179 | v.Character.Parent = workspace | |
1180 | end | |
1181 | end | |
1182 | else | |
1183 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1184 | end | |
1185 | end | |
1186 | ) | |
1187 | ||
1188 | AddCmd( | |
1189 | "freeze", | |
1190 | "[Prefix]freeze player", | |
1191 | "Makes it so that player cannot move, with an ice block", | |
1192 | 2, | |
1193 | function(Speaker,Message) | |
1194 | if CheckRank(Speaker,2) then | |
1195 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1196 | for _,v in next,FoundPlayers do | |
1197 | if v.Character then | |
1198 | local IceBlock = Instance.new("Part",v.Character) | |
1199 | IceBlock.BrickColor = BrickColor.new("Cyan") | |
1200 | IceBlock.Transparency = .5 | |
1201 | IceBlock.Name = "IceBlock" | |
1202 | IceBlock.FormFactor = Enum.FormFactor.Symmetric | |
1203 | IceBlock.Size = Vector3.new(4,10,4) | |
1204 | IceBlock.CFrame = v.Character.Torso.CFrame | |
1205 | IceBlock.Anchored = true | |
1206 | IceBlock.CanCollide = false | |
1207 | IceBlock.Locked = true | |
1208 | IceBlock.BottomSurface = Enum.SurfaceType.Smooth | |
1209 | IceBlock.TopSurface = Enum.SurfaceType.Smooth | |
1210 | for _,x in next,v.Character:GetChildren() do | |
1211 | if x:IsA("BasePart") then | |
1212 | x.Anchored = true | |
1213 | end | |
1214 | end | |
1215 | end | |
1216 | end | |
1217 | else | |
1218 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1219 | end | |
1220 | end | |
1221 | ) | |
1222 | ||
1223 | AddCmd( | |
1224 | "thaw", | |
1225 | "[Prefix]thaw player", | |
1226 | "Makes it so that player can move, by removing the ice block", | |
1227 | 2, | |
1228 | function(Speaker,Message) | |
1229 | if CheckRank(Speaker,2) then | |
1230 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1231 | for _,v in next,FoundPlayers do | |
1232 | if v.Character then | |
1233 | for _,x in next,v.Character:GetChildren() do | |
1234 | if x:IsA("BasePart") then | |
1235 | x.Anchored = false | |
1236 | if x.Name == "IceBlock" then | |
1237 | x:Destroy() | |
1238 | end | |
1239 | end | |
1240 | end | |
1241 | end | |
1242 | end | |
1243 | else | |
1244 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1245 | end | |
1246 | end | |
1247 | ) | |
1248 | ||
1249 | AddCmd( | |
1250 | "sd", | |
1251 | "[Prefix]sd", | |
1252 | "Shuts down the server", | |
1253 | 3, | |
1254 | function(Speaker,Message) | |
1255 | if CheckRank(Speaker,3) then | |
1256 | for _,v in next,Players:GetPlayers() do | |
1257 | Kick(v,"Thawing Fire, shutting down! Sorry!") | |
1258 | end | |
1259 | else | |
1260 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1261 | end | |
1262 | end | |
1263 | ) | |
1264 | ||
1265 | AddCmd( | |
1266 | "ping", | |
1267 | "[Prefix]ping text", | |
1268 | "Makes a tablet around you, with text", | |
1269 | 1, | |
1270 | function(Speaker,Message) | |
1271 | if CheckRank(Speaker,1) then | |
1272 | MakeTablet(table.concat(Split(Message)," ",2),nil,Speaker) | |
1273 | else | |
1274 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1275 | end | |
1276 | end | |
1277 | ) | |
1278 | ||
1279 | AddCmd( | |
1280 | "pe", | |
1281 | "[Prefix]pe player ID", | |
1282 | "Makes a particle emitter in player, with ID as its TextureID", | |
1283 | 1, | |
1284 | function(Speaker,Message) | |
1285 | if CheckRank(Speaker,1) and #Split(Message) >= 3 then | |
1286 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1287 | for _,v in next,FoundPlayers do | |
1288 | local ID = Split(Message)[3] | |
1289 | if v.Character and ID then | |
1290 | pcall(function() | |
1291 | local ParticleEmitter = Instance.new("ParticleEmitter",v.Character.Head) | |
1292 | ParticleEmitter.Texture = "http://www.roblox.com/asset/?id="..ID-1 | |
1293 | ParticleEmitter:Clone().Parent = v.Character.Torso | |
1294 | end) | |
1295 | end | |
1296 | end | |
1297 | else | |
1298 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1299 | end | |
1300 | end | |
1301 | ) | |
1302 | ||
1303 | AddCmd( | |
1304 | "unpe", | |
1305 | "[Prefix]unpe player", | |
1306 | "Takes away players Particle Emitter", | |
1307 | 1, | |
1308 | function(Speaker,Message) | |
1309 | if CheckRank(Speaker,1) then | |
1310 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1311 | for _,v in next,FoundPlayers do | |
1312 | if v.Character then | |
1313 | local Pathways = {v.Character.Head:GetChildren(),v.Character.Torso:GetChildren()} | |
1314 | for _,v in next,Pathways do | |
1315 | for _,x in next,v do | |
1316 | if x:IsA("ParticleEmitter") then | |
1317 | x:Destroy() | |
1318 | end | |
1319 | end | |
1320 | end | |
1321 | end | |
1322 | end | |
1323 | else | |
1324 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1325 | end | |
1326 | end | |
1327 | ) | |
1328 | ||
1329 | AddCmd( | |
1330 | "blind", | |
1331 | "[Prefix]blind player", | |
1332 | "Blinds player", | |
1333 | 3, | |
1334 | function(Speaker,Message) | |
1335 | if CheckRank(Speaker,3) then | |
1336 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1337 | for _,v in next,FoundPlayers do | |
1338 | if v.PlayerGui then | |
1339 | local BlindGui = Instance.new("ScreenGui",v.PlayerGui) | |
1340 | BlindGui.Name = "BlindGui" | |
1341 | local BlindFrame = Instance.new("Frame",BlindGui) | |
1342 | BlindFrame.Name = "BlindFrame" | |
1343 | BlindFrame.Size = UDim2.new(1,0,1,0) | |
1344 | end | |
1345 | end | |
1346 | else | |
1347 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1348 | end | |
1349 | end | |
1350 | ) | |
1351 | ||
1352 | AddCmd( | |
1353 | "strobe", | |
1354 | "[Prefix]strobe player", | |
1355 | "Strobes player", | |
1356 | 3, | |
1357 | function(Speaker,Message) | |
1358 | if CheckRank(Speaker,3) then | |
1359 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1360 | for _,v in next,FoundPlayers do | |
1361 | if v.PlayerGui then | |
1362 | local StrobeGui = Instance.new("ScreenGui",v.PlayerGui) | |
1363 | StrobeGui.Name = "StrobeGui" | |
1364 | local StrobeFrame = Instance.new("Frame",StrobeGui) | |
1365 | StrobeFrame.Name = "StrobeFrame" | |
1366 | StrobeFrame.Size = UDim2.new(1,0,1,0) | |
1367 | StrobeFrame.BackgroundColor3 = Color3.new(1,1,1) | |
1368 | coroutine.wrap(function() | |
1369 | while wait(.065) do | |
1370 | StrobeFrame.BackgroundColor3 = Color3.new(0,0,0) | |
1371 | wait(.065) | |
1372 | StrobeFrame.BackgroundColor3 = Color3.new(1,1,1) | |
1373 | end | |
1374 | end)() | |
1375 | end | |
1376 | end | |
1377 | else | |
1378 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1379 | end | |
1380 | end | |
1381 | ) | |
1382 | ||
1383 | AddCmd( | |
1384 | "unblind", | |
1385 | "[Prefix]unblind player", | |
1386 | "Unblinds player", | |
1387 | 3, | |
1388 | function(Speaker,Message) | |
1389 | if CheckRank(Speaker,3) then | |
1390 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1391 | for _,v in next,FoundPlayers do | |
1392 | if v.PlayerGui then | |
1393 | for _,v in next,v.PlayerGui:GetChildren() do | |
1394 | if v.Name == "BlindGui" then | |
1395 | v:Destroy() | |
1396 | end | |
1397 | end | |
1398 | end | |
1399 | end | |
1400 | else | |
1401 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1402 | end | |
1403 | end | |
1404 | ) | |
1405 | ||
1406 | AddCmd( | |
1407 | "unstrobe", | |
1408 | "[Prefix]unstrobe player", | |
1409 | "Unstrobes player", | |
1410 | 3, | |
1411 | function(Speaker,Message) | |
1412 | if CheckRank(Speaker,3) then | |
1413 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1414 | for _,v in next,FoundPlayers do | |
1415 | if v.PlayerGui then | |
1416 | for _,v in next,v.PlayerGui:GetChildren() do | |
1417 | if v.Name == "StrobeGui" then | |
1418 | v:Destroy() | |
1419 | end | |
1420 | end | |
1421 | end | |
1422 | end | |
1423 | else | |
1424 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1425 | end | |
1426 | end | |
1427 | ) | |
1428 | ||
1429 | AddCmd( | |
1430 | "hint", | |
1431 | "[Prefix]hint text", | |
1432 | "Sends a custom hint to all players, with text", | |
1433 | 1, | |
1434 | function(Speaker,Message) | |
1435 | if CheckRank(Speaker,1) then | |
1436 | local FoundPlayers = Players:GetPlayers() | |
1437 | for _,v in next,FoundPlayers do | |
1438 | if v.PlayerGui then | |
1439 | SendHint(v,"From: "..Speaker.Name,table.concat(Split(Message)," ",2)) | |
1440 | end | |
1441 | end | |
1442 | else | |
1443 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1444 | end | |
1445 | end | |
1446 | ) | |
1447 | ||
1448 | AddCmd( | |
1449 | "smsg", | |
1450 | "[Prefix]smsg text", | |
1451 | "Sends a custom system message to all players, with text", | |
1452 | 2, | |
1453 | function(Speaker,Message) | |
1454 | if CheckRank(Speaker,2) then | |
1455 | local FoundPlayers = Players:GetPlayers() | |
1456 | for _,v in next,FoundPlayers do | |
1457 | if v.PlayerGui then | |
1458 | SendMessage(v,"[SYSTEM MSG]",table.concat(Split(Message)," ",2)) | |
1459 | end | |
1460 | end | |
1461 | else | |
1462 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1463 | end | |
1464 | end | |
1465 | ) | |
1466 | ||
1467 | AddCmd( | |
1468 | "shint", | |
1469 | "[Prefix]shint text", | |
1470 | "Sends a custom system hint to all players, with text", | |
1471 | 2, | |
1472 | function(Speaker,Message) | |
1473 | if CheckRank(Speaker,2) then | |
1474 | local FoundPlayers = Players:GetPlayers() | |
1475 | for _,v in next,FoundPlayers do | |
1476 | if v.PlayerGui then | |
1477 | SendHint(v,"[SYSTEM HINT]",table.concat(Split(Message)," ",2)) | |
1478 | end | |
1479 | end | |
1480 | else | |
1481 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1482 | end | |
1483 | end | |
1484 | ) | |
1485 | ||
1486 | AddCmd( | |
1487 | "pmsg", | |
1488 | "[Prefix]pmsg player text", | |
1489 | "Sends a custom message to player ONLY, with text", | |
1490 | 1, | |
1491 | function(Speaker,Message) | |
1492 | if CheckRank(Speaker,1) then | |
1493 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1494 | for _,v in next,FoundPlayers do | |
1495 | if v.PlayerGui then | |
1496 | SendMessage(v,"PM, From: "..Speaker.Name,table.concat(Split(Message)," ",3)) | |
1497 | end | |
1498 | end | |
1499 | else | |
1500 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1501 | end | |
1502 | end | |
1503 | ) | |
1504 | ||
1505 | AddCmd( | |
1506 | "phint", | |
1507 | "[Prefix]phint player text", | |
1508 | "Sends a custom hint to player ONLY, with text", | |
1509 | 1, | |
1510 | function(Speaker,Message) | |
1511 | if CheckRank(Speaker,1) then | |
1512 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1513 | for _,v in next,FoundPlayers do | |
1514 | if v.PlayerGui then | |
1515 | SendHint(v,"PH, From: "..Speaker.Name,table.concat(Split(Message)," ",3)) | |
1516 | end | |
1517 | end | |
1518 | else | |
1519 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1520 | end | |
1521 | end | |
1522 | ) | |
1523 | ||
1524 | AddCmd( | |
1525 | "clean", | |
1526 | "[Prefix]clean", | |
1527 | "Cleans the workspace", | |
1528 | 2, | |
1529 | function(Speaker,Message) | |
1530 | if CheckRank(Speaker,2) then | |
1531 | for _,v in next,workspace:GetChildren() do | |
1532 | pcall(function() | |
1533 | if v.Name ~= script.Name and not v.Name:lower():match("camera") and not v.Name:match("[Tablets] ") then | |
1534 | v:Destroy() | |
1535 | end | |
1536 | end) | |
1537 | end | |
1538 | local Base = Instance.new("SpawnLocation",workspace) | |
1539 | Base.BrickColor = BrickColor.new("Bright green") | |
1540 | Base.Name = "Baseplate" | |
1541 | Base.FormFactor = Enum.FormFactor.Symmetric | |
1542 | Base.Size = Vector3.new(2048,1,2048) | |
1543 | Base.CFrame = CFrame.new(0,0,0) | |
1544 | Base.Anchored = true | |
1545 | Base.Locked = true | |
1546 | for _,v in next,Players:GetPlayers() do | |
1547 | v:LoadCharacter() | |
1548 | end | |
1549 | else | |
1550 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1551 | end | |
1552 | end | |
1553 | ) | |
1554 | ||
1555 | AddCmd( | |
1556 | "base", | |
1557 | "[Prefix]base", | |
1558 | "Creates a new baseplate", | |
1559 | 1, | |
1560 | function(Speaker,Message) | |
1561 | if CheckRank(Speaker,1) then | |
1562 | local Base = Instance.new("SpawnLocation",workspace) | |
1563 | Base.BrickColor = BrickColor.new("Bright green") | |
1564 | Base.Name = "Baseplate" | |
1565 | Base.FormFactor = Enum.FormFactor.Symmetric | |
1566 | Base.Size = Vector3.new(2048,1,2048) | |
1567 | Base.CFrame = CFrame.new(0,0,0) | |
1568 | Base.Anchored = true | |
1569 | Base.Locked = true | |
1570 | else | |
1571 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1572 | end | |
1573 | end | |
1574 | ) | |
1575 | ||
1576 | AddCmd( | |
1577 | "bhead", | |
1578 | "[Prefix]bhead player", | |
1579 | "Makes player's head big", | |
1580 | 1, | |
1581 | function(Speaker,Message) | |
1582 | if CheckRank(Speaker,1) then | |
1583 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1584 | for _,v in next,FoundPlayers do | |
1585 | if v.Character then | |
1586 | local Mesh = v.Character.Head.Mesh | |
1587 | Mesh.Scale = Vector3.new(2.5,2.5,2.5) | |
1588 | Mesh.Offset = Vector3.new(0,.75,0) | |
1589 | end | |
1590 | end | |
1591 | else | |
1592 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1593 | end | |
1594 | end | |
1595 | ) | |
1596 | ||
1597 | AddCmd( | |
1598 | "mhead", | |
1599 | "[Prefix]mhead player", | |
1600 | "Makes player's head mini", | |
1601 | 1, | |
1602 | function(Speaker,Message) | |
1603 | if CheckRank(Speaker,1) then | |
1604 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1605 | for _,v in next,FoundPlayers do | |
1606 | if v.Character then | |
1607 | local Mesh = v.Character.Head.Mesh | |
1608 | Mesh.Scale = Vector3.new(.625,.625,.625) | |
1609 | Mesh.Offset = Vector3.new(0,-.25,0) | |
1610 | end | |
1611 | end | |
1612 | else | |
1613 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1614 | end | |
1615 | end | |
1616 | ) | |
1617 | ||
1618 | AddCmd( | |
1619 | "nhead", | |
1620 | "[Prefix]nhead player", | |
1621 | "Makes player's head normal", | |
1622 | 1, | |
1623 | function(Speaker,Message) | |
1624 | if CheckRank(Speaker,1) then | |
1625 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1626 | for _,v in next,FoundPlayers do | |
1627 | if v.Character then | |
1628 | for _,v in next,v.Character:GetChildren() do | |
1629 | if v:IsA("Hat") then | |
1630 | v.Handle.Transparency = 0 | |
1631 | end | |
1632 | end | |
1633 | local Mesh = v.Character.Head.Mesh | |
1634 | Mesh.Scale = Vector3.new(1.25,1.25,1.25) | |
1635 | Mesh.Offset = Vector3.new(0,0,0) | |
1636 | end | |
1637 | end | |
1638 | else | |
1639 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1640 | end | |
1641 | end | |
1642 | ) | |
1643 | ||
1644 | AddCmd( | |
1645 | "nograv", | |
1646 | "[Prefix]nograv player", | |
1647 | "Lets player jump about 4x higher", | |
1648 | 1, | |
1649 | function(Speaker,Message) | |
1650 | if CheckRank(Speaker,1) then | |
1651 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1652 | for _,v in next,FoundPlayers do | |
1653 | if v.Character then | |
1654 | Instance.new("BodyForce",v.Character.Torso).force = Vector3.new(0,2250,0) | |
1655 | end | |
1656 | end | |
1657 | else | |
1658 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1659 | end | |
1660 | end | |
1661 | ) | |
1662 | ||
1663 | AddCmd( | |
1664 | "grav", | |
1665 | "[Prefix]grav player", | |
1666 | "Makes player jump normally", | |
1667 | 1, | |
1668 | function(Speaker,Message) | |
1669 | if CheckRank(Speaker,1) then | |
1670 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1671 | for _,v in next,FoundPlayers do | |
1672 | if v.Character and v.Character:FindFirstChild("Torso") then | |
1673 | for _,v in next,v.Character.Torso:GetChildren() do | |
1674 | if v:IsA("BodyForce") then | |
1675 | v:Destroy() | |
1676 | end | |
1677 | end | |
1678 | end | |
1679 | end | |
1680 | else | |
1681 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1682 | end | |
1683 | end | |
1684 | ) | |
1685 | ||
1686 | AddCmd( | |
1687 | "invisible", | |
1688 | "[Prefix]invisible player", | |
1689 | "Makes player invisible", | |
1690 | 1, | |
1691 | function(Speaker,Message) | |
1692 | if CheckRank(Speaker,1) then | |
1693 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1694 | for _,v in next,FoundPlayers do | |
1695 | if v.Character then | |
1696 | if v.Character:FindFirstChild("Head") and v.Character:FindFirstChild("Head"):FindFirstChild("face") then | |
1697 | v.Character.Head.face.Parent = v.Character | |
1698 | end | |
1699 | if v.Character:FindFirstChild("Torso") and v.Character:FindFirstChild("Torso"):FindFirstChild("roblox") then | |
1700 | v.Character.Torso.roblox.Parent = v.Character | |
1701 | end | |
1702 | for _,v in next,v.Character:GetChildren() do | |
1703 | if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then | |
1704 | v.Transparency = 1 | |
1705 | elseif v:IsA("Hat") then | |
1706 | v.Handle.Transparency = 1 | |
1707 | end | |
1708 | end | |
1709 | end | |
1710 | end | |
1711 | else | |
1712 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1713 | end | |
1714 | end | |
1715 | ) | |
1716 | ||
1717 | AddCmd( | |
1718 | "visible", | |
1719 | "[Prefix]visible player", | |
1720 | "Makes player visible", | |
1721 | 1, | |
1722 | function(Speaker,Message) | |
1723 | if CheckRank(Speaker,1) then | |
1724 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1725 | for _,v in next,FoundPlayers do | |
1726 | if v.Character then | |
1727 | if v.Character:FindFirstChild("face") and v.Character:FindFirstChild("Head") then | |
1728 | v.Character.face.Parent = v.Character.Head | |
1729 | end | |
1730 | if v.Character:FindFirstChild("roblox") and v.Character:FindFirstChild("Torso") then | |
1731 | v.Character.roblox.Parent = v.Character.Torso | |
1732 | end | |
1733 | for _,v in next,v.Character:GetChildren() do | |
1734 | if v:IsA("BasePart") and v.Name ~= "HumanoidRootPart" then | |
1735 | coroutine.wrap(function() | |
1736 | for i = 1,0,-.1 do | |
1737 | v.Transparency = i | |
1738 | wait(.05) | |
1739 | end | |
1740 | end)() | |
1741 | elseif v:IsA("Hat") then | |
1742 | coroutine.wrap(function() | |
1743 | for i = 1,0,-.1 do | |
1744 | v.Handle.Transparency = i | |
1745 | wait(.05) | |
1746 | end | |
1747 | end)() | |
1748 | end | |
1749 | end | |
1750 | end | |
1751 | end | |
1752 | else | |
1753 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1754 | end | |
1755 | end | |
1756 | ) | |
1757 | ||
1758 | AddCmd( | |
1759 | "explore", | |
1760 | "[Prefix]explore", | |
1761 | "Lets you explore the game", | |
1762 | 2, | |
1763 | function(Speaker,Message) | |
1764 | if CheckRank(Speaker,2) then | |
1765 | Explore(Speaker,game:GetChildren()) | |
1766 | else | |
1767 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1768 | end | |
1769 | end | |
1770 | ) | |
1771 | ||
1772 | AddCmd( | |
1773 | "sword", | |
1774 | "[Prefix]sword player", | |
1775 | "Gives player a sword", | |
1776 | 1, | |
1777 | function(Speaker,Message) | |
1778 | if CheckRank(Speaker,1) then | |
1779 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1780 | for _,v in next,FoundPlayers do | |
1781 | local Model = game:GetService("InsertService"):LoadAsset(241017568) | |
1782 | Model:GetChildren()[1].Parent = v.Backpack | |
1783 | Model:Destroy() | |
1784 | end | |
1785 | else | |
1786 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1787 | end | |
1788 | end | |
1789 | ) | |
1790 | ||
1791 | AddCmd( | |
1792 | "gear", | |
1793 | "[Prefix]gear player ID", | |
1794 | "Gives player the gear with that ID", | |
1795 | 1, | |
1796 | function(Speaker,Message) | |
1797 | if CheckRank(Speaker,1) and #Split(Message) >= 3 and tonumber(Split(Message)[3]) then | |
1798 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1799 | for _,v in next,FoundPlayers do | |
1800 | local Model = game:GetService("InsertService"):LoadAsset(tonumber(Split(Message)[3])) | |
1801 | if Model:GetChildren()[1]:IsA("Tool") then | |
1802 | Model:GetChildren()[1].Parent = v.Backpack | |
1803 | end | |
1804 | Model:Destroy() | |
1805 | end | |
1806 | else | |
1807 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1808 | end | |
1809 | end | |
1810 | ) | |
1811 | ||
1812 | AddCmd( | |
1813 | "char", | |
1814 | "[Prefix]char player ID", | |
1815 | "Makes your character the users character with that ID", | |
1816 | 1, | |
1817 | function(Speaker,Message) | |
1818 | if CheckRank(Speaker,1) and #Split(Message) >= 3 then | |
1819 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1820 | for _,v in next,FoundPlayers do | |
1821 | v.CharacterAppearance = "http://www.roblox.com/Asset/CharacterFetch.ashx?userId="..Split(Message)[3].."&placeId="..tostring(game.PlaceId) | |
1822 | v:LoadCharacter() | |
1823 | end | |
1824 | else | |
1825 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1826 | end | |
1827 | end | |
1828 | ) | |
1829 | ||
1830 | AddCmd( | |
1831 | "lkill", | |
1832 | "[Prefix]lkill player", | |
1833 | "Loopkills player", | |
1834 | 3, | |
1835 | function(Speaker,Message) | |
1836 | if CheckRank(Speaker,3) then | |
1837 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1838 | for _,v in next,FoundPlayers do | |
1839 | Instance.new("StringValue",v).Name = "Loopkill" | |
1840 | coroutine.wrap(function() | |
1841 | repeat | |
1842 | if v.Character then | |
1843 | v.Character:BreakJoints() | |
1844 | end | |
1845 | repeat wait() until v.Character and v.Character.Humanoid.Health >= 1 | |
1846 | until v:FindFirstChild("Loopkill") == nil | |
1847 | end)() | |
1848 | end | |
1849 | else | |
1850 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1851 | end | |
1852 | end | |
1853 | ) | |
1854 | ||
1855 | AddCmd( | |
1856 | "unlkill", | |
1857 | "[Prefix]unlkill player", | |
1858 | "Unloopkills player", | |
1859 | 3, | |
1860 | function(Speaker,Message) | |
1861 | if CheckRank(Speaker,3) then | |
1862 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1863 | for _,v in next,FoundPlayers do | |
1864 | for _,x in next,v:GetChildren() do | |
1865 | if x.Name == "Loopkill" then | |
1866 | x:Destroy() | |
1867 | end | |
1868 | end | |
1869 | end | |
1870 | else | |
1871 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1872 | end | |
1873 | end | |
1874 | ) | |
1875 | ||
1876 | AddCmd( | |
1877 | "fling", | |
1878 | "[Prefix]fling player", | |
1879 | "Flings player", | |
1880 | 2, | |
1881 | function(Speaker,Message) | |
1882 | if CheckRank(Speaker,2) then | |
1883 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1884 | for _,v in next,FoundPlayers do | |
1885 | if v.Character then | |
1886 | v.Character.Humanoid.Sit = true | |
1887 | v.Character.Torso.Velocity = Vector3.new(5000,5000,5000) | |
1888 | end | |
1889 | end | |
1890 | else | |
1891 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1892 | end | |
1893 | end | |
1894 | ) | |
1895 | ||
1896 | AddCmd( | |
1897 | "exe", | |
1898 | "[Prefix]exe code", | |
1899 | "Executes code", | |
1900 | 3, | |
1901 | function(Speaker,Message) | |
1902 | if CheckRank(Speaker,3) then | |
1903 | local Success,Msg = pcall(function() | |
1904 | loadstring(Message:sub(#Split(Message)[1]+1)) | |
1905 | end) | |
1906 | if not Success then | |
1907 | MakeTablet(Msg,nil,Speaker) | |
1908 | end | |
1909 | else | |
1910 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1911 | end | |
1912 | end | |
1913 | ) | |
1914 | ||
1915 | AddCmd( | |
1916 | "btools", | |
1917 | "[Prefix]btools player", | |
1918 | "Gives player building tools", | |
1919 | 1, | |
1920 | function(Speaker,Message) | |
1921 | if CheckRank(Speaker,1) then | |
1922 | local FoundPlayers = FindPlayers(Speaker,Split(Message)[2]) | |
1923 | for _,v in next,FoundPlayers do | |
1924 | local IDs = {16969792,18474459} | |
1925 | for _,x in next,IDs do | |
1926 | local Model = game:GetService("InsertService"):LoadAsset(x) | |
1927 | if Model:GetChildren()[1]:IsA("Tool") then | |
1928 | Model:GetChildren()[1].Parent = v.Backpack | |
1929 | end | |
1930 | Model:Destroy() | |
1931 | end | |
1932 | local Bins = {{"Clone","Clone"},{"Delete","Hammer"},{"Grab","GameTool"}} | |
1933 | for _,x in next,Bins do | |
1934 | local Bin = Instance.new("HopperBin",v.Backpack) | |
1935 | Bin.Name = x[1] | |
1936 | Bin.BinType = Enum.BinType[x[2]] | |
1937 | end | |
1938 | end | |
1939 | else | |
1940 | SendMessage(Speaker,"[SYSTEM]","Not high enough rank, or unknown error.") | |
1941 | end | |
1942 | end | |
1943 | ) |